Latest Posts

I was wondering what the difference between User Stories and Use Cases was and more importantly whether they were mutually exclusive or could be combined - my experience of Scrum so far seems to lean firmly toward the former.
However, I was distracted from my brief search when I came across Why I still use use cases written by Alistair Cockburn the author of Writing Effective Use Cases. In this article he’s made some interesting observations based on experience visiting companies and even goes as far as stating “naïve use of user stories and backlog items is causing very real, very expensive damage to companies”.
I’m blogging this because I’m interested in hearing other viewpoints and experiences from those who have worked with user stories as I’m mindful that this particular article could invoke hugely disparate opinions.
I’ve been using virtualisation since the early days and can firmly remember running the MS Virtual Server 2005 Alpha builds on iMeta’s production development hosts back in 2004. We were only about 15 people at the time and every piece of hardware was a precious resource (naturally this is still the case!), so the ability to run lots of development environments on each was just too much to resist.
As the company expanded so did our virtualisation needs and a couple of years ago we purchased a shiny fibre channel Dell CX3 SAN along with 6 VMWare ESX 3.0 hosts. One of the major selling points of this was Live Migration, the ability to migrate a virtual machine from one physical host to another with no perceived downtime to the end user. Live Migration is a wonderful thing but it does have rather demanding hardware requirements in the form of shared storage, which can often put it out of reach of the majority of IT departments before they even start looking at the substantial cost of ESX licences.
Fast forward to today and things have changed somewhat, there are multiple vendors offering live migration and the pricing has shifted away from the hypervisor itself to the management solutions. As a result each vendor offers a free edition of their hypervisor with a cut down feature set:
VMWare has ESXi, basically just a bare metal hypervisor, it comes with VMWare’s over-commit memory management which is nice, but that's about it :( It is capable of centralised management and live migration – but to activate those features you need to apply a full licence to it… which removes the “Free” aspect of the product.
Microsoft’s latest free offering “HyperV Server2008 R2”, brings some interesting features to the table which I don’t think have been adequately publicised. In addition to the standard hypervisor features from the previous version, the R2 edition comes with failover clustering, including Live Migration! Suddenly Enterprise level virtualisation features are within the grasp of every IT department without needing to blow the budget. It is also possible to have centralised management via SCVMM 2008 R2 (like VMWare this requires a licence), but this is not a requirement for any of the features. For the purposes of this environment I have just been using the standard Server 2008 remote administration tools.
Of course the software is only half the battle as if you don’t have shared storage you’re still out of luck. A quick chat to my Dell account manager and a quote dropped into my mailbox for a entry level iSCSI SAN with about 8TB storage (RAID5), redundant power supplies,data paths, etc. Its a nice cheap solution and a bit of negotiation soon got it down to the <5k mark, but assuming you can live without redundancy and are not looking for performance then there is a cheaper option :) Grab a desktop PC or old server, install a software iSCSI target, throw some high capacity cheap disks in it and you’ve got yourself a cheap SAN that is capable of serving Live Migration hosts. Its not pretty and won’t impress anyone with its performance, but it does the job.
Over the past few days I have built a test setup out of some spare hardware. It is essentially 4 HyperV Server2008 R2 hosts and a software SAN providing the shared storage. So far its working very well :)
I’ll post back with how it was setup, what software/configurations are being used and any problems shortly….
During NDC, Eugene, from JetBrains, Technical Lead for ReSharper, showed me some of the cool things that are coming out in the next version, 5.0. But guess what? I'm not going to talk about those now :).
What I am going to talk about is an interesting problem he said they were having and something many of us also experience: building solutions.
Visual Studio takes some time to build solutions when something changes. The reasons for this are two-fold:
- Sequential Builds. When Visual Studio builds projects, it does them in a sequential order, even if these are completely independent. So let's say you have 20 projects, 15 of which are completely unrelated, Visual Studio will still build these sequentially.
- Dependencies. When you have one project that references another, Visual Studio will always re-build the referencing project if referenced project has changed.
And being ReSharper quite a large solution, it was taking them approximately five minutes to build, and they needed a fix for this.
One of the not-so-well-known features of MSBuild is the possibility of building projects in parallel. This is a feature that ships with the MSBuild 3.5 Tool set. The following code shows a simple MSBuild project that takes advantage of this feature:
1: <?xml version="1.0" encoding="utf-8"?>
2: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
3: <ItemGroup>
4: <ProjectReference Include="**\*.csproj"/>
5: </ItemGroup>
6: <Target Name="BuildProjectSet1">
7: <MSBuild Projects="@(ProjectReference)" BuildInParallel="true"/>
8: </Target>
9: </Project>
Combining this with the maxcpucount command line argument, you can specify the number of parallel builds.
Now this solves the first issue, of having independent projects build in parallel as opposed to sequentially, but what about the second problem? Every time you make a change in a project that is referenced in another project, Visual Studio will build the latter, even if none of the public interfaces have changed. Just so we make sure we're on the same page, let's go thru an example:
Building NHibernate using Visual Studio
If you've never built NHibernate before, the first time you need to run the NANT script for it to generate the missing AssemblyInfo.cs files, etc. Once you've done that, you can build it inside Visual Studio.
We first do a BUILD ALL and notice how seven projects get built:
Solution Window
Build Output
Now let's make a change to NHibernate.csproj, which is referenced by the majority of the other projects. We'll add a new public class to it:
If we now Build the entire solution, all projects that reference NHibernate will get re-built. This is expected behaviour since we've made a change to the public interface of the referenced assembly. However, what would happen if we just added a few lines of comments:
Despite the public interface not changing, all assemblies that reference NHibernate will be re-built (You can verify this by looking at the timestamps of the assemblies).
Verifying what has changed on referenced assemblies
Thinking about it though, why would we want to have Visual Studio rebuild all referenced assemblies even if there hadn't been a public interface change? Wouldn't it be great if that wouldn't happen?
Here's where ReSharper comes into play. What the guys at JetBrains have done is use the assembly metadata to see if there has been a change in the public interface and ONLY if there has been, build!
This has allowed them to reduce their build time drastically, in some instances dropping down to 30-40 seconds (obviously based on the changes).
What they've done is create their own Solution Builder that examines if the metadata for a referenced assembly has changed. If and only if it has changed, then they build it.
Here's some screenshots of it in action:
Projects building concurrently when possible:
Build Results:
If we run the same changes steps against NHibernate as we've done above, using ReSharper's solution builder, we'll see that if there is no interface change on the referenced assemblies, those assemblies that use them don't get re-built. When in a large solution, this saves substantial amount of time as you can imagine. Combined with parallel builds of independent projects and we're on to a winner!
So when can I play with this?
The bad news is that as it stands right now, there is no guarantee that this feature will make it in 5.0. The good news is that you already have this feature in ReSharper :). However, before we go on, I have to put in a few words (I promised Eugene I would).
DISCLAIMER
WHAT I'M ABOUT TO SHOW YOU IS NOT OFFICIALLY, UNOFFICIALLY OR EVEN REMOTELY SUPPORTED BY JETBRAINS. THEY WILL NOT BE RESPONSIBLE IF YOUR PROJECT GETS CORRUPTED, DELETED, BUILDS SOMEONE ELSE'S PROJECT REMOTELY OVER THE INTERNET OR EVEN BLOWS UP BY ENABLING THE FOLLOWING FEATURES OF RESHARPER. USE PURELY AT YOUR OWN RISK. YOU, YOURSELF, AND POSSIBLY YOUR MOTHER WILL BE RESPONSIBLE FOR ANYTHING THAT HAPPENS FROM NOW ON. YOU CAN'T HOLD ME RESPONSIBLE EITHER, IN CASE THAT IS NOT BLATANTLY OBVIOUS. OH, BTW, THIS MIGHT NOT ALWAYS WORK.
To enable these features, close down Visual Studio and then start it up with the following command line option: /ReSharper.Internal. If all goes well, you'll have some new options enabled in the ReSharper menu (see image below). If you've got something named wrong, you'll get an error. Shut down and try again.
Obviously, apart from the Solution Builder, you'll see a whole slew of new features pop up under the ReSharper menu. I've not played with a lot of them yet, but plan to when I get a chance.
Building using the Solution Builder
When you first open a project after launching Visual Studio with these features enabled, and try and Build, you'll get a screen asking you if you want to use Visual Studio solution builder or ReSharper's Solution Builder. You need to click MSBuild for the latter:
You can also enable this via the ReSharper options:
Choose Internals under Options:
Set options as below:
This works for Jetbrains and it works for me, but you use it at your own risk. It might not give you the desired results, but then again, that's why it's not released.
Have fun!
If you want to reset PocketYam back to it’s ‘factory fresh’ state, it’s as simple as deleting a single file…
You may want to do this if:
- You want to change the yammer identity associated with your device
- The authorisation process was so much fun you want to do it again
To clear the configuration, launch File Explorer and navigate to \Application Data\Yammer\Data and delete the ‘settings’ file that’s in there:
The next to you start PocketYam you’ll be guided through the Authorisation process again.

