Do programmers dream in Byte Code?

This is Boss's blog , by day I am the Managing Director of Black Marble , by night I am an MVP for BizTalk and spend my life evangalising development to all.

Teaching Children to Program with Small Basic[Updated Jan 2013]

Many years ago Black Marble undertook to help people to program, not with the aim of turning out large numbers of developer minions but to show how learning to program teaches people how to break down and solve problems.

Lynn Lagit  and LLewellyn Falco have produced a series of videos based on the workshops they are running for children as well as some extensions for Small Basic.

For convenience here are links to the videos, but I urge you look look at Lynn’s blog for more details

Setting up Small Basic

First Recipe

Coding Recipe Variations

To get Going click on the HERE links I would suggest looking at all of the information.

The Small Basic Microsoft official site is here

Download Small Basic HERE

Getting Started look here

The Small Basic site with more useful information is here

Small Basic free EBooks are here

If you are a Parent of Educator there is a Curriculum pack Here download in one go HERE

There is also a companion site with resources and recipes for learning at

The recipes for kids to follow are here but you will need to install an add-on for Small Basic which adds Logo style components like turtle!  The add on site is here


Windows 8 Store Certification 2.2 Update

I have been discussing Windows 8 development with several developer groups this month and it seems that only a few developers were aware that in November update to the Windows App Certification Kit (ACK) was posted, it offers several bug fixes and more importantly new tests which came into force in the middle of December.

In fact many are not using the ACK at all, I urge all Windows 8 developers to run the ACK before submission as it will help you find any store validation errors !!!!!

