“Design By Document”

I’ve only used this once but it worked perfectly. I was developing a function based on a regulatory document specifying how to build a calendar for regulatory reporting.

Normally you take a requirement and translate it in your mind to a convenient “shape” for coding. This is fine for most purposes. I started developing my procedure that way. Unfortunately the rules on how to handle holidays and non-working days were so complex I soon lost control. Continue reading

Mastering Cloud Vocabulary

Vocabulary is a problem when you start working with Microsoft Azure, or any cloud service offering. There are so many new terms to wrestle with. I was considering blogging my own glossary but Microsoft now have several web pages giving very useful information. Here are the links: Continue reading

Googling for Fun and Profit

Do you feel embarrassed about Googling answers to problems instead of working them out for yourself? Well don’t: if you’re a working programmer who has to answer for time spent, you’ve got to make use of other people’s work. As long as you don’t believe everything you read, it’s simple efficiency. Continue reading

Sql Server 2016 will be Released on 1 June

Here’s the announcement – and Microsoft SQL Server Developer Edition is now free! Is it big news? Yes, but if you’re a developer the question of whether to favour an upgrade in due course is more nuanced than it used to be. Continue reading

Enforcing Upper/Lower Case in a Sql Server Column

Case sensitivity in Sql Server depends on the collation applicable to the column, which of course is often the same as the database default collation. Unlike Oracle, Sql Server out of the box is case-insensitive (at least in English-speaking Western countries).

This means that you don’t need to consider whether data is upper- or lower-case when you’re searching for it, which tends to make an application more robust. You probably won’t want to change that. On the other hand, if your database stores codes or descriptions used as query filters (not including proper nouns like personal names where the capitalisation is part of the data) there may be an advantage to standardising on upper or lower case. You’ve reduced the need to take account of upper/lower case in client code, where string comparisons may be case-sensitive.

Is there an easy way? Yes. Continue reading

Cloud Choice: Disaster Recovery

A recent Run As Radio podcast covered “Disaster Recovery in the Cloud”. Many suggestions weren’t brand new of course, but it was great to have them validated by two of the best people in the field. Anecdotes from personal experience livened up the conversation. I’ve made some notes here, but do listen to the podcast if you can.

The main theme I would pick out is that you need to arrive at a point where you have a disaster recovery process which is well rehearsed and for the most part automated. Anyone in the team should be able to put the plan into action, not just the best people, and they should be able to work from the instructions. Continue reading

Developer! Get a grip on your Information Information!

Good luck to anyone who can conjure up a TED lecture out of telling people that it’s impossible to keep up with all the changes these days. You and I knew that already, didn’t we?

Agile methods help organisations adapt to change. If successfully applied they increase the rate of change. There was an interesting podcast about Agile on .NET Rocks recently called The Economics, Psychology and Science of Agile. The very intelligent guest (listening at double speed was a wild ride) helps corporations improve their agility.

Individuals and teams act and react in a complicated way, so managing change and the information associated with it is hard for organisations. As a developer you are responsible for moving your knowledge forward in tandem. It’s a simpler task but not easy because you can’t call on other people to do it for you. Continue reading