Reading list May 2018


AWS Partner Story: NASA

Reducing Latency and Shifting Compute to the Edge with Lambda@Edge

Protecting your API using Amazon API Gateway and AWS WAF — Part I

Authorization@Edge – How to Use Lambda@Edge and JSON Web Tokens to Enhance Web Application


Azure Functions Recipes

Azure Durable Functions vs Logic Apps: How to choose?

Break through the serverless barriers with Azure Functions

How to Azure Function App with Hybrid Connection

Receiving and handling HTTP requests anywhere with the Azure Relay

Announcing first-class support for CloudEvents on Azure

Azure SignalR Service, a fully-managed service to add real-time functionality

Designing Globally Resilient Apps with Azure App Service and Cosmos DB

Best practices using Azure Resource Manager templates

FHIR Server with Azure API Management

Azure Relay Hybrid Connections protocol


.NET Core 3 and Support for Windows Desktop Applications

Machine Learning made for .NET

C# – All About Span: Exploring a New .NET Mainstay

The Logical Disaster of Null

Why serverless computing is one of the biggest threats to containers

How to Migrate Existing Monoliths to Serverless


Understanding the Limitations of HTTPS

Inside OpenID Connect on

Developer assembles team to lead Hinchinbrook’s $450m overhaul


Three-day no-meeting schedule for engineers

10 Traits of a Great Manager, According to Google’s Internal Research

12 “Manager READMEs” from Silicon Valley’s Top Tech Companies

The one “fascinating” mind-training exercise Microsoft CEO Satya Nadella practices every day

To Be More Likable and Make a Great First Impression,Science Says First Do 1 Thing

4 Signs to Immediately Identify Someone With True Emotional Intelligence

Reading List April 2018


Optimize the performance and reliability of Azure Functions

Serverless design patterns for Azure Monitor & Azure Diagnostic Logs

Serverless Text Moderation with Azure Functions

Sending Push Notifications from a Azure Function



How we checked and fixed the 503 error and Performance issue in our Azure Function

What is the best event source for doing pub-sub with AWS Lambda

How to do fan-out and fan-in with AWS Lambda 

How to Build a Serverless App with S3 and Lambda in 15 Minutes

Building a serverless multi-region, active-active backend solution on AWS

How we serve 25M API calls from 10 scalable global endpoints for $150



Writing portable serverless applications

How to break a Monolith into Microservices

Why AI Is the ‘New Electricity’

Microservices Communication and Governance using Service Mesh

Security  API- Guidelines

The State of .NET in 2018

Google Increased New Employee Productivity by 25 Percent With 1 Email

Creating an OpenID connect system with Angular 5 and Identity server 4

2.6 Billion-Plus Data Records Breached Last Year

How Microsoft Made Me Love .NET Core And C# Again

Introducing Certificate Transparency and Nimbus Certificate Transparency (CT)

Dynamo DB 

CAP Twelve Years Later: How the “Rules” Have Changed

What Will Happen After a Huge Earthquake Inevitably Hits California

The Yellowstone supervolcano is a disaster waiting to happen

Why I broke the Facebook data story



Reading List March 2018


Going Serverless with Azure Functions 

Serverless Doorbell — Azure Functions and

Using Azure Serverless to copy data from Service Bus to Azure Data Lake

Dynamic Binding in Azure Functions

Azure security best practices and patterns 

Reliable Event Processing in Azure Functions

Decryption with Azure Key Vault 

Build an Alexa skill using Azure Functions

Microsoft releases automation for HIPAA/HITRUST compliance 

How to use Azure Relay WCF relays with .NET

Using Azure DevOps Project

GDPR and the End of Reckless Data Sharing

7 Items No API Documentation Can Live Without 

Many-faced threats to Serverless security 

Making an Azure static website EVEN MORE secure 

How to build your own serverless platform 

Service Fabric Customer Profile 

Step by Step Azure File Sync – on-premises file servers to #Azure Files


Building Distributed Locks with the DynamoDB Lock Client  

Why AWS Lambda and .zip is a recipe for serverless success

Looking back at 10 years of compartmentalization at AWS

Using AWS Storage for Serverless Microservices

From Express.js to AWS Lambda


Inside the Chinese lab that plans to rewire the world with AI 

Everything You Know About Latency Is Wrong  

How to Condemn Your Microservices Architecture to Fail Before You Even Start

On the criteria to be used in decomposing systems into modules

Transport Layer Security (TLS) best practices with the .NET Framework 

Get started building .NET web apps in the browser with Blazor 

Configuring client certificates for mutual authentication on IIS 8 

Understanding the ASP.NET Core middleware pipeline

Testing in Production, the safe way

Unfulfilled promises: Amazon fulfillment centers do not generate broad-based employment growth What this report finds 

Performance of Performance Reviews  

What Stephen Hawking Taught Me 

How Trump Consultants Exploited the Facebook Data of Millions 

With Musical Cryptography, Composers Can Hide Messages in Their Melodies


Reading List Feb 2018


Centralised logging for AWS Lambda

How to Deploy Deep Learning Models with AWS Lambda and Tensorflow

How to use the Decoupled Invocation pattern with AWS Lambda

Reactive Microservices Architecture on AWS

AWS X-Ray .NET Core Support

How McDonalds built Home Delivery using AWS


Lambda Architecture using Azure

Creating Azure Functions That Can Read from Cosmos DB with Almost No Code

Processing 100,000 Events Per Second on Azure Functions

Load Testing Azure SQL Database by Copying Traffic from Production SQL Server

Understanding Serverless Cold Start “Cold start”

Azure Service Bus with Managed Service Identity Managed Server Identity

Alexa Skills with Azure Functions and Couchbase

Using VSTS to Deploy to Azure Functions and App Service with Run-From-Zip

How to deploy to Azure using Team Services Release Management

Strategies to realizing Cost Savings in Azure

Basic Database Continuous Integration and Delivery (CI/CD) using Visual Studio Team Services (VSTS)

Custom Build Task in Visual Studio Team Services (VSTS)

Azure Roadmap

CIS Microsoft Azure Foundations Benchmark v1.0.0

Quickly connect Azure Cosmos DB with your applications using Visual Studio Connected Services


Applying the Twelve-Factor App Methodology to Serverless Applications

The Quest for Availability

Serverless Architectures

The hidden costs of serverless

Serverless Databases: The Future of Event-Driven Architecture

The present and future of Serverless observability

Serverless Microservice


Infrastructure as Code

The Configuration Complexity Clock

What does GDPR enforcement mean for your business

An Open Letter to Every Database Decision Makers

The Stress of Remote Working In software engineering

How humans became intelligent

Why You Should Wake Up at 5 A.M.

Why Everything You Know About Stocks And Bonds Is About To Change

5 Rare Signs That Prove You Were Meant to Lead People

For the Love of God, Stop Brainstorming Leadership is not mysterious. 

 Alex Hutchinson explains the role of the brain when it comes to the limits of human endurance



Reading List Jan 2018


How to use AWS Fargate and Lambda for long-running processes in a Serverless app

Build an Amazon Lex Chatbot with Microsoft Excel 

Using AWS Lambda as a Security Team 

Force Multiply Your Security Team with Automation and Alexa

Maintaining Transport Layer Security All the Way to Your Container

Building an HTML Website with API Gateway and Lambda 

How to build a Serverless URL shortener using AWS Lambda and S3 

Amazon ElastiCache

Capture and forward correlation IDs through different Lambda event sources 

AWS Lambda Summary 


Considerations for Hardening API’s Built with Azure API Management + Azure Functions

Azure Functions vs AWS Lambda

Overview of Serverless Application Deployment Patterns

Serverless On-Demand Scaling 

Serverless Doorbell — and Azure Functions

Deploying Your Dockerized Angular Application To Azure Using VSTS 

Serverless Twitter Analytics with CosmosDB and Logic Apps 


Building healthier containers Containers are nothing like virtual machines! I

Docker, Inc isn’t Dead


A Microservices implementation journey 

The Death of Microservice Madness in 2018 


API-Security-Checklist Checklist of the most important security countermeasures when designing, testing, and releasing your API. 


Handling 1 Million Requests per Minute with Go 

OpenCensus: A Stats Collection and Distributed Tracing Framework 

The Weirdest Programming Principles You’ve Never Heard Of 

Programming Notes for Professionals books 

Software Trends for 2018 

2018 Developer Skills Report 

Why GE Digital Failed

Anatomy of Meltdown Shows How the Vulnerability Works 

A Study of 300,000 Emails Says Closing With These 3 Words Prompts More People to Reply

The Magnetic Field Is Shifting.

What makes a good life? Lessons from the longest study on happiness 


Reading List December 2017


The Serverless Spectrum

Implementing Canary Deployments of AWS Lambda Functions

Amazon Container Cheat Sheet Amazon ECS (EC2 Container Service)

Amazon Alexa Skills authenticated by Azure Active Directory

