Tim Murphy's .NET Software Architecture Blog

May 2015 Entries

HP Spectre x360: Review


I finally unboxed my Spectre x360 from the Microsoft BUILD conference and fired it up.  I thought it might be useful to prospective buyers to cover the pros and cons of this machine.


My first impressions are that the form factor is very thin.  If fits very easily as a second machine into my backpack adding extra compute capabilities.  It has a bright, wide screen making it easier to get work done.  Generally it will also run all day on one charge depending on how process intensive the apps are that you are running.

Another plus is that with a real laptop mode, an acceptable processor, RAM and SSD, and a full keyboard makes this a viable secondary development machine.  This is something that my Surface Pro with the loosely connected keyboard and very little storage can’t do.


Power and Windows buttons are hard to find.  It would be better if there was a Windows button in the bezel like other machines that operate as tablets.  The screen also has a lot of bounce to it when you touch it in laptop mode.

After using my original Surface Pro for so long I am really missing having a stylus.  I’ve tried using the Surface stylus and it doesn’t recognize that anything is there.  OneNote on a tablet with a stylus is a great combination for meetings and conferences.


In the final evaluation it is a good machine for someone what need a lightweight machine with good battery life and decent horse power.  If you just need an email machine there are much cheaper machines.   So if you are in the right audience give it a look.

Azure Utilities You Should Have In Your Toolbox

Grandfather's Workshop

Developing applications that leverage Azure resources can be challenging.  The Azure portal give you limited view into your account resources.  It shows you the basic structure of you storage accounts, but it doesn’t let you upload and download blobs.  When it comes to your Azure SQL DB about all you have is the ability create and import a database.  So what are the best tools to be productive?

The first tool that you might want to look at is the Azure Storage Explorer. It allows you to view what is in your Azure storage blobs, queues and containers.  You can also create new blob containers, queues and tables as well as maintain the items in them.  It’s biggest drawback is that it can’t be setup to operate against development storage emulator.


The Blob Transfer Utility is a little more capable, but takes a little more digging to configure.  You have to manually enter all of your account information and then the file selection is backwards to me.  It selects all files in a folder by default and you have to unselect them if you only want one.  On the flip side the error reporting is helpful as you figure out the tool.

Ultimately the best tool is the Server Explorer in Visual Studio 2013.  It allows you to access all of you storage types across all the accounts tied to your Microsoft ID.  It gives you the ability to list, add and remove items no matter if you are looking at blobs, queues or tables.  This turns out to be the quickest and most flexible storage tool I have worked with so far.


In the end I would suggest that you start with Visual studio, but try out other tools.  There is always someone coming out with a new better tool.  All these are free, but you may find a product you can purchase that handles all you Azure maintenance needs.  As I run across any better tools I will post them here.  Stay tuned.

Review: Chicago Coder Conference

Party Place Under Giants

On May 14th and 15th, 2015 the Chicago Coder Conference was held at the UBS building in downtown Chicago.  PSC Group was a sponsor of the event and had a fair sized contingency in attendance.  This post will review the good, the bad and the ugly of the conference.

Let’s start with the bad and the ugly so that we can end on a high note.  The overall organization of the conference was really bad.  It started with the keynote.  They had a venture capitalist talk about how the funding process works.  Given that most of the people there were employed by a company that sent them there I thought it was a poor choice.  Add to that the fact they timed the sessions without any time built into the schedule to clear rooms and the next speaker to setup and didn’t well publicize the Wi-Fi availability (which was poor) and it didn’t make for a good experience.

The best part of the conference was the number of quality presenters from not just Chicago, but around the region.  Unfortunately Chris Woodruff got sick and was not able to give his presentation.  This lead to a number of scheduling shuffles (which the organizers didn’t announce) where speakers dug presentations out to make sure there weren’t any time slots where you had nothing to hear about.

The best presentations were from Greg Levenhagen on Visual Studio debugging tools and Eric Boyd on architecting scalable applications.  Greg showed a number of features of Visual Studio that most developers never knew existed and can save you huge amounts of time.  Even better, since both of his machines died he used my laptop for the demo giving me some reference to go back to.

Overall, the conference was positive, but the organizers have a lot of work to make it more productive.

Advice For Speakers: Know Your Point

There Be Ghosts Here?

It has happened to all of us.  You go to a conference and sit down in a session that has a great title and abstract only to sit through a long winded talk that has nothing to do what you were sold.  As a speaker myself I find that this is a good reminder of the questions that you need to ask yourself as you prepare your material.