Well it was great to see a number of familiar faces at the South Scrum User Group meeting on the 22nd June 2009. Including some colleagues from iMeta Technologies. As always we had a very interesting discussion.
We covered a number of items before starting the main discussion. Firstly the name of the group. Plamen has been in discussion with the Scrum Alliance (SA) to have the groups details included in the SA website. SA had suggested that the title of South UK was too broad ranging and we should adopt a more local title. The discussion ensued on what name would be appropriate for a group that covers Southampton, Bournemouth, Poole, Salisbury and beyond. We decided that the group we be renamed Wessex Scrum User Group. After the meeting Plamen has arranged for the group to be visible on the SA website here.
Plamen has also arranged for Geoff Watts to come to the group in the near future. Watch the group’s linkedin group for more information.
The main topic of the meeting was “Continuous Integration – How Far Do You Go?”. Again we used a Mind Map approach to documenting the discussion and thoughts from the group. Below is the resulting Mind Map. Interestingly the topic is not necessarily a Scrum topic, but we were very careful to tie back Agile principles to the concept that were discussed.

Yammer for windows mobile is now available through iMeta’s PocketYam (beta). To install it you can find the files here www.imeta.co.uk/pocketyam .
Instructions for installation
- All the files you need are found here.
- You will need to download and install the .NET compact framework first – PocketYam will not work without it.
- Download the appropriate PocketYam version from the same place. There are two versions to choose from – One for touch screen devices and one for Smart phones.
- When you run the PocketYam.CAB on your phone it will require you to obtain a Authentication Code through the Yammer website. NB Opera does not appear to support this process so you should complete the process in a version of IE on your phone or PC.
Select ‘1 Go to Yammer’ from the menu and click ‘Login’

