Microsoft bot

Microsoft bot strategy

Bots are conversational agents are they are meant to help users to complete a particular task. There are not new and they are not specific to Microsoft. The user doesn’t need to have an application or to go to a specific Web site and he can provide information directly to the bots.

 

Why Microsoft just made a big bet on bots

Satya Nadella thinks that bots are a simple concept with a profound impact. Microsoft hopes that boots become the next major computing platform even if for now the consumer interest is not overwhelming. Bots are cataloged as the website builder of the future. Some startups are already creating bots, Google tried to buy Chatfuel and Facebook is expected to open Facebook Messenger to third-party bots. Microsoft will make easier for developers to write bots  in Windows and run them on the Azure.

https://dev.botframework.com/

To get started you will need a Microsoft account.

Microsoft Bot Framework contains Bot Connector,  Bot Builder SDK and Bot Directory.

Bot Connector allows you to register, connect and publish the bots to services like text/sms, Office 365 mail, Skype, Slack and others.

Bot Builder SDK will provide anything you need to build great dialogs within your bot. For C# you can get started from docs.botframework.com/sdkreference/csharp/.

The Bot Directory is a public directory of all approved bots registered through the Bot Connector.

 

Notes #4 – Git vs SVN, git-flow

A comparison between Git and SVN. Git’s major features:

  • Git was designed to be fully distributed from the start, allowing each developer to have full local control
  • Git branches are simpler and less resource heavy than Subversion’s
  • Git branches carry their entire history
  • Branch merging is simpler and more automatic in Git.
  • Git is extremely fast. Since all operations (except for push and fetch) are local there is no network latency involved

git-flow – a successful git branching model

The main branches:

  • master – the main branch where the source code always reflects a production-ready state.
  • develop – the main branch where the source code always reflects the latest delivered development changes. The « integration branch » where any automatic nightly builds are build from.

Other branches, with a limited life time,  with a specific purpose, to aid parallel development:

  • feature  – it branches off from develop and it must merged back into develop. It exists as long as the feature is in development
  • release – it branches off from develop  and it must merged back int develop and master. Branch name convention: release-*. Use it for minor bug fixes and preparing meta-data for a release
  • hotfix – it branches off from master and must be merged back into develop and master. Branch naming convention: hotfix -*. Use it when you need to act immediately upon an undesired state of a live production version, when a critical bug in a production version must be resolved immediately.

Automate git branching workflow – use  git-flow library of git subcommands that helps automate some parts of the flow to make working with it a lot easier.

Issues with git-flow – The git-flow process is designed largely around the « release » but when you need to deploy regularly (every day), like GitHub does, a much simpler workflow is required.

 

Read and Write from the Interactive Shell

To write a value to the shell you can use the Write-Host command. It also allows you customize the console output.

$name = "Marius"
Write-Host -ForegroundColor White -BackgroundColor Black $name

To read a value from the interactive shell you can use Read-Host. This command will read a line of input from the console.

Write-Host "Please enter your age"
$age = Read-Host

Common cmdlets in Powershell

Here are some common used cmdlets in Powershell:

get-help

get-help process

– retrieves a list of commands available on a specific topic. For example, process

get-process

get-process

– returns information on processes

get-service

get-service

– returns information on the services that are installed on the computer

get-item

get-item C:\

– Gets the item at the specified location

get-content

get-content C:\file.txt

– returns the contents of the specified item

PowerShell – A really short introduction

PowerShell, seen as an evolution of the former Windows command-line shell, offers a new way the shell interprets the commands (not as plain text but allowing more interaction).  This scripting language interprets objects with methods and attributes that have have access to much of .NET Framework. For example, for retrieving the length of a string, we can call the property Length of an object of type System.String.

PowerShell also allows you to work with COM, WMI, XML and Active Directory.

A cmdlet is a lightweight command that is used in the Windows PowerShell environment

To run the simplest commands we only need the interactive shell from Windows. Type Powershell.exe. It is compatible with DOS commands and UNIX commands.

However, there are several tools that provide syntax highlighting, debugging, like PowerShell ISE or PowerGUI.

 

Notes #4 – Reading books

A simple plan to start reading more – Of course there is no simple plan. Just start reading 25 pages per day. I will start with 10. No excuses.

The art of reading, remembering and retaining more books

Start by finding out how fast do you read. My reading speed is average. You can improve your speed by following all kind of guides, choose another way of reading, like Spritz, or make more time by cutting out time from other activities. Keep in mind that not always reading faster is the right solution.

Remember what you read by trying to be impressed by the text or associating it to something you already know or use repetition by literally re-reading a passage.

Scribble, bookmark what you like, write a review.