Each session we put together has a limited amount of time.  Review your content to make sure that every point you make has some bearing on your stated subject.  Is each example or slide going to give the audience a better understanding of the topic?  One of the best ways to do this is to start with an outline as this gives you simple bullet points to review.

The next step is that each slide or demo should relate back to those bullet points from your outline.  As each slide is completed make sure that you review the content to make sure you haven’t strayed from this outline item it was intended to cover.

Finally, do a practice run with someone who can give you objective feedback.  This will give you a way to know how things are shaping up before people start walking out of your talk.

None of these suggestions should be new (you probably heard them in high school speech class), but reminders never hurt.  Follow these suggestions and you are one step closer to a successful talk.

Build 2015: Day 2 Keynote


As with any second day keynote, day two of Build had less fan fare and new announcements than yesterday.  Today it was all about doubling down on the message and showing a little more. 

The one message that I think went horribly wrong was the opening video.  It was all about how Microsoft in the past hasn’t been open and companies didn’t think they could trust them, but now a new leaf has been turned over and they are who companies want to work with.  While there has been some of that viewpoint in the past I don’t think it was a majority viewpoint.  I even had a manager tell me one time “You will never get fired for going with Microsoft”.  I think they should have highlighted their increasingly open stance and let this minority view fade.  They really need to get some marketing people who know what marketing is.

Steve Guggenheimer and John Schewchuk ran the show for day 2.  They very quickly and with what didn’t seem to be much rhym or reason went through videos from QuestLove and PropellerHead followed immediately by AutoDesk and Acumatica representing commercial applications.

David Treadwell came out and things got to what you expect from a keynote: information.  The main message being presented is that Windows 10 is one united front.  What they described was akin to magic where developers can write one piece of code and the platform will optimize a variety of features such as menus for the device and mode that you are using it.  If this materializes well in the final product then life will be getting easier for developers.  As proof that they have put some serious work into this release he informed us that over 2500 new features have been added to the development platform.

For a while after that David and Kevin Gallo played tag team presentation.  As a developer I was encouraged by how familiar I was with the concepts of the canvas and map controls that Kevin demonstrated and amused when he tried to wipe away a line he drew on the Surface Hub with his hand like it was a normal whiteboard.  The interesting aspect of the map control he show was that it seemed it had data binding capabilities.  This could make for interesting possibilities.

My funny bone was tickled further when during Kevin’s demonstration of making a slideshow for an app I noticed that the image he was using was of a bathroom with the toilet next to a floor-to-ceiling window.  Remind me to look closely at my own images when doing a presentation.

The cool factor rose when they showed the architecture app being run on both Xbox and Hololens with the appropriate user interaction paradigm on each device.  Mark this as another win for developers.

We got to see more of the new Edge browser which it was confirmed runs on the EdgeHTML engine.  A point was made that this browser is all about user experience.  They have made over 4200 interoperability improvement and it performs better than any other 64bit browser.

Where as yesterday they announce the bridges to universal apps, today they showed them.  From adding the ability for a Win32 app to make toast notification to the converted LoseIt Android app to converting iOS projects into Visual Studio Universal App project, we made our lap around demonstrations of these abilities.

The most charismatic speaker of the day was Joseph Sirosh.  With comments like “AI meets AI (artificial insemination)” he kept the crowd laughing and still managed to educate us about Azure Learning.  Of course that comment was in regards to the fact that farms are now using Azure learning and pedometers on cows to tell when they are in heat so that they can get better pregnancy rates.

His other demonstrations did not disappoint either as he showed us different ways that the BizTalk-like-orchestration in machine learning could predict March Madness outcomes or leverage APIs from gallery.azure.net to detect faces and determine how old they were on how-old.net.

Steve and John came back out and showed us an amazing DirectX 12 demonstration where the rendering was so life like that you thought you were watching a film.  It was only after the keynote that I found out the amount of computing horsepower they had on stage to make it work.

The last demonstration was for the capability of creating Minecraft Java mods in Visual Studio.  It’s lost it’s lustre as we were insulted by the presenter and teenage developer on stage who evidently didn’t realized that everyone in the audience was a developer and knew what intellisense is and how to code.


For myself I think the day 2 keynote was a bust.  I think Microsoft did itself a disservice with poor marketing videos, weak content and poor speakers.  There were moments that impressed and some presenters that improved our understanding of this new Windows world, but they need to do better next year.