Sketchnotes: Microsoft Windows 10 Creator Update Event

Wed, 26 Oct 2016 05:15:03 GMT

Originally posted on:

On October 26, 2016 Microsoft had an event to show off the future of Windows 10 and some new hardware.  The following sketchnotes summarize the announcements from that event.






My First Amazon Echo Skill

Fri, 21 Oct 2016 15:49:16 GMT

Originally posted on:

So excited.   I've done it.   First Amazon Echo Skill, all up and running.   Will report back with full implementation details.   Super easy and really great result.


DAX Studio 2.5.0 Release

Wed, 19 Oct 2016 13:46:18 GMT

Originally posted on: next version of DAX Studio has just been released. You can download this release and read the release notes here Note: In this release we have updated the versions of the Microsoft ADOMD.Net and AMO libraries we reference to use the SQL 2016 versions. This gives us scope to access some of the new functionality in Power BI and SQL Server 2016, but may mean that you are prompted to download these when you upgrade from a previous version. Some of the highlights of this release are: New Features Added an option to trace Direct Query events There is now an option under File > Options where you can enable extra events in Server Timings for Direct Query based models. These events add extra overhead so you should only enable this option before you start tracing a Direct Query model and you should disable this option once you are finished. Added Dynamic syntax highlighting Earlier versions of DAX Studio contained a hard coded list of syntax highlighting keywords and functions. The lists of keywords and functions used for syntax highlighting is now dynamically discovered from the data source. This has advantages when dealing with Power BI in particular which can get new functionality added from one month to the next. Added rows and KB to server timings tab Analysis Services 2016 and Power BI have added information to the server timing events that includes information about the number of rows and the size of data returned from each of the timing events. If this information is found it is now surfaced in the server timings tab. Optimized DaxFormatter calls The old version of the API required a second call if there was an error to find out the details of the error. The nice people at have updated their API so that this is no longer necessary. Added an option to specify the default separator style In the 2.4 release we introduced an option where you could convert on demand between the 2 different separator styles. But all queries had to be executed using the UK/US style. The UK/US style is where a comma (,) is used as the list and thousands separator and the period (.) is used as the decimal separator. eg. EVALUTE FILTER( 'Product' , 'Product'[List Price] > 1.25 ) The European/Other style is where a semi-colon (;) is used as the list separator, the thousands separator is a period (.)  and the comma (,) is used as the decimal separator. eg. EVALUTE FILTER( 'Product' ; 'Product'[List Price] > 1,25 ) Now you can choose which style you want to use as your default in File > Options menu. Added an error message when you attempt to open a .dax file that no longer exists Prior to this version if you clicked on an entry in your recent file list which pointed to a file that had been renamed or deleted you would just get a blank window with no idea what went wrong. Now there will be an error posted to the output window tell you what went wrong. Bug Fixes Fixed a bug where server timing traces were also listening for query plan events Fixed incorrect removal of square brackets from MDX results Fixed a race condition that happened sometimes when trying to capture both Query Plans and Server Timings [...]

TFS 2015 Build quick Issues and Fix

Tue, 18 Oct 2016 19:34:06 GMT

Originally posted on: 2015 Vnext build gives you the option for running Visual studio build which will ideally have these options 1) Get Source  This action is Hidden but as you can understand TFS will download source files from TFS based on your settings on Repository for Mappings to Source. There are chances that it will complain about files already exist Warning C:\Agent\_Work\4\s\Tests\project.xml - Unable to perform the get operation because the file already exists locally Warning C:\Agent\_Work\4\s\Tests\project - Gateway - .xml - Unable to perform the get operation because the file already exists locally One or more errors occurred while performing a get operation for workspace ws_4_9;Build\5a940eb8-a66f-4dc3-a742-ad23cee5dc01 The quick Solution is always clean the workspace before starting the new build. 2) Nuget Restore  If you are using Nuget restore in your build and if you have some Local repository for your Nuget , TFS nuget Restore will fail for any Local Nuget package download 2016-10-12T05:30:08.1016689Z Set workingFolder to default: C:\Agent\tasks\NuGetInstaller\0.1.18 2016-10-12T05:30:08.1173069Z Executing the powershell script: C:\Agent\tasks\NuGetInstaller\0.1.18\NuGetInstaller.ps1 2016-10-12T05:30:08.4766837Z C:\Agent\agent\worker\tools\NuGet.exe restore "C:\Agent\_Work\4\s\Services.sln" -NoCache -NonInteractive 2016-10-12T05:30:08.8204175Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'. 2016-10-12T05:30:22.4923248Z ##[error]Unable to find version '2.0.5939.19993' of package 'FOO.Logging'. 2016-10-12T05:30:22.5860716Z ##[error]Unexpected exit code 1 returned from tool NuGet.exe To avoid this issue when we setup the Build Agent we should be running it with our domain account which has access to this Nuget Repository and not with default Account NT Authority\Network Service 3) Copy and Publish Build Artefacts This action fails with "TF14044: Access Denied: User Project Collection Build Service needs the Admin Workspaces global permission(s).". To Avoid this issue we need to install TFS 2015 Update 3 4) TFS 2015 Build Clean up TFS 2015 Build clean-up is daily bases and not on count. I am not fan of this logic because we have 4-5 Projects running simultaneously and continuous build will occupy lots of space. Plus, I like to retain some baseline release builds for longer period. So I have created quick PowerShell script for clean-up and scheduled it as Command line in TFS build. I am using 2 for keeping latest 2 builds and delete anything older than that. You can retain more number of builds by increasing that number. "Get-ChildItem '\\dev-exe-002\drop\* ' -Directory | Sort-Object CreationTime -Descending | Select-Object -Skip 2 | Remove-Item -Recurse -Force" Add Command line in your build step and provide parameter like [...]

Central Pennsylvania Dot Net user group Code Camp 2016

Mon, 17 Oct 2016 21:02:13 GMT

Originally posted on:

Code Camp 2016 will be in a different venue from last year. This year we will be at Harrisburg University. We are extremely indebted to the wonderful people at Harrisburg University. (image)

Effective Chat

Mon, 17 Oct 2016 15:44:25 GMT

Originally posted on: I thought I’d write down some tips for using a chat application effectively on a development team.  Chat applications can revolutionize a how a development team works and even its culture.  I’ll go through some of the goals of implementing a chat application, some best practices, and pitfalls. Goals Obviously the goal of a chat application is to improve communication amongst the team.  It is meant to remove “silos”.  Silos refers to an organizational structure where members of the same team do not communicate directly with each other.  The image of a silo is a very tall structure with a very small opening (for communication) at the top or bottom.  Developers aren’t given good opportunities to communicate with each other except through their manager or what they deliver. Silos are bad for development environments because often different members of the team will duplicate work.  They aren’t aware that others have already solved the same problem.  Or worse yet, the work of different team members can be divergent, pulling the products and development strategies is different, conflicting directions. The answer to this in the Agile and Scrum movements is “The Daily Stand-up”.  This is a brief meeting at that start of the day where everyone gets together to let the team know what they are working on.  The typical structure of the meeting is to answer “3 questions”:  What did I do yesterday, what will I do today, and what impediments are getting in my way.  Just by answering these questions publically to the team can be very effective in breaking down silos. One of the problems with the Daily Stand-Up is that it does take some coordination.  Everyone has to get together at the same time and in the same physical space.  The meeting can’t start until everyone arrives.  This can be problematic if different people are on different schedules.  Remote developers and different time zones, client phone calls, and traffic delays can all infer with this.  A chat application can be a very low friction way to allow this meeting to happen with the flexibility for people’s schedules and locations. It also allows for updates to be posted multiple times a day.  If someone runs into an impediment they don’t have to wait until the next morning to seek the team’s help. The chat application is well sized as a communication medium for this problem.  Phone calls or face-to-face meetings can be highly disruptive.  Developers are forced to drop what they are doing immediately.  It can take from 10 to 25 minutes or more to recover from the interruption.  Email on the other hand can become too long winded.  It lacks the brevity that chat encourages.  When email is used as chat the large number of chat emails can make drowned out the important emails.  Chat seems to be a happy median between these extremes.  It is brief and it can be easily deferred and non-interruptive when desired. Chat can also improve the interpersonal relationships on a team.  Instead of the only team communication being at a biweekly manager-supervised sprint planning meeting, communication occurs daily.  Most developers know how disruptive face-to-face communication can be, therefore they avoid it.  Chat is less formal, non-intrusive vehicle for developers to interact. Getting Started – The Daily Stand-up So to get started using a chat application on a developer team, I’d suggest starting with the Daily Stand-up 3 Questions:  What I did yesterday, today, and impediments.  That is the standard format for the physical stand-up meeting.  I don’t think that chatting about yesterday is needed, because all the chat history is there.  But letting people know what you are about to work on and anything getting in your way is critical. No Surprises Chat can be used to post whenever[...]

