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.

Wraps are off - patterns & practices Architecture Track at Future Decoded!

I am delighted to announce that I am hosting the Azure patterns&practices team in a dedicated invite-only track on Day One of Future Decoded!

I've been pushing to bring the patterns&practices team to the UK for a few years now, and it's excellent that it's finally happening at the Premier UK Microsoft event this November.

We have Christopher Bennage and Masashi Narumoto travelling in from the patterns&practices team in Corp especially for the event.  The p&p team demonstrate how to bring together architecture best practices for the diverse Microsoft technologies into a unified and holistic solution.  They are passionate about discovering, collecting and encouraging best practices, delighting in software craftmanship, helping developers be successful on Microsoft platforms and bringing joy to engineering software!

I know what you're thinking now, Future Decoded is full, how do I get to attend?  Well, if you're interested (and if you're reading this blog it's safe to say you are!), then get in touch with, for the attention of Linda, and she can help you out with a special code (if there are any left!!) - this code will not only give you access to the excellent p&p track on Day One, but also the Keynotes, so please select Day One when you register!

Driving Windows 10 for Developers using the Keyboard

Key Summary

I have split the key Summary into Essential the essential keys are key combinations you NEED to know and Nice to know. I have left the Win+arrows in the Windows 8 section, while the Windows 10 version is vastly better with snapping, essentially the functionality is the same.

I will be posting later on Cortana and other joys of Windows 10.

Essential Keys (new)

Toggles between the start and the current application if in tablet mode

Starts the start menu if in Desktop

Win + A

Opens the action centre

Win + C
Cortana opens in Listening Mode

Win + S

Win + Ctrl + D
Add a New Virtual Desktop

Win + Ctrl + Left Arrow/Right Arrow

Move between virtual Desktops

Win + Arrow Key

Snaps a window , left, right, maximize, minimize

Win + Tab
(on Windows 8 Displays the current Running Applications, repeated tabs cycle through the Applications)



Essential Keys (Windows 10, Windows 8)


Win + D
Show the Windows Desktop

Win + E
Launch explorer

Win + F
File Search

Win + H
Share Charm Panel

Win + I
Settings ( Current Application, Volume,Wi-Fi and Power )

Win + J
Swaps focus between snapped applications

Win + K
Devices Charm Panel

Win + L
Locks Windows

Win + O
Locks device orientation

Win + P
Projector view switch between single/dual monitor, key pressing P to cycle trough the options

Win + R
Opens the Run Dialog (Run application)

Win + X
Start Menu

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


I hope you find these useful



Back in the Saddle

After many months travelling and spending a lot of time planning, I have now got many posts backed up to send, I am currently touching up and posting my back log.

so expect to see a flurry of posts over the next week or so



My Latest and Indeed Greatest Award

Today I was lucky enough to present one of Rob Miles legendary “Rather Useful Seminars”

For my talk on “Being Disruptive for Fun and Profit” I was awarded an award, hand carved by Rob from a much bigger award.



Rob assures me there is no other one in the world apart from the second one he gave me.

Thank you to everybody who turned up and I hope if you attended you got a lot from it.

If you want to see other luminaries for this great award look here


Living with Windows 10 and a Surface Pro 3

I have been running Windows 10 on my pro 3 since the preview was first available. Truth being told there have been at least two occasions where taking it off seemed to be the best option but in both cases updates fixed the problem.

Being a developer I don’t always think before upgrading to new technology but in general it works out well as it has in this case.

To lay my stall out I like Windows 8, the concepts of live tiles, applications exposing search APIs etc. was/is a genuine change for the better, having taught developers the ins and outs of Windows 8 more and more I realise how good the concepts are. Windows 8 is a step change, unfortunately the press who slam Microsoft for not changing and when they do slam again seem to be winning out.

But Windows 10 is keeping most of the key features and hopefully integrated application search will come back.


Updates So Far

Updates have been coming roughly every month with a break for December.

Build 9841 – Initial Release

A  change, Windows 8 applications on the desktop, An enhanced start menu showing the Windows 8 tiles, a great snap feature for windows and virtual desktops. The app commands is now an icon on the title bar.

There is also experimental updates for cmd allowing ctrl- options ( select properties and experimental to try )


Build 9860 – The Broken Release

The dreaded broken release with thousands of fixes, the ability to choose the speed of updates you receive. crucially a fault in the XAML renderer (guess) caused most Windows 8 applications not to start. Notification centre is in but not working to any level.


Build 9879 – The Ah that's Better Release

Most importantly XAML works Smile

The app command bar has turned into a 3 bar icon (hamburger!!!!) in the top left of the window and now works very well

The notification centre now works like a dream and in very useful.

There is a significant update to OneDrive which once finished works well, but the update is not good and involves recaching everything, you can now choose which directorys to cache but not until the cache has been updated (oops)

The User experience has improved considerably, in window dialogs,


A new feature is gestures on touchpads

  • 3 finger up -> Task View
  • 3 finger down -> Show Desktop
  • 3 finger flick to left or right -> switches to previous app (go back 1)
  • 3 finger move left or right -> Alt-Tab pops up and you can select the app you want (remove fingers to select)
  • 3 finger tap -> Search

 It looks like an emergency update for build 9879 will be out shortly

The Pain in the Ass Features

As each drop is in effect a new version of windows, 7-8-8.1-etc you are more often than not presented with the “you don't know how to use windows” helpful hints.


So How is the Surface Pro 3 coping?

Well after 9879 it really has sprung into life and it works well, I had a few problems with the surface pen on the 9860 drop but all is ok now.

