<?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-5922090746406029238</id><updated>2012-01-16T10:21:58.242Z</updated><category term='searchaholics anonymous'/><category term='search engine optimisation'/><category term='targetted web traffic'/><category term='Microsoft'/><category term='code geration'/><category term='addictive disorders'/><category term='Word VBA training'/><category term='Hibernate'/><category term='hldrrr.exe'/><category term='Standby'/><category term='srosa.sys and wintems.exe'/><category term='Software Training'/><category term='Troj/BagleDl-BX'/><category term='Dorchester Dorset Preschool Nursery'/><category term='best of both worlds choice'/><category term='W32/Mitglieder.VD'/><category term='Dorchester Chamber of Commerce and Industry'/><category term='&quot;Rootkit Haxdoor&quot;'/><category term='Microsoft Dorset'/><category term='&quot;Hacktool.Rootkit&quot;'/><category term='Excel VBA training'/><category term='Trojan.Tooso.R'/><title type='text'>Dorset Software Consultant +44 (0)7957 203512</title><subtitle type='html'>Business Software Solutions across all of Dorset and the world</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-453813426719178218</id><published>2010-03-22T14:47:00.011Z</published><updated>2010-03-24T19:38:57.877Z</updated><title type='text'>Mionet -&gt; Freezes Windows XP , Vista and Windows 7 with Microsoft Security Essentials Anti Virus running</title><content type='html'>This article :&lt;br /&gt;&lt;a href="http://wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/std_adp.php?p_faqid=3726"&gt;notes that Mionet freezes / blue screens on Windows operating systems with Symantec or Kapersky antivirus installed&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I can verify that the same applies to Microsoft's "security essentials" anti-virus software. My guess would be in fact that any anti-virus (A.V.) software that does real-time checking of system processes will have the same result.&lt;br /&gt;&lt;br /&gt;In order to get Mionet to work I had to disable the anti-virus software prior to installed Mionet.&lt;br /&gt;&lt;br /&gt;The solution they offer to Kapersky and Norton/Symantec users is to disable the packet filter provided by the Anti-virus software. I don't know whether I need to point out that this is hardly an ideal solution. (AV software includes a packet filter by design.) In any case this is not the issue with Microsoft Security Essentials which does not install a packet filter. But even so, with any real-time anti-virus protection enabled the freezing problem still occurs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Don't think that you can get away with either enabling one or other product alternately!&lt;/b&gt; My attempts at doing this led to hours of wasted time. (Trying to disable Mionet also causes my Windows XP system to freeze completely.)&lt;br /&gt;&lt;br /&gt;The only way I can see to get round this at the moment, is to uninstall Mionet completely and then enable the anti-virus software. Then when I need to do another backup, disable the anti-virus and install it again!!!&lt;br /&gt;&lt;br /&gt;At least NOW I KNOW. If the software had come with instructions warning about this, it would have saved hours of time and system crashes while I figured out what was going on. But I suppose equally if it had come with instructions warning about this, then I wouldn't have bought one.&lt;br /&gt;&lt;br /&gt;Installing and uninstalling Mionet is obviously not ideal. I certainly would not recommend buying a Western Digital MyWorldBook while this problem is not fixed. Maybe in the next version of MioNet they will fix it... We can but hope. In the meantime  it does at least mean I can use the one I bought - and not have to fight with Dixons to try and get a refund out of them.&lt;br /&gt;&lt;br /&gt;BACKGROUND FOR ANYONE WHO IS INTERESTED:&lt;br /&gt;&lt;br /&gt;Mionet for those of you who don't know is a piece of software which (as far as I can tell) is the ONLY WAY to connect a Western Digital "MyBookWorld" Backup device (in my case it is a 1 Tera byte device) to a PC network. &lt;br /&gt;&lt;br /&gt;The MyBookWorld has a USB connector hole in it, but this is only for the purposes of stringing several of these devices together. Where as I had incorrectly assumed from what I read on the box and in reviews that the device could connect either via a network hub (to the PC network) OR via USB. I also have a IcyBox with a 1TB drive in it  that very happily connects via USB. But anyway.&lt;br /&gt;&lt;br /&gt;So basically the only way of getting the "MyBookWorld" 1 Terabyte device to connect to my Windows XP machine is to use Mionet - which is basically a defective piece of software. (I mean a piece of software that cannot be installed on a machine that also has anti-virus software on it, would seem to me to fall in to the category of defective.) A.V. software is pretty much obligatory. &lt;br /&gt;&lt;br /&gt;I guess I am just left feeling cheated by Western Digital, and having to install and uninstall Mionet every time I want to use my back up device... WHAT A PAIN!&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Addendum&lt;/h2&gt;&lt;br /&gt;Ah! It looks from posts like &lt;a href="http://mybookworld.wikidot.com/forum/t-24958/removing-mionet-after-using-mionet"&gt;this&lt;/a&gt; and &lt;a href="http://forums.techguy.org/all-other-software/834582-solved-computer-freezes-when-mionet.html"&gt;this&lt;/a&gt; that there are alternative ways of connecting to a "MyBook" or "MyWorldBook" that doesn't require using MioNet at all. &lt;br /&gt;&lt;br /&gt;In fact if you visit this website: &amp;nbsp;&lt;a href="http://mybookworld.wikidot.com/"&gt;http://mybookworld.wikidot.com&lt;/a&gt; &amp;nbsp; and in particular this page:&amp;nbsp;&lt;a href="http://mybookworld.wikidot.com/hacks-and-howto"&gt;http://mybookworld.wikidot.com/hacks-and-howto&lt;/a&gt;&amp;nbsp;&amp;nbsp; ,&amp;nbsp;&amp;nbsp; we can discover that it is possible to do ALL KINDS OF WONDERFUL THINGS with out MyWorldBook.&lt;br /&gt;&lt;br /&gt;However, many of the procedures and script hacking suggestions come with caveats and comments of the "THIS MAY TURN YOUR DRIVE INTO A BRICK" kind.&lt;br /&gt;&lt;br /&gt;For me, all I wanted here was a straightforward backup device. I never intended to get on board with the MioNet project and I never really wanted to have to start hacking around with Linux operating system scripts.&lt;br /&gt;&lt;br /&gt;All I wanted here was to have my Network Assigned Disk Storage operate like it was Network Assigned Disk Storage.&lt;br /&gt;&lt;br /&gt;Now as it turns out you can quite easily REMOVE MIONET completely and still access any data you may have already put on your MioNet K drive.&lt;br /&gt;&lt;br /&gt;Here's how...&lt;br /&gt;&lt;br /&gt;(1) Before you remove MioNet, log in to it one last time. (Remember to disable any real-time antivirus software before going anywhere near MioNet).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjT7vC7kI/AAAAAAAAAEA/8V2-t6-wNu8/s1600/MioNet+Login.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjT7vC7kI/AAAAAAAAAEA/8V2-t6-wNu8/s320/MioNet+Login.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(2) At the end of the login procedure, you will be shown a dialog box like this one below.&lt;br /&gt;Make a note of the user-name and password.&lt;br /&gt;This is the Username and Password which is used internally by MioNet to access the share on your MyBookWorld where it stores any files you put on to it using MioNet.&lt;br /&gt;&lt;br /&gt;For example put this into a notepad file so you can refer to it easily later.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_3OCA1FiaNiY/S6pjOhNSuNI/AAAAAAAAADw/V1uKG8tAM8k/s1600/MioNet+Directory+Account+Credentials.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_3OCA1FiaNiY/S6pjOhNSuNI/AAAAAAAAADw/V1uKG8tAM8k/s640/MioNet+Directory+Account+Credentials.JPG" width="547" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(3) Now once MioNet has started up, go to properties of the MioNet drive.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjCdlInUI/AAAAAAAAADI/sGYTmSGita0/s1600/MioNet+-+access+my+files.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjCdlInUI/AAAAAAAAADI/sGYTmSGita0/s320/MioNet+-+access+my+files.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(4) In my case that is the K drive. Think I saw it is usually mapped to K by default.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjEUfUeAI/AAAAAAAAADQ/F1O0IM7-Tks/s1600/MioNet+-+Drive+Properties.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjEUfUeAI/AAAAAAAAADQ/F1O0IM7-Tks/s320/MioNet+-+Drive+Properties.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(5) Now go to the "DFS" tab of the properties of the share used by MioNet&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This will show you the IP address that your local DHCP server has allocated to your MyBookWorld.&lt;br /&gt;And it will also show you the Share name that MioNet has created to stored your files in.&lt;br /&gt;(Something like IDXXXXXXX ).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjGkz3ePI/AAAAAAAAADY/2uoBuXnlpvE/s1600/MioNet+-+finding+the+network+path.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjGkz3ePI/AAAAAAAAADY/2uoBuXnlpvE/s320/MioNet+-+finding+the+network+path.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(6) Now completely remove MioNet from your computer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(7) Once MioNet has been completely remove (you may have to reboot), you can now connect directly to the network path that we found out in part 5. above.&lt;br /&gt;In fact, we can make it easy by Mapping a Drive letter to this path.&lt;br /&gt;In the drive mapping, use the account name and password that you noted down in part 2. above.&lt;br /&gt;(You can copy and paste these credentials from your notepad window.)&lt;br /&gt;In the "Folder" text box, type in path and sharename you found out in step 5. above.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjL4POytI/AAAAAAAAADo/EwY3jzLUG-E/s1600/MioNet+-+Mapping+WorldBook+drive+without+MioNet+installed.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="536" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjL4POytI/AAAAAAAAADo/EwY3jzLUG-E/s640/MioNet+-+Mapping+WorldBook+drive+without+MioNet+installed.JPG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(8) That's all there is to it.&lt;br /&gt;You now have completely removed MioNet (so you can reactivate your anti-virus software without the freezes and blue-screens.&lt;br /&gt;You haven't had to hack any linux scripts on the MyBookWorld.&lt;br /&gt;You haven't had to move any files that you had previously put on the MyBookWorld (while you were using MioNet to access it).&lt;br /&gt;You have complete access to network storage device and can treat it just like any other windows network drive storage.&lt;br /&gt;(What I wanted when I bought the MyWorldBook in the first place, and before I was assaulted with having to deal with the MioNet software stuff which I had never asked for or bargained for having to deal with.)&lt;br /&gt;&lt;br /&gt;End result: Me very happy! 8-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-453813426719178218?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/453813426719178218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=453813426719178218' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/453813426719178218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/453813426719178218'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2010/03/mionet-freezes-windows-xp-vista-and.html' title='Mionet -&gt; Freezes Windows XP , Vista and Windows 7 with Microsoft Security Essentials Anti Virus running'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3OCA1FiaNiY/S6pjT7vC7kI/AAAAAAAAAEA/8V2-t6-wNu8/s72-c/MioNet+Login.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-791634329614039156</id><published>2010-02-25T17:35:00.009Z</published><updated>2010-02-25T18:48:38.241Z</updated><title type='text'>How to set up your IIS xml Mime type to support jquery Ajax method</title><content type='html'>How to set up your IIS xml Mime type to support jquery Ajax method:&lt;br /&gt;&lt;br /&gt;(1) Inside IIS open out the navigation tree and click properties on the relevant web site.&lt;br /&gt;&lt;br /&gt;(2) In the properties box pick the tab and click the mime type button.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l_pKUNHACyw/S4a2-RLJu0I/AAAAAAAAAPs/AzDRAaIsTbw/s1600-h/IIS-jquery-Ajax-xml-1.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 388px;" src="http://3.bp.blogspot.com/_l_pKUNHACyw/S4a2-RLJu0I/AAAAAAAAAPs/AzDRAaIsTbw/s400/IIS-jquery-Ajax-xml-1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5442238380602145602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(3)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l_pKUNHACyw/S4a2-0tEDQI/AAAAAAAAAP0/CjIKrutnFJ8/s1600-h/IIS-jquery-Ajax-xml-2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 347px; height: 370px;" src="http://4.bp.blogspot.com/_l_pKUNHACyw/S4a2-0tEDQI/AAAAAAAAAP0/CjIKrutnFJ8/s400/IIS-jquery-Ajax-xml-2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5442238390139620610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(4)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l_pKUNHACyw/S4a2-1ZvdwI/AAAAAAAAAP8/Ug1dVJSXQNs/s1600-h/IIS-jquery-Ajax-xml-3.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 347px; height: 158px;" src="http://3.bp.blogspot.com/_l_pKUNHACyw/S4a2-1ZvdwI/AAAAAAAAAP8/Ug1dVJSXQNs/s400/IIS-jquery-Ajax-xml-3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5442238390327015170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Related links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/2189214/jquery-ajax-gives-typeerror-cannot-read-property-documentelement-of-null-on"&gt;jQuery.ajax gives "TypeError: Cannot read property ‘documentElement’ of null" on server but not local.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.creative-jar.com/post/jQuery-XML-and-MIME-types.aspx"&gt;jQuery XML and MIME types&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Discussion:&lt;br /&gt;&lt;br /&gt;Try running the following jquery javascript:&lt;br /&gt;&lt;br /&gt; $.ajax({&lt;br /&gt;    type: "GET",&lt;br /&gt;    datatype: "xml",&lt;br /&gt;    url: "Test.xml",&lt;br /&gt;    success: parseXml,&lt;br /&gt;    error:function(xhr, status, errorThrown) {&lt;br /&gt;                alert(errorThrown+'\n'+status+'\n'+xhr.statusText);}&lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;Result:&lt;br /&gt;It works fine in Firefox.&lt;br /&gt;When run locally it also works fine in Chrome.&lt;br /&gt;But not in IE.&lt;br /&gt;&lt;br /&gt;Now put it up on an IIS server.&lt;br /&gt;It still works fine in Firefox.&lt;br /&gt;But IE gives the cryptic: Undefined parsererror&lt;br /&gt;and Chrome gives the only slightly more helpful: "TypeError: Cannot read property ‘documentElement’ of null"&lt;br /&gt;&lt;br /&gt;You try changing all the options of the .ajax function you can find and none of them make any difference (such as you might find here: &lt;a href="http://api.jquery.com/jQuery.ajax/"&gt;jquery api reference: Ajax method&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;You think it might be something to do with the MIME type but you've had a look on IIS and checked the MIME type for xml IS set up - so by now you've spent an hour or so scratching around, and nothing made any difference and you're feeling very frustrated.&lt;br /&gt;&lt;br /&gt;Well the answer is as I've indicated above.&lt;br /&gt;It turns out that for the benefit of Chrome and IE, the "type" setting of the ".xml" extension mime-type is absolutely critical for this to parse correctly. Previously mine just said "xml" which was not enough... when I changed it to "text/xml" everything now good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-791634329614039156?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/791634329614039156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=791634329614039156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/791634329614039156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/791634329614039156'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2010/02/iis-xml-mime-type-jquery-ajax.html' title='How to set up your IIS xml Mime type to support jquery Ajax method'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l_pKUNHACyw/S4a2-RLJu0I/AAAAAAAAAPs/AzDRAaIsTbw/s72-c/IIS-jquery-Ajax-xml-1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-705633943336974135</id><published>2009-11-24T22:19:00.003Z</published><updated>2009-11-24T22:22:37.353Z</updated><title type='text'>How to determine what graphics card I have on my computer?</title><content type='html'>&lt;h3&gt;Step 1:&lt;/h3&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l_pKUNHACyw/SwxcOFW683I/AAAAAAAAAOU/qUcnYg4CPOE/s1600/Control+Panel.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://1.bp.blogspot.com/_l_pKUNHACyw/SwxcOFW683I/AAAAAAAAAOU/qUcnYg4CPOE/s400/Control+Panel.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5407798649591362418" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Step 2:&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l_pKUNHACyw/SwxcOVolUEI/AAAAAAAAAOc/Pcva8B6qERs/s1600/Control+Panel_2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://1.bp.blogspot.com/_l_pKUNHACyw/SwxcOVolUEI/AAAAAAAAAOc/Pcva8B6qERs/s400/Control+Panel_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5407798653960409154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Step 3:&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l_pKUNHACyw/SwxcOpDq8EI/AAAAAAAAAOk/FX1vZlaVJRo/s1600/System_Properties.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 345px; height: 400px;" src="http://3.bp.blogspot.com/_l_pKUNHACyw/SwxcOpDq8EI/AAAAAAAAAOk/FX1vZlaVJRo/s400/System_Properties.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5407798659174297666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Step 4:&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_l_pKUNHACyw/SwxcO8s8k5I/AAAAAAAAAOs/jZsVQe-8nkI/s1600/DeviceManager_DisplayAdapters.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 317px; height: 400px;" src="http://2.bp.blogspot.com/_l_pKUNHACyw/SwxcO8s8k5I/AAAAAAAAAOs/jZsVQe-8nkI/s400/DeviceManager_DisplayAdapters.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5407798664447693714" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-705633943336974135?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/705633943336974135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=705633943336974135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/705633943336974135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/705633943336974135'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/11/how-to-determine-what-graphics-card-i.html' title='How to determine what graphics card I have on my computer?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l_pKUNHACyw/SwxcOFW683I/AAAAAAAAAOU/qUcnYg4CPOE/s72-c/Control+Panel.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-7820964296683773660</id><published>2009-11-08T22:01:00.004Z</published><updated>2009-11-08T22:17:46.714Z</updated><title type='text'>C# Re-enable Borderless Form Startbar Menu and Minimize behaviour</title><content type='html'>HOW TO:&lt;br /&gt;Re-enable the default Start bar right-click Menu and default left-click minimize and maximize behaviour for a windows borderless form.&lt;br /&gt;&lt;br /&gt;Add this anywhere to the code of the form:&lt;br /&gt;&lt;br /&gt;C# &lt;br /&gt;&lt;br /&gt;   protected override CreateParams CreateParams&lt;br /&gt;   {&lt;br /&gt;       get&lt;br /&gt;       {&lt;br /&gt;                CreateParams cp = base.CreateParams;&lt;br /&gt;                //cp.Style |= 0x80000; // Turn on WS_SYSMENU - just SYSMENU&lt;br /&gt;                cp.Style |= 0xA0000; // Turn on WS_SYSMENU and Minimize !!!&lt;br /&gt;                return cp;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://www.developerfusion.com/tools/convert/csharp-to-vb/"&gt; developerfusion.com/tools/convert/csharp-to-vb&lt;/a&gt; below is the equivalent VB, although I haven't tested that yet.&lt;br /&gt;&lt;br /&gt;Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams&lt;br /&gt;    Get&lt;br /&gt;        Dim cp As CreateParams = MyBase.CreateParams&lt;br /&gt;        'cp.Style = cp.Style Or &amp;H80000 - Turn on WS_SYSMENU - just SYSMENU&lt;br /&gt;        cp.Style = cp.Style Or &amp;Ha0000&lt;br /&gt;        ' Turn on WS_SYSMENU and Minimize !!!&lt;br /&gt;        Return cp&lt;br /&gt;    End Get&lt;br /&gt;End Property&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some of my sources for working this out were as follows: (I wrote this up here because nowhere I could find laid it out clearly and straightforwardly... I had to spend a half out go through 10 different docs before I hit on the above and discovered it worked.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetrix.co.uk/form.htm"&gt;dotnetrix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.windowsdevelop.com/windows-forms-general/left-mouse-click-on-a-borderless-windows-form-taskbar-button-3398.shtml"&gt;windowsdevelop&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bytes.com/topic/net/answers/566638-can-borderless-forms-have-context-menu-start-bar"&gt;bytes.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.itags.org/dotnet/1288325/"&gt;itags - this appears to be a copy of a b-board discussion, but it does not provide a link back to the original discussion. It refers to links and stuff inside the discussion which are not there... which didn't help, however it did give me another number to try out!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-7820964296683773660?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/7820964296683773660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=7820964296683773660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7820964296683773660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7820964296683773660'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/11/c-re-enable-borderless-form-startbar.html' title='C# Re-enable Borderless Form Startbar Menu and Minimize behaviour'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-3149295737288909660</id><published>2009-11-06T13:36:00.005Z</published><updated>2009-11-16T19:53:33.813Z</updated><title type='text'>Pattie Maes and Pranav Mistry demo SixthSense</title><content type='html'>&lt;a href="http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html"&gt;Link to another talk from TED about Sixth Sense etc.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrxZg1SkI/AAAAAAAAAOM/m_UQeGNKQiw/s1600-h/DrawingAWatchOnYourArm.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 111px;" src="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrxZg1SkI/AAAAAAAAAOM/m_UQeGNKQiw/s200/DrawingAWatchOnYourArm.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5400989980786248258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l_pKUNHACyw/SvQrxc2_nXI/AAAAAAAAAOE/qOpIpj7wH7g/s1600-h/HandPhone2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 110px;" src="http://3.bp.blogspot.com/_l_pKUNHACyw/SvQrxc2_nXI/AAAAAAAAAOE/qOpIpj7wH7g/s200/HandPhone2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5400989981684505970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrxH5KHCI/AAAAAAAAAN8/BKhCzCizBR4/s1600-h/RealTimeRelevantInformation_FlightTicketShowsUpdatedInformation.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 110px;" src="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrxH5KHCI/AAAAAAAAAN8/BKhCzCizBR4/s200/RealTimeRelevantInformation_FlightTicketShowsUpdatedInformation.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5400989976056437794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l_pKUNHACyw/SvQrw5_itJI/AAAAAAAAAN0/nefUeGvKH2U/s1600-h/VideoContentAddedToHardcopyNewspapers.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 111px;" src="http://4.bp.blogspot.com/_l_pKUNHACyw/SvQrw5_itJI/AAAAAAAAAN0/nefUeGvKH2U/s200/VideoContentAddedToHardcopyNewspapers.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5400989972325119122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrw5mTEgI/AAAAAAAAANs/OGY40x8PkLI/s1600-h/WordCloudSupportWhenMeetingNewPeople.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 110px;" src="http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrw5mTEgI/AAAAAAAAANs/OGY40x8PkLI/s200/WordCloudSupportWhenMeetingNewPeople.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5400989972219236866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SixthSense is a wearable device with a projector and webcam that can interpret our hand gestures as we move around in our real world, and thus is able to provide real-time up to date and relevant information regarding whatever is in front of us right now.&lt;br /&gt;&lt;br /&gt;SixthSense paves the way for profound interaction with our environment. Think "Minority Report" and then times by 100.&lt;br /&gt;&lt;br /&gt;If you haven't seen this, watch the video.&lt;br /&gt;&lt;br /&gt;I promise you will thank me.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/PattieMaes_2009-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/PattieMaes-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=481&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=pattie_maes_demos_the_sixth_sense;year=2009;theme=what_s_next_in_tech;theme=a_taste_of_tedindia;event=TED2009;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/PattieMaes_2009-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/PattieMaes-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=481&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=pattie_maes_demos_the_sixth_sense;year=2009;theme=what_s_next_in_tech;theme=a_taste_of_tedindia;event=TED2009;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-3149295737288909660?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/3149295737288909660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=3149295737288909660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3149295737288909660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3149295737288909660'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/11/pattie-maes-and-pranav-mistry-demo.html' title='Pattie Maes and Pranav Mistry demo SixthSense'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l_pKUNHACyw/SvQrxZg1SkI/AAAAAAAAAOM/m_UQeGNKQiw/s72-c/DrawingAWatchOnYourArm.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-997461845951444690</id><published>2009-06-23T17:12:00.001+01:00</published><updated>2009-06-23T17:19:06.160+01:00</updated><title type='text'>"augmented reality" - iPhone hacker Chris Hughes</title><content type='html'>Chris Hughes won Internet fame being among the first to jailbreak the iPhone. His tech exploits have been featured on Slashdot, Engadget and Gizmodo.&lt;br /&gt;&lt;br /&gt;More "Augumented Reality" demonstrations are here: &lt;a href="http://funkadelicadvertising.blogspot.com/2009/06/top-10-augmented-reality-adveritising.html"&gt;Funkadelic Advertising&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/embed/ChrisHughes_2009-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ChrisHughes-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=583" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/ChrisHughes_2009-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ChrisHughes-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=583"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-997461845951444690?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/997461845951444690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=997461845951444690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/997461845951444690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/997461845951444690'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/06/augmented-reality-iphone-hacker-chris.html' title='&quot;augmented reality&quot; - iPhone hacker Chris Hughes'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8537295487094129249</id><published>2009-06-19T18:06:00.002+01:00</published><updated>2009-06-19T18:11:31.552+01:00</updated><title type='text'>Sample code for NeoForce XNA 2D GUI controls</title><content type='html'>Sample code for NeoForce XNA 2D GUI controls&lt;br /&gt;&lt;br /&gt;Normally goes inside: &lt;br /&gt;protected override void Initialize()&lt;br /&gt;of the game's game object which is subclassed from XNA Game class.&lt;br /&gt;&lt;br /&gt;manager = new Manager(this(gameobject), this.GraphicsDeviceManager, "Default", true);&lt;br /&gt;&lt;br /&gt;// Setting up the shared skins directory&lt;br /&gt;manager.SkinDirectory = @"..\..\Skins\";     &lt;br /&gt;&lt;br /&gt;// Create and setup Window control.&lt;br /&gt;window = new Window(manager);&lt;br /&gt;window.Init();&lt;br /&gt;window.Text = "Getting Started";&lt;br /&gt;window.Width = 100;&lt;br /&gt;window.Height = 124;&lt;br /&gt;window.Center();&lt;br /&gt;window.Visible = true;&lt;br /&gt;window.BorderVisible = false;&lt;br /&gt;window.MaximumHeight = 100;&lt;br /&gt;window.MinimumHeight = 100;&lt;br /&gt;window.MaximumWidth = 100;&lt;br /&gt;window.MinimumWidth = 100;&lt;br /&gt;window.Alpha = 128;&lt;br /&gt;&lt;br /&gt;// Create Button control and set the previous window as its parent.&lt;br /&gt;button = new TomShane.Neoforce.Controls.Button(manager);&lt;br /&gt;button.Init();&lt;br /&gt;button.Text = "OK";&lt;br /&gt;button.Width = 72;&lt;br /&gt;button.Height = 24;&lt;br /&gt;button.Left = 0;&lt;br /&gt;button.Top = 100;&lt;br /&gt;//button.Left = (window.ClientWidth / 2) - (button.Width / 2);&lt;br /&gt;//button.Top = window.ClientHeight - button.Height - 8;&lt;br /&gt;button.Anchor = Anchors.Bottom;&lt;br /&gt;button.Parent = window;&lt;br /&gt;&lt;br /&gt;textbox = new TomShane.Neoforce.Controls.TextBox(manager);&lt;br /&gt;textbox.Init();&lt;br /&gt;textbox.Text = "Example";&lt;br /&gt;textbox.Width = 100;&lt;br /&gt;textbox.Height = 100;&lt;br /&gt;textbox.Top = 0;&lt;br /&gt;textbox.Left = 0;&lt;br /&gt;textbox.BackColor = Color.TransparentWhite;&lt;br /&gt;textbox.Parent = window;&lt;br /&gt;&lt;br /&gt;// Add the window control to the manager processing queue.&lt;br /&gt;manager.Add(window);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8537295487094129249?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8537295487094129249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8537295487094129249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8537295487094129249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8537295487094129249'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/06/sample-code-for-neoforce-xna-2d-gui.html' title='Sample code for NeoForce XNA 2D GUI controls'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-4934551709267405956</id><published>2009-04-23T13:14:00.001+01:00</published><updated>2009-04-23T13:15:52.750+01:00</updated><title type='text'>brett jordan’s blog: Dell mini 9 running OSX</title><content type='html'>Brett has his finger on the pulse!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://x1brettstuff.blogspot.com/2009/04/dell-mini-9-running-osx.html"&gt;brett jordan’s blog: Dell mini 9 running OSX&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://1.bp.blogspot.com/_9s8iqcCd0DY/Se2uzUr4KII/AAAAAAAAFR8/xWGAL37zKsU/s400/macbook.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-4934551709267405956?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/4934551709267405956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=4934551709267405956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4934551709267405956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4934551709267405956'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/04/brett-jordans-blog-dell-mini-9-running.html' title='brett jordan’s blog: Dell mini 9 running OSX'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9s8iqcCd0DY/Se2uzUr4KII/AAAAAAAAFR8/xWGAL37zKsU/s72-c/macbook.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-1706563655371276512</id><published>2009-04-21T13:21:00.003+01:00</published><updated>2009-04-21T13:24:53.262+01:00</updated><title type='text'>Deploying dot net .net applications to public via web</title><content type='html'>Here are current thoughts:&lt;br /&gt;&lt;br /&gt;Clickonce doesn't work with Firefox unless you are using .net 3.5 SP1 or the firefox add-in.&lt;br /&gt;&lt;br /&gt;x64 doesn't work with .net until version 3.5.&lt;br /&gt;&lt;br /&gt;Installing .net 3.5 SP1 on a Vista machine that doesn't have it can take as long as one hour (in testing I have done on reasonably average machines), during which the user is offered little or no feedback. Lots of opportunity for the user to wonder "Is this working?" ...  "Is this doing anything or has it crashed?" etc. I think a typical user might easily give up and reboot. &lt;br /&gt;&lt;br /&gt;Clickonce is not able to update only changed components - it must re-download all components, even those that have not changed.&lt;br /&gt;&lt;br /&gt;Vista already has .net 2.0 and 3.0 pre-installed - big incentive not to put users through the pain of installing a version other than these they already have.&lt;br /&gt;&lt;br /&gt;XP users more likely to have 3.0 installed than 3.5 or 3.5 SP1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-1706563655371276512?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/1706563655371276512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=1706563655371276512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1706563655371276512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1706563655371276512'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/04/deploying-dot-net-net-applications-to.html' title='Deploying dot net .net applications to public via web'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8102373263453553678</id><published>2009-03-23T10:44:00.001Z</published><updated>2009-03-23T10:45:53.080Z</updated><title type='text'>Call to scrap 'illegal databases' - UK</title><content type='html'>A quarter of all government databases are illegal and should be scrapped or redesigned, a report has claimed.&lt;br /&gt;&lt;br /&gt;The Joseph Rowntree Reform Trust says storing information leads to vulnerable people, such as young black men, single parents and children, being victimised.&lt;br /&gt;&lt;br /&gt;For the full story, see BBC News: &lt;br /&gt;&lt;a href="http://news.bbc.co.uk/1/hi/uk/7955205.stm"&gt;BBC News - Call to scrap 'illegal databases' - UK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://newsimg.bbc.co.uk/media/images/45586000/jpg/_45586140_data226b_pa.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8102373263453553678?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8102373263453553678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8102373263453553678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8102373263453553678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8102373263453553678'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/03/call-to-scrap-illegal-databases-uk.html' title='Call to scrap &apos;illegal databases&apos; - UK'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-2334069524875213457</id><published>2009-02-26T15:34:00.008Z</published><updated>2009-02-28T21:31:35.546Z</updated><title type='text'>Licensing Process Flow and Gliffy</title><content type='html'>I've been designing a licensing system for small software deliverables.&lt;br /&gt;Nice opportunity to show you the free and rather pleasant on-line flowcharting tool, &lt;a href="http://www.gliffy.com"&gt;Gliffy&lt;/a&gt;, in action.&lt;br /&gt;&lt;br /&gt;Why is this process so complicated?&lt;br /&gt;(1) We have a client-side click-once application as well as a server-side web application &lt;br /&gt;(2) The client-side application connects to the server via a Windows Communications Framework (WCF) component that is installed into our web site.&lt;br /&gt;(3) We are integrating with Paypal and GoogleCheckout&lt;br /&gt;(4) We have 2 kinds of trial license and there two kinds of expired trial license.&lt;br /&gt;(5) We are providing the user with an alternative way of getting their license key if they don't want to let the application connect to the internet. (We could come back to this part as a phase 2.)&lt;br /&gt;&lt;br /&gt;The flowcharts below can be seen full page at: &lt;a href="http://www.gliffy.com/publish/1616973/"&gt;Licensing Process for small software deliverables&lt;/a&gt; and &lt;a href="http://www.gliffy.com/publish/1620984/"&gt;Server-side function to used to return the license key&lt;/a&gt; and &lt;a href="http://www.gliffy.com/publish/1621475/"&gt;Checking, repairing and updating the license (client side procedure)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the working draft of my licensing process:&lt;br /&gt;&lt;script src="http://www.gliffy.com/diagramEmbed.js" type="text/javascript"&gt; &lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt; gliffy_did = "1616973"; embedGliffy(); &lt;/script&gt;&lt;br /&gt;This is a bit more detail on a specific function within the process ie. the Server-side function to used to return the license key&lt;br /&gt;&lt;script src="http://www.gliffy.com/diagramEmbed.js" type="text/javascript"&gt; &lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt; gliffy_did = "1620984"; embedGliffy(); &lt;/script&gt;&lt;br /&gt;Checking, repairing and updating the license (client side procedure):&lt;br /&gt;&lt;script src="http://www.gliffy.com/diagramEmbed.js" type="text/javascript"&gt; &lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt; gliffy_did = "1621475"; embedGliffy(); &lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-2334069524875213457?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/2334069524875213457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=2334069524875213457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/2334069524875213457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/2334069524875213457'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/02/licensing-process-flow-and-gliffy.html' title='Licensing Process Flow and Gliffy'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-7763678507291280992</id><published>2009-02-12T15:44:00.003Z</published><updated>2009-02-13T19:34:27.223Z</updated><title type='text'>Queen's web site crashes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l_pKUNHACyw/SZREN29mzkI/AAAAAAAAAG4/6zmX-wsrF8M/s1600-h/QueenWebsiteError.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 346px;" src="http://4.bp.blogspot.com/_l_pKUNHACyw/SZREN29mzkI/AAAAAAAAAG4/6zmX-wsrF8M/s400/QueenWebsiteError.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5301937666204814914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This made me laugh.&lt;br /&gt;I'm not exactly a royal hater, honest guv, but this made me laugh.&lt;br /&gt;I went to check out the new web site unveiled today at Buckingham Palace by the Queen accompanied by Sir Tim Berners-Lee &lt;a href="http://news.bbc.co.uk/1/hi/uk/7885005.stm"&gt;see BBC news item here&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;I did a search on what Prince Charles is doing this month (there is a drop-down where you can select the royal member you want to track), and got back the error page you see above.&lt;br /&gt;&lt;br /&gt;Anyone out there who does Microsoft dotnet ASPX development may understand why I find this funny.&lt;br /&gt;&lt;br /&gt;The other curious thing about this, it seems to me is how an out-dated but entrenched political power structure is using the worlds most modern technology to cling desperately to it's withering power base. The freedom, democracy, equality and levelling power of the world wide web are utterly anathema to everything the UK Royal Family as a political institution (not the very nice people themselves, who we all love and cherish, god save 'em!) stand for, uphold and embody.&lt;br /&gt;&lt;br /&gt;Quite besides having all the royals on a drop-down list, which surely did have to have been done by someone with a sense of humour, the fact that even in the brilliance of the glow that shines from Tim Berner's-Lee, the palace still can't make a web site that reliably returns results pages running on Microsoft IIS technology... thank god no lives depend on it, unlike the situation in the UK NHS which rumbles on... see &lt;a href="http://news.bbc.co.uk/1/hi/health/7887438.stm"&gt;BBC News website - NHS computer problems continue - 13 Feb 2009&lt;/a&gt; The story here tells us that at one UK hospital, patient waiting times have been drastically increased and they are 10 million pounds worse off as a result of the latest episode in the attempts to computerise patient records.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bournemouthsoftware.co.uk/"&gt;Bournemouth Business Software&lt;/a&gt; is working to make these kinds of sorry stories a thing of the past. See what they have to say about &lt;a href="http://www.bournemouthsoftware.co.uk/Services/tabid/59/language/en-GB/Default.aspx"&gt;Bespoke solutions vs off-the-shelf products&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-7763678507291280992?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/7763678507291280992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=7763678507291280992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7763678507291280992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7763678507291280992'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2009/02/queens-web-site-crashes.html' title='Queen&apos;s web site crashes'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l_pKUNHACyw/SZREN29mzkI/AAAAAAAAAG4/6zmX-wsrF8M/s72-c/QueenWebsiteError.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-3580770010933650727</id><published>2008-12-02T11:26:00.005Z</published><updated>2008-12-02T14:49:27.655Z</updated><title type='text'>g-speak 3D spatial operating environment</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_l_pKUNHACyw/STUeXvHqaJI/AAAAAAAAAGc/8d-CYxxrbbI/s1600-h/g-speak.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_l_pKUNHACyw/STUeXvHqaJI/AAAAAAAAAGc/8d-CYxxrbbI/s400/g-speak.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5275155931668834450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2229299&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2229299&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="337"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A glimpse of the future of human-computer interaction.&lt;br /&gt;&lt;br /&gt;For more information see: &lt;a href="http://oblong.com/"&gt;Oblong.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- &lt;br /&gt;&lt;a href="http://vimeo.com/2229299"&gt;g-speak overview 1828121108&lt;/a&gt; from &lt;a href="http://vimeo.com/user922585"&gt;john underkoffler&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;&lt;br /&gt; --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-3580770010933650727?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/3580770010933650727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=3580770010933650727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3580770010933650727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3580770010933650727'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/12/g-speak-3d-spatial-operating.html' title='g-speak 3D spatial operating environment'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l_pKUNHACyw/STUeXvHqaJI/AAAAAAAAAGc/8d-CYxxrbbI/s72-c/g-speak.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8244726393512292900</id><published>2008-11-28T17:02:00.001Z</published><updated>2008-11-28T17:02:34.540Z</updated><title type='text'>Avinash Kaushik - Web Analytics in an hour a day</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;&lt;object height='350' width='425'&gt;&lt;param value='http://youtube.com/v/sMwQN43fwoQ' name='movie'/&gt;&lt;embed height='350' width='425' type='application/x-shockwave-flash' src='http://youtube.com/v/sMwQN43fwoQ'/&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt;Avinash Kaushik comes highly recommended for web analytics, plus he seems to be an ok person! 8-)&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8244726393512292900?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8244726393512292900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8244726393512292900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8244726393512292900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8244726393512292900'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/11/avinash-kaushik-web-analytics-in-hour.html' title='Avinash Kaushik - Web Analytics in an hour a day'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-6561430250433988948</id><published>2008-09-01T20:54:00.006+01:00</published><updated>2008-09-12T10:16:33.846+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dorset'/><title type='text'>Microsoft provides examples of the worst documentation in the software industry</title><content type='html'>During the course of my work, I rather too frequently come across Microsoft documentation which consists of definitions of the form: &lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;blockquote&gt;"BigThing" : a BigThing is a thing which is big.&lt;/blockquote&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Of couse a BigThing is a thing which is big! &lt;br /&gt;This tells me precisely nothing.&lt;br /&gt;It annoys the hell out of me so much, and Microsoft seem to me to be a company that does this more than anyone else.&lt;br /&gt;I am so annoyed I am going to start to compile a list of URL's that demonstrate what I'm talking about.&lt;br /&gt;Hopefully someone from Microsoft will come across my list, and then someone else at Microsoft will agree its a good idea to not insult their customers with pages upon pages of documentation that provides no real information whatsoever.&lt;br /&gt;&lt;br /&gt;I'm not going to go round pulling out examples now... I'm just going to add to my list every time I come across one.&lt;br /&gt;&lt;br /&gt;Here's one that just got me... you might say it was the last straw:&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.graphicsdevice.evictmanagedresources.aspx"&gt;evictmanagedresources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft's documentation on "evictmanagedresources" says, (and I quote) "Evicts all managed resources, including Microsoft Direct3D resources and those that are driver managed." In other words, evictmanagedresources evicts all managed resources. That really helps, doesn't it, Microsoft! Ever heard of examples? Ever thought you might like to include some in your documentation. Read my lips... never ever ever make a piece of software language documentation and don't include an example of usage.&lt;br /&gt;&lt;br /&gt;Whoever at Microsoft needs to hear that, I don't know. But someone needs to write it in red ink on their forehead.&lt;br /&gt;&lt;br /&gt;(Happy mood, today!)&lt;br /&gt;&lt;br /&gt;If you're suffering from having to deal with Microsoft documentation, these fellows may help... 8-) ... &lt;a href="http://www.DorchesterSoftware.co.uk"&gt;Microsoft Dorset&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-6561430250433988948?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/6561430250433988948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=6561430250433988948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/6561430250433988948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/6561430250433988948'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/09/microsoft-worst-documentation-software.html' title='Microsoft provides examples of the worst documentation in the software industry'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-7966882360170407528</id><published>2008-08-04T18:00:00.005+01:00</published><updated>2008-08-05T13:07:34.095+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Standby'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Do you want to debug? - annoying dialog</title><content type='html'>&lt;blockquote&gt;&lt;em&gt;&lt;br /&gt;ENQUIRER:&lt;br /&gt;Dear, Dorset Software Consultant,&lt;br /&gt;On my laptop (only,not my PC) I am getting a lot of annoying dialog boxes that pop up and say there is a runtime error and do I want to debug. ["Do you want to debug?"] If I say yes, the script editor from Microsoft pops up, but I don't know what I am doing with it so I always wind up closing it. How do I get these things to leave me alone?&lt;br /&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Dear Enquirer,&lt;br /&gt;Am I right in thinking that these dialogs only appear when you are using browser software?&lt;br /&gt;&lt;br /&gt;If so then it is probably an easy thing to fix.&lt;br /&gt;&lt;br /&gt;Open up internet explorer options and check the select boxes shown in the graphic below.&lt;br /&gt;&lt;br /&gt;That should fix it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_l_pKUNHACyw/SJc4HHb9l7I/AAAAAAAAAB0/JZn8W8_ZMJY/s1600-h/Disable+Script+debugging.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_l_pKUNHACyw/SJc4HHb9l7I/AAAAAAAAAB0/JZn8W8_ZMJY/s400/Disable+Script+debugging.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5230711187120691122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If this is occuring not just in your browser software we may have to think along some other lines... like you may have some sort of mild virus.&lt;br /&gt;&lt;br /&gt;Three likely scenarios occur to me:&lt;br /&gt;(1) Virus:&lt;br /&gt;Do you have virus software installed?&lt;br /&gt;&lt;br /&gt;(2) A piece of software or hardware driver recently installed is conflicting with some other piece of software or hardware driver:&lt;br /&gt;When did the dialogs start appearing?&lt;br /&gt;Did you install some piece of hardware or software just prior to when the PC started doing this?&lt;br /&gt;Is it while using a particular piece of software that this happens, or is it more random than that?&lt;br /&gt;&lt;br /&gt;(3) You have some disk or memory corruption:&lt;br /&gt;When was the last time you checked your disks for errors?&lt;br /&gt;Are you running out of space on any of your disk drives?&lt;br /&gt;Did you recently have a power failure that rebooted your PC without shutting down properly?&lt;br /&gt;Or someone shut it down using the wall power switch instead of windows “Shut down” procedure?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;&lt;br /&gt;ENQUIRER:&lt;br /&gt;I think I am getting clearer about when this happens. I think it is related to the fact that I just close my laptop when it is plugged in, don't shut down, and then unplug the laptop from the wall later, either use it on battery, or plug it in somewhere else and use it on AC. I have been wondering for awhile: When I go to shut down in Microsoft, when should I select Standby, when should I select Hibernate (I think this has to do with not running down the battery, so I'm guessing you'll say that), or Turn off (or Restart) completely?&lt;br /&gt; &lt;br /&gt;I want to know which I should choose of the first three when I am unplugging from the wall and moving the laptop somewhere else. &lt;br /&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;"Standby" and "Hibernate" are both designed to be ways of conserving power (usually of a laptop) whilst being able to stop and resume working from whatever point you have got to. For example you don't have to close and save files (at least theoretically) you can just stop, and pickup from whereever you had got to.&lt;br /&gt;&lt;br /&gt;The difference between Standby and Hibernate is that Hibernate copies your computer memory (including any open files) onto your hard drive, whereas Standby leaves the power going to the memory and the contents of the memory as it is.&lt;br /&gt;&lt;br /&gt;Consequently you should expect Hibernate to take a bit longer (both going into hibernation and coming out of it). On the other hand, Hibernate should conserve more battery life, because it is not having to keep power going to the laptop memory. If the laptop is going on a longer journey, it is probably better to use hibernate, because keeping power going to the computer memory may ultimately drain the batteries to such an extent that machine gives up and powers down, potentially losing any work that you haven't saved. &lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.microsoft.com/windowsxp/using/mobility/getstarted/hibernate.mspx"&gt;difference between "Standby" and "Hibernate"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think somewhere I have seen a piece of software that automatically moves your computer from Standby to Hibernate when battery reserves are getting low, although I don't remember for sure. In any case I personally wouldn't count on it.&lt;br /&gt;&lt;br /&gt;Personally, I would be inclined to always save copies of my work. If I want to avoid overwriting an existing file that I'm not sure I want to replace yet, I would simply make a new copy and keep the old until I'm happy that the new one can replace it.&lt;br /&gt;&lt;br /&gt;Also with regard to Hibernate, I would bear in mind that if your disk drives are old, or well used, or nearly full up, or very fragmented, or have shown any signs of being liable to errors or corruption, your hibernate file is going to be susceptible to corruption during the process of putting on to the hard drive and/or restoring it off again. The outcome of restoring a corrupt hibernate file is probably not predictable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-7966882360170407528?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/7966882360170407528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=7966882360170407528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7966882360170407528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7966882360170407528'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/08/do-you-want-to-debug-annoying-dialog.html' title='Do you want to debug? - annoying dialog'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_l_pKUNHACyw/SJc4HHb9l7I/AAAAAAAAAB0/JZn8W8_ZMJY/s72-c/Disable+Script+debugging.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-3351959887349456634</id><published>2008-07-23T16:33:00.002+01:00</published><updated>2008-07-23T16:47:13.553+01:00</updated><title type='text'>Useful command line instructions</title><content type='html'>Just while I'm thinking about some of them:&lt;br /&gt;&lt;br /&gt;netstat 20 &lt;br /&gt;Lists all the active tcp-ip connections, so you can check for hackers ;-)&lt;br /&gt;(20 is the number of seconds before a repeat)&lt;br /&gt;&lt;br /&gt;ipconfig /all&lt;br /&gt;Lists info on all physical network connections&lt;br /&gt;&lt;br /&gt;ipconfig /release&lt;br /&gt;ipconfig /renew&lt;br /&gt;&lt;br /&gt;Tracert ipAddress/domain name&lt;br /&gt;Traces network hops to remote locations so you can check a failing connection to see where it is failing.&lt;br /&gt;&lt;br /&gt;There's a really useful one for rebuilding the Winsock protocol stack, but I don't have it to hand.&lt;br /&gt;&lt;br /&gt;I'll add more of these as I think of them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-3351959887349456634?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/3351959887349456634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=3351959887349456634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3351959887349456634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/3351959887349456634'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/07/useful-command-line-instructions.html' title='Useful command line instructions'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8244147327369417451</id><published>2008-07-23T15:15:00.005+01:00</published><updated>2008-07-23T16:09:18.957+01:00</updated><title type='text'>What has got my COM port?</title><content type='html'>Classic phone tools problem.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_l_pKUNHACyw/SIdEGZo4ryI/AAAAAAAAABM/30_SpLvOTLU/s1600-h/PhoneTools_COM_port_problem.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_l_pKUNHACyw/SIdEGZo4ryI/AAAAAAAAABM/30_SpLvOTLU/s400/PhoneTools_COM_port_problem.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5226220769339027234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you press the dial button you get this message.&lt;br /&gt;&lt;br /&gt;"Com port is being used by another application.&lt;br /&gt;Your call cannot be completed now."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_l_pKUNHACyw/SIdEGkiYA3I/AAAAAAAAABU/uCx35UrS3Tk/s1600-h/PhoneTools_COM_port_problem_2.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_l_pKUNHACyw/SIdEGkiYA3I/AAAAAAAAABU/uCx35UrS3Tk/s400/PhoneTools_COM_port_problem_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5226220772264510322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But what application! What application is the COM port being used by.&lt;br /&gt;What is the solution to making PhoneTools work?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.experts-exchange.com/Hardware/Misc/Q_20865939.html"&gt;Dogztar&lt;/a&gt; had a crack at some similar problems. As did &lt;a href="http://www.experts-exchange.com/Software/Office_Productivity/Productivity_Applications/Q_21485921.html"&gt;moorhouselondon&lt;/a&gt;. Scroll down to the bottom of the pages to see the solutions. (Don't be put off by the "You need to be a premium member" message. Just scroll to the bottom of the page.)&lt;br /&gt;&lt;br /&gt;In order to find out what is competing for the COM3 port, I uninstalled the Modem. In Windows XP when the machine is re-started, Windows automatically tries to re-install the Modem. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_l_pKUNHACyw/SIdEGhv4hII/AAAAAAAAABc/Jd76p6yXjcw/s1600-h/PhoneTools_COM_port_problem_3.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_l_pKUNHACyw/SIdEGhv4hII/AAAAAAAAABc/Jd76p6yXjcw/s400/PhoneTools_COM_port_problem_3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5226220771515860098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When windows tried to reinstall the modem, a COM port conflict message came up, alerting me that in my case it is ActiveSync attempting to connect via COM3 to my PDA which is causing the conflict.&lt;br /&gt;&lt;br /&gt;This may not be the solution in all cases, but it was the source of the competition for the COM port in mine.&lt;br /&gt;&lt;br /&gt;ActiveSync did not in any case need to access the PDA on the COM port, because it connects just fine using USB without it. With this option deselected, both PhoneTools and ActiveSync work correctly together on the PC.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_l_pKUNHACyw/SIdEGmc74jI/AAAAAAAAABs/PKwsR4t-E48/s1600-h/ActiveSync_COM_port_problem.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_l_pKUNHACyw/SIdEGmc74jI/AAAAAAAAABs/PKwsR4t-E48/s400/ActiveSync_COM_port_problem.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5226220772778566194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once I had deselected ActiveSync's attempts to connect on COM3 to my PDA, phone tools now works correctly again.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_l_pKUNHACyw/SIdEGlI2W_I/AAAAAAAAABk/f_o6SCyjluw/s1600-h/PhoneTools_COM_port_problem_FIXED.JPG"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_l_pKUNHACyw/SIdEGlI2W_I/AAAAAAAAABk/f_o6SCyjluw/s400/PhoneTools_COM_port_problem_FIXED.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5226220772425882610" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8244147327369417451?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8244147327369417451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8244147327369417451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8244147327369417451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8244147327369417451'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/07/what-has-got-my-com-port.html' title='What has got my COM port?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_l_pKUNHACyw/SIdEGZo4ryI/AAAAAAAAABM/30_SpLvOTLU/s72-c/PhoneTools_COM_port_problem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-7439650809925847354</id><published>2008-07-02T16:14:00.003+01:00</published><updated>2008-07-02T16:19:34.971+01:00</updated><title type='text'>I'm new to blogging - where do I start?</title><content type='html'>&lt;blockquote&gt;Dear Dorset Software Consutants,&lt;br /&gt;I will be setting up a blog later this summer and I'd love to hear some of your experiences with blogging.&lt;br /&gt;&lt;br /&gt;I'm really after a number of bits of information. For a start what service would you recommend?&lt;br /&gt;&lt;br /&gt;Who reads your blog? Is it public or private? How do I relate my blog to my business or other projects I am working on? &lt;br /&gt;&lt;br /&gt;Many thanks for any help you can give me.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Rather than having one blog, you may notice that I have lots of blogs.&lt;br /&gt;(And web sites, etc. etc.)&lt;br /&gt;&lt;br /&gt;The blogs and sites and etc all connect up with each other in various different ways. This then provides multiple alternative routes into what is essentially all the same project.&lt;br /&gt;&lt;br /&gt;The project has a number of different faces, each blog or web site provides a different face on the project, but from my point of view there is only ONE PROJECT.&lt;br /&gt;&lt;br /&gt;The conclusion I came to is that really what an active participant in the global discourse on business, prosperity, productivity and accomplishment needs is not really a web-site or a blog or any such thing… more rather it is a “web presence”.  You heard it here first! &lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-7439650809925847354?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/7439650809925847354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=7439650809925847354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7439650809925847354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/7439650809925847354'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/07/im-new-to-blogging-where-do-i-start.html' title='I&apos;m new to blogging - where do I start?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-1323548650397308862</id><published>2008-06-14T22:01:00.013+01:00</published><updated>2008-06-30T14:27:22.038+01:00</updated><title type='text'>Creating a linked server for Sage line 50 version 14 on Microsoft SQL server 2005</title><content type='html'>Creating a linked server for Sage line 50 version 14 on Microsoft SQL server 2005.&lt;br /&gt;&lt;br /&gt;Although documentation exists for creating linked servers on Microsoft SQL server 2005, and documentation exists regarding the Sage Line 50 v 14 (2008) ODBC driver, I couldn't anywhere find documentation that combined both.&lt;br /&gt;&lt;br /&gt;If there is any, please let me know in the comments.&lt;br /&gt;&lt;br /&gt;When I tried a fairly standard set of options for creating a linked Sage Line 50 version 14 server on SQL 2005, I tended to get problems like this:&lt;br /&gt;&lt;br /&gt;Figure.1&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_3OCA1FiaNiY/SFZkVEFqQ9I/AAAAAAAAABA/Iz8VO6APH_A/s1600-h/sage+problem.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3OCA1FiaNiY/SFZkVEFqQ9I/AAAAAAAAABA/Iz8VO6APH_A/s320/sage+problem.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5212463931765441490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The graphic shows an attempt to use the Sage Stock table via the linked server in a view on the SQL 2005 server.&lt;br /&gt;&lt;br /&gt;You get back a few rows (the number varies) and then the error occurs:&lt;br /&gt;&lt;br /&gt;"Row handle referred to deleted row or row marked for deletion"&lt;br /&gt;and&lt;br /&gt;"OLE/DB provider 'MSDASQL' Irowse getdata returned 0x80040e23"&lt;br /&gt;and&lt;br /&gt;"Could not get the data of the row from the OLE/DB provider 'MSDASQL'"&lt;br /&gt;&lt;br /&gt;Other strange phenomena occured, like from an ADP (Access data project) connecting to a database that referenced the linked server, the sa account was able to connect, whereas a domain account with full access to the database and server admin rights on the SQL server was not able to use the linked server, even though all accounts were being mapped to a valid sage account with every permission under the sun granted to it. Before we could discover that, however, we had to get the thing to connect at all. And how we did that is as follows:&lt;br /&gt;&lt;br /&gt;I spent a long time figuring it out, but maybe I'm the only person in the known universe that has ever needed to set up a Sage Line 50 linked server on Microsoft SQL 2005, so unless someone actual prompts me for more detail I'm going to be brief but include the critical things I noticed along the way.&lt;br /&gt;&lt;br /&gt;First have a look at the following two graphics:&lt;br /&gt;&lt;br /&gt;Figure.2&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_3OCA1FiaNiY/SFQzPHJB6WI/AAAAAAAAAAo/qEz8lu_onvs/s1600-h/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3OCA1FiaNiY/SFQzPHJB6WI/AAAAAAAAAAo/qEz8lu_onvs/s320/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5211847003482483042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Figure.3&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/SFQzUpqB1pI/AAAAAAAAAAw/JrX7Cs1pxlk/s1600-h/Connecting+Sage50v14+to+MS_SQL2005+Oledb+provider+for+ODBC+settings.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/SFQzUpqB1pI/AAAAAAAAAAw/JrX7Cs1pxlk/s320/Connecting+Sage50v14+to+MS_SQL2005+Oledb+provider+for+ODBC+settings.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5211847098647041682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first of these you have undoubtedly tried all the settings of the ODBC driver under the sun in an attempt to make it work (if you've come this far).&lt;br /&gt;&lt;br /&gt;The second graphic however you may have passed over.&lt;br /&gt;&lt;br /&gt;It sets the OLEDB provider for ODBC datasources settings for all linked server using the OLEDB provider for ODBC that are running on the same server.&lt;br /&gt;&lt;br /&gt;It is not at all obvious to me what you are supposed to do if you have ODBC sources that need different alternative settings here, but I was "blessed" with only needing to conect to Sage Line 50 from SQL 2005, so I didn't have to deal with that particular problem.&lt;br /&gt;&lt;br /&gt;The way to get to that dialog is to right click on the SQL Server Management studio hierarchy branch as showing in the graphic below:&lt;br /&gt;&lt;br /&gt;Figure.4&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_3OCA1FiaNiY/SFQ1xqYu-mI/AAAAAAAAAA4/wtt0u2xIsQ4/s1600-h/Connecting+Sage50v14+to+MS_SQL2005+Oledb+provider+for+ODBC+hierarchy+location.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3OCA1FiaNiY/SFQ1xqYu-mI/AAAAAAAAAA4/wtt0u2xIsQ4/s320/Connecting+Sage50v14+to+MS_SQL2005+Oledb+provider+for+ODBC+hierarchy+location.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5211849796082399842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Addendum - scripting out Sage Line 50 Linked server on SQL 2005&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;As per the request from the blogger "Boozer" from St Albans (see comments), I have added some additional detail.&lt;br /&gt;&lt;br /&gt;These are the 2nd and 3rd pages from linked server properties dialog. (The first page is already showing above.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Figure.5: Security tab of linked server properties dialog:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_3OCA1FiaNiY/SF615EUON4I/AAAAAAAAABI/JNDwJQosVmo/s1600-h/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties+_+Security.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3OCA1FiaNiY/SF615EUON4I/AAAAAAAAABI/JNDwJQosVmo/s320/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties+_+Security.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5214805410557343618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure.6: Sever Options tab from linked server propeties dialog:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_3OCA1FiaNiY/SF615sqUk0I/AAAAAAAAABQ/yF53DaZHeDQ/s1600-h/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties+_+ServerOptions.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3OCA1FiaNiY/SF615sqUk0I/AAAAAAAAABQ/yF53DaZHeDQ/s320/Connecting+Sage50v14+to+MS_SQL2005+Linked+Server+Properties+_+ServerOptions.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5214805421387453250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure.7: This grahic shows my Sage 50 version 14 ODBC settings.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_3OCA1FiaNiY/SF616P0wrxI/AAAAAAAAABg/sqbzl4CG3ro/s1600-h/Sage50_v14_ODBC.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3OCA1FiaNiY/SF616P0wrxI/AAAAAAAAABg/sqbzl4CG3ro/s320/Sage50_v14_ODBC.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5214805430826479378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I also scripted out the creation script of my linked server using the following menu command in the SQL 2005 Managemenet studio tool.&lt;br /&gt;&lt;br /&gt;Figure.8&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3OCA1FiaNiY/SF616Q1sq6I/AAAAAAAAABo/IIuLuNLkZLU/s1600-h/Script+out+linked+server.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3OCA1FiaNiY/SF616Q1sq6I/AAAAAAAAABo/IIuLuNLkZLU/s320/Script+out+linked+server.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5214805431098846114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This gave me the script shown below:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/****** Object:  LinkedServer [SAGE_Linked_Server]    Script Date: 06/22/2008 20:56:02 ******/&lt;br /&gt;EXEC master.dbo.sp_addlinkedserver @server = N'SAGE_Linked_Server', @srvproduct=N'SageLine50v14', @provider=N'MSDASQL', @datasrc=N'SageLine50v14', @provstr=N'SageLine50v14;uid=FillinTheBlank;pwd=FillinTheBlank;'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'collation compatible', @optvalue=N'true'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'data access', @optvalue=N'true'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'dist', @optvalue=N'false'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'pub', @optvalue=N'false'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'rpc', @optvalue=N'true'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'rpc out', @optvalue=N'true'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'sub', @optvalue=N'false'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'connect timeout', @optvalue=N'0'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'collation name', @optvalue=null&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'lazy schema validation', @optvalue=N'false'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'query timeout', @optvalue=N'0'&lt;br /&gt;GO&lt;br /&gt;EXEC master.dbo.sp_serveroption @server=N'SAGE_Linked_Server', @optname=N'use remote collation', @optvalue=N'true'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You should be able to execute this SQL script in a query window against your server to produce an identical linked server setup to the one I have.&lt;br /&gt;&lt;br /&gt;Some of the keys for us I think were as follows:&lt;br /&gt;(1) Setting the "Zero level only" flag in the OLE/DB provider for ODBC (MSDASQL) properties dialog. (See Figure.3 above.) You can access this dialog via the right-mouse menu shown in Figure.4. Before I did this I tended to get the message "Row handle referred to a deleted row or a row marked for deletion" when running a SQL query against a recordset from the linked server. SQL tools would return a few rows, anything from 1 to about 5 or 6 before coming back with this error. The number returned any time the query was run was not always the same but, tiny compared the number of records I was expecting. &lt;br /&gt;&lt;br /&gt;(2) We discovered there was a difference when trying to connect to the sage linked server when we were using integrated security accounts vs. when we were using SQL server native accounts. The conclusions here were not very complete. Integrated NT domain accounts worked when connecting via some of the Sage accounts, but did not work when connecting via other sage accounts, even Sages accounts that had been given maximum permisions to everything on Sage. Sage accounts that did not work with the integrated NT domain SQL server accounts did however work when using the SAGE Linked server via the security context of a Native SQL Server 2005 account.&lt;br /&gt;&lt;br /&gt;(3) Much of what we were doing had been upgraded from pervious versions of SQL server, Sage and NT. The NT domain had been upgraded from a windows small business server to domain controller to an Active Directory. Sage accounts that worked with the new active directory accounts tended to be ones that had existed on the previous Sage installation.&lt;br /&gt;&lt;br /&gt;Sponsored by &lt;a href="http://www.DorchesterSoftware.co.uk"&gt;Dorchester (in Dorset) Software&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-1323548650397308862?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/1323548650397308862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=1323548650397308862' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1323548650397308862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1323548650397308862'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/06/linked-server-sage-line-50-v-14.html' title='Creating a linked server for Sage line 50 version 14 on Microsoft SQL server 2005'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3OCA1FiaNiY/SFZkVEFqQ9I/AAAAAAAAABA/Iz8VO6APH_A/s72-c/sage+problem.JPG' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8014471111055481286</id><published>2008-05-31T09:48:00.009+01:00</published><updated>2008-06-30T14:27:54.626+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Rootkit Haxdoor&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Troj/BagleDl-BX'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Hacktool.Rootkit&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='W32/Mitglieder.VD'/><category scheme='http://www.blogger.com/atom/ns#' term='hldrrr.exe'/><category scheme='http://www.blogger.com/atom/ns#' term='Trojan.Tooso.R'/><category scheme='http://www.blogger.com/atom/ns#' term='srosa.sys and wintems.exe'/><title type='text'>Select file to crack - Virus information</title><content type='html'>Quite a lot has been documented about the Troj/BagleDl-BX, W32/Mitglieder.VD, hldrrr.exe, "Rootkit Haxdoor", "Hacktool.Rootkit", Trojan.Tooso.R, srosa.sys and wintems.exe&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sophos.com/security/analyses/viruses-and-spyware/trojbagledlbx.html"&gt;Sophos&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://forums.spybot.info/showthread.php?t=22346&amp;page=2"&gt;Spybot&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://spywarefiles.prevx.com/RRCGIC16820740/HLDRRR.EXE.html"&gt;prevx.com&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://securityresponse.symantec.com/security_response/writeup.jsp?docid=2002-011710-0057-99"&gt;symantec&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://www.symantec.com/security_response/writeup.jsp?docid=2006-061613-2224-99&amp;tabid=3"&gt;symantec again&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://www.siusic.com/wphchen/hard-to-kill-malware-wintems-exe-and-hldrrr-exe-143.html"&gt;siusic.com&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://forums.spybot.info/showthread.php?t=22446"&gt;spybot&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://www.techsupportforum.com/microsoft-support/windows-xp-support/206609-solved-hldrrr-exe-srosa-sys-help-please.html"&gt;techsupportforum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And related problems - such as that it destroys safe mode boot up.&lt;br /&gt;&lt;a href="http://www.hijackthis-forum.de/archive/index.php/t-24676.html"&gt;hijackthis-forum&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://forums.devshed.com/antivirus-protection-117/can-t-use-anti-virus-program-or-safe-mode-can-t-488501.html"&gt;devshed&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://www.castlecops.com/postx186252-0-0.html"&gt;castlecops&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[Incidentally with regard to the safe mode boot up registry problem I used this version of &lt;a href="http://bindon.net.googlepages.com/SafeBootKeyRepair.exe"&gt;SafeBootKeyRepair.exe&lt;/a&gt; on 30May2008 on a Windows XP SP2 machine and it appeared to work in restoring the operation of Safe Mode without ill effects.]&lt;br /&gt;&lt;br /&gt;The fellow on siusic noted (at the end of his post on the link just above) that this virus tended to get activated by starting Internet Explorer. And as the only external bits of software that IE launches at start up are 3rd party toolbars they uninstalled all the IE toolbars, and this helped reduce the activity of this virus.&lt;br /&gt;&lt;br /&gt;I did the same and sure enough it helped.&lt;br /&gt;&lt;br /&gt;About 3 more Symantec Anti-virus full scans down the road and a couple of reboots, and still at start up I get the "Select file to crack" message. &lt;br /&gt;&lt;br /&gt;So I look on the registry keys:&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run and&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;br /&gt;to see if I can stop anything suspicious.&lt;br /&gt;&lt;br /&gt;Interestingly I see the following:&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\swg&lt;br /&gt;which is running:&lt;br /&gt;C:\Program Files\Google\GoogleToolbarNotifier\GoogleToolbarNotifier.exe&lt;br /&gt;&lt;br /&gt;Also I notice it has once again created this key in the registry: HKEY_CURRENT_USER\Software\FirstRRRun&lt;br /&gt;&lt;br /&gt;Now GoogleToolbarNotifier.exe as you may know from &lt;a href="http://www.what-is-exe.com/filenames/googletoolbarnotifier-exe.html"&gt;what-is-exe.com&lt;/a&gt; is supposedly an exe that monitors your browser to see if anything tries to change your default search engine. However I'm wondering why after I have un-installed Google toolbar why this file is still starting up when windows boots so I go and check the file and I discover the file has a curious red cross icon, and bizarre copyright information. It refers to "microsoft" without any (c) or years. &lt;br /&gt;&lt;br /&gt;Clearly whatever version of this malware virus I have inherited has replaced the real GoogleToolbarNotifier.exe with its virus alternative. &lt;br /&gt;&lt;br /&gt;The "Select file to crack" dialog is being created by "CTHELPER.EXE" which is supposed to be a supporting file for Creative Labs Soundblaster devices (see &lt;a href="http://www.liutilities.com/products/wintaskspro/processlibrary/cthelper/"&gt;liutilities&lt;/a&gt; ... but clearly not in my case.&lt;br /&gt;&lt;br /&gt;A search of the machine shows that there are 4 copies of CTHELPER.EXE on the machine in question, these are in c:\Drivers\Audio\addon\common\amd64, c:\Drivers\Audio\addon\common\i386, C:\WINDOWS, and C:\WINDOWS\System32. The version of the file in C:\WINDOWS\System32 has the curious red cross on it like the hijacked version of GoogleToolbarNotifier.exe! Also it is exactly the same size as the hijacked GoogleToolbarNotifier.exe. &lt;br /&gt;&lt;br /&gt;I then did a file search using FileBoss from &lt;a href="http://www.theutilityfactory.com/index.html"&gt;theutilityfactory&lt;/a&gt;&lt;br /&gt;for all files on my machine of this exact same size: 692,224. It revealed that there was another copy of this file called "mdelk.exe" and a load of copies called things like "A0056###.exe" ie. A followed by 7 digits, eg. A0056227.exe. There were some ligitimate files of this exact size too, but I checked the properties and the weird red cross icon to see that these were indeed the same virus file.&lt;br /&gt;&lt;br /&gt;My guess is that the hijacked GoogleToolbarNotifier.exe is being used to start the copy itself onto hijacked CTHELPER.EXE and whatever else (if it doesn't exist already) and then start its, which in turn does the infecting of the machine all over again each time windows starts!&lt;br /&gt;&lt;br /&gt;Aren't the guys who design these virus things humourous fellows! 8-)&lt;br /&gt;&lt;br /&gt;My Symantec anti-virus failed to spot any of these files in repeated scans, and even when I click on one of these files and say "Scan for virus" it still comes back with "Scan complete, no virus found".&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Addendum - "Show hidden files and folders" option is missing!&lt;/h2&gt;&lt;br /&gt;Something I didn't initially notice was that the virus - pretty sure it was this virus (haven't had any other infections recently) - also removed a key from my registry which enables you to "Show hidden files and folders" under advanced settings in windows explorer (-&gt; Tools -&gt;View). &lt;br /&gt;&lt;br /&gt;Because the whole key had been removed from the registry I didn't notice intially that the option wasn't displaying on the list of advanced settings at all. So it couldn't be set one way or the other. It just wasn't there to be set.&lt;br /&gt;&lt;br /&gt;I noticed this when I came to look at some files on my PocketPC (my T-mobile MDA pro PDA which I use to test development of PocketPC applications that I build for clients). When I looked at the files on the PocketPC via the windows explorer on the desktop, the /Temp and /Windows folders didn't appear, even though I could see them via the File Explorer on the Pocket PC. &lt;br /&gt;&lt;br /&gt;The way to get the "Show hidden files and folders" option back is to re-create the registry key. You can do this by manually editing your registry (ball-ache) or by running a simple script. Gertnoob on cnet very helpfully provides one here: &lt;a href="http://forums.cnet.com/5208-6142_102-0.html?forumID=5&amp;threadID=232457&amp;messageID=2397621#2397621"&gt;Show hidden files and folders&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Or copy the following into a text file with a .Reg extension. Then double-click on it to merge it into your regestry:&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden]&lt;br /&gt;"Text"="@shell32.dll,-30499"&lt;br /&gt;"Type"="group"&lt;br /&gt;"Bitmap"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\&lt;br /&gt;00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,00,\&lt;br /&gt;48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,34,00,00,\&lt;br /&gt;00&lt;br /&gt;"HelpID"="shell.hlp#51131"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN]&lt;br /&gt;"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"&lt;br /&gt;"Text"="@shell32.dll,-30501"&lt;br /&gt;"Type"="radio"&lt;br /&gt;"CheckedValue"=dword:00000002&lt;br /&gt;"ValueName"="Hidden"&lt;br /&gt;"DefaultValue"=dword:00000002&lt;br /&gt;"HKeyRoot"=dword:80000001&lt;br /&gt;"HelpID"="shell.hlp#51104"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]&lt;br /&gt;"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"&lt;br /&gt;"Text"="@shell32.dll,-30500"&lt;br /&gt;"Type"="radio"&lt;br /&gt;"CheckedValue"=dword:00000001&lt;br /&gt;"ValueName"="Hidden"&lt;br /&gt;"DefaultValue"=dword:00000002&lt;br /&gt;"HKeyRoot"=dword:80000001&lt;br /&gt;"HelpID"="shell.hlp#51105"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8014471111055481286?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8014471111055481286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8014471111055481286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8014471111055481286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8014471111055481286'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2008/05/select-file-to-crack-virus-information.html' title='Select file to crack - Virus information'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-5302992464488308463</id><published>2007-10-24T18:39:00.000+01:00</published><updated>2007-10-24T18:41:23.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dorchester Chamber of Commerce and Industry'/><title type='text'>Dorchester Chamber of Commerce and Industry</title><content type='html'>Dorchester software has joined the Dorchester Chamber of Commerce, Industry and Tourism. Possibly you're not excited about that, but I am. Its so nice to belong! Here is the link: &lt;a href="http://www.dorchesterchamber.org.uk/members_a2z.asp?Keywords=D,E,F"&gt;Dorchester Chamber of Commerce, Industry and Tourism&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-5302992464488308463?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/5302992464488308463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=5302992464488308463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/5302992464488308463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/5302992464488308463'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/10/dorchester-chamber-of-commerce-and.html' title='Dorchester Chamber of Commerce and Industry'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-4029033932227518998</id><published>2007-09-29T16:53:00.000+01:00</published><updated>2007-09-29T16:57:36.141+01:00</updated><title type='text'>Managing large software developments</title><content type='html'>&lt;blockquote&gt;Dear Dorset Software Consutants,&lt;br /&gt;I have some code written in visual basic (VBA) which I need to convert to C#. I can write simple c++ and c# code. Now I have started one large project where I need to manage different classes and high level of organisation. I need some guidence and supervision while doing it. &lt;br /&gt;&lt;br /&gt;I can convert it to c# with guidance from internet but I feel if I could get some direct help on hand that would be great. Because I have really basic problems with c# dot net. I want to do the code myself, I just need a guide who will help me to understand how c# dot net classes work and how can I write a large program in c# with lots of classes.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Dear Enquirer,&lt;br /&gt;&lt;br /&gt;Thanks for getting in touch.&lt;br /&gt; &lt;br /&gt;First of all, on a practical point, there is an automatic upgrade path from VBA code to C#.&lt;br /&gt;VBA code is 99.9% identical to VB6 code.&lt;br /&gt;There is a conversion wizard which will convert VB6 code to VB.Net code.&lt;br /&gt;You can then take your VB.Net code and either stick it into a free dot net language translator - which you will find many on the net, &lt;br /&gt;OR compile it to and EXE and decompile it back to C# using one of the .Net decompiler tools you will find.&lt;br /&gt; &lt;br /&gt;Secondly, as I understand you, your enquiry relates to how to manage the development of a BIG software project, being worked on by a SMALL development team. Just to clarify when speaking of large software projects here, we are talking about there being lots of code, in contrast to a "large project" which involves a big team of developers... That is a whole different issue, which we can discuss another time.&lt;br /&gt; &lt;br /&gt;2 tips I can give you straight off for working on a big software project, vs. a small one.&lt;br /&gt; &lt;br /&gt;(i) Break the big project down in pieces ("modularise" it).&lt;br /&gt;I'm guessing that you know this already, but just thought I'd mention.&lt;br /&gt;Look for where you can isolate parts of the functionality you are needing, and "ring fence" them.&lt;br /&gt;Then work on each of these isolated pieces of functionality one at a time.&lt;br /&gt;Practically speaking it is nice to be able to keep these isolated pieces of functionality in folders and sub folders that can then be dragged and dropped between framework projects. Your framework projects should contain your standard supporting functions and classes, eg. to deal with reading/writing files or interacting with databases. &lt;br /&gt;You can use dll components for your modularised pieces, but the point is not the technology of component architecture... the point is MODULARISATION.&lt;br /&gt; &lt;br /&gt;(ii) Use code generation - ie. get some tools together that will write the code for you - I write my own, but there are many out there.&lt;br /&gt;This isn't less important than modularisation... possibly its more important.&lt;br /&gt;And the two points go well together, and tie in very well with object programming concepts like inheritance and interfaces.&lt;br /&gt;Using code generation has all sorts of beneficial consequences such as consistency, code quality, minimises the temptation to cut corners, high output vs. your time input, maintainability, ease of re-application to different but similar situations - lots more. &lt;br /&gt; &lt;br /&gt;Further to this it is not as yet clear to me, what is the best way to help you.&lt;br /&gt;Could you give me some concrete examples of questions you have and specific objectives?&lt;br /&gt; &lt;br /&gt;The quote you sent me is from a course entitled "Effective Conceptual Communication and (Business) Infrastructure Design". &lt;br /&gt;This is not quite a software development course. &lt;br /&gt;Although the course includes hands-on exploration of computer based graphical thinking tools such as mind-mapping and thinking-with-hexagons, the course aims to follow (or rather trample) paths between the concrete and the abstract in both directions, so as to give course participants more facility in moving from the concrete to the abstract and from the abstract to the concrete, as well as around the abstract domain itself, and to be able to effectively take their colleagues with them while doing so. This in turn is used as a foundation for establishing "intelligent business infrastructures" - infrastructures which are designed to fulfill invented purposes, in contrast to ones that have simply evolved as oral and operative traditions. &lt;br /&gt; &lt;br /&gt;My company also provides courses on software development subjects including programming using C# and visual studio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-4029033932227518998?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/4029033932227518998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=4029033932227518998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4029033932227518998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4029033932227518998'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/09/managing-large-software-developments.html' title='Managing large software developments'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-8045399660401659244</id><published>2007-06-07T12:35:00.000+01:00</published><updated>2007-06-07T12:41:30.116+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best of both worlds choice'/><title type='text'>A letter from the managing director</title><content type='html'>Dear Business Manager,&lt;br /&gt;&lt;br /&gt;As the managing director of a new business covering all of Dorset, and much of the south coast from Brighton, Southhampton, Poole and Bournemouth to Bridport, Bristol and Exeter, I wanted to introduce myself to you. I grew up in Dorset and have recently returned to live here.&lt;br /&gt;&lt;br /&gt;For the last 20 years I have worked in the area of software development, designing tailor-made database systems for medium-sized businesses, and the corporates that those businesses provide service to.&lt;br /&gt;&lt;br /&gt;Typical systems have included:&lt;br /&gt;Customer Relationship Management ("CRM")&lt;br /&gt;Stock Control, Resource Management and Scheduling, and&lt;br /&gt;Mobile Worker Management and Coordination &lt;br /&gt;(sometimes called "Field Service Management" or "FSM" systems)&lt;br /&gt;&lt;br /&gt;Business administrators commonly face a stark choice between on the one hand using "off-the-shelf" data management systems which inevitably have some degree of mismatch with the specific business processes of your business, and on the other hand going through the (often painful) process of having a bespoke tailor-made system built for your company. &lt;br /&gt;&lt;br /&gt;Although bespoke tailor-made systems may initially seem like a better alternative, experienced business administrators know that such projects are fraught with hazards for the unwary. The news media are full of stories of large scale versions of such projects going wrong - such as the NHS system or the new Air Traffic control system -systems being delivered many years late, running millions of pounds over budget, and failing to meet specification requirements.&lt;br /&gt;&lt;br /&gt;Why is it that these database projects are so notoriously difficult to deliver on time, within budget and to specification?&lt;br /&gt;&lt;br /&gt;In my 20 years of experience designing, developing and deploying database systems, I have developed and incorporated a number of strategies and methodologies which make the process of implementing a tailor-made database system a much more attractive and viable proposition; I commonly use a number of "part-baked" modules, together with frameworks that support them and allow them to mesh seamlessly together. These "part-baked" modules are open to extensive refinement, and if necessary, modification to make them fully appropriate to the precise details of each specific business-case. &lt;br /&gt;&lt;br /&gt;This approach allows me to provide astonishing turn-around times, and incredible prices, in the delivery of tailor-made database systems. These systems are not fully off-the-shelf, but also not built entirely from scratch each time - instead I provide a "best-of-both worlds" choice.&lt;br /&gt;&lt;br /&gt;I would be grateful for the opportunity to discuss this best-of-both worlds choice and the very specific infrastructure needs of your own business. &lt;br /&gt;&lt;br /&gt;Please do email back if you would like me to phone or meet with you or call me on 07957 203512. I am available Monday-Friday 9am-7pm for any enquiry I might be able to help with or for a free no-obligation discussion of your I.T. infrastructure needs. &lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;Andrew Bindon, MA Cantab, MCP, LCP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-8045399660401659244?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/8045399660401659244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=8045399660401659244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8045399660401659244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/8045399660401659244'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/06/letter-from-managing-director.html' title='A letter from the managing director'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-4116631398062384731</id><published>2007-04-27T00:30:00.000+01:00</published><updated>2007-04-27T01:16:47.692+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code geration'/><title type='text'>Why is code generation so powerful in bespoke database development projects?</title><content type='html'>Good practice in software development very often involves finding a "sweet spot" between advantages and disadvantages of moving a development architecture/methodology in the direction of or away from opposing approaches. Perhaps some examples would clarify what I mean. &lt;br /&gt;&lt;br /&gt;A classic example is in the normalisation of data. Normalisation for non-programmers is a process which involves the elimination of unnecessary repetition in data storage. Instead of storing customer information with every order, we may instead have a separate table of customer information, and "tag" each order with an customer information ID to indicate which customer the order was placed by. This has a couple of immediate advantages. One is that it avoids the unnecessary duplication of customer data which can now be kept in a single record for each customer. Further it means that when a customer record is updated, only the one record needs to be changed. &lt;br /&gt;&lt;br /&gt;However as database programmers consider further, we realise that although normalisation is a pretty useful thing, it is not always such a good idea. Sometimes in fact it is better to keep data stored in forms that are not at all normalised. This may help to make data entry quicker, or improve the responsiveness of a particularly critical part of an application. Differing requirements and purposes of differing business situations, may direct a software architect more towards normalisation or to move away from it, in any particular part of a data structure, and so the insight as to where to position the "sweet spot" between the extremes of normalisation and denormalisation comes to be something of an art, which may require some years to master really well. &lt;br /&gt;&lt;br /&gt;Another similar example is in regard to the extent to which program code is parameterised. Starting out as a "young" programmer, it is easy to think that all parameterisation is good. If it is possible to take a parameter out of a pair of functions so that you have instead a single function which does the job of both with half the original amount of code, simply by passing in an extra parameter, surely that is a good thing. However in software development it turns out that this is not always the case. There are a number of reasons. One is that modifications to requirements may subsequently make the two original functions not fit together so conveniently and so require them to be separated again. A second is that when a function is dealing with multiple disparate calls, it is harder to identify the reasons why it might be raising exceptions. Data being passed in to the function may be coming from multiple different places, and if any of those sources contain inconsistent data, it is harder to identify which source caused the problem. Furthermore when you go to fix a problem, you have to be careful not to adjust the code in a way that makes it fail with situations that were previously working, other than the one you are dealing with. &lt;br /&gt;&lt;br /&gt;All of these reasons drive developers away from functions, classes and libraries that are trying to accomplish too much, ones which are trying to be too generally applicable to too many different sets of data. In other words these reasons drive developers away from what is sometimes called "code reuse" and in the direction of "code generation".  Being able to "reuse" code requires the code to be general enough that it can be used for multiple related situations. "Code generation" in contrast is a technique that involves the automatic substitution of what would otherwise be parameters to a function, into the literal coding of the function, so that the function becomes "de-parameterised". The code generator may make 20 similar functions, one for each value of substituted parameter, and in turn it will name those functions or those function objects acording to the value of parameter substituted.&lt;br /&gt;&lt;br /&gt;Although this may seem counter-intuitive, and lead to large amounts of repeated code - and hence "code-blote", it actually turns out to make life much easier for software developers, and hence increasing their productivity, and in turn leading to happier customers. An example of how this makes life easier for programmers is when it comes to dealing with the differences which may arise in the different situations that the orginal function of object was being applied. Now when making adjustments to the one of the generated functions to accound for such a specialised situation, there is no danger of breaking the code that deals with any other value of the removed parameter. &lt;br /&gt;&lt;br /&gt;Further discussion of the value of code geration can be found here: &lt;a href="http://brightonsoftware.blogspot.com/2007/02/software-programmers-best-practice.html"&gt;Code generation and best practice in software development&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-4116631398062384731?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/4116631398062384731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=4116631398062384731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4116631398062384731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4116631398062384731'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/04/why-is-code-generation-so-powerful-in.html' title='Why is code generation so powerful in bespoke database development projects?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-1052318545725003489</id><published>2007-02-26T02:19:00.001Z</published><updated>2009-02-27T12:22:20.900Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='search engine optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='searchaholics anonymous'/><category scheme='http://www.blogger.com/atom/ns#' term='targetted web traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='addictive disorders'/><title type='text'>searchaholics trying not to be anonymous</title><content type='html'>Search engine optimisation is my latest addictive disorder. I find myself staying up late studying my site stats, fretting over the quality of my backlinks, and waking up in the morning with dreams of increases in page rank. I have sold my soul to so called "search engine optimisation" - that's "targetted web traffic" to you and me. I am finding it increasingly harder, that's to say more difficult, to write an english sentence, that is to say phrase, without including three or four possible word variations (varieties, differences) on each keyword... See what I mean?&lt;br /&gt;&lt;br /&gt;I have decided therefore that I am giving up &lt;a href="http://www.bournemouthsoftware.co.uk/Services/SearchEngineOptimisationSEO/tabid/77/language/en-GB/Default.aspx"&gt;Search Engine Optimisation&lt;/a&gt; for Lent... I'm hoping I can stay off it for good. But as you can see, there is not much evidence of that so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-1052318545725003489?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/1052318545725003489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=1052318545725003489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1052318545725003489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/1052318545725003489'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/02/searchaholics-trying-not-to-be.html' title='searchaholics trying not to be anonymous'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-4024048685404701705</id><published>2007-02-11T17:17:00.002Z</published><updated>2009-02-27T12:25:17.579Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Excel VBA training'/><category scheme='http://www.blogger.com/atom/ns#' term='Word VBA training'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Training'/><title type='text'>Word VBA training</title><content type='html'>I partly owing to my notariety as an &lt;a href="http://www.bournemouthsoftware.co.uk/MicrosoftTraining/PublicCourseSchedule/tabid/74/ctl/Details/Mid/388/ItemID/4/language/en-GB/Default.aspx?selecteddate=09/12/2009"&gt;Excel VBA trainer&lt;/a&gt; i was recently asked to deliver 4 days of training on using &lt;a href="http://www.bournemouthsoftware.co.uk/MicrosoftTraining/PublicCourseSchedule/tabid/74/language/en-GB/Default.aspx"&gt;VBA inside Microsoft Word&lt;/a&gt; for an insurance data provider company. Despite this not being quite my usual bag, I'm happy to say the 4 days of software training went very well, and I am now feeling very happy to do some more of this, if anyone should want me too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-4024048685404701705?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/4024048685404701705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=4024048685404701705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4024048685404701705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4024048685404701705'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/02/word-vba-training.html' title='Word VBA training'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/10691905052989728081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-4680567063492469172</id><published>2007-01-31T14:29:00.000Z</published><updated>2007-01-31T14:35:09.820Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dorchester Dorset Preschool Nursery'/><title type='text'>Dorchester Nursery / Preschool</title><content type='html'>Exciting news! I have just been helping my sister with some search engine optimisation for the new web site she has created for the preschool she works with. It is a really great site. If you are a parent with young children looking for a Nursery or Preschool in the Dorchester, Dorset area, I really recommend you visit their site. &lt;a href="http://dorchester.community.nursery.googlepages.com/Pre-school_Parents.html"&gt;Dorchester Nursery / Preschool&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-4680567063492469172?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/4680567063492469172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=4680567063492469172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4680567063492469172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/4680567063492469172'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/01/dorchester-nursery-preschool.html' title='Dorchester Nursery / Preschool'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-6131407859229023934</id><published>2007-01-25T18:13:00.000Z</published><updated>2007-01-25T18:14:37.865Z</updated><title type='text'>What is the primary asset of a software development company?</title><content type='html'>What is the primary asset of a software company?&lt;br /&gt;&lt;br /&gt;I would suggest to you that the primary asset of a software company is not its client base. Shocking?&lt;br /&gt;Not its staff. Still shocking? Not its buildings. Not its business processes. Not its business process infrastructure.&lt;br /&gt;&lt;br /&gt;All of these things are important, yes. VERY important? Yes. Really really important? Yes. And certainly you can’t be running too much of a business without them. But not primarily important.&lt;br /&gt;&lt;br /&gt;I would suggest that the primary asset of a software company is none of these.&lt;br /&gt;&lt;br /&gt;The primary asset of a software company is it’s CODEBASE.&lt;br /&gt;&lt;br /&gt;However, the code base is only an asset of the business to the extent that it is maintainable, extensible, revisable and re-applicable to a changing set of business scenarios within a changing local and global business environment.&lt;br /&gt;&lt;br /&gt;So the really interesting question becomes, not how to write code that is reusable. But rather how to build a code base, and code library, which is maintainable, extensible, revisable and most importantly of all re-applicable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-6131407859229023934?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/6131407859229023934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=6131407859229023934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/6131407859229023934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/6131407859229023934'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/01/what-is-primary-asset-of-software.html' title='What is the primary asset of a software development company?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5922090746406029238.post-2791164578068144731</id><published>2007-01-17T21:35:00.001Z</published><updated>2009-02-27T12:21:11.251Z</updated><title type='text'>Independent Dorset Software Consultant</title><content type='html'>I am an independent &lt;a href="http://www.bournemouthsoftware.co.uk"&gt;Dorset software consultant&lt;/a&gt;. There are various advantages to hiring me, which extend above and beyond hiring a traditional software house. Whilst you might think that the bigger a company is, the more likely it will be able to provide you with what you want, this is not necessarily the case. Very many projects from small and medium sized enterprises when they are contracted to software houses are actually passed on to people just like me... one or two or three of us. So while the software company takes a big slice of your cash, which it is using amongst other things in the service of presenting a "professional front" to its business, it very often does not in fact add any additional value.&lt;br /&gt;&lt;br /&gt;It merely acts to create a barrier between you, the client, and me/us, the people doing the work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5922090746406029238-2791164578068144731?l=dorsetsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dorsetsoftware.blogspot.com/feeds/2791164578068144731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5922090746406029238&amp;postID=2791164578068144731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/2791164578068144731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5922090746406029238/posts/default/2791164578068144731'/><link rel='alternate' type='text/html' href='http://dorsetsoftware.blogspot.com/2007/01/independent-dorset-software-consultant.html' title='Independent Dorset Software Consultant'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/14059016995497678622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://andrew.bindon.googlepages.com/Andrew_photo_July2006.jpg'/></author><thr:total>0</thr:total></entry></feed>
