Bot Framework Composer helps you build bot with GUI and “No Code”

Do you know that Microsoft has released a Bot Framework Composer. Using the Bot Framework Composer presents some advantages when compared to creating a bot with the SDK and coding.

  • Use of Adaptive Dialogs allow for Language Generation (LG), which can simplify interruption handling and give bots character.
  • Visual design surface in Composer eliminates the need for boilerplate code and makes bot development more accessible.
  • Time saved with fewer steps to set up your environment.
  • The Composer bot projects contain reusable assets in the form of JSON and Markdown files that can be bundled and packaged with a bot’s source code. The files can be checked into source control systems and deployed along with code updates, such as dialogs, language understanding (LU) training data, and message templates.

It is available as a Desktop application as well as a web-based component. You will also need to install the Bot Framework Emulator and ensure that you have .NET Core SDK 3.1 or later installed as well.

And this Bot Framework Composer is also one of the key components in the exam if you are going to take AI-102: Designing and Implementing a Microsoft Azure AI Solution (the replacement exam of AI-100 after 30th June 2021).



[PowerShell] How to Retrieve Data with ADO.NET

I am primary a C# developer since 2005. Before that I was a VB5/VB6/VB.NET developer. Recent, I changed my role from development side to a consulting side. I found out that I have to do some development by using powershell script. It is because I will pass the program to client and we should try to build with script or any “no compile needed language”. And so I start writing PowerShell script. Because of this, I will write some blog about PowerShell  that I learned from my job. And this is the first one in this series.

My first PowerShell task is, retrieve data from MSSQL.

From my C# knowledge, I would like to retrieve data by using ADO.NET. So I start looking for how I could use C# library in PowerShell Script. And lucky that there is a way.

Below is my first script in PowerShell.

Function GetDataFromMSSQL {
    Write-Host "====================================="
    $sqlConn = New-Object System.Data.SqlClient.SqlConnection
    $sqlConn.ConnectionString = "Server=localhost;Integrated Security=true;Initial Catalog=AdventureWorks2019;"
    try {
        Write-Host "Data Source is connected."
        #$sqlcmd = $sqlConn.CreateCommand()
        $sqlcmd = New-Object System.Data.SqlClient.SqlCommand
        $sqlcmd.Connection = $sqlConn
        #$selectQuery = "SELECT TOP (1000) [SpecialOfferID],[Description],[DiscountPct],[MinQty],[MaxQty] FROM [AdventureWorks2019].[Sales].[SpecialOffer]"
        $sqlcmd.CommandText = $selectQuery

        $sqladp = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcmd
        $data = New-Object System.Data.DataSet
        $sqladp.Fill($data) | Out-Null

        $rowCount = $data.Tables[0].Rows.Count
        Write-Host "$rowCount rows returned."
    } catch {
        Write-Host "Data Source cannot be connected."
        Write-Host $Error[0].Exception.Message
    } finally {


Microsoft Revised Azure Certifications

Microsoft has revised the Azure Certifications. The idea of the new certification is that they should map to job roles and job duties. There are 3 levels from Foundation to Associate then to Expert.

Some of them have the transition exam from old Microsoft Azure Exams. But be careful that these transition exams will expire in June 2019. So be quick to take the exams if you plan to.

Here is the map of them.

Microsoft Certified Azure Fundamentals

This Certification requires you to sit and pass one exam (AZ-900 Microsoft Azure Fundamentals). This exam is listed as optional for all certification path, and it covers the core understanding of Azure. This exam is for both technical and non-technical people looking to validate their foundation knowledge of Microsoft Azure Services.


Microsoft Certified Azure Administrator Associate

This certification requires you to sit and pass two exams (AZ-100 Microsoft Azure Infrastructure and Deployment and AZ-101 Microsoft Azure Integration and Security). As this is a replacement for the old 70-533 exam if you have already passed it you can sit the transition exam (AZ-102 Microsoft Azure Administrator Certification Transition) but be quick as this exam is only available until June 2019.


Microsoft Certified Azure Developer Associate

This certification originally was two exams just like the AZ-100/101 however after reviewing feedback provided during the beta tests Microsoft removed some of the learning objectives and consolidated it in to one exam (AZ-203 Developing Solutions for Microsoft Azure). Whilst this is the replacement for the 70-532 certification there is no transition exam so anyone with that and looking to obtain the new Associate certification must take the whole exam again.


Microsoft Certified Azure Solution Architect Expert

This certification requires you to sit and pass two exams (AZ-300 Microsoft Azure Architect Technologies and AZ-301 Microsoft Azure Architect Design). As this is a replacement for the old 70-535 exam if you have already passed that you can sit the transition exam (AZ-302 Microsoft Azure Solutions Architect Certification Transition). As with the AZ-102 transition exam this one will also expire in June 2019.


Microsoft Certified Azure Dev-Ops Engineer Expert

To attain this certification you have to sit one additional exam on-top of either Associate certification – (AZ-400 Microsoft Azure DevOps Solutions)

This certification is a new domain for Microsoft, and is for those Azure Administrator Associates or Azure Developer Associates who wish to take their roles to the “expert” level. Not only does it focus on Microsoft Azure solutions but how certain OpenSource tools complement it. As this is a new domain there is no transition exam.

Microsoft Learning Download Center has moved to Cloud!


If you are MCT, you must know that the URL of the MOC Download Center is

Today, when I browse to this url and it shows an image and telling you that “Microsoft Learning Download Center has moved to Cloud! You are automatically being redirected, please click here to go the new website directly.” And your webpage will be redirect to the new portal after few seconds.

So you’d better to update favorites in your Browser and point to the new URL now.
New URL is:

The new features introduced in each version for C# (1.0 – 5.0)

Last week I have a gathering with all current and ex-HK MVPs. During the dinner, we talked about what is the difference between each new version of C#. Please allow me to have a short summary of this topic into a picture. You are welcome to share this picture to your friends, your user group, your colleagues.

P.S. Noted that Microsoft has just announced that VS2013 will be coming soon, I will come back to this once it is Release or in Beta.