But it works on my PC!

The random thoughts of Richard Fennell on technology and software development

More on my Vodafone 403 errors – an explanation at least

The next chapter of the ongoing saga. I had the 403 errors again today when using my phone as a modem to test out firewall. As I was in the office I had time to call Vodafone support. As expect I had to speak to a succession of people:

  • Person 1 – call centre advisor, passed me straight onto ‘support’
  • Person 2 – support advisor but seem lost when I spoke about web protocols, I think it was more ‘making a phone ring’ support
  • Person 3 – 2nd line support, success, as soon as I explained my problem they said ‘yes that happens’.

The problem is down, as I had suspected, to congestion in their WAN network (not the 3G network, though the density of cells is a factor). When you try to use HTTP Vodafone route a request to their authentication server to see if your account is allow to connect to the site. By default they block a list of adult/premium web sites (this is service you have switched on or off with your account). The problem is at busy times this validation service is overloaded and so their systems get no response as to whether the site is allowed, so assume the site you asked for is restricted and gives the 403 error. Once this happens you seem to have to make new 3G data connection (reset the phone, move cell or let the connection time out) to get it to try again.

I have now had the restricted service removed from my account, we will see if this help. I fear it will not as any connection still has to ask the authentication server if the site is restricted even if my account is set to restrict no sites.

So it seems that volume of smartphones is really hurting Vodafone's internal network. They seem to have the 3G/Edge capacity, shame they have not got enough server wan/capacity to back it up yet.

What I don’t understand is why this has taken me so long to get a sensible answer. Can’t they publish a statement on this problem on their support forums or web site?

Looking for a good overview of Visual Studio 2010 and ALM?

Visual Studio 2010 provides many new features to aid Application Lifecycle Management. Learning its capabilities can be a bit daunting, especially if you are new to Team Foundation Server.

So enter the new book ‘Professional Application Lifecycle Management with Visual Studio 2010: with Team Foundation Server 2010’ by Mickey Gousset, Brian Keller, Ajoy Krishnamoorthy and Martin Woodward. This provides a great overview of all the the key features of Visual Studio and TFS 2010, presented with a view as to how TFS gives an end to end delivery of an ALM process.

Don’t go expecting this book will tell you everything about TFS, even at 600 pages it cannot be that detailed, it is a huge product, you think SharePoint is big, well it is just a subset of TFS! To address this potential problem the book contains many links of to relevant sources both on MSDN and blogs to fill in the extra detail you are bound to need concerning TFS and general development processes. Think of it as a “get you started” book, or a “what’s new in this release”, not a day to day administrators guide.

My one complaint, and it is very minor, is that it does read a bit like a collection articles as opposed to a single book. However, given it has four authors and the scope of the subject it covers this is forgivable.

So if you are are considering TFS 2010, whether as a developer, a sys-admin or manager this book will give you a good introduction into that you can achieve in your ALM process. Well worth a read.

 

51GBrWYIk1L__BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU02_

Stupid support suggestions from Vodafone about 403 server proxy errors

A while ago I blogged about the problems I was having with 403 error when trying to use my HTC phone as a 3G modem or using Opera or IE on the phone itself. When I initially complained Vodafone refunded my data fee for the month and said engineers were onto this known intermittent issue. No grief, Ok I did not want to see 403 errors but I was happy with the customer service, fast and no quibble.

But the 403 errors have not gone way, in fact I am seeing them more often and not just when in the square mile in London. When I complained again I got a different level of service, I got the ‘it is your handset’ response. This was even though I had clearly said FTP and HTTPS (to an Exchange server) were fine it was only HTTP again via the phones two browsers and from a PC using the phone as a 3G modem i.e. traffic that they proxy.

They outdid themselves today with this suggestion

1. Switch off your phone
2. Remove battery and SIM
3. Clean it with clean cotton cloth
4. Insert battery and SIM after 15 to 20 minutes

How this is meant to help a server side error how? 

Post AIC 2010 Thoughts