There has been a firmware fix as well for the surface, as both arrived at the same time as build 9879 (ish) it is hard to determine which had the bigger effect.

The main issues are the great UX metaphors from windows 8 are being down played., but I expect to see this fixed in the new year releases.


What am I looking forward to??

Integrated Application search (no promises) and integrated outlook search

Continuum, due to the nature of the Surface 3, setting either windows 8 mode or start screen exclusively is not helpful, but with continuum we should get windows 8 becoming more adaptive to use i.e. if it is tablet mode we see one view, with a keyboard another.

The big ticket item which will be a while is the true universal applications across desktop/phone/xbox one


Final thoughts

Windows 10 is the step change that Windows 8 needs, it is missing as ever good guides on use and in the new year after the next drop I will endeavour to get some written

for most users I would wait until end of April 2015 (post Build), but if you are a dev or IT pro with enough experience it is most definitely worth the effort



Moore’s Law – Deciphering Falsehood’s and Prophecies

Several times over the last few months I have encountered people who have misquoted/used Moore's law to justify a solution for a problem they are avoiding or more often are failing to comprehend to any real level. At a base level it is used as a reason not to do anything at worst used to justify the reasons not change poor or degrading solutions.

After far too many of these encounters I thought it was about time I posted my view of and at the same time debunked some of the many falsehoods I have seen Moore's law used to justify, but I also wanted to give a view of what the change over time of the Computing Industry actually means.


so what is the law:

Well first of all it is not a law it is in fact an observation and prediction, which in general terms has stayed the course for nearly 50 years.

Gordon E Moore predicted that in general terms the processing power of a computer will double every two years. Moore was initially talking about the number of transistors in a processor but later changed to talk in more general terms.

There is common trait of all of us is to read into a statement, what we want to hear or more accurately we hear what we want to hear when we don't fundamentally understand what was said.

But the main problem is that Moore was talking about Raw processing power, but what we use as consumers of computing power is a managed level of computing offering a higher level of functionality well above and beyond the raw power, As time goes on, the computing systems offer more and more features and layers of tooling which make users, developers and IT pro’s life easier and more productive, but this comes at a general cost of raw power used by the operating system and the applications that run on top.


I think if you do look at Moore's law as a more general concept, then look out our industry where a lot of very bright people are working hard improving computer technology and the outcome is likely to be a doubling of overall power every two to three years and that the manifestation could be more transistors, more cores, better threading, then i think you are closer to understanding what people generally mean by the term.


With the continual growth of the cloud and specifically Azure bringing great Platform as a Service, elastic cloud delivery the general concept of Moore will have some time to go.


so why do people get it so wrong:


It would be inconceivable that in a modern enterprise, applications would be built enterprise applications without these successive improvements and changes to the core of computing which we take for granted.

Microsoft .NET is a great example of this, it performs a large amount of “heavy lifting” with regards to the day to day coding chores such as memory management, interoperability etc., it provides a large and comprehensive library set which to be frank in the 80’s and 90’s would have cost a fortune to buy or develop or indeed weren't available. .NET is free and people forget the sheer power it brings to a developers finger tips.

What this means in real terms is we can deliver new software with huge amounts of functionality in a relatively small timeframe, with a minor cost of a higher level of computing power.

But expecting that your poorly written, under performing application will be just fine in a few years is not the answer to anything apart from self delusion.


Ok but what does this mean in real terms?

In my opinion, Software systems increase in base value and functionality by an order of magnitude every 4.5 years. The real problem is that users expectations of software increase by at least double that.


So what to do?

Don’t bet on more power in the future, build for the now and allow for the future to increase your performance if it arrives. There are great tools to help performance and great guidance on architecture and design.



M is Dead, Long Live M


Years ago I had the privilege of doing some SDR’s with the team developing a toolset code name “Oslo” using a new language named ‘M’. The concept was to bring modelling of data and visualisation of data to all. Sadly the retirement of Oslo the day before a presentation I was to give was a sad day and the passing of the visualisation tool Quadrant sadder still.


However all is not lost, Data visualisation is a keen topic for me and recently I have been spending more and more time with the awesome PowerBI tools for Excel. As it turns out a chance meeting with some of the original team hinted that I should look at Power Query. The Power Query Formula Language used to allow Queries built by the user to be both repeatable and sharable. As this was the key tenant of the M language, it shouldn't really come as a surprise that the PQFL <sigh> is really M.

If you are interested and lets be honest who wouldn't be, Reference for M and PQFL is available here.



First Band Update

The first firmware update is out for Microsoft Band. To get the update you will need to update your Microsoft Health app. In the UK this means the set region to US, go to the store, check for update.
Run the Health app and it should offer a firmware update to the Band. The update is done over Bluetooth and so I made sure my power was connected to the Band and that the Band and Phone were a few Cm apart.
The first time I tried it failed, but closing the Health App and restarting the app Second time was the Charm.

Microsoft Health app version number = 1.3.1209.1
The Band firmware version = 1.1.2110.0 09 R

So far if truth be told, I have seen no differences and the change logs do just state improvements and fixes.


IT Pro New Year’s Honours List 2015

The lovely people in the IT Pro team have announced their IT Pro Honours list and I am privileged to be on it.

A great set of professionals and Me and Rik.

Me an IT Pro Smile who would have thought.

I suddenly feel the urge to help Rik fix his laptop Winking smile.

Seriously there is a steady merge between Dev and IT pro in the DevOPS world and what a great world to be in.

again great thanks to the IT Pro team for their consideration.