The new (additional) App Store Rules are

  • Optimized binding references (when using bindings, WinJS.Binding.optimizeBindingReferences should be set to TRUE in the app's JavaScript to optimize the memory usage).
  • Branding validation (apps should not use the default icons generated by Visual Studio or included in the SDK samples).
  • Private code signing (remove any private code signing keys, such as .pfx files, from the package).

While these all make sense it is a bit, no a lot disturbing that people are submitting applications with the DEFAULT Icons.

Get the latest version is here


What’s New in Azure

Just before Christmas a number of enhancements were released, the continual growth combined with the short release cadence is showing Azure to be an amazing platform for development and delivery.

Included in the update:

  • Mobile Services
    • CRON – a well built job scheduler for routine maintenance (tutorial here)
    • CLI Support – The azure command line tool now has mobile service support
    • European Locations – now Europe is a Service location
  • Web Sites
    • can be run across 6 Shared or 10 Reserved Instances
    • Publish from Source Control Smile (TFS/Git)
  • Portal Enhancements for
    • SQL Data Sync
    • ACS Management 
  • Media Services
    • Job and Task management
    • Adding content from a Windows Azure storage account
    • Scaling to increase encoding concurrency
  • Virtual Network enhancements (thank goodness)

to learn more come to a BM Azure event check out


TFS 2012 Update 1 Hotfix

There has been a hot fix that fixes some issues in Update 1 some from the RTM. 

Issues Addressed

  1. Collections that are attached to a server that is running TFS 2012 Update 1 may lose permissions
  2. Group scopes may incorrectly cause permission errors
  3. Severe decrease in performance after TFS 2012 Update 1 is installed
  4. Identity sync jobs may fail repeatedly
  5. Warehouse is not updated correctly, or fields that represent a person are not filled
  6. Users can see names of collections of which they are not a member

the full KB Article is here

download here.


Life with the Nokia Lumia 920

I have had a Nokia 920 with Windows Phone 8 for several months and I thought it worth the effort to put some notes down

Good Bits

The screen is large and clear, pinning apps in small and large format allows me all of the configuration I need.

Nokia Drive + is just awesome, maps for the whole world, all available offline. what more could you ask for.

The main camera is one of the best cameras I have used, I am not a camera head but the pictures make me look good which is a feat in itself. The lens plugins like Cinemagraph and Smart Shoot.

And the wireless charging using the Nokia charging plates is a dream and quite wonderful to watch and in itself shows the path of technology to come.

Bad Bits

Music play back is still a bit basic and Microsoft needs to improve this small oversight. It is a little big for my phone holder in the car (the cup holder), it would have been nice for a SD card errm but that's it.


The only phone i have used recently which i liked as much is the Nokia Lumia 820 which does have a SD card slot


BizTalk 2013 Update

The BizTalk team recently announced that the next version of BizTalk is to be a major release not R2.

Feature Updates

  • ESB Toolkit integration –  ESB Toolkit is now fully integrated with BizTalk Server and the ESB Toolkit configuration has been simplified.
  • Dependency tracking  - The dependencies between artefacts can now be viewed and navigated in Admin console
  • Improvements in dynamic send ports 
  • Improvements in mapping engine performance
  • Ordered Send Port improvements – increased performance of ordered send port scenarios.

Adapter Updates

  • Azure Service Bus –   adapters to send and receive messages from Windows Azure Service Bus and to transfer messages to relay endpoints hosted on Azure.
  • RESTful services – adapters to invoke REST endpoints as well as expose BizTalk Server artefacts as a RESTful service.
  • Enhanced SharePoint adapter – SharePoint integration is much simpler and the need for dependency on SharePoint farms has been removed
  • SFTP adapterSmile

Most people forget about Host integration Server, HIS 2013 Beta includes

  • Data Integration – New OLE DB Provider for Informix and new Service for DB2 DRDA.
  • Application Integration – New Transaction Integrator runtime and web configuration-based administration and deployment.
  • Network Integration – New 3270 emulator and improved Session Integrator, both with direct TN3270 connectivity.

BizTalk now has support for Window Server 2012, Visual Studio 2012, SQL Server 2012 as would be expected and HIS also supports the newer IBM platforms

but best of all now Azure host able and available from the Gallery.

Important Note, if you use IE10 you must use compatibility mode with the BAM portal

Get the bits here and the documentation here


Driving Windows 8 for Developers with the Keyboard

For most developers the ability to drive applications with just the keyboard is as much instinctive as it is productive and Windows 8 allows it. Following on from my previous post this post covers how to navigate and use the touch interface of Windows 8 with the Keyboard Smile

The key to effective Windows 8 keyboard mastery is the the Windows key, the Windows key will bring you back to the start screen and act as a short cut to most Windows 8 key (groan) features. The short version is navigate with the arrow keys, Windows Key +Z or the List Key will display the app bar and return complete the action.

Start Screen Navigation

On the start screen UP,DOWN,LEFT,RIGHT allows navigation as you would expect and return opens a tile. Importantly Spacebar or the List Key (looks like a drop down list) selects an item and you can move about selecting items until you want to act, Tab then moves the selection to the Action Bar to set the tile size,unpin from start, , uninstall, open new window and All Items.

If the application is a Desktop application you also get the options to Run As Administrator, Open file location and pin/unpin from task bar.

Start an Application

The quickest way is just to type the name of the application, this actually starts search charm in the application context, but what you get is a very fast way to start applications.

Application and Screen Control

The biggest issue using the Keyboard is screen control, but the simple application of Win+. allows left and right snap view and using Win + Tab to cycle through the current Metro applications (the desktop counts as one application) or Alt+Tab to step through all of the applications

Shutting Down

On the start screen tab will select the user icon which allows logout, or use Win+I for settings and select power from there. I pin a shutdown button to my Desktop Tab. I will follow up on this in a later post

Key Summary

I have split the key Summary into Essential the essential keys are key combinations you NEED to know and Nice to know

Essential Keys (new)


Win Toggles between the start and the current application
Win + C Charms Menu
Win + I Settings ( Current Application, Volume,Wi-Fi and Power )
Win + X Start Menu
Win + D Show the Windows Desktop
Win + Z or List Key Shows the App Bar
Win + . (full stop) Snaps the current application to the right side of the screen. (+shift for left) Keep pressing . to cycle left right then center

Essential Keys (Windows 8 and Windows 7)


Win + L Locks Windows
Win + Tab Displays the current Running Applications, repeated tabs cycle through the Applications
Win + R Opens the Run Dialog (Run application)
Win + P Selects the Second Screen (projector) mode
Win + Left/Right/Up/Down Dock the current Desktop windows left/right or maximise/minimize
Win + <number> Runs the position <number> application on the Task Bar

Useful Keys (new)


Win + O Locks device orientation
Win + D Switches to the Traditional Desktop
Win + H Share Charm Panel
Win + K Devices Charm Panel
Win + F File Search
Win + J Swaps focus between snapped applications

Useful keys (Windows 8 and Windows 7)


Win + P Projector view switch between single/dual monitor
Win + E Launch explorer
Windows key and + or - Zoom in/out

In summary you can fully drive Windows 8 from the desktop, try it!


Windows 8 Essential Developer Tools

Obviously the most important tool is Visual Studio 2012 which is available as Express and the various wonderful SKU’s but along side these there are some great toolkits which will help your Windows 8 escapades no end.

this list will be updated regularly


The Calisto Toolkit developed by Tim Heuer adds helper functions and XAML controls, must useful are the controls to help deliver the settings fly out.

Or you can download and install Callisto from Visual Studio Gallery

WinRT XAML toolkit

Provides a set of XAML extensions to help delivery of Windows 8 Store applications,

Nuget Package Name  winrtxamltoolkit

Code Snippets

A set of code snippets for C#,VB,JavaScript and C++, the snippets allow a variety of standard WinRT actions to be done simply such as send SMS, write to

provide a base set of canned code for Windows 8 Store applications


Windows 8 Application submission error 4.1

I am just pushing applications through into the Windows 8 Marketplace. On checking the progress of an application it had the word “Failed”, being unfamiliar with this word I looked it up and it turns out to be some form of non success. Rushing to find out why this was the case I was presented with

Your app doesn't meet requirement 4.1. Learn more

hummm, the basis of this error is apparently my failure to provide notification and opt in of sharing personal information, hold on a minute my app is a game which hold NO user information whatsoever.

After some digging it turns out that the project had “Use Internet” turned on, which it turns out Microsoft has deemed to mean that connecting to the internet is the same as sharing personal information…..

so in summary, if you need internet access you need to provide a public privacy policy, if not turn it off. Microsoft needs to provide better terminology and notes on errors.


Boost your Windows 8 C++ application

As an out of band Windows 8 post for many of us C++ is somewhat a hidden shame, but not really a shame just hidden out of sight while we dream of closer to the metal coding.

With the joys of Windows 8, C++ is once again back to the fore, I thought a couple of notes on how to get things moving might help

Boostis regarded as one of the best written and comprehensive libraries for C++

covering areas such as Math and Numeric, String processing (what library would be complete without), Generics, Algorithms and more

The only downside is it is a collection of very useful code but like all good libraries you will need to learn it.

Boost is fully useable in Windows 8