I was at the AIC 2010 conference yesterday, which I enjoyed more than last year. The most interesting session was Ivar Jacobson. He discussed how immature our industry is, with its disjoint between software engineers and academic computer scientists. Something I have commented on before when discussing if our industry should be licensed.

He discussed how we need to build our industry upon commonly agreed kernel of simple best practice activities, not upon some currently fashionable process whether it be Waterfall, CMMI, Agile, Lean etc. We must identify what are the best practices from all process (and all processes have something to offer) and teach them to students at University as this kernel of activities, as well as teaching how to compose them into more complex practices and hence whole development processes. Thus providing new entries to our industry with the base of reusable techniques that the can use for their whole career, irrespective of fashion. The key idea being that any current process model can be build by composing these kernel of basic activity.

So if this sounds interesting, and it does to me, have a look at www.semat.org. The signatories aim to have results within the year, if they achieve this aims this could well be the first step to making Software Engineering on a par with other chartered engineering disciplines such as Structural or Mechanical Engineering, with there is a long term set of industry accepted best practices that people can be judged against.

Post QCon thoughts

Interesting time at QCon yesterday,  shame I was only there one day, I do like the events that are not limited to a single vendor or technology. The multi presenter session I was involved in on Microsoft interoperability seemed to go well, there is talk of repeating at other events or podcasting. It is a nice format if you can get the sub-sessions linking nicely, like themed grok talks. 

