Friday, 17 August 2018

How to Get Selected CheckBoxes Using AngularJs

In this blog, I would teach you two ways to get a list of selelected checkboxes using AngularJS with the click on a button. In another blog we would explain how to perform an action when a checkbox is checked (ng-change or ng-click event).

For the two methods, the html code remains the same as below:

<div ng-repeat="row in Skills" >
   <input type="checkbox" ng-model="row.selected" >
   <span> {{row.Skill}} </span>

 <button ng-click="GetSelected()">Get Selected</button> 

AngularJS (Script 1)

$scope.selected = {};
$scope.DeleteSelected=function () {               
        angular.forEach($scope.selected, function(value, key) {

AngularJS (Script 2)

$scope.GetSelected=function() {       
   var selected = [];
   angular.forEach($scope.Skills, function(row) {
   if (row.selected) {          

Both methods have been tested by me and works very fine. You could reach me by comment below if you have any challenge using the code.

Thanks for learning.

Monday, 30 July 2018

5 Stages of Team Development - Tuckman's Model (PMP Exams Nuggets)

Just about a month ago, I joined a new team, but all to my suprise, after a couple of weeks everything seemed like a complete chaos as some team members challenged my way of handling things. 
Some were making comments like: "Kindson is now working on his own!". or something like: "We don't know what Kindson is doing!". Some other team members were reporting others to the Project Manage and some were challenging others openly in team meetings all that. And sure it could be worse. But guess what? This is a normal part of team development. The team is in the Storming stage. Let me tell you about it

I went back to review my notes on Tuchman's Model of team development. This model was first developed by Bruce Tuckman in 1965 and has five stages
We begin our discussion with a few words for Project Managers


1. Note to Project Managers

If you are a project manager or you aspire to be one, then it is neccessary that you pay attention to the makeup of your team. You need to be especially watchful in situation where your team is a multicultural team and a good number of the team are of similar background. Conflicts could easily escalate in situations like this to the detriment of the project.
So note when the team enters the storming stage and try to make sure that the duration of this stage is as small as possible. At this stage you need to communicate more frequently with your team members and avoid taking sides in time conflicts

2. Forming Stage

This is the initial stage of the team development. This stages commences with the formation of the team and the team members meet for the first time. In this stage the team members learn about the project at heand and also get informed about their various roles and  in the project. At this point, there is no much cohesions and team members still have an independend mindset.

3. Storming Stage

In this phage, the team members start to step into the actual project work. Since team members begin to work together for the first time, there would be different ideas and divergence of opinions. Sometime, this is the stage where the project experience the highest occurence of inter-team-member conflicts. The project manager need to proactively and carefully manage this stage through good communication and other ways. Otherwise the main project progress may get stalled.

4. Norming Stage

This stage is like an exit from the Storming stage as team members begin to accept one anothers and adopt a more cohesive  approach to work. Team members adjust personal behaviours to support the team and mutual respect and trust is built among team members.

5. Performing Stage

This is the like the zenith stage of the team. At this poin the team becomes interdependent and productivity and progress in the project attains a very high level. The project work moves smoothly and effectively as tasks are completed.

6. Adjourning Stage

In this phase  the team more or less completes the work of the project and moves on from the project. This would normally be about the Closing phase of the project but sometimes a little prior to the time. The team members are released from the project at this time  and project deliverables are completed

Final Thoughts

The duration of each of the stages varies depending on the makeup of the team as well as the size of the and nature of the project. According the the PMBOK Guide, project managers should have a very good knowledge of the team dynamics to be able to scale throught the stages successfully.

I would like to thank you for reading and you can leave comments below to let me know if this has benefitted you.

Saturday, 28 July 2018

5 Schools to Earn Masters Degree in Machine Learning (Part-time and Online Learning) 2018/2019

Hello, my name is Kindson The Genius.
One fact we must all appreciated is that in the next few years, Machine Learning or related courses would gradually become be most valuable program you can ever do. This is true because of the curent trend and research. So if you are thinking of a Masters degree program, then Masters in Machine Learning is the way to go.

Just to know what machine learning is all about, I made this brief lessons

But take note that in many schools, the name of the programe would not be exactly Masters in Machine Learning but would be something like: "MSc in Computer Vision and Machine Learning" or "MSc in Robotics and Machine Learning" and things like that.

In this article, I would present you with 5 schools that could offer you opportunity for Master's in Machine Learning with the possibility of online or part-time program.

1. University of Surrey, Guildford, United Kingdom
Masters in Computer Vision, Robotics and Machine Learning
Faculty: Engineering and Physical Sciences
Tuition Fee: £20,500 for fultime studies; £2,300 per 15 credits
Program: The program takes a total of 12 months for full-time and a minimum of 24 months for the part-time program
Entry Requirement: UK 2:2 undergraduate degree or international equivalence

2. University of Edinburgh
Masters in Informatics, Machine Learning and Computational Neuroscience
Tuition Fee: £21,300
Program: The program takes a total of 12 months for full-time and a minimum of 24 months for the part-time program
Entry Requirement: UK 2:1 Bachelor's degree or international equivalent

3. Royal Holloway, University of London
Masters in Internet of Things (IoT)
Faculty: Department of Economics
Tuition Fee: 17,500EUR for non-EU Students (10,000EUR for EU students)
Program: The program takes a total of 12 months for full-time and a minimum of 24 months for the part-time program
Entry Requirement: UK 2:1 Bachelor's degree or international equivalent

4. University College Cork, Ireland
Masters in Mathematical Modelling and Self-Learning Systems
Faculty:  College of Science, Engineering and Food Science
Tuition Fee: 18,000EUR for non-EU Students (7,000EUR for EU students)
Program: The program takes a total of 12 months for full-time and a minimum of 24 months for the part-time program
Entry Requirement: UK 2:2 undergraduate degree or international equivalence

5. Queen Mary University of London
Masters in Artificial Intelligence (AI)
Faculty:  School of Electronic Engineering and Computer Science
Tuition Fee: 16,950 GBP
Program: The program takes a total of 12 months for full-time and a minimum of 24 months for the part-time program

These are just five of the schools around the globe that offer quality program on Artificial Intelligence related courses. Here we focus on Masters in Machine Learning and related programs.

If you have further questions, you can leave a comment below. Find Machine learning tutorials below to give you a headstart.

Introduction to Machine Learning 
Classification in Mahine Learning
Basics of Decision Theory

Wednesday, 25 July 2018

Brief Explanation of Top 5 Technology Trends You Should Know in 2018

Hello good to see you!
My name is Kindson The Genius and I would give you a brief explanation of these top 10 technology trends you should be aware of if you are leaving in 2018!
At least you should have an ideas of what they are all about. Let's start!
I would try to be very clear, and without using technical terms.

1. Digital Currencies
This defines a way to carry out transactions based on only digital records. Basically same as cashless transactions but using technologies called Blockchain. Some of the most common digital currencies include Ethereum, Bitcoin, Litecoin, Dash, Ripple and SwissCoin. The big question is, 'would digital currencies one day replace the conventional physical currencies?. We just need to wait and see.

2. Blockchain: Blockchain
This is a a technology that enables financial transactions to be maintained in a network of computing devices in the internet. A distributed ledger is maintained and managed by several nodes around the world (as against centralized ledger used by banks today). This is probably one of those technologies that we would end up using without knowing all the details on how they really work. (Seriously, how many persons using  a remote control knows how it really works?)

3. Internet of Things and Industrial IoT
Internet of Things is a technology that allows devices("things including home appliances, cars, cloths...just anything) to have identifications tags such as IP addresses and would be controllable via the internet. Going further, these devices would be 'aware' of themselves and would be able to control themselves and other devices without human intervention. Eg.a car fixing its own fault by updating its firmware etc. How about turning off your oven from your office? I thin we are almost there!

4. Assisted Transportation
I think an easy term to use may be Automomous Vehicles. We already see some strides made by Tesla. But Assisted Transportation covers a wide array of technologies rangin from remotely operated vehicles(ROV), drones to fully automomous vehicles. It is predicted that in the next 50 years, there would be entire cities with only Autonomous vehicles running them. But if this is really achievable remains a subject of debate.

5. Deep Learing
This is not the same as Machine Learning which is simple a branch of Artificial Intelligence. Machine Learning has to do with systems that improve over time by 'learning' new things. This is achieve by analysis of input data using complex algorithms. Deep Learning allows organizations  to make near-accurate  predictions about the future and is achieved using technologies like GPUs, FPGAs. Applications such as video or image and voice recognition are being developed using Deep Learning. It is expected that Deep Learning would make it possible to completely close the language barrier by the next couple of decades.

Final Notes
There are still whole lot of technologies out there that it transforming the way we do things in out mordern world. But for now, I think I would discuss five at a time and would try to keep it as brief and simple as possible.

If you have any observations or comments, leave it in the comment box below. I would like to thank you for reading.

Tuesday, 24 July 2018

4 Hot Computer Programming Certifications Companies Are Looking For in 2018

Hello, good to see you here!
My name is Kindson The Genius and I would be happy to let you know that getting a good job with a knowledge of Computer Programming is not far-fetched. Yes, believe me, because I'm speaking based on my own personal experience.

Now these are the 5 certifications, that you need for employers to find you. You need not get all of them. One is ok...but if you have more than one, then you can actually have the option of choosing from different job offers that would come your way.

  1. MCSD - Microsoft Certified Solutions Developer
  2. AWSCD - AWS Certified Developer
  3. Oracle Application Express (APEX)
  4. MSTS C# - Microsoft Certified Technology Specialist: Programming in C#
  5. What You Should do Now

1. MCSD - Microsoft Certified Solutions Developer

The MCSD certification is one of Mirosofts most highly acclaimed certifications for Computer Programmers and Software Developers. With an MCSD certification under your belt, you have an edge over miriads of programmers out there who may not even know the next step to take after high school or university.
But it also comes down to this: how much do you love programming? If you really love programming and want to build a programming career, then look for likely exam questions and start preparing. Also note to write 3 exams where each costs 150USD
Start preparing by taking some of my beginner programming lessons:

2. AWSCD - AWS Certified Developer

Some persons believe that AWS Certified Developer certification is actually the leading certification in the industry. But for me, I do think that would be true in the next two years. The reason is that organizations are gradually moving to the cloud and AWS certification represents the skill you need to support cloud applications.
To earn AWS certification, you need to prepare and write the exam which costs 150USD and contains 40 to 60 multiple-choice question. If you have some knowledge of Visual Studio, then you can get up to speed with web services by taking my beginner lessons on web services in the links below:

3. Oracle Application Express (APEX)

If you have some knowledge of Java, then this would not really be an issue for you. Don't be carrried away the the name. APEX is simply an oracle tool for developing Java Applications that use Oracle database. You can simply download and install it for free.
The APEX exam costs just 50USD.

4. MSTS C# - Microsoft Certified Technology Specialist: Programming in C#

The exam is called the 70-483 exam. This is one exam I could personally tell you that it is quite easy. Trust me, even if you write it in a weeks time, with prior knowledge and good preparation, you will surely pass.
This certification measures your skills in developing application in Visual Studio using the C# programming language. You need to know how to work with arrays, create and use classes and object, work with data types and variables etc. If this sounds like what you have been doing before now, then you need to get this certification so that you would easily stand out from the crowd.
The exams costs 150USD.

5. What You Should do Now

This is the important part. The reason is because, many get information from the internet and then they fail to act on it. So I would tell you the same thing, don't just go and start browsing other websites. Just start now to prepare. I'm putting some links below this page to lesson you can start from and I wish you success as you prepare for your certification.
If you have any questions or comments, leave them in the comments box below.

Friday, 13 July 2018

What are Dialogs in Chatbots? (Same as Forms in Web Application)

If you have been following my lessons on  How to Build Chatbots or MS Bot Framework Tutorials, you would realize for you to develop a useful chatbot application, you simply need the right information, and from the right person. That is exactly what I do for my subscribers.

  1. Introduction
  2. What are Dialogs in Chatbots?
  3. Where to Start
  4. Adding New Dialogs
  5. Redirecting to Another Dialog
  6. Final Notes

1. Introduction

Honestly, it's really very easy to develop applications no matter how complex they are. Ask me why. The reason is because, the tools are already there. Also bits and pieces of any application have already be developed, you simply need to find them and piece them together. And that's it.

Today, I would tell you about dialogs in Chatbots. If you understand the concepts of dialogs in chatbots, then you will see that development of chatbots is really easy if you have a basic knowleges of programming.

2. What is a Dialog?

A dialog si simply a single flow of communication between the user and the chatbot. For example:

User: Please play me a song
Bot: Which song would you like me to play
User: Ada Ada by Flavour
Bot: I could not get Ada Ada by Flavour. Would you like Golibe by Flavour?
User: Ok

You see fromthe above that this is a single flow of conversation that follows a particular logic. If along the line, the user would like to know about the wheather, then another dialog would be needed. Or if the user wants the bot to get stock market reports, similarly, another dialog would be needed.

3. Where to Start

To start developing a chatbot you simply need to download the template.This template already is a complete chatbot but just with one dialog.You could just build and run this template and it works perfectly. Just
This is the same way that you have a single form when you start a new web application in visula studio.
So just go ahead to download the template from this link. It is in a zip file. Unzip it. Open it in Visual Studio and then run it.
To actually test it by sending messages and getting response, you need an Emulator Applicaiton. You can also get it free from here and install.
Refer to this tutorial. Build Your First Chatbot in Visual Studio
Video Lessons here

4. Adding New Dialog

Just like you can add several forms or pages to your web application, you can also add several dialogs to your Chatbot application. Once you have the template with the root dialog, you can simply add new dialog by adding a new class file. You could also copy and modify the existing dialog file

5. Redirecting to Another Dialog

You can easily redirect from on dialog to another in a chatbot application. But unlike web application, you don't use hyperlinks, you simply write the code to do this.
When you redirect to another dialog, you are adding it to the stack. This means that you could return to the previous dialog later.
I would tell you two ways to redirect to another dialog:

1. Using This simple calls the new child dialog without passing any parameter

2. Using context.forward(): This method allows us to invoke a child dialog and pass an a parameter (which could be a message) to the dialog.
The syntax is:

        public async Task None(IDialogContext context, IAwaitable<IMessageActivity> message, LuisResult result)
            var qnaDialog = new qnaDialog();
            var messageToSend = await message;
            await context.Forward(qnaDialog, AfterQNADialog, messageToSend, CancellationToken.None);
Listing 1: Foward message to a QnaDialog

This Listing 1 shows how to foward the program execution to a QNA Dialog when no intent is identified by the LUIS dialog

Here, a new instace of the qnaDialog is created  and th foward method takes an input message and passes it to the new dialog. It also specifies a callback when the new child dialog is completed. In this case the function to call after completion is AfterQNADialog.

Once it has completed, the AfterQNADialog will call context.Done.

Bot Framework Tutorial Series

6. Final Notes

Just as I mentioned previously, I just want to provide an overview of what Dialogs are and I hope by now you clearly understand the concept of dialogs. I would say you should take some time to do the beginners tutorials on MS Bot Framework so it becomes clearer to you.

Thank you for learning and if you have any comments or questions, leave them in the comments box below or by the left of this page.

Sunday, 8 July 2018

Build Your First ChatBot in Visual Studio (Step by Step)

In this short tutorial, I would take through how to build a chatbot using Visual Studio (2015 or 2017).
Watch my video on How to Create a Bot Application using Bot Framework here

  1. Have Visual Studio Installed
  2. Download the Bot Application Template from this link (Skip this if you are using Visual Studio 2017)
  3. Download the Bot Framework Emulator from this link

Step 1: Unzip the Bot Template you donwloaded into this location:
C:\Users\Kindson\Documents\Visual Studio 2013\Templates\ProjectTemplates\Visual C#

Note: Skip Step 1 if you are using Visual Studio 2017. Visual Studio 2017 comes with a Bot Template.

Step 2: Create a Bot Application in Visual Studio. You can find Bot Application as shown in Figure1

Figure 1: Bot Application

Step 3: Run the Application. Click on the Run button to run the project. If you are successful, the browser window opens showing  the url of the application. Look at Figure 2.

Figure 2:Successful run of Bot Application

Step 4: Test in an Emulator: The Bot Framework Emulator simulates application like skype or any other messenger application.
Open the Emulator. It opens as show in Figure 3

Figure 3: Bot Framework Emulator

Enter the messages endpoint as shown in the Figure 3. Make sure the port number matches the one on your browser.
  • Microsoft App Id: Leave it blank
  • Microsoft App Password: Leave it blank
  • Locale: Leave it blank

Click on Connect

Now you can enter a message and hurray!!! you will have a response.

So this is how to create your First Chatbot in Visual Studio using Bot Template.

In the next post we would talk about how to troubleshoot common errors that may occur along the line. If you received any errors, mention it in the comment box below.

Watch my video on How to Create a Bot Application using Bot Framework here