<?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-4521942301051416826</id><updated>2012-02-16T20:44:44.298Z</updated><category term='SOAP'/><category term='Vista'/><category term='Abode'/><category term='Trac'/><category term='XSLT'/><category term='Source Control'/><category term='Software Development'/><category term='Web Services'/><category term='WPF/E'/><category term='XML'/><category term='Documentation'/><category term='SVN'/><category term='ASP.NET'/><title type='text'>Peter Beams</title><subtitle type='html'>Blog on software development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-6550594608514150694</id><published>2011-05-27T13:05:00.001Z</published><updated>2011-05-27T13:05:37.054Z</updated><title type='text'>Installing Windows 7 from USB Key</title><content type='html'>&lt;p&gt;I’ve got new laptop, a &lt;a href="http://uk.computers.toshiba-europe.com/innovation/series/Portege-R700-Series/1087011/"&gt;Toshiba Portege R700&lt;/a&gt; which as usual comes with quite a lot of bundled software pre-installed.&amp;nbsp; Also the version of Windows 7 installed is the 32 bit version.&lt;/p&gt; &lt;p&gt;I decided to put a clean install on there of Windows 7 x64 – which meant downloading all the device drivers from the Toshiba site ready to install after Windows.&lt;/p&gt; &lt;p&gt;To install Windows I followed &lt;a href="http://www.intowindows.com/how-to-install-windows-7vista-from-usb-drive-detailed-100-working-guide/"&gt;this guide&lt;/a&gt; to install from a USB key rather than DVD.&amp;nbsp; The Windows install I had was an ISO image anyway, so rather than burn it to disk just for the install using the USB key seemed like a better option.&amp;nbsp; After all - optical drivers aren’t up to much, they’re slow, noisy and unreliable (well they have been for me anyway).&amp;nbsp; Using the USB key worked like a treat - seemed to install quicker too and the machine didn’t sound like it was about to take off into space.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-6550594608514150694?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/6550594608514150694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=6550594608514150694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/6550594608514150694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/6550594608514150694'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2011/05/installing-windows-7-from-usb-key.html' title='Installing Windows 7 from USB Key'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-1912642052085309989</id><published>2011-05-27T10:54:00.001Z</published><updated>2011-05-27T10:54:28.416Z</updated><title type='text'>System.Messaging.MessageQueueException: Insufficient resources to perform operation.</title><content type='html'>&lt;p&gt;I came across this error today in one our web service applications:-&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;System.Messaging.MessageQueueException: Insufficient resources to perform operation.&lt;br&gt;&amp;nbsp;&amp;nbsp; at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)&lt;br&gt;&amp;nbsp;&amp;nbsp; at System.Messaging.MessageQueue.Send(Object obj, String label, MessageQueueTransaction transaction, MessageQueueTransactionType transactionType)&lt;br&gt;&amp;nbsp;&amp;nbsp; at System.Messaging.MessageQueue.Send(Object obj, String label)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The service causing the error is a data import service.&amp;nbsp; It collects requests received during the day into an MSMQ and then processes it overnight.&lt;/p&gt; &lt;p&gt;The queue of requests only had about 10 messages in it, so was unlikely to be causing any resource issues.&lt;/p&gt; &lt;p&gt;However, when the data import service fails to process a message overnight, it sends it to a &lt;a href="http://msdn.microsoft.com/en-us/library/ms789028.aspx"&gt;poison queue&lt;/a&gt;.&amp;nbsp; That queue had lots of messages in it.&amp;nbsp; At the moment the poison queue is left to fill up, we only use it when we’re fixing a specific problem with the import service.&amp;nbsp; Neither queue had a value set for “&lt;a href="http://technet.microsoft.com/en-us/library/cc732973(WS.10).aspx"&gt;Limit message storage&lt;/a&gt;”.&lt;/p&gt; &lt;p&gt;It turns out that there’s a machine setting for limiting the amount of disk space given to MSMQ for storing messages.&amp;nbsp; It defaults to 1GB and sure enough the C:\WINDOWS\system32\msmq\storage had 1GB of data in it and no more.&amp;nbsp; &lt;/p&gt; &lt;p&gt;To solve it I backed up the queues using &lt;a href="http://technet.microsoft.com/en-us/library/cc773213(WS.10).aspx"&gt;mqbkup&lt;/a&gt; and then purged the poison queue.&amp;nbsp; I also upped the limit to 4GB so the problem occurs less often.&amp;nbsp; But that’s not a real solution.&amp;nbsp; Really I’d like some monitoring to tell me when the queue is approach full so that I can do something about it.&lt;/p&gt; &lt;p&gt;Having a dig around I found a performance counter called MSMQ Service\Total bytes in all queues.&amp;nbsp; Should be able to monitor that and raise an alert when it approaches the limit.&lt;/p&gt; &lt;p&gt;Thanks to &lt;a href="http://ayende.com/blog/4262/msmq-insufficient-resources-to-perform-operation"&gt;Ayende’s post&lt;/a&gt; on this one.&amp;nbsp; Also there’s a more complete list of possible causes from &lt;a href="http://blogs.msdn.com/b/johnbreakwell/archive/2006/09/18/insufficient-resources-run-away-run-away.aspx"&gt;this post&lt;/a&gt; (this is number 7).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-1912642052085309989?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/1912642052085309989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=1912642052085309989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/1912642052085309989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/1912642052085309989'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2011/05/systemmessagingmessagequeueexception.html' title='System.Messaging.MessageQueueException: Insufficient resources to perform operation.'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-2478556028617672479</id><published>2009-08-02T19:27:00.003Z</published><updated>2009-08-02T20:05:17.371Z</updated><title type='text'>Solid State Hard Drive for my developer machine</title><content type='html'>Solid state memory that makes up USB flash drives has quite recently become a real option for use in a system hard drive.  The solid state disks typically come in sizes 30GB, 60GB, 120GB and 250GB, cost spiralling the larger you go.&lt;br /&gt;&lt;br /&gt;I’m working with a number of large .NET solutions that I have to open, build and frequently chop and change between during the day.  This gets quite frustrating waiting for the HD to spin up and load all those source files to do some work.  Also all the code is controlled using SVN (and &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; as a client) – which creates loads of small hidden files which are read a lot when moving around the code.&lt;br /&gt;&lt;br /&gt;I read the blogs by &lt;a href="http://www.hanselman.com/blog/UpgradingMyLenovoW500ToAOCZVertex250GBSATAIISolidStateDiskSSD.aspx"&gt;Scott Hanselman&lt;/a&gt; and &lt;a href="http://www.joelonsoftware.com/items/2009/03/27.html"&gt;Joe Spolsky&lt;/a&gt;, two well respected developers on introducing SSD for their development machines.  Further reviews and benchmarks on SSD drives looked like they would be a promising option for saving time on disk access during the day.  I hesitate to say an “affordable”option because a 120GB disk costs around £260.&lt;br /&gt;&lt;br /&gt;I found a &lt;a href="http://www.ocztechnology.com/products/flash_drives/ocz_summit_series_sata_ii_2_5-ssd"&gt;120GB OCZ Summit&lt;/a&gt; series on &lt;a href="http://www.overclockers.co.uk/"&gt;overclockers.co.uk&lt;/a&gt; for £260, and got one in.  The Summit series is the in the “professional” series on the OCZ website compare to the lower performing Agility series (which costs around £30 less).&lt;br /&gt;&lt;br /&gt;The drive I’m upgrading was a &lt;a href="http://www.pcstats.com/articleview.cfm?articleID=1746"&gt;74GB Western Digital Raptor&lt;/a&gt;, a really good drive in its day.  I’ve got another 250GB drive in my machine which as partition with the MBR and Windows XP.  The raptor drive runs Vista Ultimate.&lt;br /&gt;&lt;br /&gt;I installed the new drive onto a spare SATA channel and booted up vista.   I picked &lt;a href="http://www.acronis.com/homecomputing/products/migrateeasy/"&gt;Acronis Migrate Easy 7.0&lt;/a&gt; to copy the contents of the Raptor over to a new 74Gb partition on the SSD drive. That would leave 50GB free for my frequent working files, like source code.&lt;br /&gt;&lt;br /&gt;After a couple of reboots, Acronis started up and cloned the contents of the Vista drive over to the new SSD.  After that I powered down and put the SSD drive on the channel where the raptor used to live.&lt;br /&gt;&lt;br /&gt;This caused me to get an error message when trying to boot into Vista, which was solved by popping in the Vista DVD and doing a repair.  I figure that is repaired something in the MBR that had gone slightly awry in the clone.&lt;br /&gt;&lt;br /&gt;Rebooted and the system was up and running perfectly with the new drive in the old one’s place.  My performance benchmarks are fairly rudimentary, timing a few long tiresome disk jobs using a stopwatch.&lt;br /&gt;&lt;br /&gt;Boot, login and get IE to load the home page:-&lt;br /&gt;Before: 2m38s, After 1m10s&lt;br /&gt;&lt;br /&gt;Multiple .NET solution compilation:-&lt;br /&gt;Before: 5m02s, After 2m22s&lt;br /&gt;&lt;br /&gt;Visual Studio Load of a solution:-&lt;br /&gt;Before: 1m46s, After 58s&lt;br /&gt;&lt;br /&gt;From the results you can see that disk intensive things took about half as much time.  Now I think that’s a good return on the investment, should save plenty of time over the coming weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-2478556028617672479?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/2478556028617672479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=2478556028617672479' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/2478556028617672479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/2478556028617672479'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2009/08/solid-state-hard-drive-for-my-developer.html' title='Solid State Hard Drive for my developer machine'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-8779849982560466519</id><published>2008-09-10T11:24:00.003Z</published><updated>2008-09-15T15:39:25.108Z</updated><title type='text'>First play with NBehave</title><content type='html'>&lt;p&gt;I've been reading about &lt;a href="http://behaviour-driven.org/"&gt;Behaviour Driven Development&lt;/a&gt; and the tools around it, namely &lt;a href="http://nbehave.org/"&gt;NBehave&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Behaviour Driven Development (Ok I'm going to call it BDD from here on ...) looks to be a great way of making the developer keep their focus on what their objectives are for the code their about to write.  Test Driven Development (TDD) was the start of that, but it BDD takes it a step further and relates tests to the business value they're trying to achieve.  I think every developer is guilty of jumping into code and forgetting where they came from or why they're there at some point.&lt;/p&gt; &lt;p&gt;I like code that reads closer to English, the sentence style of NBehave makes it easy to read the code and flow through and provides structure. &lt;/p&gt; &lt;p&gt;&lt;a href="http://dannorth.net/"&gt;Dan North's&lt;/a&gt; article &lt;a href="http://dannorth.net/whats-in-a-story/"&gt;What's in a story?&lt;/a&gt; is a great introduction into the structure of user stories, and is worth a read even if BDD isn't something you're considering.&lt;/p&gt; &lt;p&gt;You can download &lt;a href="http://www.codeplex.com/NBehave"&gt;NBehave from CodePlex&lt;/a&gt; and I'm using &lt;a href="http://www.mbunit.com/"&gt;MbUnit&lt;/a&gt; as my testing framework, but I guess any other would work just as well.&lt;span class="Apple-style-span"  style=" font-weight: bold; font-size:24px;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;h4&gt;Some Code...&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Here's the source code for the quick example I wrote:-&lt;/span&gt;&lt;/h4&gt; &lt;h5&gt;The Test Code&lt;br /&gt;&lt;span class="Apple-style-span"  style=";font-size:16px;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Here's the testing code:-&lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;&lt;pre class="code"&gt;&lt;span style="font-size:100%;"&gt;    [&lt;span style="color:#2b91af;"&gt;Theme&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;"Calculator"&lt;/span&gt;), &lt;span style="color:#2b91af;"&gt;TestFixture&lt;/span&gt;]&lt;br /&gt; &lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:#2b91af;"&gt;Class1&lt;br /&gt; &lt;/span&gt;{&lt;br /&gt;&lt;br /&gt;     [&lt;span style="color:#2b91af;"&gt;Story&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Test&lt;/span&gt;]&lt;br /&gt;     &lt;span style="color:blue;"&gt;public void &lt;/span&gt;Should_Add_Up_Positive_Numbers()&lt;br /&gt;     {&lt;br /&gt;         &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:green;"&gt;//create the instance being used in testing&lt;br /&gt;         &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Calc &lt;/span&gt;c = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Calc&lt;/span&gt;();&lt;br /&gt;      &lt;br /&gt;         &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:green;"&gt;//create vars for test input&lt;br /&gt;         &lt;/span&gt;&lt;span style="color:blue;"&gt;int &lt;/span&gt;a = 0;&lt;br /&gt;         &lt;span style="color:blue;"&gt;int &lt;/span&gt;b = 0;&lt;br /&gt;      &lt;br /&gt;         &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:green;"&gt;//create var that will have result filled&lt;br /&gt;         &lt;/span&gt;&lt;span style="color:blue;"&gt;int &lt;/span&gt;result = 0;&lt;br /&gt;&lt;br /&gt;         &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:green;"&gt;//create the user story being tested&lt;br /&gt;         &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Story &lt;/span&gt;s = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Story&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;"Should add up positive numbers"&lt;/span&gt;);&lt;br /&gt;         s.AsA(&lt;span style="color:#a31515;"&gt;"Administrator"&lt;/span&gt;)&lt;br /&gt;             .IWant(&lt;span style="color:#a31515;"&gt;"to have numbers add up"&lt;/span&gt;)&lt;br /&gt;             .SoThat(&lt;span style="color:#a31515;"&gt;"I can get the total"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;         &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:green;"&gt;//setup scenario conditions and post conditions&lt;br /&gt;         &lt;/span&gt;s.WithScenario(&lt;span style="color:#a31515;"&gt;"Both numbers are positive"&lt;/span&gt;)&lt;br /&gt;             .Given(&lt;span style="color:#a31515;"&gt;"First Number is positive"&lt;/span&gt;, &lt;span style="color:blue;"&gt;delegate &lt;/span&gt;{ a = 5; })&lt;br /&gt;             .And(&lt;span style="color:#a31515;"&gt;"Second Number is positive"&lt;/span&gt;, &lt;span style="color:blue;"&gt;delegate &lt;/span&gt;{ b = 6; })&lt;br /&gt;             .When(&lt;span style="color:#a31515;"&gt;"Numbers are added up"&lt;/span&gt;, &lt;span style="color:blue;"&gt;delegate &lt;/span&gt;{ result = c.Add(a, b); })&lt;br /&gt;             .Then(&lt;span style="color:#a31515;"&gt;"Total is correct"&lt;/span&gt;, &lt;span style="color:blue;"&gt;delegate &lt;/span&gt;{ &lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(11, result); });&lt;br /&gt;      &lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt; }&lt;/span&gt;&lt;/pre&gt;&lt;h5&gt;The Production Code&lt;br /&gt;&lt;span class="Apple-style-span"  style=" font-weight: normal; font-size:16px;"&gt;Here's the production code to make the unit test pass:-&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:-webkit-monospace;font-size:13px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;&lt;pre class="code"&gt;&lt;span style="color:gray;"&gt;     &lt;span style="font-size:100%;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt; /// &lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;span style="font-size:100%;"&gt;Sample calculator class&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:#2b91af;"&gt;Calc&lt;br /&gt; &lt;/span&gt;{&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:gray;"&gt;&lt;span style="font-size:100%;"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;     /// &lt;/span&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;&lt;span style="font-size:100%;"&gt;Adds the specified a to b and returns result.&lt;br /&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:blue;"&gt;public int &lt;/span&gt;Add(&lt;span style="color:blue;"&gt;int &lt;/span&gt;a, &lt;span style="color:blue;"&gt;int &lt;/span&gt;b)&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color:blue;"&gt;return &lt;/span&gt;a + b;&lt;br /&gt;     }&lt;br /&gt; }&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span class="Apple-style-span"   style="  font-weight: bold; white-space: normal; font-family:Georgia;font-size:16px;"&gt;Test Output&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;I like way the test code reads just like a user story definition, it prints out in the test output which could be useful for creating testing reports.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="font-size:100%;"&gt;------ Test started: Assembly: NBehaveTesting.dll ------&lt;br /&gt;&lt;br /&gt;Starting the MbUnit Test Execution&lt;br /&gt;Exploring NBehaveTesting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;MbUnit 1.0.2700.29885 Addin&lt;br /&gt;Found 1 tests&lt;br /&gt;Story: Should add up positive numbers&lt;br /&gt;&lt;br /&gt;Narrative:&lt;br /&gt; As a Administrator&lt;br /&gt; I want to have numbers add up&lt;br /&gt; So that I can get the total&lt;br /&gt;&lt;br /&gt; Scenario 1: Both numbers are positive&lt;br /&gt;     Given First Number is positive&lt;br /&gt;         And Second Number is positive&lt;br /&gt;     When Numbers are added up&lt;br /&gt;     Then Total is correct&lt;br /&gt;[success] Class1.Should_Add_Up_Positive_Numbers&lt;br /&gt;[reports] generating HTML report&lt;br /&gt;TestResults: file:///C:/Users/peter.beams/AppData/Roaming/MbUnit/Reports/NBehaveTesting.Tests.html&lt;br /&gt;&lt;br /&gt;1 passed, 0 failed, 0 skipped, took 2.60 seconds.&lt;/span&gt;&lt;/pre&gt;&lt;h4&gt;Summary&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;I hope this first example is useful to someone taking a look at NBehave.  I'll be looking at BDD and NBehave in more detail soon, so more posts to follow.  I'm sure there are some war stories of using NBehave in large projects, so I'm hunting for them!&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-8779849982560466519?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/8779849982560466519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=8779849982560466519' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8779849982560466519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8779849982560466519'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2008/09/first-play-with-nbehave.html' title='First play with NBehave'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-8388930756939744466</id><published>2007-12-17T16:01:00.000Z</published><updated>2007-12-17T16:10:36.556Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='XSLT'/><title type='text'>File size limitation problem with XslCompiledTransform</title><content type='html'>I recently ran into a problem with a reporting feature on a product we're building and was very close to release.  The report was being generated by a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IHttpHandler&lt;/span&gt; in the ASP.NET 2.0 site that would transform an XML data document to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;RTF&lt;/span&gt; using an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XSLT&lt;/span&gt; transform.  We had around 20 reports that were working fine and generating without any problems.  One &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;XSLT&lt;/span&gt; transform was causing some major problems that even lead to crashing the application pool in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;IIS&lt;/span&gt; 6.0 when it was running.&lt;br /&gt;&lt;br /&gt;The handler that was supposed to be returning the report as an attachment in the request was displaying a 'Page cannot be displayed' and the System event log had warnings logged whenever this happened:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;A process serving application pool '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DefaultAppPool&lt;/span&gt;' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '6244'. The data field contains the error number. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;0000: 8007006d &lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;We couldn't recreate the problem locally in Visual Studio web development server, it only seemed to be for this one report when running in Windows 2003 and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;IIS&lt;/span&gt; 6.0.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Xslt&lt;/span&gt; engine being used was the standard &lt;a href="http://msdn2.microsoft.com/en-us/library/system.xml.xsl.xslcompiledtransform.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XslCompiledTransform&lt;/span&gt;&lt;/a&gt; class in the .NET framework, the previous implementation of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Xslt&lt;/span&gt; transforms &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;XslTransform&lt;/span&gt; had been marked as obsolete - so all during development the team was working with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;XslCompiledTransform&lt;/span&gt;.  The only difference we could see with the broken report and the working ones (after a while of checking and double checking other probable causes) was that the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Xsl&lt;/span&gt; file for that report was larger (~480Kb).&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://msdn2.microsoft.com/en-us/library/66f54faw%28VS.80%29.aspx"&gt;migration guide&lt;/a&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;MSDN&lt;/span&gt; makes no mention of there being a file size limitation when using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;XslCompileTransform&lt;/span&gt;, but we were able to find this &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1079884&amp;amp;SiteID=1"&gt;forum post&lt;/a&gt; that explains the issue we were having.  The problem is due to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;JIT&lt;/span&gt; compiler for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Xslt&lt;/span&gt; transformation running out space for declaring locals during IL compilation.  The suggestion is to split the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;XSL&lt;/span&gt; into smaller transforms, but we took an alternate route and switched back to using &lt;a href="http://msdn2.microsoft.com/en-us/library/system.xml.xsl.xsltransform%28VS.71%29.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;XslTransform&lt;/span&gt;&lt;/a&gt; in the code.  The older class handles the large report transformation - it might obsolete, but it works!&lt;br /&gt;&lt;br /&gt;Building reports like this way isn't the most elegant solution, but we hit this problem late in the development cycle that it was far too late to consider switching to a different method.  It's a little disappointing that MS aren't more explicit about that limitation in the migration guide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-8388930756939744466?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/8388930756939744466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=8388930756939744466' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8388930756939744466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8388930756939744466'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/12/file-size-limitation-problem-with.html' title='File size limitation problem with XslCompiledTransform'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-8841442621132295962</id><published>2007-04-05T09:31:00.000Z</published><updated>2008-11-13T03:11:22.200Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Testing ASP.NET SOAP Web Services</title><content type='html'>I've been developing some ASP.NET SOAP services for exposing some application logic to an associated application being developed by a colleague&lt;o:p&gt;&lt;/o:p&gt;  using &lt;a href="http://en.wikipedia.org/wiki/Macromedia_Flash"&gt;Flash&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/flashmediaserver/"&gt;&lt;span style="text-decoration: underline;"&gt;Flash Media Server&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To test the &lt;a href="http://en.wikipedia.org/wiki/SOAP"&gt;SOAP &lt;/a&gt;calls before deploying the services ready to be consumed by Flash, I needed to test the output from the services under certain conditions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yFr9OKiF6HE/RhTEkRPH97I/AAAAAAAAAAY/VNgaOS8ZcH8/s1600-h/invoking-from-vs.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_yFr9OKiF6HE/RhTEkRPH97I/AAAAAAAAAAY/VNgaOS8ZcH8/s320/invoking-from-vs.JPG" alt="" id="BLOGGER_PHOTO_ID_5049877209570342834" border="0" /&gt;&lt;/a&gt;When running the ASP.NET site from Visual Studio 2005, you can invoke the SOAP call from the browser.  This is fine for testing service operations that don't take any parameters, or parameters that primitive types (like strings and integers).  If the operation takes a complex type like an instance of a class you've written or complex .NET type like System.Guid -  they you can't invoke them this way.&lt;br /&gt;&lt;br /&gt;You could write a consumer application for web methods that can't be executed from the browser, but that means there's more code to write - and I'd rather see the service working outside of .NET to assure me that it will do the job for the Flash and Flash Comms Server parts of the application.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.soapui.org/"&gt;soapUI&lt;/a&gt; is a free and open source java based SOAP tester that allows you to prod and poke a web service with relative ease.  Its available as a standalone java app, or as a plug-in to popular tools like &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;.  I downloaded and installed the java installer from &lt;a href="http://sourceforge.net/projects/soapui"&gt;soapUI SourceForge Project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yFr9OKiF6HE/RhTHmhPH98I/AAAAAAAAAAg/19ZaAtDXAqE/s1600-h/soapUI.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_yFr9OKiF6HE/RhTHmhPH98I/AAAAAAAAAAg/19ZaAtDXAqE/s320/soapUI.JPG" alt="" id="BLOGGER_PHOTO_ID_5049880546759931842" border="0" /&gt;&lt;/a&gt;To test the service you just need to point soapUI to the &lt;a href="http://www.w3.org/TR/wsdl"&gt;WSDL&lt;/a&gt; description for the service you want to test.  ASP.NET generates that document for you so the URL looks something like http://myServer/myService.asmx?wsdl.  soapUI then uses the WSDL to give you a template for a SOAP request where you can fill in the data values you want to test with.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yFr9OKiF6HE/RhTH3xPH99I/AAAAAAAAAAo/jo0uPYQVn5U/s1600-h/soapUI2.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_yFr9OKiF6HE/RhTH3xPH99I/AAAAAAAAAAo/jo0uPYQVn5U/s320/soapUI2.JPG" alt="" id="BLOGGER_PHOTO_ID_5049880843112675282" border="0" /&gt;&lt;/a&gt;After that's done, hit the Submit option and the response from the service is displayed in the right hand pane.  It's complete with the SOAP headers and the data that's been returned.  If there's an exception thrown by the service call, then the exception will be displayed instead.&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;Later on I'll need to set up some unit tests and regression tests for the services, but &lt;a href="http://www.soapui.org/"&gt;soapUI &lt;/a&gt;is a great tool for doing the ad-hoc testing I need at the moment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-8841442621132295962?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/8841442621132295962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=8841442621132295962' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8841442621132295962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/8841442621132295962'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/04/testing-aspnet-soap-web-services.html' title='Testing ASP.NET SOAP Web Services'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yFr9OKiF6HE/RhTEkRPH97I/AAAAAAAAAAY/VNgaOS8ZcH8/s72-c/invoking-from-vs.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-3073774769266116008</id><published>2007-03-28T16:07:00.001Z</published><updated>2007-03-28T16:20:54.443Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Wiki Log book</title><content type='html'>Last week I downloaded and setup &lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;MediaWiki &lt;/a&gt;on my local development machine.  As the MediaWiki site will tell you it runs using &lt;a href="http://www.php.net/"&gt;PHP extensions&lt;/a&gt; for IIS and is powered by &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; database - both tools that can run along side my .NET development environment without causing conflict.  My original reason for downloading and installing it was to evaluate how hard it would be to deploy / adapt for one of our clients that might require a Wiki site later in the year.  I have, however, found having a Wiki running locally to be a valuable tool while I develop.&lt;br /&gt;&lt;br /&gt;One of the core challenges of software development has always been keeping useful and current documentation.  It always seems to be one of the first parts of a project that is dropped when a deadline gets tight, if was even included in the first place.  With the Wiki running, I can keep it open as I write code so that I can add to my high level documentation as I'm going.  Writing documentation as you go is bound to make it more accurate and useful to other developers that might have to pick up your work.&lt;br /&gt;&lt;br /&gt;My advice... throw away all those scraps of paper on your desk, and even that notebook (if its like mine it hasn't been touched for a few weeks anyway - who uses pens these days?) .. And install MediaWiki today!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-3073774769266116008?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/3073774769266116008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=3073774769266116008' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/3073774769266116008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/3073774769266116008'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/03/wiki-log-book.html' title='Wiki Log book'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-1302321681010153961</id><published>2007-02-06T20:32:00.000Z</published><updated>2007-02-06T20:33:14.125Z</updated><title type='text'>CasperXP for cloning disk</title><content type='html'>I've come across a good tool for backing up &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;bootable&lt;/span&gt; hard disks - &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;CasperXP&lt;/span&gt; [&lt;a href="http://www.fssdev.com/products/casperxp/"&gt;http://www.fssdev.com/products/casperxp/&lt;/a&gt;] will create an exact clone of a hard disk partition to another partition of the same size, including boot sectors. What that means is that if your main hard disk partition fails or corrupts then you change the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;bootable&lt;/span&gt; disk in the BIOS, and away you go working with a recent clone of your OS and programs. It costs $50 at my last check, and is worth the price tag if it saves a days work of rebuilding my system.&lt;br /&gt;&lt;br /&gt;This could all be achieved by using a RAID array of disks with one of the parity of clone RAID setups. That though would be expensive and wouldn't work on a partition to partition basis like &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CasperXP&lt;/span&gt; does.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-1302321681010153961?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/1302321681010153961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=1302321681010153961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/1302321681010153961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/1302321681010153961'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/02/casperxp-for-cloning-disk.html' title='CasperXP for cloning disk'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-5494376820055358420</id><published>2007-01-18T07:55:00.000Z</published><updated>2007-01-18T10:29:10.771Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF/E'/><category scheme='http://www.blogger.com/atom/ns#' term='Abode'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>WPF/E ... Adobe vs Microsoft?</title><content type='html'>&lt;a href="http://channel9.msdn.com/"&gt;Microsoft Channel 9 &lt;/a&gt;have posted a video interview with &lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;Gu&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; where they run through using &lt;a href="http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E&lt;/a&gt; and &lt;a href="http://ajax.asp.net/"&gt;AJAX&lt;/a&gt;, &lt;a href="www.iis.net"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;IIS&lt;/span&gt;&lt;/span&gt; 7.0&lt;/a&gt; and a couple of the other emerging technologies from Microsoft.&lt;br /&gt;&lt;br /&gt;Looking through the&lt;a href="http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E &lt;/a&gt;documentation and reading the general buzz about it, first question that entered my head (and it was always going to be). What does &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E stand for? &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt; is a product that's been bounded around during the development of Vista (previously codenamed "Avalon" I think) and stands for Windows Presentation Foundation ... but where has this new E come from? Apparently it stands for "Everywhere", Microsoft developing something &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;truly&lt;/span&gt; cross platform? Surely Not!&lt;br /&gt;&lt;br /&gt;I downloaded the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A3E29817-F841-46FC-A1D2-CEDC1ED5C948&amp;displaylang=en"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;CTP&lt;/span&gt;&lt;/span&gt; release of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E&lt;/a&gt;; Looking through some of the online demos on &lt;a href="http://blogs.msdn.com/mharsh/default.aspx"&gt;Mike &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;Harsh's&lt;/span&gt;&lt;/span&gt; Blog&lt;/a&gt;, I couldn't really see anything new to the user experience that wasn't possible using Adobe (formally &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;Macromedia&lt;/span&gt;&lt;/span&gt;) products like Flash. I think however most of the benefits from using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E will come from the portability of code because it uses &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;XAML&lt;/span&gt;&lt;/span&gt;, and its integration with AJAX for doing data post backs to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;webserivces&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt; is the new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt;&lt;/span&gt; layer that ships in Vista and is driven by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;XAML&lt;/span&gt;&lt;/span&gt; (an XML format for describing user interface designs). &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;XAML&lt;/span&gt;&lt;/span&gt; itself is a good move away from having to, in code, declare controls and their layout, look and design. It effectively provides that layer of abstraction of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt;&lt;/span&gt; from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt;&lt;/span&gt; functionality, like we've been used to with ASP.NET over the last few years.&lt;br /&gt;&lt;br /&gt;Recently its becoming clear that Microsoft are Adobe are going head to head in some of their developing product lines for delivering cross platform rich user interfaces over the web.&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E technology is certainly comparable to Flash Player, or &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flex&lt;/a&gt;. That's made a little more evident by there being a tool &lt;a href="http://www.mikeswanson.com/swf2xaml/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;swfToXAML&lt;/span&gt;&lt;/span&gt; &lt;/a&gt;for converting Flash movies to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;XAML&lt;/span&gt;&lt;/span&gt; markup.&lt;br /&gt;&lt;br /&gt;Not available in this version of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;CTP&lt;/span&gt;&lt;/span&gt;, Scott &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;Gu&lt;/span&gt;&lt;/span&gt; says that the final release will have better video support, with things like live streaming for things like conferencing. I'm yet to develop anything meaningful in either &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25" onclick="BLOG_clickHandler(this)"&gt;WPF&lt;/span&gt;&lt;/span&gt;/E or Flex, but I'm keen to see what benefits / advantages of using them practically.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-5494376820055358420?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/5494376820055358420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=5494376820055358420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/5494376820055358420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/5494376820055358420'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/01/wpfe.html' title='WPF/E ... Adobe vs Microsoft?'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-9148226981381973886</id><published>2007-01-16T16:32:00.001Z</published><updated>2010-01-04T17:20:12.774Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Source Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Trac'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>SVN and Trac</title><content type='html'>Since Vista has put an end to me using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;Cisco&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;VPN&lt;/span&gt;&lt;/span&gt; for now, I can't get access to Source Safe in the office for checking source code in and out from my main development machine.&lt;br /&gt;&lt;br /&gt;The project I'm working on at the moment does really need checking into the master source safe database for now until I've finished working on it - so it's given me an opportunity to try out some other source control systems.&lt;br /&gt;&lt;br /&gt;Dave Griffiths [&lt;a href="http://www.davegriffiths.net/"&gt;http://www.davegriffiths.net/&lt;/a&gt;] put me onto a system called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;Trac&lt;/span&gt;&lt;/span&gt; which gives a web interface for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;SVN&lt;/span&gt;&lt;/span&gt; repositories. I signed up for a developer account on &lt;a href="http://www.svnrepository.com/"&gt;www.svnrepository.com&lt;/a&gt;, it costs just under $4 for 500Mb of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;SVN&lt;/span&gt;&lt;/span&gt; storage, and they run &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;Trac&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;To access the repository from my development machine, I've downloaded &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;TortoiseSVN&lt;/span&gt;&lt;/span&gt; [&lt;a href="http://tortoisesvn.tigris.org/"&gt;http://tortoisesvn.tigris.org/&lt;/a&gt;] client for windows that allows access to my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;SVN&lt;/span&gt;&lt;/span&gt; db from Windows Explorer.&lt;br /&gt;&lt;br /&gt;So far I'm impressed with this setup. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;SVN&lt;/span&gt;&lt;/span&gt; doesn't need a lock to be gotten (though you could if it was needed) on the file before it can be worked on, and the merging functions are good from what I've seen. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;Trac&lt;/span&gt;&lt;/span&gt; also has bug tracking, Wiki, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;Timeline&lt;/span&gt;&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;Roadmap&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;functionality&lt;/span&gt;. I'll be branching out into using these in the next couple of days.&lt;br /&gt;&lt;br /&gt;I think &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;SVN&lt;/span&gt;&lt;/span&gt; works with code generation, code sets are a better way working than labelling. I'm going to try to figure out a way that all this can work that makes sense - Code Generation / Database Deployment / Build Server / Source Control.&lt;br /&gt;&lt;br /&gt;Watch this space!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-9148226981381973886?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/9148226981381973886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/9148226981381973886'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/01/svn-and-trac.html' title='SVN and Trac'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-4181760432678036082</id><published>2007-01-13T13:50:00.000Z</published><updated>2007-01-17T17:24:55.939Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Vista So Far...</title><content type='html'>I've been using Vista Bussiness for a few days now, so I'd thought I'd report my findings so far.&lt;br /&gt;&lt;br /&gt;The postives...&lt;br /&gt;&lt;br /&gt;I'm enjoying using Vista so far. It looks better (though I know the novelty will wear off soon enough) and the side bar is great when you get some RSS feeds in there.&lt;br /&gt;&lt;br /&gt;I'm using a dual monitor setup, and one of the things that used to annoy me in XP was that videos would stop playing when you moved them from screen to screen in PowerDVD or media player, Vista seems to have it sorted. I think they must have improved dramatically the way the videos are rendered because they even play when your cycling through applications using Alt+Tab and in the little window previews you get when hovering over something in the start bar, something that wasn't possible in XP.&lt;br /&gt;&lt;br /&gt;The negatives...&lt;br /&gt;&lt;br /&gt;To connect into the office I downloaded and installed the Cisco VPN client beta version for vista from &lt;a href="http://vpnclient.clearchannel.com/"&gt;http://vpnclient.clearchannel.com/&lt;/a&gt;. I haven't been able to get it running, its not a problem with the networks at either end it worked before using the same hardware and XP on my machine. When the VPN client tries to connect, it site there for a while and then returns the message "The remote peer is no longer responding". I've heard reports of other people using the Vista Cisco VPN client without problems on Vista, so looks like I need to have a dig around to find the fault.&lt;br /&gt;&lt;br /&gt;I'm also running VMware to host a couple of virtual images of Windows XP on my machine, the only problem I've had running it in Vista so far has been using the clients with "Bridged Network" mode. When I bring up the Network Settings in the VMware manager, the OK button was disabled. That turned out to be a problem with security in Vista - I got round it my adding the _vmware_ user to the adminsitrators group in Computer Mangement, and running the VMware manager as administrator. When the virtual machine boots up, it just reports the Vmware network connection has limited connectivity. Could be a problem with DCHP and the service that VMware creates to give the Virtual Machines IPs. However, I can still get online using machines in NAT mode, so its not a huge problem for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-4181760432678036082?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/4181760432678036082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=4181760432678036082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/4181760432678036082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/4181760432678036082'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/01/vista-problems.html' title='Vista So Far...'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4521942301051416826.post-2797818099813104546</id><published>2007-01-10T11:21:00.000Z</published><updated>2007-01-17T17:25:06.545Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Taking the vista plunge...</title><content type='html'>I've just taken the plunge and installed Vista Business on my PC. I do most of my work through VMware virtual machines, so that would reduce the risk of sticking a new operating system on and then not being able to do any work.&lt;br /&gt;&lt;br /&gt;After doing triple checks that I'd backed up all my "must have" data, I popped in the install disk that I'd burnt and followed through the install. All in all it was a much painless process than installing XP from fresh (but maybe I'm being blinded by the swish new graphics in the install), and I think it was a little quicker.&lt;br /&gt;&lt;br /&gt;The first part that confused me was when I was asked what version I wanted to install. I get a license of Business version through the university so that's what I needed to select. However there was a "BusinessN" version in the list - unsure what it was I avoided it. Reading up on it this morning it sounds like the only difference is the N version ships without Windows Media Player installed - a knock on of the EU legal battle with Microsoft recently I think.&lt;br /&gt;&lt;br /&gt;After I had created myself a user account I logged in I was presented with a "Welcome to Vista" screen. The system details listed the system as being a 32-bit intall of Vista, I'd read that there was no separate install disks between 32 and 64 bit version for Vista. My PC's got a AMD 64 X2 4200+, so was hoping that it would have detected it and installed the 64 bit version. I was never asked in the install setup whether I wanted 32 or 64, so maybe my CPU isn't compatable (or marked as compatible in the BIOS)? Something I'm going to look into over the next couple of days.&lt;br /&gt;&lt;br /&gt;Had some work to do to get my machine online too. My PC is using a NetGear WG111 54G wireless dongle which has no supported Vista drivers (and as far as I know no plans for Netgear to write any). At the moment I've borrowed my flatmate's WG111v2 and I'm using the Vista Beta driver from Netgear. That dropped in fine after doing a "Have Disk.." driver install through device manager. I've had to put in IPs and DNS server IPs manually, didn't seem to pick them up automatically from the wireless router. Ah well, I can live with that ... it works!&lt;br /&gt;&lt;br /&gt;My collegues who had installed Vista had warned that it blocks unsigned drivers from being installed - not something that I've found on my install. Maybe because I'm using Business edition, and I've been doing "Have Disk..." installs for drivers.&lt;br /&gt;&lt;br /&gt;My Wacom tablet still needs a bit of work to get it running, looks like Vista ships with drivers for pen tablets which are conflicting with the Wacom drivers. Haven't found a way to set up absolute referencing with the windows ones (where the tablet space maps directly to the screen), so might need to do some turning off and use the Wacome ones exclusively.&lt;br /&gt;&lt;br /&gt;That's about it for now - more to come later with my trials and tribulations with Vista (and developing it in)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4521942301051416826-2797818099813104546?l=beamsblag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beamsblag.blogspot.com/feeds/2797818099813104546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4521942301051416826&amp;postID=2797818099813104546' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/2797818099813104546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4521942301051416826/posts/default/2797818099813104546'/><link rel='alternate' type='text/html' href='http://beamsblag.blogspot.com/2007/01/taking-vista-plunge.html' title='Taking the vista plunge...'/><author><name>Pete Beams</name><uri>http://www.blogger.com/profile/12957713492469346331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
