02 Sep 2011

Lightswitch is on SALE!

Nurt img1Very different from my normal ramblings but I thought worth a quick post, Microsoft has Lightswitch on sale at the moment for 33% off the price! This is a world wide offer so you can get it via your distributors, LARS or from the Microsoft Online Store.

So if you are looking to get started in Lightswitch, NOW IS THE TIME!

24 Aug 2011

Tech·Ed Pro Tip: Travel Advice

imageLast year I wrote two posts (finding the best talks at Tech·Ed & why is the Tech·Ed calendar is awesome) which really aimed to help improve your Tech·Ed Africa experience. They are both still relevant this year but I thought of one new tip to share and that is related to travel.

Short version: Book your inbound flight EARLY, your outbound flight LATE and stay at the HILTON.

Why inbound early?

Day 1 is a busy day for you – after you land you need to find the shuttle from the airport to the conference venue. I got separated from the group and lost in the airport last year Confused smile. Once you are at the conference venue you need to register and get your swag (do this before you go to the hotel) then you need to find the bus to get to your hotel, if you follow the tip below about the Hilton this is easy else you may have a small wait. Once at your hotel, check-in, sort out stuff, see what the swag is etc… and then finally find the bus (wait) and get back to the conference venue for the keynote & opening party. In short – it is a VERY BUSY DAY, so having an extra hour or two helps.

For speakers there is also the advantage of taking that extra hour or two you can get to do a quick tech check the day before and help calm those nerves.

Why outbound late?

The last day ends with the closing keynote and those can run long – I have seen people RUN for the busses and have to drag luggage around with them in the closing because of time constraints. Plus when you get to the first few busses you have the fight for bus space! It really just messes with the last day, rather take a later flight which means you do not need to fight for bus seats or rush around.

Why the Hilton?

Hotel Exterior

The Hilton in Durban is the best place to stay, as it is RIGHT next door to the ICC where Tech·Ed is held. In fact the picture to the left, the bottom left hand corner is the ICC. You don’t even have to cross a road!

So it means getting up later, staying out later (Hilton bar is famous for after parties), it means being where all the Microsoft staff, media & presenters are (great for those informal discussions in the elevator) and generally a top end experience.

Big issue, it sells out FAST so you should be booking NOW!

Follow these travel tips and you will be on your way for a great Tech·Ed!

23 Aug 2011

Tweets that start with a name, do not work the way you think they do

I was put onto this interesting feature of Twitter by Scott Hanselman, where needs repeating. When you use Twitter to send a tweet all of your followers will get it, unless when you start the tweet with a name (called an @ reply). For example:


The above tweet would have been seen by everyone who follows me!


This second tweet starts with William Branders name, so only people who follow BOTH of us will see it. In other words, it is only that group in the middle of the following Venn chart which will see that tweet!


So how can you send a tweet starting with someone's name & have all of your followers see it? Start the tweet with a dot, like in the example below.


A final important to note about starting a tweet with a name, those tweets are still public. Even though your followers don't automatically see them, they could just browse to the Twitter website and find them their. If you want a tweet that is private, you a direct message

11 Aug 2011

South African ID Number Tools for Windows Phone 7

16 November 2011: This application has had a major update, see the details in this post

app tileFollowing the same idea as my AA Rate WP7 app, another very popular spreadsheet I built is one that verifies South African ID Numbers so I also decided to build a Windows Phone 7 app to do that.

This does a little more than the spreadsheet could, so it has lots of info about what in an ID number does not verify which is very useful.

In addition it includes a awesome new feature a South African ID Number GENERATOR! With this you put in a few required details, hit a button and BOOM! An ID number that will validate.

Important to remember that validation of a number doesn’t mean it actually exists, just the math works. So please don’t use this for anything except interest or development!


(btw screenshots are from 1.1, which is soon to be out – so if you download and it looks different then give it a day or two)


11 Aug 2011

AA Rates Calculator For Windows Phone 7

16 November 2011: This application has had a major update, see the details in this post

marketplace-tileOne of the most popular posts on my website is the AA Rate calculation spreadsheet I built in 2008. The goal of the spreadsheet is you provide the details about your vehicle and it tells you what the AA Rate for your vehicle is. So I decided to rebuild this for Windows Phone 7!

This was a lot of fun because it has some complex issues (matrixes of values) which had to be solved, so that tickled my developer brain.

This also allowed me the opportunity to update the calculations since they change every so often which is important for you!

An interesting thing that I learnt with this release is that the official/documented calculations is NOT equal to what the AA online calculator does. So there is an option now called “quirks mode” which runs it equal to the online calculator where if you turn it off, it runs it using the documented mode!



03 Aug 2011

Nugget: Little compiler optimisation

Found this little C# compiler optimisation which is really cool. Here is start code

int y = 0;
int x = 10;

if (x * 0 == 0)
    y = 123;


If you know a bit of math, anything multiplied by 0 always equals 0 (line 4). So the compiler optimises that out and then because x is never used that is also optimised out and you end up with

