StyleCop, NuGet Package Restore and Jenkins: beware, caustic mixture

Individually, they’re lovely: now it’s open-source, StyleCop seems to be (finally!) getting the love and attention it needs, NuGet has rapidly come of age to be the one-stop-shop for package management in .NET without the angle-bracket heartache that is Maven, and Jenkins, well, Jenkins just rocks.

But together they don’t play nice at all.

Continue reading

Game over: on Azure, don’t IISRESET

Game over on Azure

Best not iisreset an Azure instance

Like, I suspect, many other developers, I think I need to know more about my deployment environment than perhaps is good for me. But with PaaS (platform-as-a-service) hosting, sometimes that can give, well, unexpected results.

For example, Windows Azure offers a (really very handy) facility to open a Remote Desktop session to a Windows Server host that runs an Azure instance. You’re logged in as local Administrator, too, so you can cause some serious damage in there if you want.

Or even if you don’t want.

Continue reading

Faking DNS entries for the Android emulator using Unbound

Previously I ranted about JQuery Mobile and the immature state of mobile development tools. While I was on that project I reckoned it might be a good idea to use an emulator so I could test what my mobile Web site might look like in real life.

A nice idea, but in practice it seems the mobile toolchain is… rather more full of good intentions than actual capability.

Continue reading

Debugging WCF

Er, you what?

I like Stack Overflow and the other StackExchange sites. They’re very clever: you go there in response to a Google search, and find yourself trapped into answering questions about all sorts of things.

I mean, Joel and Jeff even sent me a hat, and a couple of pens, and a T-shirt, for answering a question about… worktop surfaces. And if that doesn’t count a sign I get easily distracted from the day job, nothing will.

One thing I’ve started to notice is that plenty of people end up asking questions that can be answered by themselves by understanding a little more about the tools they already have. A good example is the WCF Service Trace Viewer.

Continue reading

JQuery Mobile: a cautionary tale

In which our intrepid developer ventures into the deep waters of mobile JavaScript development.

Bishop: “I’m afraid you’ve got a bad egg, Mr Jones”; Curate: “Oh, no, my Lord, I assure you that parts of it are excellent!”
“True Humility” by George du Maurier, originally published in Punch, 1895.

I’m really a server-side fellow, at home with code that can be unit tested and where the only user is a computer. I suspect like most developers I find computers more predictable than people…

I’ve just finished a quick proof-of-concept for a nice bunch of people who wanted an API for their Web site. We needed a proof-of-concept for the proof-of-concept so we thought “well, what about a mobile Web site that calls the API?”

Continue reading

I’m still waiting for Add Reference…

Yes, I know the .NET Framework is big and I’ve lots of amazing assemblies in my GAC… but why-oh-why does it take so long to populate this?

The Add Reference dialog in Visual Studio

If it t’were up to me I’d populate this in the background a few moments after Visual Studio has loaded. As it is, there’s a jolly good chance you won’t find the assembly you’re looking for until a minute or two have gone by and the list box is properly populated.

My dodge for detecting when it’s loaded is to click on the “Component Name” column. If the little triangle appears, you’re in business:

Then you can type incrementally to get the assembly you’re after. Another pet peeve, that: why no Search… box?

 

More stuff about .NET

In my travels using .NET and other technology I find that I’m often being asked the same questions. That, and I forget stuff myself, which is probably associated with the grey bits appearing on my head.

So this blog is really my notepad for stuff I really shouldn’t forget. An electronic version of my battered old physical notepad, if you like.

I’ve some details about who I am and how to reach me here.