Hello and welcome to The Complete Practical Guide To Blockchain Application Development
If you are going to ask me which is the Information Technology Domain that is going to change the future, without any doubt I would surely say its block chain based decentralized applications and smart contracts.
Put simply, blockchain is a transaction ledger that maintains identical copies across each member computer within a network. The interesting feature is that, once an information is placed inside a block of the block chain, the tampering or changing of it is impossible.
Governments and financial organizations have already invested millions of dollars into blockchain research and development and most of them have already implemented blockchain in financial services and record keeping.
Also blockchain based smart contracts are replacing the conventional paper contracts and other promissory deeds. Smart contract is an electronic contract that can execute itself after the conditions mentioned in the contact is full-filled. Since its also based in blockchain, once created, it cannot be tampered by anyone.
If you are a technology enthusiast or a programmer who wish to integrate blockchain in your applications, this is the right time to get yourself a thorough knowledge about the practical implementation of blockchain.
There are tons of material and books out there explains, the concepts, nuts and bolts of block chain. But only a very few of them explains how it can be practically implemented.
In this course, I have taken extreme care to keep a 30 / 70 percentage balance between the theoretical concepts and the practical implementation respectively.
After this course, you will get a clear idea of how and where to implement block chain in your existing software projects as well as your upcoming project ideas.
Here is the overview of the list of topics that I have included in this course
Before we proceed with the intense practical sessions, we will have the first few secessions in which we discuss the history and the basic concepts of block chain distributed applications and smart contracts.
In Session 1, we will discuss the history of block chain and distributed applications. Also we will check the basic structure of a block. Which is the building block of the block chain, which is a chain of these blocks.
In session 2, we will understand with the help of demographics, how these blocks are linked to form a block chain and the major security measures in blockchain which makes it this much secure.
In session 3, we will have a small discussion about the types of networks and the concept of crypto currencies like bitcoin which is built based on blockchain technology
In session 4, we will have an overview of what is mean by smart contracts based on blockchain and its working. Also we will discuss the various fields of applications of block chain at present and in the future.
And once we have enough basics about the concepts, we will jump directly into our first practical blokchain workshop. In which, we will build a working model of a conceptual blockchain out of simple JavaScript and JavaScript runtime called nodejs. Don't worry if you have only basic JavaScript knowledge, I will explain things very clearly that even a novice can understand and follow.
In session 5, we will prepare our computer by installing and configuring node js and visual studio code which will help us in developing the JavaScript blockchain
In sessions 6 we will create the class for a single block, which we will be using to create the block chain.
And in session 7, we will create our first block in the chain called genesis block.
In session 8, We will and the functionality to add new blocks so that we can create rest of the blocks
In session 9, we will test the block addition mechanism in our in our JavaScript block chain
and in session 10, we will implement hash verification, which is the most important security measure inside our block chain.
In the next session 11, we will include an additional security measure called proof of work to prevent the quick tampering attempts of our JavaScript block chain.
In session 12, we will implement the concept of mining rewards for the minors who mines and validate new blocks for our JavaScript block chain.
And thats all with our simple JavaScript conceptual blockchain application and from the next session on wards we are going to get our hands dirty with some serious business using the actual ethereum block chain network. In the coming sessions, we will create an ethereum based blockchain and deploy our smart contract within the ethereum block chain network. For your information, ethereum is the worlds most popular open source public blockchain platform.
So in session 13, we will be getting our systems ready to build our ethereum block chain by downloading and installing the dependencies which include nodejs, ganache, metamask solidity language, the truffle framework and sublime text editor for coding.
In session 14, we will configure these dependencies and we will do a basic test to make sure everything is ready to proceed with the development.
we will start building our blockchain smart contract project out of solidity and ethereum. This project is a simple contest application, for finding out the best actor, with two contestants Tom and Jerry. We will have to build a block chain based app to find who is getting the maximum viewer support.
In the next session 15, we will create the model and class to use for every contestant in the project and we will include tom and Jerry as contestants and
In session 16, we will fetch the contestant list using web3js, which is the library use to interact with the blockchain.
Since smart contract can be created once and cannot be altered, the testing procedure should be done strictly before deploying it into the blockchain network. If any mistake or bug, the only option you will have is to remove the existing contract and deploy the new one instead, which is very time consuming and inconvenient. So In session 17, the block chain will be tested by using the truffle framework's testing environment by emulating the transaction of creating users.
Till now, all the block chain interaction happens over the node js command line interface and the truffle framework command line. Now its time to make it appear to our customers or on-line users in an attractive web based front end, using a web page. In order to proceed with that, we will create the html part of the front end application in session 18 and in session 19, we will include the JavaScript part of the simple and beautiful html page we created and we will list the contestants in our best actor contest to the public by running the lite-server which comes along with the truffle framework.
In session 20, in addition to the contestants listing functionality, we will add the voting functionality also to our blockchain smart contract.
Since the members and non members of the network may use the voting app, we need to thoroughly check for the conditions and rules we implemented in the smart contract. We will test the functionality till now using the truffle framework testing mechanism in session 21
In session 22, we will include rules and restrictions for our best actor contest. Rules like, a user can vote only once and the user cannot vote for any non existing contestants.
Till now the voting can only be done via a command line. In session 22, in our simple web interface, we will include the functionality to cast vote to any contestant from our web page.
And in the final session, we will create an event watch which will listen for the event of voting and once the voting done, it will refresh the page and fetch data from the blockchain network so that the winner of the contest can be known every then and there.
Even though these are sample projects, it will surely give enough insight to your mind about how the blockchain can be included into your web or mobile projects. This course will also give you enough knowledge to get yourself ahead of others in the blockchain race which have already started.
After successful completion of the course, we will provide you with a course completion certificate which will add much value to your career as a developer, software engineer or as a software architect.
So lets jump into the future of technology using blockchain. See you soon in the class room. Wishing you a happy learning.
GPS Tracking for Dummies - Quick Guide to Setup your own Open Source GPS Server, Android and iOS Clients & Tracking Apps.
In this course, I will take you to a journey where you can configure your own GPS server and configure your clients, so that you can track your client devices using your GPS server. And it doesn't matter if you have no prior experience in this field.
If you are a business owner trying to track your assets or if you are a business owner who is trying to track your employees or may be you are a technical person who wish to start your GPS server as a service and provide this service to your customers this course is for you.
These are the topics that we are going to cover in this course.
In the first session, we will be covering the concepts and the theory regarding how GPS system works. How the clients can get the GPS signal from the satellite and how the satellites can track the exact position of the client and in the next session we will have our VPS server, our Ubuntu VPS server installed in Amazon Web Service (AWS) ec2 instance. We will also configure the instance to open some port, through which our client devices can communicate with the server, send the server the co-ordinates and all.
And after setting up the VPS server we will be installing Traccar, which is a completely open source GPS server which is based on Java, and we will be installing it and configure the options inside our server.
And in the next session, I will install this client application inside one of my Android device. And I will take a walk around my house so that you can see the co-ordinate (device) moving in the screen in the real time.
And in the coming sessions, we will be configuring the management interface for Android as well as iOS devices. And also we will have a thorough look at the management interface and the various options it has in the web interface also.
And in the final session I will explain to you the different components that a commercially available GPS module have, which can be fitted into your car or any commercial vehicles.
I am sure that by the end of this course, you will feel a pride of accomplishment, when you see your devices, your
client devices moving across the screen in the map.
And by the end of this course we will be providing with an experience certificate which will prove a very high value for your career if you are actually dealing with location based applications.
So see you soon in the class room. Let's start the art of tracking!
Welcome to the complete Git Version Control Start up Guide. You may be programmer, a Content Writer, or an Article Writer, a Novelist... Anyway, you have to deal with lot of contents which you will updating periodically throughout the time. And the problem is that when you want to change something which you have already been done previously then you have to compare the different versions and try to make changes.
And if you are a software engineer, you need to work on a single project with multiple team members, may be they are in different locations, may be in different countries, on different continents, you have to work with each other. You will be working on the same project, the same file some times, and that time also managing with different versions of documents will become a big problem, because most of the energy, time and effort will be wasted in managing the documents and comparing them and merging them together to form the final document.
To tackle these problems, Version Control Systems come to rescue.
Version Control Systems are very helpful in tracking the changes that you make to a document, a program or having the changes and files kept in track kept in track between the team members working for a same goal, for the same project. The time, the effort, the energy you spent to have the documents aligned or you want to revert back to the document or you want to collaborate between the team members working on the same project and same document will be very less or even zero. That is you don't have to spend any time and effort for managing the documents between the teams and merging them.
So its very important and very useful to have your project or files kept within a Version Control System, so that you can revert back to any version that you saved before any time. Or even if you revert back, you can go beyond that point and get the latest version of the repository.
In software companies that are dealing with medium scale or large scale projects,the team will be having the project files inside a Version Control System and they will working within the Version Control System. The most popular of the Version Control Systems used around the world is Git.
So we will be dealing with Git's different commands, different functionalities of Git and also GitHub which is most popular hosted git service, which is being used by companies all around the world.
Here is the list of topics that we are going to discuss in this course.
At first there will be an introductory session, where I will be explaining the concepts of git. How git is working and why need git in the first place.
In the second session, we will be going ahead and installing git in your computer and how you can configure the git based Bash Shell.
In the third session, we will be initializing a git, we will be dealing with commands like init, add and status.
And in the fourth session, we will learn how to get log of the git, commit the changes to git and then checkout a different version of that particular project using git.
And in the fifth session, we will deal with Branches. How we can manage branches inside agit repository.
And in the sixth session, we will deal with creating a Git Hub account and configuring a Git Hub account and In the next session, we will push all the local repository into the Git Hub server and then we will make some changes in the Git Hub server and we will do the pull back from the git hub server. The changes from the Git Hub Server to our local repository.
And some times there will be conflicts. Two different persons editing the same file and the same
lines some times and they will try to push the changes to the server. We will deal with the merge conflicts in the next session.
And throughout these sessions, we will be dealing with the commands the git commands which we execute using the git Bash shell.In the ninth session, we will deal with Git GUI, where you don't need to execute the commands by typing it. You can use a Graphical User Interface very easily to do the merging, the push, the pull, and the synchronization with the git server.
And in the final session, we will compare different git service providers. The git server service providers available throughout the internet and compare the plans available with them. The pricing and the plans and we will discuss which one is better and which one is good and all.
So all together this will be a very valuable course for you to get started with the git based version control system and working with Git Hub which is the most popular git service provider in the world.
And while joining a company, of course they will be asking you if you are familiar with working with git environment you can confidently answer them that "yes I am" after doing this course. This will be adding a really good value to your profile.
And we will be providing you with a completion certificate by the end of this course. You can keep it within your profile so that you will be adding more value to your profile. So see you soon in the class room. Let's get started with the git journey. Thank you !!
DISCLAIMER:
-----------------
ANY ACTIONS AND OR ACTIVITIES RELATED TO THE MATERIAL CONTAINED WITHIN THIS COURSE IS SOLELY YOUR RESPONSIBILITY. THE MISUSE OF THE INFORMATION IN THIS CAN RESULT IN CRIMINAL CHARGES BROUGHT AGAINST THE PERSONS IN QUESTION. THE INSTRUCTOR OR THE PLATFORM WILL NOT BE HELD RESPONSIBLE IN THE EVENT ANY CRIMINAL CHARGES BE BROUGHT AGAINST ANY INDIVIDUALS MISUSING THE INFORMATION IN THIS COURSE TO BREAK THE LAW.
Hello and welcome to Web Based Ethical Hacking and Penetration Testing for Beginners. This course is an introduction to your career as a web security expert.
Internet is all around us. We have been using the facilities of internet since a long while and as the internet came in, the cyber-security threat also started to appear. You can hear stories of cyber-attacks day by day in news papers and media.
As the facilities, the easiness and the comfort of using internet based applications, even if its a web application or a mobile application which is using a cloud based API, the chances of getting a cyber attack has also been increased. It has been increased to such a level that we cannot even predict what happens the next day, because hackers are always alert and vigilant and they are looking for a loophole to get into an application and steal your information.
Like the saying " A person knows how to break a lock, can make a good lock !" , because he knows the vulnerabilities, he knows the loop holes and that person can build a good secure application or he can guide the developer to build a good application which is almost secure and which does not have the loop holes that has already been discovered.
So being cyber security professionals or being cyber security enthusiasts , we will deal with the OWASP Top 10 vulnerabilities . OWASP is a community based project, that is Open Web Application Security Project. Periodically they will be updating their list of vulnerabilities. And in this Top 10 list of vulnerabilities we will be having a subset of other vulnerabilities which will be coming under this top 10 vulnerabilities. So we will cover almost 30 kind of most popular vulnerabilities in this course and these vulnerabilities are the common vulnerabilities that is currently in the Cyber World.
Once you get hold of these 30 vulnerabilities, you will be having enough confidence to test a web application or test a cloud based application in an API based application, a mobile application which is using a cloud based API. In every session I am giving you the mitigations, the defensive mechanisms that we can follow to avoid the vulnerability that we discussed in that particular session. So you will be able to suggest the defensive measures to the programmer or to the developer who is developing the web application.
Please make sure you are using these techniques only for Penetration Testing as well as Ethical Hacking and please do not use it for any other illegal purpose or any other un-ethical kind of things.
Cyber-security and Penetration Testing is a very lucrative career. This course is indented for Cyber Security Beginners, with an overview of basic web coding, interested to come into the cyber security world,and also, existing Testers, who are willing to go into the Penetration Testing. People who are interested in Ethical Hacking can also do this course.
In this course, we will be concentrating mainly on how Penetration Testing can be done on web based applications. And it can also be used for mobile based applications because most of the mobile based applications communicate with a cloud based API. The security of this API is actually the security of the mobile application which is using this API. And by the end of this course, we will be providing you with a course completion certificate on-demand, which you can include in your resume and it will be giving very high value to your current profile.
I promise that you are going to have a really thrilling experience doing Penetration Testing and Ethical Hacking. So see you soon in the class room.
As we all know, managing a business organization, even if its a very small one, a big one or a medium sized one is a very time consuming task.
An ERP, the Enterprise Resource Planning, is a software, which allows business to manage their process, using a single software to manage all their business process running inside their organization.
Before the introduction of ERP systems, there were separate software(s) used for separate process. For example, there was a sales management system for sales, accounting system for accounts, HR management system for human resource. So it was a very messy kind of environment , before the introduction of ERP system. And now after the introduction of ERP system, everything came under a single roof which is the ERP platform.
Providing ERP to business is a multi-billion dollar business now a days. Many big players like Microsoft and Oracle is already into this. And small companies and medium scale companies are also coming up with their own ERP solutions. There is a great market out there.
And if you are still not into ERP system, then its only a matter of time you have to switch into an ERP system, because the whole world's business is now running with ERP.
And in this course, we will be learning about odoo, which is the best open source ERP system available around the world. Its a very popular opensource ERP system It's been used in most of the business around the world. And it is having a very vast community which can help you in case of any doubts or any clarifications regarding the odoo installation or configuration or any custom requirement that you have in your organization
And before learning odoo, in order to use any ERP solution, you have to learn the basics of business process. How a sales flow works.. how purchase works.. and how accounts in being done in the organization, stuff like that you should have a basic knowledge in order to use your ERP software efficiently in an organization.
In this course, we will be having an overview of the basic business concepts throughout this course and we will be having thorough in-depth sessions in creating a VPS server in an Amazon web service. Then installing odoo inside this VPS server. Then we will have session covering various odoo modules like Accounts, Sales, Purchase, HRMS, E-commerce, Task Management Systems and Website Management System for a business.
And for advanced odoo users and developers we will be having sessions like 'How you can enable development mode in odoo, how you can take a backup of your existing odoo database, just in case... and how you can restore that backup into the system. Then how you can install custom odoo modules which are available in the market into your odoo system. Then troubleshoot these modules and how you can customize the odoo system by adding a new field to your odoo interface and including that field inside reports search.
We will be having a few report customizations also covered inside this course. And finally we will be comparing the community version of odoo and also the enterprise version of odoo so that you can have a basic overview of which are all the modules that are not available in the community version (the open source version) and which are the one that are available inside the enterprise version, which is the premium version.
ERP Administration, Management and Customization is a very rewarding and lucrative career. I promise that this course will be jump starter for your ERP career. And after completing this course, you will be provided with a course completion certificate, which you can attach to your portfolio and it will be adding a very great value for your portfolio.
So see you soon in the class!! Let's start this wonderful journey of odoo ERP system. Have a great day. Bye Bye !!!
Beginners who are curious about the technology behind chat applications and professionals who want to enhance their knowledge in XMPP server and client technology are welcome to have your skills enhanced.
Also entrepreneurs who wish to start chat server application as a 'Software as a Service' business model are welcome too.
Lets start by an Overview of the XMPP protocol which is popular for chat and messaging applications
setting up an Amazon Web Service VPS called EC2 with Ubuntu Linux
Compare the popular chat servers and install the Prosody, the light weight, efficient open source chat server
Explore the basic configuration options for prosody to get started.
Install few additional modules which is needed for file sending etc.
Configure SSL certificate for our chat server to enhance the safety and security.
Install and configure windows/mac/Linux Chat App called Pidgin (Open Source)
Install and configure Android Chat App called Conversations (Open Source)
Install and configure iOS Chat App called Chat Secure (Open Source)
Hello and welcome to my Quick Setup Personal VPN Server Course. !!
We are living in this connected world and the fact is that almost all of our personal as well as official information we exchange through the internet through platforms like social media and websites are traceable.
Because of this sheer amount of data that we exchange through the internet, our on-line privacy should be our top most priority. Organizations, Governments, people, Internet providers .. are all trying to get hold of your information to sell them or use them for marketing and other unwanted purpose. They are trying to monitor you each and every second.
In this course, we will try to setup our own VPN Server which can help us making our internet traffic secure and safe. Lets have a quick overview about the contents that are included in this course.
The first session is a theory session in which we will have an overview about the VPN technology. The principle of working behind a VPN network. The Applications of VPN. The dos and don't s while using a VPN etc
In the next session, we will setup a preconfigured Open VPN instance in Amazon Web Service Cloud platform. We will see how we can start an AWS account and a virtual server using the one year free tier offer provided by Amazon Web Service. Then we will configure the ports and other options for our server.
In the third session, we will use an SSH Client application to connect to our VPN server. We will use the private key from AWS to access the server via command line.
In the next session we will configure the DNS server address of the OpenVPN Server. Then we will also create two test users in the VPN Server.
Since our server setup is complete, In the fifth session, We will try to connect to our VPN server using a windows PC. We will verify the connection by checking the changed IP address and location.
And in the next session, We will try to connect to our VPN server using a Linux Computer. Here also, we will verify the connection by checking the changed IP address and location.
And in the coming session, We will connect to our VPN server using a Mac Computer. we will verify the connection by checking the changed IP address and location.
Then we will proceed with the leading mobile platforms. First we will connect with an android mobile phone. We will verify the connection. Then we will go ahead with connecting using an iPhone and verify the connection.
In the final session, we will discuss some tips and tricks by which you can save the VPN server resources there by the server expense can be kept to a minimum.
Over all this is a course which will enable you to setup a quick VPN network. We are not going much deep into the protocol level working of VPN etc. But a very practical setup of a safe and secure VPN network.
You will also be provided an experience certificate once you finish the course.
Best wishes with setting up your own private VPN Server. Lets safeguard our privacy online. See you soon in the class room. Have a great time. bye bye.
Hi.. Hello and welcome to my new course, Machine Learning with Python for Dummies. We will discuss about the overview of the course and the contents included in this course.
Artificial Intelligence, Machine Learning and Deep Learning Neural Networks are the most used terms now a days in the technology world. It’s also the most mis-understood and confused terms too.
Artificial Intelligence is a broad spectrum of science which tries to make machines intelligent like humans. Machine Learning and Neural Networks are two subsets that comes under this vast machine learning platform
Let’s check what machine is learning now. Just like we human babies, we were actually in our learning phase then. We learned how to crawl, stand, walk, then speak words, then make simple sentences. We learned from our experiences. We had many trials and errors before we learned how to walk and talk. The best trials for walking and talking which gave positive results were kept in our memory and made use later. This process is highly compared to a Machine Learning Mechanism
Then we grew young and started thinking logically about many things, had emotional feelings, etc. We kept on thinking and found solutions to problems in our daily life. That's what the Deep Learning Neural Network Scientists are trying to achieve. A thinking machine.
But in this course we are focusing mainly in Machine Learning. Throughout this course, we are preparing our machine to make it ready for a prediction test. It’s Just like how you prepare for your Mathematics Test in school or college. We learn and train ourselves by solving the most possible number of similar mathematical problems. Let’s call these sample data of similar problems and their solutions as the 'Training Input' and 'Training Output' Respectively. And then the day comes when we have the actual test. We will be given new set of problems to solve, but very similar to the problems we learned, and based on the previous practice and learning experiences, we have to solve them. We can call those problems as 'Testing Input' and our answers as 'Predicted Output'. Later, our professor will evaluate these answers and compare it with its actual answers, we call the actual answers as 'Test Output'. Then a mark will be given on basis of the correct answers. We call this mark as our 'Accuracy'. The life of a machine learning engineer and a data-scientist is dedicated to make this accuracy as good as possible through different techniques and evaluation measures.
Here are the major topics that are included in this course. We are using Python as our programming language. Python is a great tool for the development of programs which perform data analysis and prediction. It has tons of classes and features which perform the complex mathematical analysis and give solutions in simple one or two lines of code so that we don't have to be a statistic genius or mathematical Nerd to learn data science and machine learning. Python really makes things easy.
These are the main topics that are included in our course
System and Environment preparation
-----------------------------------
Installing Python and Required Libraries (Anaconda)
Basics of python and sci-py
---------------------------
Python, Numpy , Matplotlib and Pandas Quick Courses
Load data set from csv / url
-----------------------------
Load CSV data with Python, NumPY and Pandas
Summarize data with description
--------------------------------
Peeking data, Data Dimensions, Data Types, Statistics, Class Distribution, Attribute Correlations, Univariate Skew
Summarize data with visualization
-----------------------------------
Univariate, Multivariate Plots
Prepare data
-------------
Data Transforms, Rescaling, Standardizing, Normalizing and Binarization
Feature selection – Automatic selection techniques
-----------------------------------
Univariate Selection, Recursive Feature Elimination, Principle Component Analysis and Feature Importance
Machine Learning Algorithm Evaluation
-----------------------------------
Train and Test Sets, K-fold Cross Validation, Leave One Out Cross Validation, Repeated Random Test-Train Splits.
Algorithm Evaluation Metrics
-----------------------------
Classification Metrics - Classification Accuracy, Logarithmic Loss, Area Under ROC Curve, Confusion Matrix, Classification Report.
Regression Metrics - Mean Absolute Error, Mean Squared Error, R 2.
Spot-Checking Classification Algorithms
-----------------------------------
Linear Algorithms - Logistic Regression, Linear Discriminant Analysis.
Non-Linear Algorithms - k-Nearest Neighbours, Naive Bayes, Classification and Regression Trees, Support Vector Machines.
Spot-Checking Regression Algorithms
-----------------------------------
Linear Algorithms - Linear Regression, Ridge Regression, LASSO Linear Regression and Elastic Net Regression.
Non-Linear Algorithms - k-Nearest Neighbours, Classification and Regression Trees, Support Vector Machines.
Choose the Best Machine Learning Model
-----------------------------------
Compare Logistic Regression, Linear Discriminant Analysis, k-Nearest Neighbours, Classification and Regression Trees, Naive Bayes, Support Vector Machines.
Automate and Combine Workflows with Pipeline
-----------------------------------
Data Preparation and Modelling Pipeline
Feature Extraction and Modelling Pipeline
Performance Improvement with Ensembles
-----------------------------------
Voting Ensemble
Bagging: Bagged Decision Trees, Random Forest, Extra Trees
Boosting: AdaBoost, Gradient Boosting
Performance Improvement with Algorithm Parameter Tuning
--------------------------------------------------------
Grid Search Parameter
Random Search Parameter Tuning
Save and Load (serialize and deserialize) Machine Learning Models
-----------------------------------
Using pickle
Using Joblib
finalize a machine learning project
-----------------------------------
steps For Finalizing classification models - pima indian dataset
Dealing with imbalanced class problem
steps For Finalizing multi class models - iris flower dataset
steps For Finalizing regression models - boston housing dataset
Predictions and Case Studies
----------------------------
Case study 1: predictions using the Pima Indian Diabetes Dataset
Case study: Iris Flower Multi Class Dataset
Case study 2: the Boston Housing cost Dataset
Machine Learning and Data Science is the most lucrative job in the technology arena now a days. Learning this course will make you equipped to compete in this area.
Best wishes with your learning. See you soon in the class room.
As you know over millions of Technology jobs are reported world wide every day and still our fresh young engineers and technology lovers, especially the candidates from third world countries, struggle to get the job they love. Do you ever thought why this happens despite this large demand?
The answer to the above question is that its only because they fail to advertise themselves efficiently. You know few of your lucky friends who got placed in a job placement drive conducted in your college or university during your last semester of study. But if you are not placed then, you know how hard it is to get a job with the fresher label once you are out of your college.
Let me remind you that the techniques that we are going to discuss are not the conventional global standard for job search. But these are the tricks that I implemented during my difficult period of job search and they proved very successful for me in securing a career.
And in the first session of our course we are discussing about how to overcome this fresher label. We will see how we can decide over a technology domain and how to advertise it rather than sticking on to the fresher label which is not going to do any good for you in your job search.
In the next session, we will see the serious mistakes that freshers make while creating their resume. We will analyse each of those mistakes and then we will proceed with creating a nice and excellent looking resume for our own. We will also get trained our self in the steps you can do to get a resume sample and edit it by yourself using document editors like word and later export it to the universally accepted pdf format. You can get the template downloaded from the resource section of that lecture.
You know.. the most ignored but very important part in a job application email is the covering letter and also the subject line. Because of this, even though your resume looks great, you will end up unnoticed by the companies you apply for job. We will also build a cool and professional looking covering letter and also will see how to write a catchy subject line. That template also you can download from the resource section of that lecture.
There are many interesting ways to find your target recipients, that is, your prospective employers email address. We will get familiar with few of such tips and tricks by which we can build the recipients list and also see how we can send the emails as a batch to reach out as quick as possible.
And I am sure that you will excited when you receive that first positive response from a company for your application. It will be an invitation for an interview. We will see how we can reply politely and courteously to that email and also the format to reschedule the interview just in case if you urgently want it to.
Then comes the actual preparation. We will be focusing on specifically how to prepare for the technical session of the interview. How to gather the probably questions and how to gain from reverse engineering the interview process.
All the resources we use can be downloaded from the resources section of the course. Together, we will get the job that you loved the most. And if you are doing a job which is your passion, your professional life will be very happy and fulfilling.
Hi There!
Welcome to my new course OpenCV Fundamentals using Python. This is the first course from my Computer Vision series.
Lets see what are the interesting topics included in this course. At first we will have an overview about computer vision and the amazing OpenCV, the open-source computer vision library.
After that, we are ready to proceed with preparing our computer for installing OpenCV and later will proceed with installing OpenCV itself. Then we will try a one liner code to check if everything is working fine.
When I said this course is for complete beginners, I really mean it. Because even-if you are coming from a non-python background, the next few sessions and examples will help you get the basic python programming skill to proceed with the rest of the sessions. The topics include Python assignment, flow-control, functions and data structures.
Now we are all set to proceed with python computer vision exercises. But before that we need to learn the theory of how a digital image is organized. Concept of pixels, color and grey scale channels, color codes etc.
Then we will write our first opencv program in which we will simply load and display an image from our computer and we will write a grey scale version of this image back to our computer itself.
As you already know the basic building block of a digital image is pixels, we will use the power of opencv to manipulate the individual pixels of an image and modify it.
Later in the next session, we will use a similar technique to select a collective area of pixels and manipulate it by trying to change color and also get the properties of the image.
Hope you know that there are 3 color channels in a color image and a single one in greyscale image. We will try to separate and extract those color channels and later try to merge them back to form the original image.
Color spaces, unlike the color channels, is the way how colors are organized in an image. In the next session, we will explore the popular color spaces and will do exercises which switches an image between different color spaces.
In the next session, we will use opencv to create and draw simple geometric shapes like line, rectangle, circle, ellipse, polygon etc into an image canvas. We also will try to insert a text into the canvas.
Then we will try some morphological transformations to our image which includes erosion which erodes the pixels, then dilation which will expand the pixels, Opening transformation for white noise removal and closing for black point noise removal. Then gradient transformation and finally the top hat and black hat morphological image transformations.
After that we will try the geometric transformations which includes scaling or resizing the image, then translating or place shifting the image, flipping or changing sides, rotating the image by fixing an axis, and cropping the image to extract the region of interest.
In the coming two sessions, we will try the basic arithmetic and logical operations between two images. We will try to do the addition operation and subtraction operation between two images. We will also try the AND, OR, XOR and NOT binary bitwise operations for two images and will check the results obtained.
Later we will go ahead with Image masking, which is a technique of covering the unwanted areas of image and display only the region of interest.
And after that we will try Image Smoothing techniques. At first we will use our own filter to do a custom smoothing of image and later built in filters using algorithms like Gaussian Smoothing, average smoothing, Median and finally the bilateral smoothing.
Then we will see an advanced technique called thresholding which is very useful in preprocessing and preparing the image for computer vision algorithms. We will do exercises to demonstrate simple thresholding, Otsu thresholding and adaptive thresholding.
Then we will check an interesting image color intensity plotting technique called as the histograms. We will plot a histogram and will learn how we can analyse the histogram to predict the nature of image.
By using this histogram and adjusting the values based on it, we can enhance the contrast of dull looking images. We will explore the technique called histogram equalization.
Image pyramids are different sized images generated and stacked one on top of other. We will explore how we can use opencv methods to generate image pyramids.
For us humans, its an easy task to find an object in a scene and find the edges of it. For computers its not that easy. We will explore the opencv functions which enable us to find the edges using the Canny edge detection.
As we know to a computer, an image is just a collection of numbers. To find the edges, gradients or the pattern of intensity change of colors should be found out. We will use gradient detection function of OpenCV to do that.
Then finally we will draw contours along the different objects in an image with the help of the above mentioned techniques and try to count the number of objects available in the scene.
That's all about the basics. The code and the images used in this course has been uploaded and shared in a folder. I will include the link to download them in the last session or the resource section of this course. You are free to use the code in your projects with no questions asked.
So that's all for now, see you soon in the class room. Happy learning and have a great time.
Hi There!
welcome to my new course 'Face Recognition with Deep Learning using Python'. This is the second course from my Computer Vision series.
Face Detection and Face Recognition is the most used applications of Computer Vision. Using these techniques, the computer will be able to extract one or more faces in an image or video and then compare it with the existing data to identify the people in that image.
Face Detection and Face Recognition is widely used by governments and organizations for surveillance and policing. We are also making use of it daily in many applications like face unlocking of cell phones etc.
This course will be a quick starter for people who wants to dive deep into face recognition using Python without having to deal with all the complexities and mathematics associated with typical Deep Learning process.
We will be using a python library called face-recognition which uses simple classes and methods to get the face recognition implemented with ease. We are also using OpenCV, Dlib and Pillow for python as supporting libraries.
Let's now see the list of interesting topics that are included in this course.
At first we will have an introductory theory session about Face Detection and Face Recognition technology.
After that, we are ready to proceed with preparing our computer for python coding by downloading and installing the anaconda package. Then we will install the rest of dependencies and libraries that we require including the dlib, face-recognition, opencv etc and will try a small program to see if everything is installed fine.
Most of you may not be coming from a python based programming background. The next few sessions and examples will help you get the basic python programming skill to proceed with the sessions included in this course. The topics include Python assignment, flow-control, functions and data structures.
Then we will have an introduction to the basics and working of face detectors which will detect human faces from a given media. We will try the python code to detect the faces from a given image and will extract the faces as separate images.
Then we will go ahead with face detection from a video. We will be streaming the real-time live video from the computer's webcam and will try to detect faces from it. We will draw rectangle around each face detected in the live video.
In the next session, we will customize the face detection program to blur the detected faces dynamically from the webcam video stream.
After that we will try facial expression recognition using pre-trained deep learning model and will identify the facial emotions from the real-time webcam video as well as static images
And then we will try Age and Gender Prediction using pre-trained deep learning model and will identify the Age and Gender from the real-time webcam video as well as static images
After face detection, we will have an introduction to the basics and working of face recognition which will identify the faces already detected.
In the next session, We will try the python code to identify the names of people and their the faces from a given image and will draw a rectangle around the face with their names on it.
Then, like as we did in face detection we will go ahead with face recognition from a video. We will be streaming the real-time live video from the computer's webcam and will try to identify and name the faces in it. We will draw rectangle around each face detected and beneath that their names in the live video.
Most times during coding, along with the face matching decision, we may need to know how much matching the face is. For that we will get a parameter called face distance which is the magnitude of matching of two faces. We will later convert this face distance value to face matching percentage using simple mathematics.
In the coming two sessions, we will learn how to tweak the face landmark points used for face detection. We will draw line joining these face land mark points so that we can visualize the points in the face which the computer is used for evaluation.
Taking the landmark points customization to the next level, we will use the landmark points to create a custom face make-up for the face image.
That's all about the topics which are currently included in this quick course. The code, images and libraries used in this course has been uploaded and shared in a folder. I will include the link to download them in the last session or the resource section of this course. You are free to use the code in your projects with no questions asked.
Also after completing this course, you will be provided with a course completion certificate which will add value to your portfolio.
So that's all for now, see you soon in the class room. Happy learning and have a great time.