int y = 0;

if (0 == 0)
    y = 123;

So very smart Smile
19 Jul 2011

Presentation Dump - Mid 2011: Windows 7 API CodePack, Development for Nokia, Mercurial, VS Tools, AOP, Multitasking, Cloud

The fact we half way through the year snuck up on me this morning, so it is time again to share some of the presentations I have done in the last 6 months! For those new to the presentation dump, every 6 months or so I share all the slides I can (some I can’t because they contain NDA info, like the one about Microsoft’s Project Double Rainbow) so that you can take these slides and work with them yourself!

So what is included in this dump:

  • Windows 7 API Code Pack: This was a very fun session to do since it was showing off a bunch of cool Windows 7 features.
  • Development for Nokia: This is maybe one of the best looking slides, but one of the worst timed sessions since shortly after it Nokia announced their move to WP7 so not much could be taken away from this Sad smile
  • Mercurial: This is a difficult session, because the demo’s are so boring (how do you make source control sexy?) – however a ridiculous amount of animation about process made this entertaining to create and present.
  • Visual Studio Productivity Tools: This one started off from the idea of answering the question CodeRush vs. Resharper – which is a bit of religious debate more than a this one wins. It includes a bunch of other interesting content about other extensions too. For non-South African’s “Braai Rules” is the same as saying “BBQ Rules” or “Pub/Bar Rules”
  • Aspect Orientated Programming: This is a big one for me as I see general development using more of this and the frameworks, like .NET, moving to it more and more in future. Good to get an early look into it.
  • Multitasking in applications: This session looks at one of the themes of .NET 4 – TASKS. Why should you care, because multi threading is complex, but multi tasking gives the same benefits with less complexity.
  • WebMatrix: Microsoft’s new tool for hobbyist web developers. What is included in that tool? This presentation tells you.
  • Welcome to the cloud: I had a great opportunity to present at Tswane University of Technology with Rudi Grobler on the cloud & mobile. This was a very fun session and allowed me to also talk about why BBD is such an awesome place to work.

Slides available in the post! Click below for more

Windows 7 API Code Pack

Development for Nokia


Visual Studio Productivity Tools

Aspect Orientated Programming

Multitasking in applications


Welcome to the cloud

11 Jul 2011

Security is hard for users, so let us clean up with NEAT & SPRUCE

Microsoft used to be a horrid company with regards to their security, then they sat down and made security a quality gate – we do not ship if security is wrong. How do they know what is wrong? A 24 page guideline with 68 bullet points?! Perfect holiday reading Smile with tongue out

The security development lifecycle team has recently tried to help us developers improve our applications so we not the next company with a bad security issues with two acronyms which will improve security notices to our users: NEAT & SPRUCE

What is NEAT?

  • N: Necessary – Only show messages that you need. If you can take a safe action automatically or defer the message, do that!
  • E: Explained – If you do interrupt the user, explain in everything to the user. EVERYTHING?! Yes, and the SPRUCE acronym will help explain what everything is.
  • A: Actionable – A message should only be presented to the user if there is steps the user can take to make the right decision.
  • T: Tested – A security message needs to be tested. TDD, Usability Testing, Visual Inspection, every test.

So, we need to show the message now – what do we put in there? SPRUCE:

  • S: Source – Why are we showing this message? Did a website do something or a file or a user action? Tell the user.
  • P: Process – Give the user the steps they need to go through to make sure they make the right decision.
  • R: Risk – Explain what the consequences of getting the decision wrong.
  • U: Unique – If your software knows everything, do the right thing automatically. So if you are showing the message, it means the user has unique information that is needed to make the decision. Explain what information is needed (slightly similar to P).
  • C: Choices – Show the user all the options and recommend the safer one.
  • E: Evidence – Provide any additional information that the user may need to make the decision.

Now that the training is done, let’s look at real implementations:

A web page contains secure & nonsecure content

Here is what the dialog looked like in the bad old days of IE6:


In IE 9 where this logic has been applied:


Let’s look at the differences:

  • N (Necessary) has been applied – previously this was a blocking model UI, which the user was forced to deal with to continue working. Today it shows discreetly with at the bottom and only if the user needs to work with this they have to, otherwise ignoring it.
  • E (Explained) has had been done with the What’s the risk? – which shows the dialog below. It is not perfect as it hasn't followed SPRUCE fully but it is a good improvement.
  • A (Actionable) has been applied – previously you had both a yes & no, now we have one action that can be done. Close or ignore and nothing happens.
  • T (Tested) there is some weird language issues with the old one especially if English isn’t your primary language because of the yes/no not being perfectly clear. The new dialog has a single very clear labelled button!

whats the risk


Now that we have looked at how it can help you and how to do it, attached is a nice simple 3 page document with more details and reminders about this. GO IMPROVE YOUR APPLICATIONS!


File NEATandSPRUCEatMicrosoft-final.docx68.68 KB