Building Microservices with the 12 Factor App Pattern on AWS

Videos and Slide Decks from the AWS re:Invent 2017 Security, Compliance, & Identity Track

AWS re:Invent Here’s a list of all of the AWS re:Invent breakout sessions from 2012 – 2017.

Azure Functions vs AWS Lambda – Scaling Face Off

From Containers to AWS Lambda


Deploy a .NET app in a container to Azure Service Fabric

Guide to converting Web and Worker Roles to Service Fabric stateless services
Azure Self-paced Labs 

Lift and Shift your .NET App to Azure 

Azure Functions + Logic Apps – Create Serverless APIs Using Azure Functions

Considerations for Hardening API’s Built with Azure API Management + Azure Functions


Testing Microservices, the sane way


 A Docker Tutorial for Beginners

Hardening Docker containers and hosts against vulnerabilities 


Fixing Data Breaches

API Security Checklist 

OpenID Connect explained in plain English


A neuroscience researcher reveals 4 rituals that will make you happier 
What makes a good life? Lessons from the longest study on happiness

Reading List November 2017


AWS Batch and Docker Containers 

Building a Cross-Region/Cross-Account Code Deployment Solution on AWS

Learning Lambda

Serverless Architectures with AWS Lambda

Building Loosely Coupled, Scalable, C# Applications with Amazon SQS and Amazon SNS

Amazon Elastic Container Service Summary 

Serverless Automated Cost Controls 

Serverless Applications Lens

Serverless: Looking Back to See Forward
Applying principles of chaos engineering to AWS Lambda with latency injection


Azure Functions Tips: Grouping Functions into Function Apps

Deploying Angular Application To Azure Using Visual Studio Team Services (VSTS)

Modernize existing .NET apps with Windows Containers and Azure 

Creating a Minimal ASP.NET Core Windows Container



What even is streaming data and Kafka? What is a message bus?
Surviving Microservices 

Microservices and Docker containers

Six Strategies for Application Deployment

Principles of Chaos Engineering
A Framework for Software Product Line Practice

Quantum Breakthrough Heralds New Generation of Perfectly Secure Messaging

Blockchain Will Disrupt Every Industry

Paper Provides A Roadmap Towards A Healthcare Blockchain
Microsoft’s BrainWave is going to supercharge AI


Security experts remotely hack into a Boeing 757

OWSAP Cheat sheets

Connecting ADFS and the identityserver 4


What Questions To Ask On An Interview

The Withering California Dream, by the Numbers

This is what happens to your brain when you don’t get enough sleep

Reading List October 2017


How to Build SMS Notification Applications with JavaScript and the Serverless Framework

Using Amazon Polly to Provide Real-Time Home Monitoring Alerts

The Top 20 AWS IAM Documentation Pages so Far in 2017

Deploying .NET Web Applications Using AWS CodeDeploy with Visual Studio Team Services

Implementing Serverless Manual Approval Steps in AWS Step Functions and Amazon API Gateway

Amazon EFS Performance Tutorial

Messaging Fanout Pattern for Serverless Architectures Using Amazon SNS

Amazon API Gateway Summary

Using AWS Step Functions State Machines to Handle Workflow-Driven AWS CodePipeline
The Evolution of a Static Website

Amazon Elastic File System

Bots Just Got Better with .NET and the AWS Toolkit for Visual Studio


Scaling Azure Functions with Durable Functions

Debugging Azure Functions with LogicApps locally
Autoscaling your platform with Azure Monitor

Microsoft Azure and AWS Cloud Service Map

Which Azure Deployment Model Should You Use?

Focus on… Azure Service Fabric!


OAuth and OpenId Connect Demystified 

Large Scale Empirical Study of Security Patches


Cloud Architecture and the Open/Closed Principle

The Coming Software Apocalypse

Specifying Systems 

Debugging Designs

Notes on Distributed Systems for Young Bloods
Testing a Distributed System Testing

Measuring Correctness of State in a Distributed System

Design lessons for distributed systems

Fallacies of Distributed Computing


Science Says These 7 Attention Exercises Will Instantly Make You More Focused

Do This Simple Exercise Every Day for a Week, and You’ll Be Happier for Months (or Years)

7 Tricky Work Situations, and How to Respond to Them You know the moment

3 Things You Can Learn From Jeff Bezos

3 Questions Jeff Bezos Asks Before Every New Hire

What I Learned From Reading Every Amazon Shareholders Letter

Some Early Facebook Employees Regret the Monster They Created

Why Are Humans So Curious?

Reading List September 2017


Building a Serverless Analytics Solution for Cleaner Cities

Get Started with Deep Learning Using the AWS Deep Learning AMI
Benchling Case Study By using AWS Lambda

Automating Amazon EBS Snapshot Management with AWS Step Functions and Amazon CloudWatch

3 Things to Know About AWS S3 Security to Stay Out of the Headlines
Break the Monolith In this tutorial
AWS Limit Monitor – AWS Answers Nearly every Amazon Web Services (AWS) service has limits on how many resources you can launch in a specific AWS Region at a given time.

Automating Blue/Green Deployments of Infrastructure and Application Code using AMIs, AWS Developer Tools, & Amazon EC2 Systems Manager

React serverless starter application with one-click AWS deployment and hosting Serverless applications are more popular every day. 

Deep Linking – Track and Engage Mobile App Users You are about to enter the incredibly engaging and often confusing world of mobile deep linking.

Connecting Your Git Repository to Amazon S3 and AWS Services Using Webhooks

New Network Load Balancer – Effortless Scaling to Millions of Requests per Second Elastic Load Balancing (ELB))

Simplified User Management for AWS


Designing resilient applications for Azure
A Tour of Azure Messaging Services (Queues, Event Grid, IoT Hub, and More)

Events, Data Points, and Messages – Choosing the right Azure messaging service

Everything You Need to Know About Azure Service Bus Brokered Messaging
Azure Tips and Tricks – The Complete List

Protecting applications and data on Azure Stack

Introducing Azure confidential computing

A Quick Intro: Azure Durable Task Framework for Long Running Code-Based Workflows

Build a Serverless Link Shortener


SSL/TLS-based malware attacks

Securing the cloud 


High Availability for Mere Mortals

 Microservices on AWS

What Problems Do Microservices Solve?
Microservices and Cloud-Native Apps Need a Security Revolution.

Microservice Testing

Principles of Distributed Computing

The Web API Checklist


Getting to the Core of .NET Core The .NET Core

.NET Core vs .NET Framework: How to Pick a .NET Runtime for an Application Is .NET Core the next big thing?

Adding circuit breakers to your .NET applications


Getting Started with Windows Containers Containers

DevOps with Containers

AI for everyone – How companies can benefit from the advance of machine learning


What Google’s Highest Rated Training Program Can Teach You About Getting Ahead It’s the most highly rated training program at Google.

Balancing Work and Life: When 9 to 5 Doesn’t Exist Focus on your spiritual health to improve performance, relationships, and your sense of balance and well-being. You might think a successful career would be a good predictor of whole-life fulfillment.


Science Explained: How Can the Diameter of the Universe Exceed its Age?


CIA Papers Link Harvard To Mind-Control Project

Reading list August 2017

Automatic Scaling with Amazon ECS

Run Containerized Microservices with Amazon EC2 Container Service and Application Load Balancer

AWS IAM Policies in a Nutshell In this post we’re going to go through an explanation and tutorial of IAM policies. The long, deep, dark of AWS documentation can sometimes (understatement) overcomplicate concepts
Building Distributed Locks with the DynamoDB

Building a Real World Evidence Platform on AWS

How to Configure an LDAPS Endpoint for Simple AD Simple AD

Building High-Throughput Genomics Batch Workflows on AWS:

Introduction (Part 1 of 4) Deriving insights from data is foundational to nearly every organization, and many customers process high volumes of data every day. One common requirement of customers in life sciences is the need to analyze these data in a high-throughput fashion without sacrificing time-to-insight.

Job Layer (Part 2 of 4) 

Batch Layer (Part 3 of 4)

Workflow Layer (Part 4 of 4)

AWS Lambda vs. Azure Functions vs. Google Functions Serverless has been around for more than two years now and is not a new phenomenon. Our recent DevOps Pulse Survey showed, however, that only 30% of the responders are currently using serverless.

Serverless Cost Calculator Calculating cost for AWS Lambda, Azure Functions, Google Cloud Functions, and IBM OpenWhisk

Introducing Azure Event Grid – an event service for modern applications Most modern applications are built using events – whether it is reacting to changes coming from IoT devices, responding to user clicks on mobile apps, or initiating business processes from customer requests.
Demystifying Certificate Requirements in Mutual TLS Understanding

Implementing a WCF Client with Certificate-Based Mutual Authentication without using Windows Certificate Store 

Creating self signed certificates with makecert.exe for development