![clip_image002[5] clip_image002[5]](http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/agardiner/WindowsLiveWriter/Yammerforwindowsmobilenowavailable_D6C1/clip_image002%5B5%5D_thumb.jpg)
Next, click on ‘Authorise’ to obtain your authorisation code.
![clip_image002[7] clip_image002[7]](http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/agardiner/WindowsLiveWriter/Yammerforwindowsmobilenowavailable_D6C1/clip_image002%5B7%5D_thumb.jpg)
![clip_image002[9] clip_image002[9]](http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/agardiner/WindowsLiveWriter/Yammerforwindowsmobilenowavailable_D6C1/clip_image002%5B9%5D_thumb.jpg)
When you have the authentication code enter it into PocketYam and select ‘2 Authenticate’ from the menu.
![clip_image002[11] clip_image002[11]](http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/agardiner/WindowsLiveWriter/Yammerforwindowsmobilenowavailable_D6C1/clip_image002%5B11%5D_thumb.jpg)
![clip_image002[13] clip_image002[13]](http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/agardiner/WindowsLiveWriter/Yammerforwindowsmobilenowavailable_D6C1/clip_image002%5B13%5D_thumb.jpg)
You should now be ready to go.
Features
- Post entries
- Reply to posts
- View your ‘All feed’
- Select and view groups
- View ‘Following’
- View ‘Sent’
For further updates or feedback follow www.twitter.com/antgardiner
Well, that is another SIGIST (Special Interest Group In Software Testing) over and I’ve come away feeling inspired and positive about testing and it’s future. But I also came away disappointed that the chasms of thinking in testing are still very real and getting bigger.
The first presentation was the key note talk by Michael Bolton. He presented his two futures of software testing which is an article I read a few months ago and inspired me to create the ‘testingrevolution’ (http://www.softwaretestingclub.com/group/testingrevolutionuksouth) group. It’s one of those presentations that really hits a chord with me and was even more interesting with Michael delivering it. He adds more to it, explains some more points and absolutely has a passion for this topic. It was a great talk and a superb way to kick start the day.
The stands at SIGIST were hugely disappointing though. They were the usual software automation / outsourcing / ISEB training vendors. Where are the exciting test consultants, software vendors offering real testing solutions that are affordable and practical? Where were TCL with their interactive demos?
I then joined the main hall for the two speakers Mark Crowther and Tim Hunter. I heard the workshops were quite good, but can’t comment further than that as I didn’t attend them. I’ll get round to reading the slides later this evening.
Mark Crowther didn’t disappoint though and I pretty much think along the same lines as Mark. His views on heavyweight and agile methodologies are fairly consistent with my views too. The testers toolbox is also a great concept. His presentation can be found here: http://www.softwaretestingclub.com/forum/topics/june-sigist-talk-by-mark
The second speaker Tim generated an emotional response in some testers there. I know I certainly felt ‘disappointed’ (some have used the word ‘enraged’) in his views and opinions. It felt like I was transferred back to 1980. The scary part was that myself and a few others who disagreed could well have been in the minority. The questions at the end were rather searching and had a hint of confrontation to them but it also sounded like a few people there also agreed with Tim’s view. The general theme to me was that Tim didn’t believe (or fully understand) the concepts and practical application of agile or contextual testing and believed that a huge and expensive test environment (running in a waterfall-ish process) was what was needed before we should be ready to test. That the devs should also perform rounds of testing on this platform before it came to test. He made the association with the music industry in that only the ‘best’ albums and artists get to use a fully kitted out recording studio.
This associate failed in my view. I have a home studio set up in my study running on a £300 desktop PC, with an electric guitar (Free from freecycle) and recording studio software (£45). That is not an expensive studio and is far less than the £300 for one day I just got a quote for. But it is right for me and my usage. Don’t forget that you also need to be PERFECT when you go for the one day session to lay down an album. How much software, when deployed on a test stack is perfect? If it was perfect, you wouldn’t need the test stack.
Look at the success of MySpace, bedroom recording studios are now the norm. Some bands actively seek out ‘recording studios’ in peoples houses, garages, warehouses with old amps and recording decks that offer a different sound. So it is entirely possible to record and release good music without an expensive studio and huge financial backing. It’s all about audience, context and expectations.
James Lyndsay raised a question ‘Has modern technology changed your opinion of when we are ready to test?’ It has certainly changed mine, even in the last year, but I’m not sure it’s changed Tim’s. All respect to Tim though as he has an idea and concept and he is on stage presenting it. It just didn’t gel with my way of testing or thinking.
We then moved on to the afternoon sessions. I was booked in for Michael Bolton’s ‘critical skills for testers’ workshop where we basically wrote down myths and theories about testing and Michael talked through each one. We discussed some interesting topics and I took away a lot of ideas from this session. Very useful for me.
Sarah Salahuddin did a really good book review on Microsoft’s ‘How we test software at Microsoft’.
The surprise ending was two lightening talks by Michael which were, as usual, exceptional.
I met some interesting people who had interesting ideas. I hope to follow up some testing discussions with them soon.
A more detailed article by my boss Ant can be found here (not published yet, but he is working on it) : http://blogs.imeta.co.uk/agardiner/Default.aspx
Michael Bolton’s website here : http://www.developsense.com/
Michael Bolton’s dark future article can be found here : http://www.developsense.com/presentations/e2008twofutures.pdf
Mark Crowther’s website here : http://www.cyreath.co.uk/profile.html
Mark works for NMQA here: http://www.nmqa.com/
Tim Hunter’s website here: http://www.yorview.co.uk/
James Lyndsay website here: http://www.workroom-productions.com/
Just a quick reminder that the next South UK Scrum User Group will be held on Monday 22nd June 2009 at the Inn on the Furlong, Ringwood, Hampshire, UK. The event is free! So please come along.
For more information please go to the Linkedin Group here.
ASP.NET MVC is not new. Ignoring the pattern for a moment, the way things work dates back to the days of CGI’s and ISAPI’s, where you had to role out pretty much everything by hand. You would get your data, format it and send it back to the browser, producing HTML. It wasn’t easy, but you did have one advantage. You had full control.
Gradually, tools starting to emerge to bring some sort of “RADness” to this kind of development. I in particular, used a technology called WebBroker from Delphi; we had Actions, PageProducers (replaced tags at runtime in an HTML template) and our data. Same concept as ASP.NET MVC, same concept as MonoRail, and other frameworks. Despite still having to do a lot of things manually, it did prevent us from having to write repetitive and tedious code in many cases.
Up to then, you had one requisite to develop web applications: you had to understand the web and the technology behind it.
Traditional ASP.NET or ASP.NET WebForms came around, among other things, to solve this problem: allow the non-web developer to leverage their existing knowledge to port their applications to the web. This meant not having to know much about web technology and at the same time. ASP.NET WebForms provided a powerful approach to web development: the concept of drag-n-drop that existed in WinForm applications. You could now take a control, drag it across to a form, set some properties and away you go: in minutes you had a web interface without having to even know what HTML meant.
Now, I’m no fan of ASP.NET WebForms. Actually that’s not entirely true. I hate it, but I still admit that for some it has it’s attractiveness and has solved problems for many people and put food on the table for many developers. So it has it’s place and will continue to live on.
I’m also not alone. There are others like me that don’t like ASP.NET WebForms. As such, when ASP.NET MVC came out, it gave us another technology, based on the ASP.NET stack, to develop web applications. Ignoring many of the differences and advantages it has over traditional ASP.NET, above all, it gave us control. As I always say, it put the web back into web development.
As developers started to embrace this technology, questions started to arise about what kind of support there would be in terms of controls. Naturally, third party component vendors, those same ones that were providing support for traditional ASP.NET components, were being asked about this too. All those that I spoke to pretty much said the same thing, let’s wait and see. And it’s completely the right approach. There’s no point in investing a large amount of time and resources into supporting a new framework if you don’t know what the success of the framework will be, both in adoption, as well as commitment from the company behind it, in this case Microsoft.
Now that ASP.NET MVC has been released, and there is a growing number of developers moving over from traditional ASP.NET, some companies are starting to develop a limited number of controls for ASP.NET MVC. I’m guessing that some of these companies are dipping their feet into the MVC waters to see what kind of success their components might have, before taking the big plunge.
I’ve examined a few of these components. I’m not going to mention any names or give an examples, but suffice to say, that up to now, I don’t like what I see. And the reason is simple. Most of them are taking the wrong approach. They are thinking with their WebForms hat on. However, since there is no visual designer, they are using an immense amount of markup with custom tags to define their components. And many are mixing data, behavior and appearance in these markups. The problem with this approach is that it’s going down the same route that many ASP.NET MVC developers left behind from by moving away from traditional WebForms: rich-intelligent-know-it-all controls. I’m not going to show any code since I don’t want to single-out any specific control/company, but sample applications for many of these exist and you’re free to examine them for yourself.
To summarize, trying to bring the same RAD controls that exist in WebForms over to ASP.NET MVC might not necessarily be correct thing to do. This is a different way to doing web development, a different mentality. And in my humble opinion, I think that this might backfire, since MVC developers mostly will not be too keen on this type of solution, the adoption rate for the components will be low and the component vendors behind them will throw in the towel.
We're long overdue for another update. Progress as been somewhat slower over the last few weeks, largely due to other commitments and holidays meaning that I've probably only spent a total of around 10 days working on this stuff.
Where we are is that I'm pretty comfortable with what needs to happen, and have a fairly clear route for moving forward from my prototype / exploratory coding phase to something that I can actually release to the wild and let folk start playing with.
There are two options as to how this might happen. The first is by utilizing the concepts within the excellent IQToolkit, which provides a great sample for anyone who wants to explore how to build a Linq to Sql provider. Alas, the code can't be used as it stands, since it's quite closely tied to building and executing SQL and then processing the resulting data rows, which isn't quite what we're trying to achieve here. However, the fundamental concepts and algorithms for handling some of the Linq complexities are certainly valid, and can be ported across to meet our needs relatively simply.
The second option is by building on top of the promising re-linq project, which performs a similar task to the first half of the IQ Toolkit, in that it takes a Linq expression tree and turns it into something a little more manageable. re-linq doesn't attempt to handle the execution side, so it precisely avoids some of the stuff that I'd need to rip out of the IQ Toolkit.
re-linq is currently undergoing some final refactoring (some of it driven by the potential to use it within this project,so many thanks to them for keeping us in mind!). This is due to be completed in the next 3 or so weeks; once they are done, a final decision as to the exact approach can be taken and I'd expect pretty fast progress from that point.
Obviously, my original guesstimate of a June date is looking seriously in doubt, but I don't think it'll be too much longer. Hang in there folks, I know it's been a long wait but it'll be worth it!
I’ve fielded a few questions recently about how to manage tests in an agile environment. Most of these questions are about how to store and maintain test cases and also how to manage exploratory tests.
Over the last few projects I’ve been experimenting with ideas, tools and concepts and think I’ve finally settled on one way that suites me. It might not work for you but hopefully it will give you some ideas and may lead you to finding the right way for you.
Firstly let’s start with the tool. I am currently using TestLink (http://testlink.org/wordpress/). It is incredibly simple and at times basic, but that’s what I need. It’s also free. I have the main install on a VM which is backed up and I also produce a MySQL backup daily to a central location, which also gets backed up. I therefore shouldn’t loose any data. I also perform manual backups when I feel I need to. Phew – backup process out of the way.
I access the product through my browser pointing at the website hosted in the VM. The below screen shot shows the TestLink main page. One thing to note is that if you view the site in Chrome when editing a test case you don’t get the Rich Text editor options. Works fine in IE and Firefox though.

TestLink main page
I’m going to start by explaining the terms and process flow used by the tool and how I have altered these or associated these with the way I work.
The tool has the concept of a ‘Specification’. This to me is the main test case repository. It’s the product home. It’s where the standard, generic, base test cases exist. On the following diagram it is referred to as ‘Test Cases and Ideas’. I’ve included the term idea as most of my test cases are questions I’m going to ask the application under test (AUT). At the start they are ideas that I will flesh out to fully fledged questions. These ideas are generally very guidance level and have a few lines about the aim of the question. I try to keep tests high level anyway so that they are cheaper to maintain, but that’s just me, here, on my projects.
TestLink then offers a breakdown within the ‘specification’ in the form of a test plan. A test plan to me in Waterfall used to be the project level test plan. It was a mammoth document that was very often out of date. I’m now working in an agile environment where the concept of a test plan has shrunk and moved to cover just the sprint I’m working on – in my opinion anyway. It could be pushed up a level to a release, but I like to think small and short term when it comes to test case management. The long term plan is outside of my scope essentially. That’s down to the product owner to define what they want in each sprint.
So in TestLink I have a test plan, which directly maps to a sprint. TestLink also then allows you to create different builds within the test plan. I work in a rapid environment where the AUT is dropped to the test stack in minutes through an automated build and deploy process so I don’t make a note of each individual build for testing. So my build stays at the same level as the test plan. I.e The build is a sprint.
TestLink then allows you to assign test cases from the repository against a test plan. You can then assign out to individual testers. You then execute the tests against a build.
So this whole process allows me to add test ideas to a repository, assign them to a sprint (through concept of test plan and build) and then execute them per sprint. I can then view all of the results per sprint, per plan or per specification. Excellent.
But what about exploratory testing. Well, exploratory testing to me has a defined charter otherwise you are wading around in the dark. The charter (in my world) is essentially a test idea, a guide, a tour or a hypothesis. So in essence I can create a holder in the repository for that idea and assign it to a sprint as we go. This therefore allows me to report on it, but more importantly, it also keeps a record of the exploratory notes. And this is done through the execution part of TestLink where I can add notes to the test and then mark it as passed or failed or blocked etc. These notes are then available against each of the tests in the results section for a permanent reference. Job done. If you really get stuck then you can also add attachments so you could keep the session information in a text file and attach it.
The end results is no change at all to my way of working or process, yet a flexible and simple way of managing my tests. I get results out of the back and somewhere to store my exploratory testing where it can sit alongside traditional test cases. Makes my daily testing much more efficient.
Just to keep you on your toes the guys from Microsoft have another new training site that has just gone live at www.myrampup.com – and the great news is its all FREE!
From listening to a recent .Net Rocks podcast with the guys it seems that this is going to be the new place where all their training material is going to live. I think they plan to merge the ms learning site into this site as well so in the future we developers only have a single porthole to look at for our training needs.
Currently live on the site are 11 tracks, 3 on ASP, 2 on SharePoint Dev, 5 on Visual Studio and 1 on Windows Mobile development. Their aim is to upload new tracks regularly and in the future include PowerPoint presentations that can be downloaded and used for your own Presentations complete with coding examples and stories.
Looks like everything is go for the launch of the new iPhone 3.0 firmware upgrade for the 17th June and finally those of us in the UK will be able to send and receive MMS messages and Cut and Paste. And what initially seemed like good news is not, O2 has agreed to support tethering, so you can use your iPhone connected to your laptop (or home PC if you so wish) as a 3G data card – However, the downside is they are going to charge an extra £14.68 a month for 3GB or £29.36 for 10GB download, seems rather expensive to me when you compare it to the 3 USB Modem at £15 a month for 15GB.
Also I like the sound of TomTom finally releasing a Satnav addon for the iPhone as well as a cradle to mountain the device in your car, this will certainly reduce the amount of hardware that people have to transport around – now it can all live in your pocket.
Other nice features in 3.0 include the ability to run applications in landscape mode (yes I know Windows based phones have done this for years), and the ability to “Find my iPhone” and “Wipe My iPhone” in case it gets stolen.
For a full list of what was announced at the WWDC checkout engadget's minute by minute run down (you have to read from the bottom up), the iPhone information starts at 10:48. The Register also has a quick summary on all the new features.
Also announced was 2 new Models of iPhones the 3G S, they come in 16GB and 32GB size. They look the same as the current iPhone but reportedly they run applications at twice the speed, hence the new S in the name. There is also support for voice activated control, Video recording and improved camera quality.
Unfortunately for us boys in the UK, it looks like there is no upgrade path on O2, we have to wait for the end of our contracts before we can move and then its going to cost – this is unfortunate as previously O2 did special deals for existing iPhone customers to upgrade who were partway through their contract. It seems that someone at O2 forgot about exchange rates and they have priced the new S phones at £184.98 and £274.23 for the 16GB and 32GB, in the US they are $199 and $299.
I Guess I’ll be holding off for another year now, and then I can see what appears in the iPhone 4G :)
I encountered the following 0x80520015 access denied in Selenium Firefox IDE a couple of times until I realised i had the actual XML files it uses checked in to source control still.
So if you see this error it is as simple as making the files writable (checking them out for edit).
It would be even better if Selenium IDE actually offered a user friendly message though….
Another day, another search engine. Microsoft have just delivered www.bing.com (beta) in an effort to get another verb into the dictionary! Of course there has to be some new features and in their press statement they’re talking about Decision Engines, Best Match, Deep Links, Quick Preview, Instant Answers and my particular favourite Sentiment Extraction!! Maybe it’s just re-branding, but you never know… it might produce better results that google?

Microsoft’s new search engine has opened it’s doors to the public early, see what you think:
www.bing.com
Wednesday evening eight like minded individuals gathered at the Inn on the Furlong for the South UK Scrum User Group. The topic of discussion for this month’s meeting was “Planning”. To facilitate the discussion we used a mind map. The resulting mind map is below.

TED talks (www.ted.com) is coming here to the UK in Oxford. Link here: http://conferences.ted.com/TEDGlobal2009/register.php
At a hefty $4500 registration it’s certainly quite pricey though
On another note. Joe Strazzere recommended a link checking tool called Xenu, which on first use it pretty good. It did offer me a few broken links that did actually work but it also offered several broken links that were genuine. http://home.snafu.de/tilman/xenulink.html#Download
The Eurostar (no not the train) testing conference details are now available. It’s looking pretty good with a fair amount of emphasis on agile testing. It’s got all of the key speakers there as well and some interesting sounding talks. There’s also some interesting master classes and labs being held. Should be a great event.
http://www.eurostarconferences.com/conferences/2009.aspx
The Testing Revolutions first meeting - London - Tuesday 16th June 2009.
In a second attempt to kick start the revolution we will be holding the first meeting in London.
The first meeting will also have a very special guest. Michael Bolton will be with us to chat about testing, to share stories and to drink real ale.
We are meeting at the The Washington, Primrose Hill (50 Englands Lane, NW3 4UE) in London at 7:30pm - 8:00pm on Tuesday 16th June 2009.
The first meeting will really be a gathering of people to chat about testing and share stories, but we will also have a look at where we take the meetings moving forward and a rough estimate of who is involved.
(Regular meetings will be held more towards Winchester in Hampshire)
Even if you don't want to join the group but do want to meet Michael and talk about testing with like minded people then please do join us. Did I mention we would be drinking real ale too?
The following day Michael will also be at SIGIST presenting. Going to be a great couple of days talking testing.
Link to the pub, here: http://www.fancyapint.com/pubs/pub1436.html
Link to Revolution Group on Software Testing Club, here:http://www.softwaretestingclub.com/group/testingrevolutionuksouth
Link to Revolution Group on LinkedIn, here: http://www.linkedin.com/groups?gid=1856424&trk=hb_side_g
Link to Michael site here: www.developsense.com
Link to SIGIST here: http://www.bcs.org/server.php?show=nav.9262