HttpModule event execution order for multiple modules

Mon, 17 Oct 2016 17:06:29 GMT

Originally posted on: did some tests to find out the event execution order for multiple HttpMoudles in ASP.NET. Here is the what I found:When there are multiple HttpMoudles, and the modules are registered in Web.config,  all event handlers are executed in the SAME order in which they were registered, except PreSendRequestHeaders and PreSendRequestContent which are in REVERSE order.Here is an example, suppose we have 3 modules registered in Web.config in following order.                          An event, for example BeginRequest, first Module1's BeginRequest will be executed then Module2's and the Module3's. This is true for all events except PreSendRequestHeaders  and PreSendRequestContent which are in following order:Module3's PreSendRequestContent then PreSendRequestHeaders   Module2's PreSendRequestContent then PreSendRequestHeaders   Module1's PreSendRequestContent then PreSendRequestHeaders   So they are in REVERSE order and PreSendRequestContent  and PreSendRequestHeaders in the same module are executed one after another then next module.In terms of events in one module, this is the execution order:BeginRequestAuthenticateRequestPostAuthenticateRequestAuthorizeRequestPostAuthorizeRequestResolveRequestCachePostResolveRequestCacheMapRequestHandlerPostMapRequestHandlerAcquireRequestStatePostAcquireRequestStatePreRequestHandlerExecutePostRequestHandlerExecuteReleaseRequestStatePostReleaseRequestStateUpdateRequestCachePostUpdateRequestCacheLogRequestPostLogRequestEndRequestPreSendRequestContentPreSendRequestHeadersRequestCompletedThis result pretty much confirms what this MSDN document states.Here is full result from my tests:BeginRequesto   Moudle1o   Moudle2o   Moudle3AuthenticateRequesto   Moudle1o   Moudle2o   Moudle3PostAuthenticateRequesto   Moudle1o   Moudle2o   Moudle3AuthorizeRequesto   Moudle1o   Moudle2o   Moudle3PostAuthorizeRequesto   Moudle1o   Moudle2o   Moudle3ResolveRequestCacheo   Moudle1o   Moudle2o   Moudle3PostResolveRequestCacheo   Moudle1o   Moudle2o   Moudle3MapRequestHandlero   Moudle1o   Moudle2o   Moudle3PostMapRequestHandlero   Moudle1o   Moudle2o   Moudle3AcquireRequestStateo   Moudle1o   Moudle2o   Moudle3PostAcquireRequestStateo   Moudle1o   Moudle2o   Moudle3PreRequestHandlerExecuteo   Moudle1o   Moudle2o   Moudle3PostRequestHandlerExecuteo   Moudle1o   Moudle2o   Moudle3ReleaseRequestStateo   Moudle1o   Moudle2o   Moudle3PostReleaseRequestStateo   Moudle1o   Moudle2o   Moudle3UpdateRequestCacheo   Moudle1o   Moudle2o   Moudle3PostUpdateRequestCacheo   Moudle1o   Moudle2o   Moudle3LogRequesto   Moudle1o   Moudle2o   Moudle3PostLogRequesto   Moudle1o   Moudle2o   Moudle3EndRequesto   Moudle1o   Moudle2o   Moudle3PreSendRequestContento   Moudle3PreSendRequestHeaderso   Moudle3PreSendRequestContento   Moudle2PreSendRequestHeaderso   Moudle2PreSendRequestContento   Moudle1PreSendRequestHeaderso   Moudle1RequestCompletedo   Moudle1o   Moudle2o   Moudle3Final thought: It is not a good idea to have multiple http modules which rely on modules's execution order. Even though the order does seem to be predictable, it is error prone and hard to to debug. It may also have some performance cost. If there is modules which is dependent on another, it'd better just combine them into one. [...]

RabbitMQ vs MSMQ (High Level Differences)

Mon, 17 Oct 2016 03:15:10 GMT

Originally posted on: RabbitMQ MSMQ Centralized queuing. Decentralized queuing. Multiplatform (Linux, Windows, Mac, etc) Windows only Standard based (AMQP) No standard    Centralized vs Decentralized: A message broker like RabbitMQ is a centralized message broker where messages are stored on a central or a clustered server and client/subscriber does pubsub from this central server.MSMQ is decentralized and each machine has its own queue. Client can send messages to a particular queue and the subscriber can retrieve the message from that particular queue. Multiplatform vs Windows only: RabbitMQ is multiplatform message broker so clients from any platform can read/write messages to/from RabbitMQ. It also has client libraries written in .NET, Java, Erlang, Ruby, Python etc. Integration is easy.MSMQ is a windows machine only messaging system. Standards vs No Standards: RabbitMQ follows one of the standard called AMQP (Advanced Messaging Queuing Protocol). If you have multiple platform taking with each other than RabbitMQ is a better option.MSMQ uses its own proprietary messaging format. If you have a use case of windows machine talking with windows machine than MSMQ can suffice that use case.  [...]

Extreme Ownership : Cover & Move

Thu, 13 Oct 2016 02:47:18 GMT

Originally posted on: Notes from 'Extreme Ownership' by Jocko Willink & Leif Babin Cover and Move I was so focused on our own squads dilemma, I didn’t think to coordinate with the other team, OP1, to work together. This was the first rule in Jocko's Laws of Combat - Cover and Move We had operated independently, failing to support or help each other. It was foolishness to not work together. We were all trying to accomplish the same mission We should have utilized every strength and tactical advantage possible The most important tactical advantage we had was working together as a team, always supporting each other. I had become so immersed in the details, decision points, and immediate challenges of my own team that I forgotten about the other team, what they could do for us and how we might help them. Principle Cover and Move: put simply - cover and move means teamwork. Mutually supporting one another for that singular purpose. Departments and groups within the team must break down silos - depend on each other and understand who depends on them. Often, when smaller teams within the team get so focused on their immediate tasks, they forget about what others are doing or how they depend on each other teams. The focus must always be on how best to accomplish the mission. When the team succeeds, everyone within and supporting the team succeeds. Application to Business While he was right that they were a different company, both companies fell under the leadership of the same parent company. What you just called the worst part should be the best part - you are both owned by the same corporation - so you have the same mission - and that is what this is all about, the overall mission, the overall team. Not just your team, but the whole team, the entire corporation - all departments within your company - you must all work together and support each other as one team. The enemy is all the other competing companies in your industry that are vying for your customers. You are all on the same team - you have overcome the 'us versus them' mentality and work together, mutually supporting one another. The production manager must now be willing to take a step back and see how this production team's mission fit into the overall plan Its about the bigger strategic mission How can you help this subsidiary company do their job more effectively so they can help you accomplish your mission and you can all win. Engage with them Build a personal relationship with them Explain to them what you need from them and why. Make them part of your team, not an excuse for your team. Depended on them and they depended on us - so we formed relationships with them and worked together  to accomplish the overall mission. Work together to win. [...]

