Announcing new version of DNV GL Rules Chatbot

Happy new year!

I am happy to announce the new version of Rules Chatbot is ready now. The key new features are below:

  • Support full text search (based on SharePoint Search)
  • Indexing DNV GL classification rules documents with enhanced metadata
  • Customized ranking
  • Upgraded to Bot Framework 3.0


Read More

Share Comments

No agent pool found with identifier 0 error when setup build agent in VSTS


We cannot register a private build agent on VSTS by using a service account. This service account has created Personal Access Token with expiration for 1 year and authorization for all scopes.

Whenever we run the config.cmd, then connecting to the server, type the Agent Pool and Agent Name, configuration command throws error.

No agent pool found with identifier 0.
Failed to add the agent.  Try again or ctrl-c to quit

However, with the same build server and with another developer’s account, it works fine and the build agent is up and running.

Read More

Share Comments

Work with custom event in Application Insights

Application Insights can offer you lots of built-in telemetries such as Page Views and Exceptions. But quite often we need to track some customize/business performances. Some examples that we are using now are:

  • SharePoint crawled items from content source X
  • Daily usage of a web application of all users from company ABC
  • Usage and performance of different version of API

To meet these challenges, Application Insights offers API for custom event and metrics.

In this article I will show how to monitor and analysis API performance by using custom events, including export it into external database for archiving and future analysis.

Read More

Share Comments

Web/Load testing against an ADFS federated application

In Application Insights, you can create an availability web testing to monitor the availability of a web application. It supports 2 type of testing:

  • URL ping test: a simple test that you can create in the Azure portal.
  • Multi-step web test: which you create in Visual Studio Ultimate or Visual Studio Enterprise and upload to the portal.

Normally it is easy to setup ping test and multiple step testing against a public site.

However, in order to have a multiple step testing against an ADFS federated application, you will have to do some extra in order to take care of the authentication part.

Read More

Share Comments

Application Insights Export and PowerBI


Application Insight is a great tool for monitoring your application. However, there is a limitation regarding historical data: Regardless the different plans, you can only have:

  • 7 days raw data, includes access to all telemetry data points collected by application insights
  • 90 days aggregated data, includes access to telemetry data points aggregated at hourly/daily levels

This article will demonstrate how to use the continuous data export to overcome this limitation, as well as use PowerBI for future web analytic.

Read More

Share Comments

A chatbot prototype - DNV GL rules and standard chatbot

(Edited 2017-01-07: The newer version of Chatbot is at here).

At the end of March 2016, Microsoft announced the Bot Framework, a platform that helps you to quickly build the high quality bots for your business.

In April, after a long weekend happy hacking, I have built a chatbot prototype who can help you to find DNV GL service document.

Read More

Share Comments

How to connect VSTS project and Azure subscription


For enabling the continues deployment from VSTS to Azure, e.g. provision the environment and deploy code, you must create connection between VSTS project and Azure subscription. It should be done in individual project and not in the VSTS top level. Therefore, each project can connect to different Azure subscription.

It contains two main parts, and normally you need both of them

  • Connect Azure Classic (for deploying your application code)
  • Connect Azure Resource Manager (for provisioning your environment)

Read More

Share Comments

Change Git color

Git has a default color schema for showing information. However, sometimes it is difficult to read (especially for color blind people), such as below

You can modify the color schema by editing the C:\Users\yourname.gitconfig file as below

Read More

Share Comments

How to setup a hexo-based blog: Part 2

Previously we have setup and published the hexo-based blog. The article source code and the hexo configuration files are under git version control.

Config theme, the wrong way

As most hexo tutorials, the next step is to change the default theme. There are lots of themes that you can choose from. However, most of the theme simply ask you to clone itself under the themes folder.

In this case, we will use the popular theme NexT. Its document specified follow below steps:

  • Install

    git clone themes/next
  • Update the _config.yml to use this theme

    theme: next
  • Pull the theme update when it is needed

    cd theme/next
    git pull

The problem

For most of themes (including NexT), we will have to modify the theme’s _config.yml file which is under the theme folder, in order to:

  • change the configuration on the theme level, such change theme style
  • update personal information
  • setup Google Analytic key
  • integrate with 3rd party commenting plugin
  • future customize the theme the way you want

Naturally, you would like to have above modifications also under version control, so you check them in and push to Git.

Now, if you head to Github source code page, you will find an interesting grayed-out folder named “Next”

You also lost the possibility to browse the theme source code there.

Read More

Share Comments

How to setup a hexo-based blog: Part 1

Hexo is a simple and powerful blog framework that allows you setup your blog quickly and easily.

Why Hexo?

Instead of create the blog in, I decided to setup and own the whole blog website. You can read a good discussion by Avinash Kaushik.

However, own a web site on interent is not easy. Normal maintenance tasks, such as backup database (your content) and apply security patch, are too much to a part-time blogger. Therefore, Hexo became a good solution:

  1. Customization: Hexo and its components are open-source. You can customize your blog the way you want.
  2. Light-weight: Hexo is a static blog system. It does not require any server-side code, or a database. Git is the best mechanism.
  3. Safety: Hexo only publish static files to internet, such as html, css and javascript. It is much less vulnerable compares to any rumtime web application.
  4. No compromise on functionality: Even it is a static site, but you can still embed 3rd party services for common blog functionalities such as commenting and web analytic.
  5. Cost: Together with Github page, host your blog is free. If you are not a fan of the domain name, you can also pay a little to have your own domain.

Read More

Share Comments