Due to chatting to people (but that why you go really isn't it?), I only managed to get to one other session, but I was the one I wanted to see, Roy Osherove’s on using CThru to enable testing of monolithic frameworks such as Silverlight. It got a few things clearer in my mind over using CThu, a tool I have tried to use in the past but not had as much success as I hoped. So I think I will have another go at trying to build a SharePoint workflow testing framework, the problem has rested on the back burner too long. I think I just need to persist longer in digging to the eventing model to see why my workflows under test do not start. Roy’s comment that there is no short cut for this type of problem to avoid an archaeological excavation into the framework under test, I think is the key here.

Getting sick of seeing the Vodafone error “HTTP Error 403: The service you requested is restricted”

Of late I keep getting ‘HTTP Error 403: The service you requested is restricted’ when I try to use my HTC Diamond2 mobile phone on Vodafone. I see the problem whether browsing the internet with mobile IE or Opera and also when using the phone as a 3G modem  from my Windows 7 laptop. Seems to happen every other day of late.

image

Interestingly, when I got the error shown above whilst trying to browse to Bing, a connection, on the same 3G link, from my PC to our Exchange server was working fine.

This error seems to be a reoccurring problem judging from posts on the various Vodafone forums. In most cases the problem just seems to go away if you wait long enough, which is my experience. I can find nothing I can do or set on the phone that makes a difference. My guess is a proxy error in the Vodafone cloud. They really need to get it sorted out.

I have been a happy Vodafone customer for years, since I first got a mobile phone in the early 90s, but this is happening too often and it is seriously making me think of moving. Mobile internet is becoming too important to be to have it as such an unreliable service.

Is Pex and Moles the answer to Sharepoint testing?

I have got round to watching Peli de Halleux’s presentation on testing SharePoint with moles from the SharePoint Connections 2010 event in Amsterdam, very interesting. This brings a whole new set of tools to the testing of Sharepoint. I think it is best to view the subject of this presentation in two parts Pex and Moles, even though they are from the same stable; Moles being produced to enable Pex. But rather than me explaining how it all works just watch the video.

So to my thoughts, the easier bit to consider is Pex. If you can express your unit tests in a parameterised manner then this is a great tool for you. The example that Peli gives of an event handler that parses a string is a good one. We all have loads of places where this type of testing is needed, especially in Sharepoint. The problem here, as he points out, is that you need to use some form of mocking framework to allow the easy execution of these tests for both developers and automated build servers. I would usually use Typemock Isolator to provide this mocking, the problem is that Pex and Isolator at this time can’t run together. The Pex Explorer does not start the Typemock mocking interceptor, and thus far I can’t find a way to get round the problem.

So enters Moles, this is Microsoft Research’s subbing framework that ‘detour any .NET method to user-defined delegates, e.g., replace any call to the SharePoint Object Model by a user-defined delegate’. Now I find the Moles syntax is a bit strange. I suspect it is down to my past experience, but I still find the Typemock Isolator AAA syntax easier to read than Moles’. However, there are some nice wrapper classes provided to make it easier to use the Moles framework with Sharepoint.

So where does this leave us? At this time if you want to use Pex (and I certainly would like to) you have to use Moles (if you need stubbing). But you also have to remember that Pex & Moles are research projects. They are available for commercial evaluation, but at this time there seems to be no plans to productise it or roll it into Visual Studio, this means on effect no support. I don’t see either of these points as being a major barrier, as long as you make the choice to accept them knowingly.

However for ultimate flexibility it would be really nice to see Typemock Isolator being interoperable Pex, thus allowing me to use the new techniques of Pex against legacy tests already written using Isolator.

At last, my creature it lives……..

I have at last worked all the way through setting up my portable end to end demo of  testing using Windows Test and Lab Manager. The last error I had to resolve was the tests not running in the lab environment (though working locally on the development PC). My the Lab Workflow build was recorded as a partial success i.e. it built, it deployed but all the tests failed.

I have not found a way to see the detail of why the tests failed in VS2010 Build Explorer. However, if you:

  1. Go into MTLM,
  2. Pick Testing Center
  3. Select the Test Tab
  4. Pick the Analyze Test Results link
  5. Pick the test run you want view
  6. The last item in the summary is the error message , as you can see in my case it was that the whole run failed not any of the individual tests themselves

image

So my error was “Build directory of the test run is not specified or does not exist”. This was caused because the Test Controller (for me running as Network Service) could not see the contents of the drop directory. The drop directory is where the test automation assemblies are published as part of the build. Once I gave Network Service read rights to access the \\TFS2010\Drops share my tests, and hence my build, ran to completion.

It has been a interesting journey to get this system up and running. MTLM when you initially look at it is very daunting, you have to get a lot of ducks in a row and there are many pitfalls on the way. If any part fails then nothing works, it feels like a bit of a house of cards. However if you work though it step by step I think you will come to see that the underlying architecture of how it hangs together is not as hard to understand as it initially seems. It is complex and has to be done right, but you can at least see why things need to be done. Much of this perceived complexity for me a developer is that I had to setup a number of ITPro products I am just not that familiar with such as SCOM and Hyper-V Manager. Maybe the answer is to make your evaluation of this product a joint Dev/ITPro project so you both learn.

I would say that getting the first build going (and hence the underlying infrastructure) seems to be the worst part. I feel that now I have a platform I understand reasonably, that producing different builds will not be too bad. I suspect the next raft of complexity will appear when I need a radically different test VM (or worse still a networks of VMs) to deploy and test against.

So my recommendation to anyone who is interest in this product is to get your hands dirty, you are not going to understand it by reading or watching videos, you need to build one. So find some hardware, lots of hardware!

The uptake of Agile and Alt.Net practices in places a bit away from the major development hotspots

Last week I got into an interesting discussion via email with Nieve a developer from Lille, France.The chat was on the uptake of Agile and Alt.Net practices in places a bit away from the major development hotspots. We both thought it could make an interesting post so, here goes, starting with Nieve’s first post…..

Hello there,I've stumbled upon your blog while googling for the terms alt.net yorkshire.I'm a .NET developer working in Paris and living in the north of France (Lille area). Now, the reason I'm writing is that we're having an alt.net lunch next month, and I would like to talk a bit about the differences between the (alt).net communities in france and england. Now since I did my studies in Leeds, the fact that yorkshire and la région du nord are (surprise surprise) in the north (plus a shared history of mines) brought me to google for alt.net and yorkshire.Over here in Lille/the north of France the situation is rather grim. job offers that entail agile practices and or tools in .NET environment are as rare as an eclipse, managers and developers alike are literally afraid of any framework/tool that isn't microsoft yet somehow miraculously written in a .net language. I suppose you get the picture. I was wondering if you would mind sharing with me (and/or others, on your blog) your thoughts on the situation in yorkshire.

My reply

I don't know if you have heard of Ian Cooper, he was one of the organisers of the ALT.NET events in the UK. Well he just posted on his blog on a subject very close to your question http://codebetter.com/blogs/ian_cooper/archive/2010/01/19/whither-alt-net.aspx

In my opinion there has not been a drop of in interest over the tools and practices of ALT.NET but it has lost it’s label a bit. Ian is right the main people pushing it have moved more towards Twitter etc. which has reduced visibility if you don't follow them.

Local groups are still on the go. I myself attend Agile Yorkshire http://www.agileyorkshire.org/ which is a group driven by development process (being JAVA and .NET) but did help organise the ALT.NET in the North event last year. We hope to run something this year, but we doubt it will be under the ALT.NET banner as it was felt this alienated JAVA members

As to who is using the tools, no as many as I would hope. But you find them in surprising places. I found out that a dev teams in the NHS (usually known to be very bureaucratic and fixed management process) are using Kanban, nHibernate etc. and finding them useful. Getting adoption is all down to someone showing there is an advantage, the problem is so few people in our industry care about improving their skills, it all comes back as Ian said to the software craftsmanship movement

Nieve again

First of all let me begin by saying I only wish I could tell you how much I am thankful. Reading Ian's post was a something of an epiphany moment :) At some points he brought it so close to home that I had to stop and think 'hold on, is he just talking about software development or is there a hidden message about the state of France..?' Over here it's not only the IT industry that breeds this sort of position holders that are fine where they are and just won't bother changing anything. I always think of it as 'with all that revolution going on, you don't get any evolution'; the idea is that everyone here are jumping to their feet and straight to the street to cry against whatever change that is offered, that nothing ever gets to change hence no evolution...

To get back to the issue in question, I think one of the things Ian, and for that matter many of the ALT.NET people, tend to forget or simply overlook is the fact that while at some parts of the world people may think the battle was won, or that it's about time to wake up from our comfortable twitter hibernation, in some other parts the battle hasn't even began, which brings me back to my original question. See, you guys up the in England and esp. in the north can be very proud of your community, and not only the alt.net/agile/software development/IT one, but also the local-geographical community. I had to go and look for a job in Paris, which entails a couple of hours on the train each and every day and which is bound to end by leaving Lille (and no wonder I'm considering moving back to yorkshire); Not only developers and managers are afraid of anything that is not microsoft, the actual idea of software craftsmanship is an abnormality in our region. There is a Nord-agile group that works here and have meetings every couple of months and consists of 5 to 7 people, none of them a .net person. And we're talking about a huge region and one of france's 5 biggest cities.

With that in mind, there's also the fact that roughly each and every year a new generation of developers is arriving to the market which makes it even more difficult to those (esp the beginners to senior-juniors) who wants to learn and work on their coding craftsmanship. (I remember I discovered the alt.net manifest only a couple of years ago or so, and soon after I remember reading a post of Ayende saying he's going to give Twitter a shot. Thank god, he's one of those who never stopped blogging.)

As for Paris, things seem to be closer to what Ian said; there are a lot more job offers that ask for a working experience in NH, MVC, NUnit etc', however this feels like the new orthodoxy.

… and me again

So to me this shows that the problem we both see are not just down to us at our company/technology/region/country. Craftsman Developers everywhere tend to sit in small isolated pockets, even in large conurbations, and there is nothing to go but to organise locally where you can, go on go for a beer you know you want to, and to join in the virtual communities to get a bigger world view.

Wow, that sounds like a call to revolution, better go into hiding in case the thought people come round, I know I will just have to think I am not in!