Extreme Ownership : Check The Ego

Tue, 11 Oct 2016 02:40:39 GMT

Originally posted on: Notes from 'Extreme Ownership' by Jocko Willink & Leif Babin Check the Ego Task Unit Bruiser, we were confident and perhaps even a little cocky - but I tried to temper that confidence by instilling a culture within our task unit to never be satisfied; we pushed ourselves harder to continuously improve our performance. If U.S. forces were to win in Ramadi, I saw right away that all of us had to work together and support each other. But if the US forces were to win this difficult fight here in Ramadi, we would all need to check our egos and work together. We established a precedent that in TU Bruiser we would treat our Army and Marine brothers with nothing but the highest professional respect and courtesy We sought ways to work together with these units in support of one another. The goal was simple - secure and stabilize Ramadi. Highest level of discipline. Discipline in such a situation started with little things - with that, the more important things fell into place. Discipline created vigilance and operational readiness, which translated to high performance and success on the battlefield. We had to all work together towards the same goal of defeating that insurgency, we couldn’t let ego get in the way. Our mission is to defeat this insurgency, we cant let our egos take precedence over doing what is best to accomplish that. It was about the mission and how we could best accomplish it and win. When they attempted to pass this valuable information on to the new unit - their advice was shunned. Overconfidence was risky in such a hostile environment. Be ready to support each other. Everyone had to share operational details of plans as much as they could in order to ensure an synchronized effort. It was essential to coordinate and keep other units informed in order to give everyone the greatest chance of survival and prevent fratricide. Principal Ego clouds and disrupts everything - the planning process, the ability to take good advice, the ability to accept constructive criticism. It can even stifle someone's sense of self-preservation.  - the most difficult ego to deal with is your own. Everyone has an ego - ego drives the most successful people in life. When ego clouds our judgement and prevents us from seeing the world as it is - then ego becomes destructive. Implementing extreme ownership requires checking your ego and operating with a high degree of humility. Admitting mistakes, taking ownership and developing a plan to overcome challenges are integral to any successful team. We can't ever think we are too good to fail or that our enemies are not capable, deadly and eager to exploit our weaknesses. We must never get complacent. Application to Business Why do you think he would do that? That means you will have to check your ego in order to have a constructive discussion with him and get this under control It is critical that the troops grasp how what they do connects to the bigger picture. As a leader, it is up to you to explain the bigger picture to him - and to all your front line leaders - that is the critical component of leadership This is another critical component of leadership - dealing with people egos Ownership of everything - this isn't his fault, it's yours - you are in charge, so the fact that he didn’t follow procedure is your fault. If you approached[...]

Extreme Ownership : Believe

Mon, 10 Oct 2016 05:07:06 GMT

Originally posted on: Notes from 'Extreme Ownership' By Jocko Willink & Lief BabinBelieve Questioning the Mission When we know the man covering our 'six'(backside) is someone who has been through the same training, has the same gear, and speaks the same language - someone we trust In the SEAL Teams - the bond of our brotherhood is our strongest weapon. I knew my actions and mind-set carried great weight among my troops These were my orders - and for me to lead I had to believe - so I kept my doubts to myself and asked the simple question - why? That led to another question - what was winning? They did have to understand why they were doing it so that they could believe in the mission. The most important question had to be answered: Why? If I expressed doubt or openly questioned the wisdom of this plan in front of the troops, their derision towards the mission would increase exponentially. They would never believe in it - as a result, they would never commit to it, and would fail. Principal In order to convince and inspire others to follow and accomplish a mission the leader must be a true believer in the mission. If a leader does not believe, he or she will not take the risks required to overcome the inevitable challenges necessary to win. Far more important that training or equipment, a resolute belief in the mission is critical for any team or organization to win and achieve big results. Every leader must be able to detach from the immediate tactical mission and understand how it fits into strategic goals. Why are we being asked to do this? In any organization, goals must always be in alignment. Belief in the mission ties in with the fourth law of combat - Decentralized Command The leader must explain not just what to do - but why. Only when leaders at all levels understand and believe in the mission can they pass that understanding and belief to their teams so that they can persevere through challenges, execute and win. Application To Business Ok, but why do you think they are implementing this plan. CEO: 'I think they get the business, and I think they know what we are trying to do. So there really isn't much that they would need to confront me on.' A common misconception among military leaders or corporate senior executives, this was an example of a boss who didn’t fully comprehend the weight of her position. 'Your mid-level managers don't fully understand those points, they don’t understand why - and so they don’t believe in the strategy. If they don’t believe, neither will your sales force. If this plan rolls out and those executing it don’t believe in it - your plan is far more likely to fail.' Who is to blame for the CEO not explaining this to you in more detail - that’s right, You! - that is what extreme ownership is all about. It is up to you to ask questions until you understand how and why those decisions are being made. Not knowing why prohibits you from believing in the mission. Leadership isn't one person leading a team - it's a group of leaders working together, up and down the chain of command, to lead. People talk about leadership requiring courage - it takes courage to go to the CEO's office, knock on her door and explain that you don’t understand the strategy behind her decision. If you ever get a task or guidance or a mission that y[...]

Agile Planning and Estimation

Mon, 10 Oct 2016 13:45:50 GMT

Originally posted on:
This slide gives an excellent overview of Agile Planning and Estimation..

Will be really helpful, if presented to a Scrum/Agile Team to understand activities related to Release Planning, Sprint Planning and Estimation.

CSProj to XProj: Supporting .NET Core using the Preview tools

Fri, 07 Oct 2016 04:52:52 GMT

Originally posted on: the RTM of the lovely .NET Core, I've now added support for .NET Standard 1.0 to ReadableExpressions and AgileMapper. Targeting .NET Standard 1.0 gives support for the following for free! .NET Core .NET Framework 4.5 Mono and Xamarin Universal Windows Platform 10.0 Windows 8.0 Windows Phone 8.1 Windows Phone Silverlight 8.0 Both libraries previously supported .NET 4.0, so the NuGet packages also contain a .NET 4.0 assembly. Targeting .NET Standard was... non-trivial. Y'see, while .NET Core is at RTM, the tools for Visual Studio 2015 are still in preview. I thought maybe Visual Studio 15 might work, so I got Preview 5 aaaaaaand... said no. Oh well –  using the Dapper and AutoMapper codebases as examples to help me along the way, here's how I added the support using VS2015 Update 3. Replace csproj with xproj xproj may not be here to stay (boooooooo), but if you want to cross-compile a library – build one assembly for, e.g. .NET Standard 1.0 and .NET 4.0 – this is currently how it's done. So! I removed the old, out-dated Class Library project: ...and added a new, sparkly .NET Core one: ...naming the new project something different to the old csproj library of course, because that still existed on disk. Next, I removed the new project: ...and headed to windows explorer where I renamed it to match the old csproj, and moved it and its project.json into the original csproj folder. Then I re-added it to the solution, giving me this: Because of the wonder of xproj, the folder contents all show up without having to manually add them. Hurrah! Sort out project.json project.json is also apparently not here to stay (boooooooo x2), but again – this is how it's currently done. The default file looks like this: { "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.6.0" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" } } } ReadableExpressions was on v1.6.5 at the time and I wanted to support .NET Standard 1.0 and .NET 4.0, so I updated it to this: { "version": "1.6.5-*", "frameworks": { "netstandard1.0": { "imports": "dnxcore50", "dependencies": { "NETStandard.Library": "1.6.0" }, "buildOptions": { "define": [ "NET_STANDARD" ] } }, "net40": {} } } You may notice I moved the NETStandard.Library dependency into the dependencies section for the netstandard1.0 target – that's not necessary, I just did it as a kind of OCD thing, because that's the only target that requires that library. I defined the conditional compilation symbol NET_STANDARD so the code could distinguish between its .NET Standard1.0 and .NET 4.0 versions – more on that later – and manually updated the version number. In a csproj I can link to a shared version number file, but as far as I can tell the way NuGet packages are produced for .NET Core requires the version number to be in the project.json. Shame. Polyfills! With these changes made to the project.json, I started getting errors about the DynamicExpression class not being supported: There's a couple of things to note in that screenshot: The highlighted drop-down at the top of the image includes the two targets I specified in the project.json – you can switch between the targets to see how the code looks for each The error in the Error List is for project ReadableExpressions..NETStandard,Version=v1.0, specifying the target where it occured I removed this code from the .NET Standard version by wrapping the whole class with #if !NET_STANDARD / #[...]