One Git to Master them all Most tools are just a wrapper around the command line. We take a visual approach instead: Branch Explorer as a comprehensive repo visualization, integrated side-by-side diff with Semantic capabilities, proper 3-way merge and more. 

Social and Emotional Intelligence in AI and Agents Social signals and emotions are fundamental to human interactions and influence memory, decision-making and wellbeing.

Microsoft researchers achieve new conversational speech recognition milestone Last year, Microsoft’s speech and dialog research group announced a milestone in reaching human parity on the Switchboard conversational speech recognition task, meaning we had created technology that recognized words in a conversation as well as professional human transcribers.

Don’t strangle your monolith when migrating to the cloud — starve it to death Imagine that you’ve secured VC funding for a new concept called Muscle Unbound.

Building a Modern Bank Backend At Monzo, we’re building a banking system from scratch. Our systems must be available 24×7 no matter what happens, scalable to hundreds of millions of customers around the world, and very extensible.

Seven things I have learned about writing software It’s happening.

Tesla Shows How Traditional Business Metrics Are Outdated

Schrödinger, a Quantum behind the Secret of Life

Balancing Work and Life: When 9 to 5 Doesn’t Exist Focus on your spiritual health to improve performance, relationships, and your sense of balance and well-being.

Women have more active brains than men Side view of the brain summarizing blood flow results from tens of thousands of study subjects shows increased blood flow in women compared to men, highlighted in the red coloured areas of the brain: the cingulate gyrus and precuneus.

With 8 threatening volcanoes, USGS says California deserves close monitoring With the world’s top volcanologists heading to Portland, Ore., on Aug. 14 for the first international volcanology assembly held in the U.S. since 1989, the many famous, prominent and dangerous volcanoes of the West Coast will be the subject of field trips and much discussion.

US nuclear arsenal controlled by 1970s computers with 8in floppy disks Government Accountability Office report details ‘museum-ready’ machines controlling nuclear force messaging system that are ‘obsolete’ The US military’s nuclear arsenal is controlled by computers built in the 1970s that still use 8in floppy disks.

Hanson: Is California finally reaching the breaking point? Corporate profits at California-based transnational corporations such as Apple, Facebook and Google are hitting record highs. California housing prices from La Jolla to Berkeley along the Pacific Coast can top $1,000 a square foot.

The Charts That Tell the Story of 2017 (So Far) Over the first half of 2017, Insight examined many of the trends dominating the financial industry and making headlines. However, while headlines tell part of the story, nothing quite captures the movements of the market like data.

What Google’s Highest Rated Training Program Can Teach

Reading list July 2017

Design patterns for microservices.

The AzureCAT patterns & practices team has published nine new design patterns on the Azure Architecture Center. These nine patterns are particularly useful when designing and implementing microservices.

Clean Micro-service Architecture

How do you scale a software system? One thing should be obvious: at some point you need to have more than one computer. There was a day, and it wasn’t so long ago, that scaling a system could be achieved by waiting. You simply waited for computers to get faster and more powerful.

Messaging and Microservices

Cloud Architecture: The Scheduler-Agent-Supervisor Pattern

As our team was starting to transform our parts of the Azure Services Platform from a CTP ‘labs’ service exploring features into a full-on commercial service, it started to dawn on us that we had set ourselves up for writing a bunch of ‘enterprise apps’.

Cloud-Native or Lift-and-Shift?

Azure Application Gateway Anatomy

In this article, we’re going to look at its anatomy, i.e. its internal component as exposed in the Azure Resource Manager (ARM) model.

Walkthrough–Add Azure Web App to Visual Studio Team Services

In this walkthrough I will show you how to use Visual Studio Team Services with an existing Azure App Service project (specifically an Azure Web App). We will add a task to update/create the project database from a DACPAC file and enable CI (Continuous Integration).

A guide to caching in ASP.NET Core

This post looks at the various techniques available in ASP.NET Core for caching. We’ll look at caching of data, partial pages and full pages at the server and client level and explain when to use each.

Achieving Transactional Behavior with Messaging Elastic and dynamic multitenant cloud environments have characteristics that make traditional failure management mechanisms using coordinated 2-phase transactions a suboptimal choice.

What’s brewing in Visual Studio Team Services: This post series provides the latest updates and news for Visual Studio Team Services and is a great way for Azure users to keep up-to-date with new features being released every three weeks.

Under the Hood of Server-Side Encryption for Amazon Kinesis Streams 

Build Your First Serverless Web App

Serverless computing allows you to build and run applications and services without thinking about servers. With serverless computing, your application still runs on servers, but all the server management is done by AWS.

Analyze OpenFDA Data in R with Amazon S3 and Amazon Athena One of the great benefits of Amazon S3 is the ability to host, share, or consume public data sets. This provides transparency into data to which an external data scientist or developer might not normally have access.

About SAML 2.0-based Federation Before you can use SAML 2.0-based federation as described in the preceding scenario and diagram, you must configure your organization’s IdP and your AWS account to trust each other. The general process for configuring this trust is described in the following steps.


How to Use AWS Organizations to Automate End-to-End Account Creation

AWS Organizations offers new capabilities for managing AWS accounts, including automated account creation via the Organizations API.

Practical VPC Design

Few areas of cloud infrastructure are more important to get right from the start than the IP address layout of one’s Virtual Private Cloud (VPC). VPC design has far-reaching implications for scaling, fault-tolerance, and security.

Curated List of AI and Machine Learning Resources from Around the Web When I was writing books on networking and programming topics in the early 2000s, the web was a good, but an incomplete resource. Blogging had started to take off, but YouTube wasn’t around yet, nor was Quora, Twitter, or podcasts.

Using a JWT on a Windows Service

