Photo by James Harrison on Unsplash

When using SonarQube or SonarCloud to analyze a C/C++/Objective-C project, the Build Wrapper is a required component that is executed as a prefix to the build command. After the build has finished, a build-wrapper-dump.json file is generated in the Build Wrapper output directory. This file contains absolute file paths (source files, standard headers, libraries, etc…) which SonarScanner needs access to while running. On account of this, both the Build Wrapper and SonarScanner binaries must run on the same host.

In Azure Pipelines, there are some special scenarios where we may want to run them on different hosts:

  • The project demands…
Azure Storage Client Library, vcpkg and CMake
Azure Storage Client Library, vcpkg and CMake
Images from and

The Azure Storage Client Library for C++ allows building applications against Microsoft Azure Storage. It supports both Windows and Linux platforms and has many dependencies during install. Therefore, it’s recommended to use a cross-platform library manager to install it.

vcpkg is a cross-platform C++ library manager, which provides the latest version of the Azure Storage Client Library. It’s been constantly evolving and is easy to be integrated with Azure Pipelines.

In this post, we’ll learn about how to integrate the Azure Storage Client Library, which is installed via vcpkg, to a CMake project targeting both Windows and Linux platforms.

Installing the Azure Storage Client Library


Photo by Markus Spiske on Unsplash

To secure web servers, an SSL certificate can be used to encrypt web traffic. It’s easy to create self-signed certificates as I’ve mentioned in the “Creating an HTTPS Server with Node.js using a Self-Signed Certificate” post but they’re not considered trusted by many applications. So in this post, we’re going to talk about:

  • Problems with self-signed certificates
  • How to obtain an SSL certificate signed by public certificate authorities (CAs) for an Azure Virtual Machine (VM)

Problems with self-signed certificates

Let’s have a look at the following examples to understand why GlobalSign has warned us about the dangers of self-signed certificates.

Example 1: You’re hosting…

A data center
A data center
Photo by Kelvin Ang on Unsplash

If you have a Node.js web server running over HTTP, you may want to enable HTTPS so that data exchanged over network is encrypted. To do this, you need an SSL certificate. In this post, we’re going to talk about how to generate a self-signed certificate in two different ways:

  • Use pem to create certificates programmatically
  • Use Azure Key Vault to create certificates and store them in key vault

If you’re not familiar with public keys, private keys and SSL certificates, this post provides an excellent explanation about them.

Using pem

pem is an npm package that allows easily creating self-signed certificates…

How we used WebRTC and a web browser to view remote content from an Electron service running on the cloud.

Cloud in hand
Cloud in hand
Cloud in hand — Photo by Samuel Zeller on Unsplash

In this post, I’ll share how we built a simple HTML page that can connect to the Electron service mentioned in Streaming Electron for Fun and Profit post. If you haven’t read that one yet, please spend some time reading it first.


Phong Cao

The jewel is in the lotus.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store