Remove (and stop) all Docker Containers (and Images)

Fri, 07 Oct 2016 01:52:29 GMT

Originally posted on:


A simple one-liner to stop all the containers and then remove them

docker rm -f $(docker ps -a -q)


And similar for all images:

docker rmi $(docker images -q)


Extreme Ownership: No Bad Teams - Only Bad Leaders

Thu, 06 Oct 2016 06:03:02 GMT

Originally posted on: Notes from 'Extreme Ownership' by Jacko Willink & Leif Babin No Bad Teams, Only Bad Leaders It pays to be a winner Hell week is not a fitness test - it was not a physical test - but a mental one Success resulted from determination and will, but also from innovation and communication within the team. The boat crew leader bore responsibility for the performance of his boat crew. - each member of the boat crew had to perform, but the leader received the most scrutiny from the instructor staff. Point was driven home by the SEAL instructors - who constantly reminded the students - "It pays to be the winner" Giving detailed and intentionally complicated instructions to the boat crew leaders - who in turn briefed their men and executed the instructions as best they could in their exhausted state. The SEAL command to being was 'Stand by…bust em' They compensated for each other's weaknesses, helped each other, and took pride in winning, which had its rewards. They were winning and morale was high. Rather than working together as a team - the men were operating as individuals, furious and frustrated with their teammates. SEAL officers were expected to perform like everyone else, but more importantly, they were also expected to lead "Let's swap out the boat crew leaders from the best and the worst crews and see what happens." Only a single individual - the leader would change. Glaring, undeniable example of one of the most fundamental and important truths at the heart of extreme ownership: there are no bad teams, only bad leaders. Leadership is the single greatest factor in any team's performance. - whether the team succeeds or fails is all up to the leader. The leaders attitude sets the tone for the entire team - the leader drives performance or doesn’t. I discovered that it was far more effective to focus on their efforts not on the days to come or the far distant finish line - but instead on a physical goal immediately in front of them. If we could execute with monumental effort just to reach an immediate goal that everyone could see - we could then continue to the next attainable goal and then the next. The concept of no bad teams, only bad leaders was a difficult one to accept but nevertheless a crucial concept that leaders must fully understand and implement to enable them to most effectively lead a high performance team. Leaders must accept total responsibility, own problems that inhibit performance, and develop solutions to those problems. Five week long junior officer training course - a program focused on their leadership development. If their platoons underperformed it was up to them to solve problems, overcome obstacles and get the team working together to accomplish the mission. Principle There are no bad units - only bad officers. When leaders who epitomize Extreme Ownership drive their teams to achieve a higher standard of performance - they must recognize that when it comes to standards, as a leader, its not what you preach its what you tolerate. Leaders must ensure that tasks are repeated until the higher expected standard is achieved. Leaders should never be satisfied - they must always strive to improve and they must build that mind-set into the team. The best teams anyw[...]

Extreme Ownership : Blame

Tue, 04 Oct 2016 06:06:43 GMT

Originally posted on: Notes from 'Extreme Ownership' by Jocko Willink & Leif BabinIntroductionProper understanding and application of the Laws of Combat Leadership: The Single Most Important Factor Without a team - a group of individuals working to accomplish a mission - there can be no leadership The only meaningful measure of a leader is whether the team succeeds or fails For all the definitions, descriptions, and characterizations of leaders - there are only two that matter Effective and ineffective. Effective leaders lead successful teams that accomplish their mission and win Ineffective leaders do not. Every leader and every team as some point or time will fail and must confront failure. For leaders, the humility to admit and own mistakes and develop a plan to overcome this is essential to success. The best leaders are not driven by ego or personal agendas - they are simply focused on the mission and how best to accomplish it. The Battle of Ramadi provided a litany of lessons learned which were able to capture and pass on. The greatest of these was the recognition that leadership is the most important factor on the battlefield. The single greatest reason behind the success of any team. Mentorship from the right leaders is critical Placed new emphasis on training leaders in critical decision making and effective communication in high-pressure situations to better prepare them for combat. The must believe in the cause for which they are fighting. They must believe in the plan they are asked to execute, and most important, they must believe in and trust the leader they are asked to follow. The same principles that make SEAL combat leaders and SEAL units so effective on the battlefield can be applied to the business world with the same success. The leadership and teamwork concepts contained in this book are not abstract theories, but practical and applicable. Organization and Structure Extreme Ownership - leaders must own everything in their world There is no one else to blame Book is in three parts Winning the War Within Develops the fundamental building blocks and mindset necessary to lead and win The Laws of Combat Covers the four critical concepts that enable a team to perform at the highest level and dominate. Sustaining Victory Discusses the more nuanced and difficult balance that leaders must navigate in order to maintain the edge and keep the team perpetually operating at the highest level. Their proper application and understanding ensure effective leaders and high performing teams that produce extraordinary results Enabling leaders to fulfill their purpose - lead and win. Extreme Ownership They were looking for someone to blame - and most likely someone to 'relieve' - someone to fire. Serious mistakes made by many individuals both during the planning phase and on the battlefield during execution. There was only one person to blame for everything that had gone wrong on the operation - me. I was responsible for everything in Task Unit Bruiser - I had to take complete ownership of what went wrong. That is what a leader does - even if it means getting fired. If anyone was to be blamed and fired for what happened - let it be me. There[...]

AgileMapper: a zero-configuration, highly configurable, transparent, id-aware object mapper

Mon, 03 Oct 2016 09:05:49 GMT

Originally posted on: readers of my blog (maybe even both of you) will have seen sporadic references to 'my pet mapper project', going back to my first use of NDepend in December 2013. I've actually thrown it away and restarted a few times since January 2013, but it's now – finally! – in a beta stage I'm happy to talk about. Given AutoMapper and ValueInjecter, why write a mapper? Well… I spent the second half of 2012 working on an insurance application which required a lot of mapping between objects with 30 – 50 fields each. We did it all manually because we couldn't find a way in any of the available mappers to see what would and wouldn't be mapped I thought it would be useful to have a mapper which can map anything to anything without configuration – like ValueInjecter – but with a friendly, fluent API for configuration when necessary – like AutoMapper I thought it would be useful to have a mapper which – also without configuration – can pair up and update source and target objects using their identifiers It's a difficult project (seriously – try it), so working on it and solving the problems therein would make me a better programmer So I've written a mapper which solves the above problems. Highlights Create new objects from existing objects or perform deep clones var customer = new Customer { Name = "Barney" }; var customerDto = mapper.Map(customer).ToANew();var clonedCustomerDto = mapper.Clone(customerDto); Update existing objects in an id-aware manner var dtos = new[] { new CustomerDto { Id = 1234, Name = "Maggie" }, new CustomerDto { Id = 5678, Name = "Lisa" } }; var customers = new[] { new Customer { CustomerId = 5678 }, // Name updated to 'Lisa' new Customer { CustomerId = 1234 } // Name updated to 'Maggie' }; mapper.Map(dtos).Over(customers); View (and cache) a mapping execution plan for mapping two types var plan = mapper.GetPlanFor().ToANew(); // 'plan' looks like this: Other Stuff You can use it via a static or instance API It performs object merges It parses and converts numeric types, Guids, DateTimes and strings out of the box It maps lists, collections, enumerables and arrays out of the box It maps to constructor argumentsIt handles circular references out of the box You can configure custom data sources, members to ignore, callbacks at precise points within a mapping, custom object factories, exception handling, naming patterns with which to match members… and more! Check it out! AgileMapper is free, MIT licensed, available at version 0.3 on NuGet, and can be installed via the package manager console with: PM> Install-Package AgileObjects.AgileMapper It's hosted on GitHub with a pretty decent wiki, and the public API is all documented. I'll be reporting on and fine-tuning performance over the coming weeks, as well as adding new features like better support for Dictionaries. If you give it a try and find a bug please feel free to add it on GitHub. Enjoy! [...]