Where is my solution One of this days I had this really fun challenge that I need to tackle. So consider the follow, I had a solution where I need to authenticate a Windows Service (so non-interactive) against an ( Web API, using ADFS 3.0 with ADAL.NET, and the current user’s credentials, fun right?

Inside the Standard Bindings:

NetTcp Today continues the series I started last week about the standard bindings. The previous article covered the BasicHttp binding. Today’s article covers the NetTcp binding, which is going to be the popular out-of-the-box choice for communicating over an Intranet.

Creating Web API With ASP.NET Core Using Visual Studio Code In this article, we are going to learn how to create an API with ASP.NET Core. Web API is a framework that allows us to build web or http based endpoints.

You’re using HttpClient wrong and it is destabilizing your software I’ve been using HttpClient wrong for years and it finally came back to bite me. My site was unstable and my clients furious, with a simple fix performance improved greatly and the instability disappeared.

TLS 1.2 and .NET Support: How to Avoid Connection Errors I recently ran into an interesting issue when developing a connector for a third-party API.

Implementing Two-factor authentication with IdentityServer4 and Twilio

This article shows how to implement two factor authentication using Twilio and IdentityServer4 using Identity. On the Microsoft’s Two-factor authentication with SMS documentation, Twilio and ASPSMS are promoted, but any SMS provider can be used.

Adding an external Microsoft login to IdentityServer4 This article shows how to implement a Microsoft Account as an external provider in an IdentityServer4 project using ASP.NET Core Identity with a SQLite database. Give the application a name and add your email.

Promoting reliability in web software companies

Building a website is easy. Keeping your website online and available as you grow its audience can be very hard. I have heard many reasons for this, including The root problem is not any of these.

Want to Keep Your Employees Happy and Motivated?

They Need to Experience These 7 Things Every Day Since leadership development is broad, it needs to be clearly defined for business outcomes. The common denominator is teaching managers the fine art of people skills. After all, leading an organization is still mostly about people — its most important asset.

This Scientist Thinks That Life Could Be a Guide to The Evolution of The Cosmos

Does humanity exist to serve some ultimate, transcendent purpose? Conventional scientific wisdom says no. As physicist Lawrence Krauss puts it in his latest book, our evolution on this planet is just a “cosmic accident”.

Why the United States is not the best country in the world

The Fourth of July is a complicated holiday for African-Americans. We love the food, family and even the fireworks, but the actual history and rationale behind the holiday have never sat well with us.

Google Thought They Knew How to Create the Perfect Team.

Their Research Said Otherwise Over the years, Google has embarked on countless quests, collected endless amounts of data and spent millions trying to better understand its people.

Reading List June 2017


Seven Microservices Anti-patterns .  

Cloud Architecture and the Single Responsibility Principle


OpenID Connect Session Management an Angular application using IdentityServer4 

angular-auth-oidc-client Release, an OpenID Implicit Flow client in Angular

Deploying Angular to Azure The Angular CLI makes it easy to build a production ready Angular app. The next step is getting that app up and in the cloud. This is where a CI process helps take that code from Github, build it properly, and the deploy it to Azure.

Angular OIDC OAuth2 client with Google Identity Platform 


DevOps – Git Internals for Visual Studio Developers.
Lessons Learned from Scaling Uber to 2000 Engineers, 1000 Services, and 8000 Git repositories. 


WCF on intranet with windows authentication: Kerberos or NTLM (Part 1) When we build enterprise level SOA system on top of windows servers, if the environment is with Active Directory, using windows authentication is probably the most appropriate authentication mechanism which is secure, straight forward to build and easy to maintain.


Best Practices for Designing a Pragmatic RESTful API Your data model has started to stabilize and you’re in a position to create a public API for your web app. You realize it’s hard to make significant changes to your API once it’s released and want to get as much right as possible up front. Now, the internet has no shortage on opinions on API design. 


Building Loosely Coupled, Scalable, C# Applications with Amazon SQS and Amazon SNS One of the many challenges professional software architects and developers face is how to make cloud-native applications scalable, fault-tolerant, and highly available. Fundamental to your project success is understanding the importance of making systems highly cohesive and loosely coupled. 

New Azure Security Whitepapers

.NET Application Architecture  

Docker Blog Series Part 2 – Build & Deploy ASP.NET Core Docker Image on Service Fabric Azure Service Fabric in addition to offering a Service Fabric programming model is also able to orchestrate container based services across a cluster of machines. Service Fabric can deploy services in container images. 
Migrate WordPress content to Azure blob storage Azure storage provides solution for applications requiring scalable, durable, and highly available storage for their data. In this blog, we cover the steps how to migrate existing WordPress content from file system to Azure blob storage.  

Building recommendation engine for .NET applications using Azure Machine Learning Through a series of blog posts, we would like to show you different ways on how .NET developers can leverage Machine learning and AI to build engaging customer experiences. 

Why AI Works Interest in Artificial Intelligence is exploding, and for good reasons. Computers in cars, phone apps, and on the web can do amazing things that we simply could not do before 2012. What’s going on? 

Setting unique Tracking Id in BizTalk Logic Apps send port I was working on a POC which involved sending a message from BizTalk send port to a logic app with message’s HTTP header enriched to have a unique tracking id. Achieving this was not straight forward. In this article, I will explain the issue I faced and resolution. 
7 lesser known hacks for debugging in Visual Studio The Visual Studio debugger is a magical beast that can save you loads of time while finding and fixing issues in your application.


The top 18 managing people tips Managing people is a unique craft, a craft that you will continue to develop and refine for your entire working life. Managing people is for people who are passionate about helping others to succeed, who can bring out the most in their teams.  

Strength in love, hope in science 


Four Stages of Social Movements

Political Divisions in 2016 and Beyond It is a truism of modern American politics that the United States is a deeply divided nation. By almost all measures, the two parties are further apart from each other, both at the elite level and in the electorate, than in the past.

Lifetime Incomes in United States over Six Decades


People Love Talking About Themselves, Brain Scans Show 

Reading List Mar 16 – 23, 2017

SAzure Architecture Center Ever wondered what the best practice for setting up and configuring cloud architectures well here is the answer welcome to the Azure Architecture Center
Accessing Azure App Services using Azure AD Bearer token Here are some simplified instructions on how to setup and use Azure Active Directory authentication for Azure App Services and code that will allow an application to use a Bearer Token to access that app.
Cloud Messaging – Amazon or Azure? When architecting solutions that need to communicate between separate services or applications, messages queues and services buses become increasingly important.


ASP.NET Core: Building chat room using WebSocket WebSocket is real-time communication protocol we can use to make UI in browser to send and receive messages from server over real-time communication channel. WebSocket is also supported by ASP.NET Core. This blog post demonstrates how to build simple browser based chat room on ASP.
Tweak sign in messages with the ASP.NET OWIN middleware Configuring the ASP.NET OWIN middleware (MW from now on) in your web app makes it super easy to sent your users to authenticate with Azure AD, as the MW takes care of manufacturing the right message for the Authorization endpoint from the options you provided at startup.
Short introduction to serverless architecture Serverless architecture and Functions as a Service (FaaS) are new trends in cloud computing. Besides Microsoft and Amazon there are many other vendors providing FaaS services. This blog post is short introduction to serverless architecture and here I try to explain what it is and why we need it.

Demystifying a few Angular2 concepts for starters Being immersed in the JavaScript frameworks world can be intimidating. Today, I will try to demystify a few concepts and perhaps at the same time answer some questions that someone starting with Angular2 will most probably have.
An Angular 2+ . Net Core Application Consuming an Azure Machine Learning Model Skip Navigation Links.

NuGet is now fully integrated into MSBuild In the past, NuGet packages were managed in two different ways – packages.config and project.json – each with their own sets of advantages and limitations. With Visual Studio 2017, we have revamped the NuGet package management experience by introducing package reference.

20 Software Scalability Questions & Answers for Architect Interview Web applications scalability is a common problem most of the web architect face. Any internet facing web application may require to be highly scalable due to heavy load of traffic. Now adays , developing a smart web application is much more than creating dynamic Web pages.
The strange link between the human mind and quantum physics “I cannot define the real problem, therefore I suspect there’s no real problem, but I’m not sure there’s no real problem.
Pressure Doesn’t Have to Turn into Stress When I was in my late twenties, I was diagnosed with stomach cancer. Doctors operated and told me to hope for the best. I returned to Japan, where I was working, and tried to forget about it. The tumors returned a year later, this time in my liver.
What are the 21st-century skills every student needs? The gap between the skills people learn and the skills people need is becoming more obvious, as traditional learning falls short of equipping students with the knowledge they need to thrive, according to the World Economic Forum report New Vision for Education

Reading List March 3 – 15, 2017

.That big Amazon S3 outage was caused by a typo, company admits On Monday, many websites, news services, publishing platforms, and other internet-connected things that use Amazons AWS platform went dark. The cause can finally be revealed. The tech hiccup that made much of the web inaccessible was caused by human error.

How to Protect Your Web Application Against DDoS Attacks by Using Amazon Route 53 and an External Content Delivery Network Distributed Denial of Service (DDoS) attacks are an attempt by a malicious actor to flood a network, system, or application with more traffic, connections, or requests than it is able to handle.

Azure – Inside the Azure App Service Architecture Azure App Service is considered an excellent Platform as a Service (PaaS), offering an application platform for developers to build Web, mobile and API applications.

Azure App Service Authentication–AAD Groups I wanted an easy way to leverage Azure AD Groups in my application. Thanks to Dushyant and my previous post on App Roles, I was able to throw together a sample. references: Authorization in Cloud Applications using AD Groups , Azure App Service Authentication – App Roles

Searching Blob Documents with the Azure Search Service One of the core services in the Microsoft Azure cloud platform is the Storage Service, which includes Blobs, Queues, and Table storage. Blobs are great for anything you would use a file system for, such as avatars, data files, XML/JSON files, …and documents.

Git Best Practices The Visual Studio MVP Kent Bryant shares that the two primary issues that limit Git repos are huge files and huge number of files – Git’s 2 Biggest Issues .   As a best practice, you should consider keeping the Git repo size under 1GB and the overall file count less than 250k files.

AI learns to write its own code by stealing from other programs OUT of the way, human, I’ve got this covered. A machine learning system has gained the ability to write its own code. Created by researchers at Microsoft and the University of Cambridge, the system, called DeepCoder, solved basic challenges of the kind set by programming competitions.

BenchmarkDotNet/ at master · dotnet/BenchmarkDotNet · GitHub BenchmarkDotNet is a powerful .NET library for benchmarking. This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Creating A Simple Copy-To-Clipboard Directive In Angular 2.4.9 A couple of months ago, I happened to see Will Boyd on Twitter mention that JavaScript-based Clipboard support was fairly strong in modern browsers.

Essential Angular: Compilation I wrote an article about the core concepts of Angular 2 a year ago, during one of the early betas. Most of it is still accurate and relevant, but not everything. For instance, I wrote it before we introduced NgModules, before the AoT compilation became a thing, and before we built the new router. T

Curated Lists of Data Science, Machine Learning, Deep Learning and NLP resources Here are three useful resources for learning about Data Science: Machine Learning and Deep Learning Tutorial List: This link contains a topic-wise curated list of Machine Learning and Deep Learning tutorials, codes, articles and other resources

Programmers: Stop Calling Yourselves Engineers It undermines a long tradition of designing and building infrastructure in the public interest. I’m commiserating with a friend who recently left the technology industry to return to entertainment.

You can’t fix diversity in tech without fixing the technical interview. In the last few months, several large players, including Google and Facebook, have released their latest and ultimately disappointing diversity numbers.

7 Ways Earth Would Change If Our Moon Were Destroyed For nearly the entire 4.5 billion year history of our Solar System, the Earth hasn’t been alone while we revolve around the Sun. Our giant lunar companion is larger and more massive than any other moon when compared to the planet it orbits.

92% of us are breathing unsafe air. This map shows just how bad the problem is Clean energy is a key topic at the World Economic Forum’s Annual Meeting 2017. Watch the session on Energy’s Clean Transition here.

California exports its poor to Texas, other states, while wealthier people move in California exports more than commodities such as movies, new technologies and produce. It also exports truck drivers, cooks and cashiers. Every year from 2000 through 2015, more people left California than moved in from other states.

India is a top source and destination for world’s migrants India has a long history of migration. More than a century ago, large numbers of Indian migrants – many of them involuntary ones – moved to Africa, the Caribbean and within the Indian subcontinent itself.

A Short Guide to Death It’s a known fact that humans are, statistically speaking, losing touch with their corporeal selves. Our bodies are collectively in a state of unmatched decay.

Major earthquake could be overdue on San Andreas Fault north of L.A., new study finds Southern California could be overdue for a major earthquake along the Grapevine north of Los Angeles, according to a sobering new study by the U.S. Geological Survey. The research found earthquakes happen there on average every 100 years.

The 3 Ways That Parallel Universes Could Be Real The idea that things exist in a particular, well-defined state at all times where their properties can be determined so long as you can measure them well enough was fundamental to how we conceived of the Universe. When quantum physics came along, that idea went right out the window, never to return. Tags: via Pocket March 14, 2017 at 07:52AM

Reading List Feb 22 – March 2, 2017

Getting started guide for Angular’s component Router Angular’s component router acts as the main hub of any application, it loads the relevant components relevant to the route requested, as well as dealing with fetching the relevant data for that particular route.

.NET Framework – Immutable Collections Side effects compromise the understandability and correctness of code. A method that mutates global or static variables has side effects. A method that mutates some of its parameters has side effects.

Serverless REST API with Angular, Persistence and Security Using the right tools, you can create an application from scratch and release it to production very quickly. In this post, I will show you how to develop a task list application, with Angular, that consumes a serverless REST API and persists data to a MongoDB database hosted by mLab.


Absolutely Amazing! Azure Alert Anything, or Anyone, Anywhere, Automatically, Always! Ah! Well, let me just start by explaining that this last year has given me both my most treasured MVP award AND the most awesome short project for Microsoft, working on one of their flagship IoT “data telemetry” projects.

What is a servicebus? The first time I read about the concept of a servicebus and saw the images, I could not figure out how it was supposed to work. The abstract perspective is like any component could just send messages to something that looked like a pipeline.

TPL and async/await Best Practices for the Busy Developer This .Net async programming guide is a little bit different. It’s not a ‘how to’ or a deep dive. It’s more like a cheat-sheet for keeping out of trouble. The guide was born at Trade Me Ltd, New Zealand.

Mark Blyth ─ Global Trumpism Watson Institute Student Seminar Series – American Democracy: The Dangers and Opportunities of Right Here and Right NowDesigned especially with Brown undergraduates in mind, but welcoming all members of the University and wider community, this seminar series meets in the weeks both before and after

Coincidences and the Meaning of Life The surprising chances of our lives can seem like they’re hinting at hidden truths, but they’re really revealing the human mind at work.

Reflecting on one very, very strange year at Uber As most of you know, I left Uber in December and joined Stripe in January. I’ve gotten a lot of questions over the past couple of months about why I left and what my time at Uber was like.

How Bottling Companies Are Drastically Affecting California’s Drought The talk of California being in a drought is not a new discussion. For people in other states, they may make a joke of it and tease Californians for not having any water, but for those in the state, the onset of the drought could cause many to suffer.

Reading List Feb 14 – 21, 2017

Let’s Try WCF Self-Hosted Services in a Container Microservices are a hot architecture concept right now, and we hear a lot of interest in the architecture concepts.  Many of the ideas and capabilities behind microservices are already possible with the WCF frameworks for client and server creation.

A common execution path optimization Today I want to talk about one interesting optimization pattern that you may face in framework code or in high-performance libraries.

How to evaluate info you read on garbage collectors

Readmission Prediction Through Patient Risk Stratification Using Amazon Machine Learning The Hospital Readmission Reduction Program (HRRP) was included as part of the Affordable Care Act to improve quality of care and lower healthcare spending.

California Megaflood: Lessons from a Forgotten Catastrophe Geologic evidence shows that truly massive floods, caused by rainfall alone, have occurred in California every 100 to 200 years. Such floods are likely caused by atmospheric rivers: narrow bands of water vapor about a mile above the ocean that extend for thousands of kilometers.

How a supplement maker tried to silence a Harvard doctor he dietary supplements had ominous names, like Black Widow and Yellow Scorpion. They contained an illegal and potentially dangerous molecule, similar in structure to amphetamines.

How Space Weather Can Influence Elections on Earth There’s a reason so many cultures worship the Sun. Our host star nourishes practically every living system on Earth, directly or indirectly, and gravitationally tethers our planet into its relatively stable orbit.

Reading List Feb 6 – Feb 13, 2017

This mind-boggling map explains how everything in mathematics is connected Unless you were a total pro at mathematics in high school, you probably only have a vague recollection of things like geometry, algebra, and some guy called Isosceles (what a great name).

he Security Impact of HTTPS Interception As HTTPS deployment grows, middlebox and an- tivirus products are increasingly intercepting TLS connections to retain visibility into network traffic. In this work, we present a comprehensive study on the prevalence and impact of HTTPS in- terception

More on GVFS After watching a couple of days of GVFS conversation, I want to add a few things. What problems are we solving?

Migrate from centralized version control to Git The switch from centralized version control to Git is more than just learning new commands. Git uses a fundamentally different model for storing previous versions of code. Instead of storing a linear series of changes to files, Git represents your code as a graph of snapshots called commits.

Creating Scalable WCF Service for Azure Service Fabric Azure Service Fabric provides a platform for creating and deploying scalable and reliable services for the cloud.

Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS – Part 2 Key Takeaways Event Sourcing is a technique for reliably updating state and publishing events that overcomes limitations of other solutions. The design concepts for an event-driven architecture, using event sourcing, align well with microservices architecture patterns.

IaC on Azure – An introduction of Infrastructure as Code (IaC) with Azure Resource Manager (ARM) Template What is Infrastructure as Code (IaC)? Infrastructure as Code is a process of managing and provisioning computing infrastructure with some declarative approach while setting their configuration using definition files instead of traditional interactive configuration tools.

How to Encrypt Connection Strings One of the problems that exists in database programming today is how to keep database Connection String information from prying eyes. Typically the Connection String is stored inside the application’s XML-based “config” file.

Setting up an Angular 2 Development Environment Angular 2 requires a bit of setup to get started. To avoid the headaches associated with setup, the Angular team came up with the Angular CLI. The Angular 2 CLI makes it easy to create an application that just works out of the box. Note: The Angular team has decided to drop the 2 from the name.

Is There Really a Skills Gap? A prosperous future for the world’s economy rests on the foundations we lay through our education and skills system, so it comes as sorry news to hear complaints we’re facing a skills shortage, or ‘skills gap’.

The state of salaries for product managers and data scientists While more attention is being paid to racial diversity, our data shows another form of bias is also present within the tech industry: ageism. On Hired’s platform, candidates between the ages of 25 and 30 receive the highest number of average job offers.

Society is creating a new crop of alpha women who are unable to love Editor’s note: The following column is adapted from the new book “The Alpha Female’s Guide to Men & Marriage” Post Hill Press (February 14, 2017). Like me, my mother was not a perfect wife. She was, however, a remarkable and compassionate woman.

Trump and Weimar Germany The comparisons between Donald Trump’s political success and Hitler’s rise, so numerous even before the election, have intensified since the former won the electoral vote in November 2016. Historians have weighed in with differing opinions and analyses about the two phenomena.

I Don’t Smoke or Drink, I Eat Well & Exercise. How Did I Still Get Cancer? An Oncologist Answers. Dr. Vishal Rao, an oncologist and head and neck surgeon at the Bangalore-based HealthCare Global (HCG) Cancer Center, writes about the debate on food safety in India and how it is related to cancer.

Reading List Jan 28 – Feb 5, 2017

THow to Audit Login activity in IdentityServer3 In some use cases there is a security requirement for Auditing of User Login Activity, which is not covered by IdentityServer3. As we used the ASP.NET Identity as User Store, it also possible to implement some sort of Auditing as a custom SignInManager.cs in ASP.

Message queues & you – 12 reasons to use message queuing. Message queues help a lot with ensuring data is never lost, traffic spikes, etc.

What is Azure Event Hubs? Event Hubs is a highly scalable data streaming platform capable of ingesting millions of events per second. Data sent to an Event Hub can be transformed and stored using any real-time analytics provider or batching/storage adapters.

Scaling Git (and some back story) A couple of years ago, Microsoft made the decision to begin a multi-year investment in revitalizing our engineering system across the company.  We are a big company with tons of teams – each with their own products, priorities, processes and tools.

TrumpBeat: Three Lessons From The Travel Ban Welcome to TrumpBeat, FiveThirtyEight’s new weekly feature looking at how developments in Washington affect people in the real world.

Californians are paying billions for power they don’t need The saga of two plants — Sutter Energy and Colusa — helps explain in a microcosm how California came to have too much energy, and is paying a high price for it.

Reading List Jan 17-Jan 27, 2017

Reading List Jan 8 -Jan 16, 2017

What .NET Developers ought to know to start in 2017

8 Ways to Reboot Your Software Development Career

ASP.NET Core: Globalization and Localization

Async HTTP API and service bus

Using Azure Service Bus and BizTalk 2016 for messaging between enterprises

Azure WCF Relay DNS Support

Using AWS’s Simple Workflow Service (SWF) with C#

What are Microservices and Why Should You Care?

The elements of systems made with things

SOLID Design Patterns

Implement Queue with a single Stack

SignalR Core Part 1/3: Design Considerations


Japanese company replaces office workers with artificial intelligence

Why Most Published Research Findings Are False

Neodriven is a rearview mirror replacement that can make your car semi-autonomous

Scientist claims he’s discovered a magnetic ‘sixth sense’ in humans

Reading List Jan 1 – Jan 7 2017

Nulls Are Not The Problem

Setting Up Ngrx/Store In An Angular 2 Project

Project Wycheproof

41 of Google’s Toughest Interview Questions

Two-Factor authentication in ASP.NET Identity 3 using TOTP authenticator


Ahoy Travelers: These Are Your Rights When Airlines Screw Up

Finland has started handing out a basic income

The Rodgers Creek and Hayward Faults are revealed to be one fault, capable of a Magnitude=7.4 earthquake

Reading List Dec 20 – 31

Netflix Conductor : A microservices orchestrator

Serverless Architecture – The Way Forward

Why Microsoft believes we’re on the threshold of quantum computing

Service Bus, .NET Standard, and Open Source

Collecting diagnostics for WCF (hosted in IIS) & Web Service performance related issues


Is the Bubble Out West about to Burst?

8 Tips for Handling Tough Questions from Prospects, Employees or the Media

8 Great Philosophical Questions That We’ll Never Solve

Perfect Icebreakers: 8 Smart Phrases That Will Make You Better at Networking

Reading List Dec 5 – 12


Deploying TLS 1.3

Real Time Temperature WebApp with Raspberry, Azure IoT Hub and SignalR

OWIN Web API Starter Template

Nuget Package Security Alerts 

How to Improve, Not Kill the Annual Performance Review

Code Quality Tools in Visual Studio 2015

Async/Await – Best Practices in Asynchronous Programming

Repository pattern, done right

Microsoft researchers earn distinctions from premier computing society

Observations on Porting from .NET Framework to .NET Core

eBook on “Containerized Docker Application Lifecycle with Microsoft Tools and Platform”

Radically Simplified GPU Programming with C# | Seth Juarez | Channel 9

Introducing SAM – the State-Action-Model Pattern

Just Say No to More End-to-End Tests


The wonder and the puzzle of precision oncology : it might save your life, or it might do nothing

Google is not ‘just’ a platform. It frames, shapes and distorts how we see the world

The Doomsday Invention

Reading List – Nov 28- Dec 4


Microsoft new tag line From “A PC on every desktop” to “Deep Learning in every software”

Dapper and Repository Pattern in Web API

Using VisualStudio webtest for automating API testing

Generating Documentation for Angular 2 apps and NativeScript


Big Data, Big Brother : China would restrict services on the basis of recorded behavior

Genghis Khan — The Father of Globalization?

Reading List – Nov 21 – Nov 27


Working with RESTful Data in Angular 2 and NativeScript

Using Hot RxJS Observables In Your Service Layer In Angular 2.1.1

Angular 2 Router

Angular 2 authentication revisited

The Ultimate redux typed store implementation for angular 2 – advanced


How to read Google SpreadSheet using Sheets API v4, .Net and a Service Account

Technical Debt: A change in perspective

.NET Standard 2.0 – Making Sense of .NET Again

No API? No Problem! Rapid Development via Mock APIs

Basic Interview Tips In C#

Fix: Downloads Folder Opens Slowly In Windows 10

.NET Core Data Access

13 DevOps Influencers, Groups and Blogs You Need to Follow

Writing Great Unit Tests: Best and Worst Practices

The First Few Milliseconds of an HTTPS Connection


Science Says Earth Might Not Survive 2017: So Take These 9 Risks Immediately

New battery concept could charge in seconds, last for days

Exclusive Interview: How Jared Kushner Won Trump The White House

Uber, But for Millennials Who Want Orchestras in Their Living Rooms

Arrival’s director also made Enemy, a movie that argues history will repeat itself

Reading List – Oct 30 – Nov 5, 2016


Security Considerations and Best Practices for WCF 4 Apps

Contract-first web service development using WCF and .Net 4.5

Custom WCF Authentication Using Message Contract

Technologies matter

Visual Representation of SQL Joins

Configure IIS to use your self signed certificates with your application including IIS client certificate mapping authentication

Service Ownership and Linked Data

Azure Relay – cross-platform, open-protocol connections

Personal Growth

How to Live with Purpose: Follow the 6 Ms

Transcript of “Why you think you’re right — even if you’re wrong”

Reading List – Nov 6 – 13, 2016


Essential DevOps Skills

Alice in Quantumland: A Charming Illustrated Allegory of Quantum Mechanics by a CERN Physicist

Angular 2 Security — The DomSanitizer Service

WCF Security Best Practices

Cuba’s Innovative Cancer Vaccine Is Finally Coming to America

Immo Landwerth – Net Standard 2.0 | On .NET

The 7 Types Of Security Jobs, According To NIST

Building Mobile-First Infrastructure for Messenger

Security Vulnerability Disclosure Is Still A Minefield

Offshoring roulette: lessons from outsourcing to India, China and the Philippines

String pattern matching

Getting Started With the Pocket Developer API

OAuth 2.0 Hack Exposes 1 Billion Mobile Apps to Account Hijacking



Rethinking Responsive Design

UX Myths


Personal Growth

How To Successfully Respond To A Question You Really Don’t Want To Answer

8 Essential Leadership Traits You Need to Thrive in Today’s Uncertain Economy



President Trump

Revenge of the Forgotten Class

62 people own same as half world – Oxfam

Decision 2016 | The SourceMedia Business Issues Scorecard

Here’s how many Americans crashed Canada’s immigration site

Worried Americans thinking about fleeing to Canada send Zillow traffic way up with real estate searches

Reading list for Nov 13- 20, 2016


Five Days of Azure Functions

Triggering a Microsoft Flow from an HTTP Post

Publishing to IIS with Web Deploy using Visual Studio

How the gains we make in AI could ultimately destroy us

Making code faster : Starting from scratch

VS 2017 Productivity Guide

Step-By-Step: Multi-Site Azure VPN Revisited

Deep Dive into Azure App Service: A Platform to Build Modern Applications

.NET Framework – What’s New in C# 7.0

WinAppDriver – Test any app with Appium’s Selenium-like tests on Windows

Consuming External OAuth Services using IdentityModel

Announcing Mobile Center for React Native

Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application (9 of 10)

Now 3 Steps Tutorial: Simple Intelligent Bot by Azure Bot Service × LUIS (Language Understanding Intelligent Services)



Angular-sprout: The scalable angular seed app

Building an enterprise-grade app with AngularJS

AngularJS–Part 1, Feedback

Building an Angular 2 Application for Production

A scalable Angular 2 architecture

VMware taps Angular 2 for rapid web dev framework

12 JavaScript libraries to watch in 2017

The Gigantic List of Augmented Reality Use Cases

How 5G will change the way we use the web

Personal Growth

6 Habits That Will Turn You Into One of the Most Mentally Tough People on the Planet

How Jeff Bezos Used ‘The New York Times’ Expose to Make Amazon Better

Science Proves Saying These 3 Words Will Improve Your Performance

An End to Blindness: “Holy Grail” of Gene Editing Partially Restores Vision


Aftermath: Sixteen Writers on Trump’s America

Transparent California

Obama Reckons with a Trump Presidency

American Voices on Ways Human Enhancement Could Shape Our Future

Reading list for the week of Aug 4-8, 2014


WebSites Runtime Performance Resources

I attended Build 2013 in SFO and on this excellent talk by Tobin Titus on Web Runtime Performance Tobin shared lots of insight on Web Runtime performance. He shared the list of resources which I thought is beneficial who is looking for improving website performance.

Books on Websites Performance

High Performance Websites
Steve Souders, September 2007

Event Faster Websites: Best Practices

Steve Souders, June 2009

JavaScript Patterns

High Performance JavaScript Nicholas Zakas, March 2010

JavaScript the Good Parts Douglas Crockford, May 2008

JavaScript Patterns Stoyan Stefanov, September 2010

JavaScript Cookbook Shelley Powers, July 2010

Microsoft Guidance

Windows Store App: JavaScript Best Practices
MSDN, December 2012

Performance Tricks to Make Apps & Sites Faster
Jatinder Mann, Build 2012

50 Performance Tricks for Windows Store Apps

Jason Weber, Build 2011

Engineering Excellence Performance Guidance

Jason Weber, EE Forum 2011

Internet Explorer Architectural Overview

Jason Weber, PDC 2011

W3C Web Performance

Web Performance Working Group Homepage

Performance Timeline Specification

Navigation Timing Specification

Blog Posts


WPT Standalone SDK

Windows Performance Toolkit

Fiddler Web Debugger


Evolution of .NET Framework


.NET Framework


CLR 4.0

.NET 4.5



Portable Class Libraries

.NET 4.0

Parallel Computing


Covariance and


CLR 2.0

.NET 3.5 SP1


Entity Framework

LINQ to Entities

Cloud Computing

.NET 3.5







LINQ to Objects

.NET 3.0





.NET 2.0




CLR 1.0

.NET 1.1

.NET 1.0





Severity of Bugs in Software Costs


Source : Typemock

Switching between Running Apache and IIS in Windows

When one installs Apache in Windows Machine where IIS is installed, starting Apache will give the following error :

The Apache service named  reported the following error:
>>> (OS 10013) An attempt was made to access a socket in a way forbidden by its access permissions.
:make_sock: could not bind to address

The reason is both the servers listen on Port 80. Even though you can make one of the servers to listen in different port it is too many changes to make things work.

Easier way is to have these servers running alternatively using simple batch scripts.

Apache and IIS are both launched as a Windows service — open Administrative Tools > Services. Locate Apache and IIS (W3SVC – World Wide Web Publishing Service) and set both Startup types to Manual:

IIS TCP port bindings

(Make a note of Apache’s service name — in the screenshot above, it’s “Apache2.2″.)

Neither server will run when your PC is booted. To start and stop the services, create 4 batch (.bat) files in the same folder.

This will stop IIS and start/restart Apache. (Note that ‘Apache’ is assumed to be the service name in the third line, but your installation may be different.)

@call stop-iis.bat
@call stop-apache.bat
@net start Apache

This will stop Apache (change the service name if necessary).

@net stop Apache

This will stop Apache and start/restart IIS.

@call stop-apache.bat
@call stop-iis.bat
@net start W3SVC

This will stop IIS on Windows Vista or 7.

@net stop was /y

This will stop IIS on Windows XP or earlier.

@net stop iisadmin /y

You can double-click these files to run them or create desktop / start menu shortcuts for easier access.

Source :

C# Coding Guidelines

If you are looking for C# Coding Guidelines grab these guidelines from

I have listed the important ones here.

Basic Principles of Coding

Class Design

  • A class or interface should have a single purpose (AV1000)
  • An interface should be small and focused (AV1003)
  • Use an interface to decouple classes from each other (AV1005)
  • Don’t hide inherited members with the new keyword (AV1010)
  • It should be possible to treat a derived object as if it were a base class object (AV1011)
  • Don’t refer to derived classes from the base class (AV1013)
  • Avoid exposing the objects an object depends on (AV1014)
  • Avoid bidirectional dependencies (AV1020)
  • Classes should have state and behavior (AV1025)

Member Design

  • Allow properties to be set in any order (AV1100)
  • Avoid mutual exclusive properties (AV1110)
  • A method or property should do only one thing (AV1115)
  • Don’t expose stateful objects through static members (AV1125)
  • Return an IEnumerable or ICollection instead of a concrete collection class (AV1130)
  • String, list and collection properties should never return a null reference (AV1135)

Miscellaneous Design

  • Throw exceptions rather than returning status values (AV1200)
  • Provide a rich and meaningful exception message text (AV1202)
  • Don’t swallow errors by catching generic exceptions (AV1210)
  • Always check an event handler delegate for null (AV1220)
  • Use a protected virtual method to raise each event (AV1225)
  • Don’t pass null as the sender parameter when raising an event (AV1235)
  • Use generic constraints if applicable (AV1240)
  • Don’t add extension methods to the same namespace as the extended class (AV1245)
  • Evaluate the result of a LINQ expression before returning it (AV1250)


  • Methods should not exceed 7 statements (AV1500)
  • Make all members private and types internal by default (AV1501)
  • Avoid conditions with double negatives (AV1502)
  • Don’t use “magic numbers” (AV1515)
  • Only use var when the type is very obvious (AV1520)
  • Initialize variables at the point of declaration (AV1521)
  • Favor Object and Collection Initializers over separate statements (AV1523)
  • Don’t make explicit comparisons to true or false (AV1525)
  • Don’t use nested loops in a method (AV1532)
  • Add a block after all flow control keywords, even if it is empty (AV1535)
  • Always add a default block after the last case in a switch statement (AV1536)
  • Finish every if-elseif statement with an else-part (AV1537)
  • Be reluctant with multiple return statements (AV1540)
  • Don’t use selection statements instead of a simple assignment or initialization (AV1545)
  • Prefer conditional statements instead of simple if-else constructs (AV1546)
  • Encapsulate complex expressions in a method or property (AV1547)
  • Call the most overloaded method from other overloads (AV1551)
  • Only use optional parameters to replace overloads (AV1553)
  • Avoid using named parameters (AV1555)
  • Avoid methods with more than three parameters (AV1561)
  • Don’t use ref or out parameters (AV1562)
  • Avoid methods that take a bool flag (AV1564)
  • Always check the result of an as operation (AV1570)
  • Don’t comment-out code (AV1575)
  • Consider abstracting an external dependency or 3rd party component (AV1580)

Framework Guidelines

  • Use C# type aliases instead of the types from the System namespace (AV2201)
  • Build with the highest warning level (AV2210)
  • Use Lambda expressions instead of delegates (AV2221)
  • Only use the dynamic keyword when talking to a dynamic object (AV2230)


Windows Azure Poster


You can grab this poster from here.


WCF Data Services Vs ASP.NET Web API OData

If you are struggling with picking WCF Data Services/ ASP.NET Web API OData here are the high level key differences between these 2 implementation stacks.

WCF Data Services ASP.NET Web API OData
Architecture Interfaces Components
Server / Client? Server and Client Server only
Maturity Released Preview
OData coverage Full Partial, more coming
Flexibility Low High
Key requirements IQueryable
Custom business logic Medium Easy
Formats OData only Any format
Untyped Yes No


REST (Representational State Transfer) and SOAP (Simple Object Access Protocol) represent two very different styles to implement a Web Service. There is a whole lot of analysis done on what to use.. Here is my understanding.

REST represents an architecture style and is designed to reduce complexity by dividing the system into resources. The resources and operations supported by a resource are represented and exposed through a set of URIs (HTTP addresses) logically on the HTTP protocol.

SOAP is a protocol based on messages that is used to implement the messages layer of a Web Service. The message consists of an “envelope” with a header and a body. The header can be used to provide information external to the operation to be performed by the service (e.g., security aspects, transactional aspects or message routing, included in the header).

The main difference between these two approaches is the how the service state is maintained.

With SOAP, changing through different states is made by interacting with a single service endpoint which encapsulates many operations and message types.

With REST, we have a limited number of operations and these operations are applied to resources represented and addressed by URIs (HTTP addresses). The messages are composed by current resources states or the required resources state.

REST works very well with Web applications where HTTP can be used as protocol for data types other than XML (like JSON). The service consumers interact with the resources through URIs in the same way people can navigate and interact with Web pages through URLs (web addresses).

The following diagram shows what scenarios REST or SOAP fit better

  Advantages Disadvantages
SOAP Strongly typed proxies – WSDL SOAP messages are not „cacheable‟ by CDNs. This is a very serious handicap for high scalable applications in the Internet
SOAP Supports different communication protocols. (HTTP/TCP/MSMQ/Named
SOAP messages are not JavaScript friendly (For AJAX, JQuery, etc. REST is the best choice).
REST Services act as Resources, such as images or HTML documents Working with strongly typed objects is harder, although this depends on technological implementations and it is improving in the latest versions of most platforms
  Data can be maintained strictly or decoupled (not as strict as SOAP) Only works over HTTP, and REST calls are restricted to HTTP verbs (GET, POST, PUT, DELETE, etc.). But, it this really a disadvantage for the Internet and interoperable solutions? 
  REST resources can be easily used from the JavaScript code (AJAX, JQuery, etc.)  
  Messages are light, so the performance and scalability offered are high. This is important for many Internet applications  
  REST can use XML or JSON as data format  
  REST messages are „cacheable‟ by CDNs thanks to the HTTP GET verb being used like any HTTP-HTML web-site. This is a great advantage for high scalable applications in the Internet  


Even though both approaches (REST and SOAP) may be used for similar types of services, the approach based on REST is normally more suitable for Distributed Services that are publicly accessible (Internet) and require high scalability or in cases where a Service can be accessed by unknown consumers. SOAP, on the contrary, is still a good approach for implementing procedural implementation ranges, such as an interface between the different layers of Application architecture or, ultimately, private Business Applications.

SOAP does not limit to HTTP. The standard specification WS-*, which can be used on SOAP, provides a standard and therefore interoperable path to work with advanced aspects such as SECURITY, TRANSACTIONS, ADDRESSING AND RELIABLE-MESSAGING. But, frankly, these advanced WS-* specifications have not been broadly adopted and used by most applications in the Internet and even when they are standard specifications, its degree of compatibility between different technical platforms is not really high, mostly due to its complexity.

REST also offers a great level of interoperability (due to the simplicity of its protocol); however, for advanced aspects, such as those previously mentioned, it would be necessary to implement their own mechanisms, which would be non-standard.

In short, both protocols allow us to interchange data by using verbs.

The difference lies in the fact that, with REST, this set of verbs is restricted to coincidence with HTTP verbs (GET, PUT, etc.) and in the case of SOAP, the set of verbs is open and defined in the Service endpoint.

– SOAP is a protocol that provides a messaging framework that a layer abstraction can be built on, and it is mostly used as an RPC calls system (synchronous or asynchronous) where data is transferred as XML messages.

– SOAP manages aspects, such as security and addressing, through its internal implementation of SOAP protocol.

– REST is a technique that uses other protocols, such as JSON (JavaScript ObjectNotation) and Atom as a publication protocol, and simple and light formats of the POX type (Plain Old XML).

– REST enables the use of standard HTTP calls such as GET and PUT to make queries and modify the state of the system. REST is stateless by nature, which means each individual request sent from the client to the server must contain all the necessary information in order to understand the request, since the server will not store data about the state of the session.

SOAP is a protocol based on messages that is used to implement the messages layer of a Web Service. The message consists of an “envelope” with a header and a body. The header can be used to provide information external to the operation to be performed by the service (e.g., security aspects, transactional aspects or message routing, included in the header).

Source : MSDN


Azure Service Platform – An Introduction

These are my notes from Cloud OS Event conducted by Microsoft. It gives a high level overview of Azure service platform.

  • Industry has defined three categories of Cloud services:
    • IaaS  (Infrastructure as service) – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications.
    • PaaS (Platform as Service) – higher level sets of functionality that are delivered as consumable services for developers who are building applications.  PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed.
    • SaaS (Software as Service) – applications that are delivered using a service delivery model where organizations can simply consume and use the application.  Typically an organization would pay for the use of the application.

Packaged Software

With packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications.  This is what we have today.

  • IaaS
    • With Infrastructure as a Service, the lower levels of the stack are managed by a vendor.  Some of these components can be provided by traditional hosters  in fact most of them have moved to having a virtualized offering.
    • The customer is still responsible for managing the OS through the Applications.
    • For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines.
  • PaaS
    • With Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor.
    • The Windows Azure best fits in this category today. 
    • PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services.
    • With PaaS, the developer can, almost immediately, begin creating the business logic for an application.
    • Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly.
  • SaaS
    • Finally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.

Azure Storage Options – Fundamental data abstractions to build Cloud Applications

  • Blob service, for storing binary and text data
  • Queue service, for storing messages that may be accessed by a client
    • Queue service provides reliable, persistent messaging within and between services. The REST API for the Queue service exposes two resources: queues and messages.
    • Enables workflow between roles
    • Load work in a queue
    • Producer can forget about message once it is in queue
    • Many workers consume the queue
    • For extreme throughput (>500 tps)
    • Use multiple queues
    • Read messages in batches
    • Multiple work items per message
  • Table service, for structured storage for non-relational data
    • Table service provides structured storage in the form of tables.
    • Table service supports a REST API that is compliant with the ADO.NET Data Services REST API.
    • Developers may also use the .NET Client Library for ADO.NET Data Services to access the Table service.
    • Tables store data as entities.
    • An entity is a collection of named properties and their values, similar to a row.
      • Entity can have up to 255 properties
      • Up to 1MB per entity
      • Mandatory Properties for every entity
      • PartitionKey & RowKey (only indexed properties)
      • Uniquely identifies an entity
      • Defines the sort order
      • Timestamp
      • Optimistic Concurrency
      • Exposed as an HTTP Etag
      • No fixed schema for other properties
      • Each property is stored as a <name, typed value> pair
      • No schema stored for a table
      • Properties can be the standard .NET types
      • String, binary, bool, DateTime, GUID, int, int64, and double
    • Tables are partitioned to support load balancing across storage nodes.
    • Each table has as its first property a partition key that specifies the partition an entity belongs to.
    • The second property is a row key that identifies an entity within a given partition.
    • The combination of the partition key and the row key forms a primary key that identifies each entity uniquely within the table.
    • The Table service does not enforce any schema.
    • A developer may choose to implement and enforce a schema on the client side
  • Windows Azure drives, for mounting an NTFS volume accessible to code running in Windows Azure service.
    • Use existing NTFS APIs to access a network attached durable drive
    • Use System.IO from .NET
    • Benefits
      • Move existing apps using NTFS more easily to the cloud
      • Durability and survival of data on instance recycle
      • A Windows Azure Drive is an NTFS VHD Page Blob
      • Mounts Page Blob over the network as an NTFS drive
      • Local cache on instance for read operations
      • All flushed and unbuffered writes to drive are made durable to the Page Blob
  • Programmatic access to the Blob, Queue, and Table services is available via the Windows Azure Managed Library and the Windows Azure storage services REST API

Identity (Security)

  • Integrate with enterprise identity
  • Enable single sign-on within your apps
  • Enterprise Graph REST API
  • Claim Based Identity
  • Windows Azure Access Control Service
    • Host an STS in cloud for you
    • WS-Federation, WS-Trust, Open ID, OAuth

Service Bus

  • Secure messaging and relay capabilities
  • Easily build hybrid applications
  • Enable loosely coupled solutions
  • Connectivity
    • Service Relay -Rich Options for Interconnecting apps across network boundaries
  • Messaging
    • Queuing Publish/Subscribe
    • Reliable Transfer -Reliable transaction aware cloud messaging infrastructure for business applications
  • Service Management
    • Service Discovery, Monitoring
    • Integration Routing
      • Content based routing & process coordination.

Key Capabilities

  • Relayed One-Way Unicast and Multicast
  • Relayed WCF NET.TCP with Direct Connect Option
  • Relayed WCF HTTP with support for REST and SOAP 1.1/1.2
  • Endpoint protection with Access Control

Azure Usage Scenarios :

  • Ideal for Applications Needing:
    • Scalability
    • Availability
    • Fault Tolerance
    • Common Application Uses:
      • Web Sites
      • Compute Intensive apps
      • Device Applications
      • Web APIs
      • Social Games

Summary :

Windows Azure provides a comprehensive set of services to selectively compose to build cloud applications.

Global Data Center Footprint – 99.95% Monthly SLA.

Flexible & Open Compute Options – Virtual Machines, Web Sites, & Cloud Services

Managed Building Block Services – SQL Database, Cache, Service Bus.

Full list of Video and Audio formats supported in Windows 8

Supported audio and video formats

Media File Container or File Format File Extension Media Stream Formats (Codecs)
Video Audio
MPEG-4 .3g2 H.263

H.264 (Baseline, Main, High)

MPEG-4 Part2 SP and ASP

.m4a n/a AAC (LC, HE)


.m4v H.263

H.264 (Baseline, Main, High)

MPEG-4 Part2 SP and ASP

MPEG-2 .m2ts (e.g. AVCHD) H.264 MPEG-2 (L1, L2, stereo-only)

MPEG-1 (L1, L2)


AC3 (DD, DD+)

ASF .asf VC-1


WMA standard

WMA voice

WMA lossless


.wma n/a
ADTS .aac n/a AAC (LC, HE)
MP3 .mp3 n/a MP3
WAV .wav n/a PCM





MS GSM 6.10

AVI .avi MPEG-4 Part2 SP and ASP









MS GSM 6.10

AC3 (DD, DD+)

AC-3 .ac3


n/a AC3 (DD, DD+)

Source : MSDN

MVVM pain points

MVVM was touted as THE PATTERN to go for when Microsoft introduced WPF. It got more attention when Silverlight which was a thin down version of WPF released later.

Now both the technologies are going back to the shelf does the pattern MVVM still sounds good ?. MVVM do provide a strong pattern for Data Binding, Design and Testing it also has bunch of pain points which are hightlighted below :

  • Microsoft hasn’t given clear directions on this pattern yet, and the various non­Microsoft resources available on the topic can send mixed messages, leaving developers and architects confused.
  • Need for boilerplate code, complicated techniques and/or frameworks. Things like property changed notifications and commands require lots of boilerplate code and potentially brittle designs that require using “magic strings”.  Even though there are open source frameworks available one may not want to or may not be allowed to use open source frameworks.
  • Only supported in WPF and Silverlight: This pattern doesn’t transfer well to technologies such as ASP.NET or WinForms easily.