Uninstalling Visual Studio (Really, Really Uninstalling it)

Wed, 28 Sep 2016 01:58:11 GMT

Originally posted on:

Sometimes Visual Studio updates don’t go as planned.  I recently tried applying SP3 to my VS 2015 install only to have to die. Attempts to remove Visual Studio resulted in multiple failures, even when VS appeared to uninstall correctly, attempts to reinstall failed.


As I made preparations for a complete rebuild of my development PC, a friend of mine sent me a link to the Visual Studio Uninstaller.  Written by the folks at Microsoft, it is the “scorch the earth”, last ditch option for uninstalling visual studio.


It took a while to run, and then re-install Visual Studio (with the SP) but it was successful in solving my problem, and prevented me from the dreaded “machine rebuild”.


here’s the link:


Things To Do in Atlanta During Ignite

Sat, 24 Sep 2016 03:25:09 GMT

Originally posted on:

Microsoft Ignite is this week, and I have a number of friends who are heading down (I'm not going this year, but had a great time last year when it was in Chicago).

I've been to Atlanta a couple of times and love the city (not just because my Falcons play there), so here's a short list of things to see and do while in Atlanta.

World of Coca-Cola

There's a saying that the toughest job in the world is being a Pepsi sales rep in Atlanta. Home to Coke, Atlanta has a great museum dedicated to the history of the beverage. In addition to the history, walking through a small-version of a bottling plant, and other attractions, at the end you get to sample Coke products from all over the world.

Georgia Aquarium

Amazing aquarium - the ginormous tank with various fish including a whale shark (!) is worth the visit alone, but this aquarium has multiple exhibits and was a lot of fun.

Waffle House

If you're going to be in the Southern US, you gotta hit up Waffle House at least once for breakfast! Diner-type food and a chain we don't have here in Canada.

Atlanta Braves Baseball

If you've never been to a MLB game before, definitely consider taking some time away from Ignite to go check out a Braves game. Tickets are cheap, and the atmosphere and experience is amazing. When I went we got tickets in the outfield but it was a great view and a relaxing afternoon at the ball park. US sports food is insane too.

Quickshot Shooting Range

OK, so this won't be for everyone but if yelling "GET TO THE CHOPPA" before burning through 500 rounds into a zombie target via a semi or fully automatic weapon sounds fun, then you have to check out Quickshot. Quickshot is a shooting range chain in Georgia and when I went with my buddy we had a great time! Staff were very friendly, patient, and professional. There was a huge range of guns available - just be prepared to drop a few hundred.

Ignite will keep people busy for most of the week, but if you want to tour the city on your own these are some great highlights. Yes - Waffle House is a highlight, don't judge me.


You Win in Locker Room First : Caring

Fri, 23 Sep 2016 01:30:50 GMT

Originally posted on: Notes from 'You Win in the Locker Room First' By Jon Gordon & Mike SmithCaring Relationships are the foundation upon which winning teams are built - and all great relationships are based on value, respect, love, trust and care. Caring is a Strategy Jonathan Ive: designed many of apples products said "we believe our customers can sense the care we put into our products I believe caring is one of the greatest success strategies of all The greatest organizations on the planet care about the work they do, the products they create, and the services they provide. Caring trademark - this causes them to stand out from the competition. When you care you stand out in a world where so many seem like they don’t care. Care More 'Who here believes they can work harder than they currently do?' Every guy on the team raised their hand. Next question is - 'if you know you can work harder - then why don't you?' To work harder you have to care more. When you care a bit more -  you give a little more time, a little more effort, a little more energy. You may be a good team -- but to be a great team you have to care more. Its hard to measure and quantify caring. Feel there is something different about them. People who are part of a team that cares think, act, lead and serve differently. Pittsburg Pirates Creed - post throughout the facility GM said "our goal is to be the most cohesive team in the world and our mindset is to focus on the process of getting better every day. There was no talk of home runs, wins, or losses - just purpose, process and teamwork. Pirates have discovered - that it's not the numbers that motivate people - it’s the culture, caring, and purpose that drives the numbers. If you want to win - you don’t focus on winning. Your leaders and managers have to model it for your team to live and breathe it. Clint Hurdle Clint is a big man with a bigger servants heart. He wants to win but he's more interested in helping his players become winners. Ive found that a great leader who cares builds a team that cares. Creating a Culture of Caring To build a winning team it's essential to build a culture of caring Find ways to extend yourself to others and serve them. People know you care when you go out of your way to show them they matter. Never underestimate the importance of making time to make someone feel special. Caring is the ultimate team-building strategy. People make it complicated but its simple. Care about the work you do. Surround yourself with people who care. Show your team you care about them. Build a team that cares about one another. Together show your customers/fans/students/patients that you care about them Make caring a strategy. Show You Care We forget to show we care. We don’t take the time to let others know we care about them. Take a sincere interest in their professional work and personal lives. When you care about your team they will give their all to you. My team knows that I cared about them. I believe that, at the end of the day, what matters most is [...]

You Win in Locker Room First : Commitment

Wed, 21 Sep 2016 06:29:53 GMT

Originally posted on: Notes From 'You Win in the Locker Room First' By Jon Gordon & Mike SmithCommitment It's not about you It's about committing yourself to your team. Commit if You Want to Commit The hen is involved in creating the eggs for breakfast, but the pig is committed. He has to sacrifice everything To be a great leader, coach and team member you must be more than involved - you must be committed. Self-evaluation to make sure that his or her level of commitment is greater than that of anyone else in the organization. Create the right environment for your team to thrive, grow, improve and enjoy the journey. You have to show your team that you are willing to do whatever it takes to help them be the best they can possibly be regardless of their stage of growth. Commitment is something you should spend more time demonstrating than talking about. When you are committed, everyone knows it and your team feels it. There's no way you will get buy-in unless you demonstrate your commitment to them first. They have to know that you are there to serve, teach and coach. You demonstrate this commitment each day with the time you give your team and your willingness to server them and help them improve. Commitment Begins with the Leader I knew Arthur Blank, teams owner, was a man who was committed to his team and to winning. Co-founder of Home Depot - was always impressed with how the associates in the stores were so helpful. They  made it clear that they were there to serve people I knew this commitment to service didn’t begin on the front lines an in the stores - to have such committed employees, I knew Arthur Blank had to be a man who believed in serving his team. Commitment begins at the top. Feeling is More Powerful than Seeing Coach K took his the USA team to West Point Coach K knew the players wouldn’t fully understand how special the place was by hearing him talk about it. They had to experience and feel it. "You can't talk about this place, see a movie about this place, you have to feel this place." Coach K new it was the same when talking about service and sacrifice The players may have understood the concept of service and sacrifice before, but after seeing the graves of fallen soldiers, listening to personal stories of service and sacrifice and feeling the loss of the family members, they truly got it. Feeling is more powerful than hearing. Your team must feel your commitment - not just hear it. When we hear from a leader - we will learn; but when we feel a leaders commitment - we will be transformed. Serve to Be Great A team feels a leaders commitment when the leader takes the time to serve. Great leaders know that their job is to serve teams When you serve the team, you help them grow and they help you grow. You can't serve yourself and your team at the same time You must decide if you are going to be a self-serving leader or a true leader who serves others. Self-serving leaders don't leave legacies that change the world for the better. True greatness is achieved when a leader brings out the great[...]

You Win in Locker Room First : Connect

Mon, 19 Sep 2016 09:36:26 GMT

Originally posted on: Notes from 'You Win in the Locker Room First' By Jon Gordon and Mike SmithConnect Communicating and Collaborating Leads to Connection A great benefit of communicating and collaborating is that they develop connections between you and your team members. Communication begins the process of building trust, collaboration fosters this process and enhances relationships - this leads to stronger connections between team members. A connected team becomes a committed team. The more I have worked with teams over the years, the more I realize that connection is the key to becoming a great team. Connection is the difference between a team that thrives and one that crumbles. One of the biggest complaints I receive from coaches is that their teams arent connected. They have a bunch of young men or women who usually focus on themselves, their personal goals, their social media followings, and their egos I have found that when coaches and players focus on becoming a connected team, the me dissolves into we. Team Beats Talent When Talent Isn't a Team If we are more connected, we will have a better chance of winning the tight, big games. Blown away by all he did to connect with his players and foster relationships between them - Billy Donovan. They are a great example of how a team beats talent when talent isn't a team. I truly believe when a coach and team connect with each other, commitment, teamwork, chemistry, and performance improve dramatically. We Got This Ravens 2000 Super Bowl team - was the most connected team I have ever been associated with. 2000 Ravens Head Coach: Brian Billick - navigating the team through five week drought without an offensive touchdown. He handled this with transparency, and even sometimes with humor so that our team would not get uptight. The defense focused only on what they could  control and they were very supportive of the offense as they worked through their slump When you are connected you are able to turn misfortune into fortune We had to stay connected as a team to achieve the outcomes we have worked so hard for. When you are connecting as teammates, you reach a level of confidence that will take you a long way in overcoming the issues that can cause dysfunction within the team. When your team is connected, you have this synergy within the organization that will not allow your team to disintegrate. Unplug From Technology and Plug Into People We live in a more connected world today than any time in history The technology that is meant to help us can harm us if we let it - the same goes for our connected devices. We are connecting less meaningfully. More guys are connecting with their devices than with each other. The best teams I have been around were teams that enjoyed being around each other. When you are a team that does not connect - you will be a team that fails to win. As a team you must recognize that importance of connecting with each other and identify ways you can make these connections happen. I don’t think our mobile devices should be our main[...]

DotNetters–it’s time to graph up

Fri, 16 Sep 2016 04:10:39 GMT

Originally posted on:

I recently wrote an article with Michael Hunger (of Neo4j) about getting your .NET on with Neo4j - – it’s time guys, it really is time!


Karma Test Results with TFS Build

Fri, 16 Sep 2016 00:54:34 GMT

Originally posted on:


1. Setup the Karma Trx Reporter.
2. Add Publish Results Build Step using  ../TestResults/**/karma-test-results.trx as the path.
3. If remote Vm for Jasmine tests, copy the .trx file to the Results directory.


Our team has been using JasmineJs for unit testing our client side JavaScript code. We now have over 3,000 tests! In order to run these tests on multiple browsers we useKarma, the "Spectacular Test Runner for JavaScript" created by people from Google to run all our tests on multiple browsers. We are also using Microsoft's TFS Build (which is leaps and bounds improved over the old XAML build system) to run our tests in Gated Check ins, create build artifacts (dlls, installers, Azure packages), deploy to test environments and all number of fun things.

The default output results in the build from Karma has not been very helpful, just saying 1 of 1 passed or 0 of 1. We'd then have to open up a .trx file and look through the output to find which test failed.


See the rest of the article at Gooroo.


You Win in Locker Room First : Communication

Thu, 15 Sep 2016 07:26:18 GMT

Originally posted on: Notes from 'You Win in the Locker Room First' By Jon Gordon and Mike SmithCommunicate When there is a void in communication, negativity will fill it. Fill the void with great communication. The Most Important Thing a Coach Can Do Doc Rivers: Head Coach LA Clippers - what was the most important thing he does as a head coach. I communicate with my team. Not just collectively as a team but individually. I have to know where each person is in order to lead them where I need them to be. Since I communicate often with them, I know who is struggling with a personal issues. I know who needs encouragement. I know who needs to be challenged. Communication is the foundation of every great relationship. Communication builds trust, trust generates commitment. Commitment fosters teamwork, and teamwork delivers results. Relationships are the foundation upon which winning teams are built and communication begins the relationship developing process. One on One Communication Get feedback on why the Falcons had struggled with consistency Met with every member of the team over a three week period. I realize it's not easy to consistently have one-on-one communication with everyone in the organization. The key is to meet with your leadership team and the people you lead directly. Make sure that they are communicating well with the people they lead If everyone does this throughout the organization, relationships, teamwork, and performance will improve dramatically. Listening Enhances Communication People often think of communication as talking, but for me it's all about listening The best communicators is the person who has the ability to listen, process the information, and use it to make decisions that are in the best interest of the team and organization. When you listen and hear what your team members are saying, you open the lines of communication and develop a team that is 'all in' Your team feels heard and buys in to your leadership because they know and feel that they are part of the process of building and sustaining success. One of the keys to listening and communicating is to ask the right people - the right questions. What's the Temperature Today To be the most effective leader possible - you have to know the temperature of the building Talking about the pulse of the team and the energy of the building. Having an accurate assessment of the mood of the building at all times will allow you to make the best decisions for your team or organization. By asking what the temperature was I not only learned more about the team but I also engaged different people throughout the organization and reinforced the fact that they were part of the process of being the best organization possible. As a leader you can't just speak to other leaders who have a similar vantage point as you. You have to engage people who are closest to the potential challenges facing your organization. Leading by Walking Around A big part of taking the temperature of[...]

Virtual Clone Drive issue after Windows 10 upgrade

Wed, 14 Sep 2016 17:02:31 GMT

Originally posted on:

Virtual Clone Drive worked great under Windows 7, allowing me to mount an ISO file as if a real CD.

Then I upgraded to Windows 10 and things seemed to work as before.

I later tried installing Visual Studio 2015 and the installation hung about 75% through.

After a couple of reattempts, I uninstalled the version of Virtual Clone Drive that was carried over from my previous Windows 7.  It was unneeded as Windows 10 supports mounting of ISO files.

When I reattempted the VS2015 installation, it finished to completion.

I see that a newer version of VCD is available and probably fixes the hang that occurred with my prior version.


You Win in Locker Room First : Consistent

Wed, 14 Sep 2016 06:08:02 GMT

Originally posted on: Notes from 'You Win in the Locker Room First' by Jon Gordon and Mike SmithConsistent If you are not consistent you will lose the trust your team has in you. When you lose trust you lose the locker room. Consistency Wins the Locker Room As a leader you must be consistent in your leadership style, approach, attitude, philosophy and tactics. If you are not consistent throughout the year you will lose your team's trust, and as soon as that happens, you lose the locker room and in turn lose games. The key is to be who you are and coach the way you do all year long no matter what your win-loss record is. Your team must know what to expect from you. They must see that you stick to your principles and philosophy through adversity and challenges. Consistency Wins in the Long Run Pete Carroll advice 'My greatest challenge right now is to be consistent myself. I must be the same guy all the time. I must be relentless in my pursuit of being consistent. I must discipline myself to be fully present so I can be in the moment with each and every person or player. Then we have a chance to maximize the moment together. My challenge is to be so consistent and optimistic, that every person in the organization feels that tomorrow will be better than today and we expect it to be.' It's Not OK to be Moody I told them that it was important for them to be consistent. I challenged them to be positively contagious I told them point blank that it's not okay to be moody When you are moody, people around you don’t know what to expect from you and this causes them to lose trust in you To build a winning team, you want to be consistent in your attitude, effort and actions. Be Consistent in Your Desire to Be Great The greatest players I have coached have a consistent desire to be great. Your desire is measured by your routine and preparation. Ray Lewis : his daily, weekly and yearly preparation was so detailed. His commitment to the process was unmatched by any other player. Following the routine and being consistent in your preparation. Jack knew that if you wanted to be great, you had to have a consistent routine that prepared you to be great. Complacency is a Disease Every team and organization must guard against the disease of complacency. The leader of the organization not allow the seeds of complacency to germinate within the team. You become complacent when team members start to believe that their prior successes are going to ensure that they will have success in the future. I should have done what I had done in previous years. Create more urgency Focus on our desire to be great Identify what we need to do to improve Focus on the process not the outcome. Complacency has led to the demise of many teams and organizations Companies because they were not looking forward and instead rested on their laurels while their competition was doing everything i[...]

Semaphores for better distribution of work items across threads

Tue, 13 Sep 2016 05:20:38 GMT

Originally posted on:  As developers we will often find ourselves doing loops/iterations to process hundreds, thousands or even millions of  items, e.g. parsing files, screen scraping sites, doing complex computations on multiple rows etc. To process these types of jobs, we can take a look on some supermarket lines, where we have 1 long line with several counters catering to 1 customer at a time, when a cashier is done with the current customer, one customer will be called from the line.  On the programming world we have what we call threading and semaphores and luckily .Net Offers built-in classes for these concepts . Threads allows us to do calculations on a separate thread while leaving the original/main thread busy on the GUI. Sempaphores allows us to process limited number of items within our list(collection of jobs that needs to be processed) by flagging them when a thread is already available   Below is the resulting output from the code below   Text files will be generated on the bin directory   Below is a short code that connects to multiple sites and saves the HTML code that is returned. using System; using System.Net; using System.Threading; namespace Semaphores {     class Program     {         private static Semaphore sem;         private static int workCount;         private static int totalJobs;         private static int maxJobs = 3;         public static void Main()         {             string[] webSites= new string[100];             sem = new Semaphore(0, maxJobs);             webSites[0] = "";             webSites[1] = "";             webSites[1] = "";             webSites[2] = "";             webSites[3] = "";             webSites[4] = "";             webSites[5] = "";             webSites[6] = "";             webSites[7] = "";             webSites[8] = "";             webSites[9] = "";             webSites[10] = "";             totalJobs = 0;               //send all works to the queue             for (int i = 0; i <= 10; i++)             {                 Thread thread = new Thread(new ParameterizedThreadStart(Worker));                 thread.Start(webSites[i]);             }                                    Thread.Sleep(500);          [...]

You Win in Locker Room First : Contagious

Tue, 13 Sep 2016 06:07:37 GMT

Originally posted on: Notes from 'You Win in the Locker Room First' by Jon Gordon and Mike SmithContagious Germ or Vitamin C Research shows that when you have feeling in your heart - it goes to every cell in the body - then outward and other people up to 10 feet away can sense feelings transmitted by your heart. This means that each day you are broadcasting to  your team how you feel. You are either broadcasting positive energy or negative energy. Research from Harvard also supports the idea that emotions you feel are contagious and affect people around you. Each member of your team is contagious and every day you all are either sharing positive or negative energy with each other. Are you going to be a germ to your team or a big dose of Vitamin C Great leaders and teams are positively contagious with a vision and purpose that drives them. Contagious with a Vision and Mission A powerful way for leaders to be contagious is to share a positive vision and mission with their team. Your vision and mission should be simple, clear, bold and compelling. Your success comes from your team's commitment to a vision and purpose. I believe that a vision and mission should include the greatness you want to chase with a focus on the character traits and purpose that inspire you to get there. Research shows that people are most energized when they are contributing to a bigger cause beyond themselves. As a leader - inspire your team to move beyond their own selfish desires and concerns and contribute to a cause bigger than them. Contagious with Your Belief Often the difference between success and failure is belief. Does your team believe they can win? Have their preparation, practice, and focus given them the confidence that they can? Pete Carroll - the world trains people to be pessimistic…one of the most important things I must do here is to make sure my players and staff believe that tomorrow will be better than today. Leadership is the transfer of belief. I'm convinced one of the most important things a leader must do is to be positive and optimistic. Duke University found that optimistic people work harder, get paid more, win at sports more regularly, get elected to office more often and live longer. Clemson Football coach - Dabo Swinney : people call me an overachiever, but I'm not an overachiever. I'm an overbeliever Dabo believes in his team so much that he inspires them to believe in themselves. Every meeting with his team in an opportunity for him to tell them what they can achieve if they truly believe. Steve Jobs: famous for what Apple employees called his 'Reality distortion field' Steve's team said he distorted their reality from pessimism to optimism. Contagious with a Positive Attitude Wrote down the expectations I had for myself The first one that I wrote down in my notes was 'never a bad day, only bad moments' So instead of all[...]

You Win in Locker Room First : Culture

Mon, 12 Sep 2016 03:55:40 GMT

Originally posted on: Book Notes from 'You Win in the Locker Room First' By Mike Smith & Jon GordonCulture Culture drives expectations and beliefs - expectations and beliefs drive behavior; behavior drives habits; and habits create the future. It all starts with culture I was going to turn this team around, the first step would be to focus on transforming the culture I knew the biggest priority was to create a winning culture in which every member could thrive and excel. This meant we would not only have to create the right culture for the team but also for the rest of the organization. Build your culture up and down Always believed that culture is defined and created from the top down But it comes to life from the bottom up. I had to build our culture by working with the leadership group, coaching staff and football team. Discuss the changes we were making and why we were making them. We wanted to have team members who were going to positively represent the organization on and off the field. All of these moves were in line with the coaching: Philosophy Values Principles We were not going to be adding any outliers to our organization, no matter how much talent they had. Meetings about personnel always involved what a player could bring to the locker room and the culture of the team. We both knew that building a team would be much more complex than just adding the best available athletes. I needed the owner and leaders to buy in and be an integral part of the process. We needed everyone in the organization to buy in. Everyone Creates Your Culture Culture exists of the shared purpose, attitudes, values, goals, practices, behaviors and habits that define a team or organization. To be successful, you need everyone in your organization thinking, believing, talking and behaving in sync. You need everyone aligned with the same beliefs, expectations, behaviors and habits. Have the team Jon Gordon's book - 'The Energy Bus' - gave it to everyone in the organization. I wanted us all thinking the same way. Spent a majority of the my time those first few months as head coach meeting with as many people as possible. It was important for them to know that their roles in the organization were important and that they were going to be an integral part of our team's success in the future. I wanted us to be one team with one culture. I let everyone know that my role was to assist them in doing their jobs and together we would build a winning team. X's and O'x are Overrated. The most overlooked aspect in team sports, and what most coaches leaders fail to grasp, is the fact that it is your culture that will determine whether your strategy works and is sustainable. It is your culture that will be the driving force to create the resiliency, toughness, passion, attitude to overcome the obstacles along the way X's and O's are important but cultur[...]

Conference season!

Sat, 10 Sep 2016 04:37:10 GMT

Originally posted on:’ve got a couple of couple of busy months coming up – I’m going to be attending one conference and speaking at three others. SharePoint Saturday Charlotte – Sept. 17, 2016 I attended my first very SharePoint Saturday in 2010, which was in Charlotte, just a couple of months before we moved to Charlotte.  It was a great event and I’ve attended nine SharePoint Saturdays (presented at half of them), so this year’s SharePoint Saturday Charlotte will be my tenth SharePoint Saturday! Starting last year, I volunteered to help organize it.  I had a sense of how much work these events are to put together after attending and speaking at some, but it wasn’t until I volunteered that I got a much more accurate picture of the huge amount of work they are.  My contribution is minimal compared with the effort others have put in, so this is more a thank you to them than a pat on the back for myself! This year’s event has a great mix of Microsoft employees, SharePoint MVPs, and local SharePoint experts as speakers.  (Click here to register to attend!)   Microsoft Ignite – Atlanta, Sept. 26-30, 2016 Ignite is shaping up to be a huge conference, not only for Microsoft in general, but SharePoint in particular.  I’m really excited that I get to attend.  I got a chance to go to the Microsoft SharePoint Conference 2012 in Las Vegas, which was a big conference, but Ignite is going to have twice the number of attendees.  Plus, I never got to attend TechEd, which Ignite also replaced. I’m looking to hear what Microsoft says about the future of forms and workflows in SharePoint, in particular, the story about replacing InfoPath and SharePoint Designer workflows.  I think PowerApps and Flows are the answer, but from what little I’ve seen, I don’t think they fully replace those older technologies yet.   The Building a Better Intranet Workshop – Oct. 3-4, 2016 I was invited to speaker a local workshop, as a guest speaker presenting a case study.  It was very cool to be approached to speak.  I think tickets are still available here.   SharePoint Engage – Raleigh, November 2-3, 2016 I found this conference when I was randomly searching for SharePoint conferences in the area last year.  I submitted to speak on a lark and I was chosen!  Boy am I glad I did.  The two day conference last fall in Raleigh was great – well organized and executed for both speakers and attendees. I was selected to speak again this year and I’m really looking forward to going back. (Tickets are still available --  click here to find out more info) [...]

Using Azure Compute Emulator With Windows 7? You Need This

Thu, 08 Sep 2016 04:12:13 GMT

Originally posted on:

If you're using the Azure SDK Tools higher than 2.7 and Visual Studio on Windows 7 you may see the following:


The exact error is a System.Net.NetworkInformation.NetworkInformationException of

"Invalid access to memory location". 

According to Microsoft this is caused by: 

A bug in legacy 64-bit operating systems caused the kernel address-conversion routines to incorrectly sign-extended the 32-bit address when converting to a 64-bit address. When the sign-extended memory address was accessed, it caused an Invalid Access to memory location with NativeErrorCode 998 error.

The fix however is super easy. It's fixed in Windows 8, so you should only see this in 7 or below. Here's the link to the hotifix you need. It's a quick install and reboot and you'll be up and running!

Are you an IIS Administrator? Do you want to be? Check out my new  IIS Administration Fundamentals course at Pluralsight! - J


Creating Powershell Modules the Easy Way!

Wed, 07 Sep 2016 07:44:59 GMT

Originally posted on: Powershell modules isn't hard, but the task has many nuances, and it can be difficult deciding what information is relevant. My own objective was very simple, and I suspect it's the most common scenario of all. I had a directory of .ps1 scripts, and I simply wanted to turn them into a module, so that I could write something like "Import-Module MyModule", and immediately have access to all the functions I had defined.To do this, here's the most basic set of tasks you need to perform (and then I'll give you a script to do all this automatically):1. Create the module folder within your $PSModulePath. If you have a locked down box then you may want to install modules into your local profile rather than system wide, but I've assumed you want to install to one of the default system locations2. Create a .psd1 manifest within this folder, giving it the same name as your module. You can do this by hand, but it makes more sense to call the New-ModuleManifest cmdlet3. Add the names of the files containing functions you want exported to the "NestedModules" attribute within your manifest4. Copy across the files you want in your module, renaming ".ps1" files to ".psm1"The script below does all this, and also includes support for module versioning. When you have multiple versions of the same module available, Powershell will resolve calls to the latest version. To use it, just point it at a directory of script file, make up a name for your module, and hit return. Once the module's been created, it'll be loaded automatically into memory, and any previous versions flushed out. You can check the methods exported from your module with (Get-Module someModule).ExportedCommands. Finally, perhaps the first thing you'll want to package is ... the Package-Module file itself! That way, the method will always be in scope when you need to create modules of your own. Enjoy!<#.SYNOPSISCreates a Powershell module and accompanying manifest from a set of script and/or module files.DESCRIPTIONCreates a Powershell module and accompanying manifest from a set of script and/or module files..PARAMETER PathThe path either to the script file or directory of files (.ps1, .psm1) from which the module should be created.PARAMETER ModuleNameThe name of the module. If the module already exists.PARAMETER ModuleVersionThe version of the module. If unspecified, defaults to -Path "C:\temp\ProjectResources" -ModuleName "MyModule" -ModuleVersion "".NOTES    Author:   Alex Hildyard    Date:     7th September 2016    Profile:    Blog:     http://geekswithblogs/alexhildyard.LINKhttp://geekswithblogs/alexhildyard#>function Package-Module{    Param(        [Parameter(Mandatory=$True, HelpMessage="Specify the path to a .ps1 or .psm1 file or directory of .ps1 or .psm1 files")]        [string]$Path,                [Parameter(Mandatory=$True, HelpMessage="Specify the module name to create or update")]        [string]$ModuleName,        [Param[...]

This is Lean - Operations Strategy

Wed, 07 Sep 2016 01:38:03 GMT

Originally posted on: Notes from 'This Is Lean' By Niklas ModigThis is Lean! Develop our definition of lean at the 'fruit level' How Toyota has implemented TPS within the car dealer operations in Japan Lean is an operations strategy that prioritizes flow efficiency over resource efficiency. The Lean Operations Strategy  We see lean as an operations strategy, as it concerns how an organization produces value. What matters is that the strategy involves Moving towards the upper right of the matrix Aiming for that star Lean operations strategy involves moving the organization to the right in the matrix by increasing flow efficiency. In the choice between flow efficiency and resource efficiency, the first priority is clearly to focus on flow efficiency. Taiichi Ohno - 'all we are doing is looking at the time line from the moment the customer gives us an order to the point when we collect the cash' By focusing on flow efficiency, an organization can also reduce a lot of superfluous work and waste. A lean operations strategy involves focusing on flow efficiency before resource efficiency It is hopefully clear that what prevents organizations from reaching the perfect state is variation It is vital in a lean operations strategy to eliminate, reduce and manage variation. Away from the Wild West Three problems with different definitions of lean Lean is defined at different levels of abstraction Lean is seen as a means to an end Lean is everything that is good - everything good is lean We have dealt with those problems (above) - by defining lean as an operations strategy The definition is at the 'fruit level' - high level of abstraction. Increasing the level of abstraction helps make lean applicable in different environments - Everything can be linked to a goal. The definition focuses on the goal of flow efficiency - it is important to understand why Toyota and other organizations that focus on flow efficiency do what they do The definition is non-trivial and makes it possible to define what lean is and what lean is not. It is important to emphasize that the means Toyota has used to increase flow efficiency many not me applicable in every environment. By defining lean as an operations strategy, we aim to show that lean is a strategic choice for all organizations. 'what value do we want to create, and how should we compete?'  Realizing a Lean Operations Strategy Lean is an operations strategy  - a strategy to achieve an objective. Prioritize high flow efficiency over resource efficiency. How does an organization become lean? The naïve foreigner Toyota Story -- "Can you tell me how you implement them in your service business? For example, how have you adopted the tools and methods for your s[...]