Monday, 3 June 2019

AI & Machine Learning


What is AI?


You can think of deep learning, machine learning and artificial intelligence as a set of Russian dolls nested within each other, beginning with the smallest and working out. Deep learning is a subset of machine learning, and machine learning is a subset of AI, which is an umbrella term for any computer program that does something smart. In other words, all machine learning is AI, but not all AI is machine learning, and so forth.

Here are a few other definitions of artificial intelligence
  • A branch of computer science dealing with the simulation of intelligent behavior in computers.
  • The ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings.
  • The capability of a machine to imitate the intelligent human behavior 
  • A computer system able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.

What is Machine Learning?


Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed.
Machine learning focuses on the development of computer programs that can access data and use it learn for themselves. It is a category of algorithm that allows software applications to become more accurate in predicting outcomes without being explicitly programmed.

The basic premise of machine learning is to build algorithms that can receive input data and use statistical analysis to predict an output while updating outputs as new data becomes available.

How Machine Learning Works?


The process of learning begins with observations or data, such as examples, direct experience, or instruction, in order to look for patterns in data and make better decisions in the future based on the examples that we provide. It is also similar to data mining and predictive modeling.

Some machine learning methods: Machine learning algorithms are often categorized as supervised or unsupervised.

  • Supervised Algorithm: Supervised algorithms require a data scientist or data analyst with machine learning skills to provide both input and desired output. It can apply on what has been learned in the past to new data using labeled examples. The system is able to provide targets for any new input after sufficient training.
  • Unsupervised Algorithm: Unsupervised algorithms do not need to be trained with desired outcome data. Instead, they use an iterative approach called deep learning to review data and arrive at conclusions. Unsupervised learning algorithms -- also called neural networks -- are used for more complex processing tasks than supervised learning systems, including image recognition, speech-to-text and natural language generation.   
  • Semi-supervised: somewhere in between supervised and unsupervised learning, since they use both labeled and unlabeled data for training – typically a small amount of labeled data and a large amount of unlabeled data. The systems that use this method are able to considerably improve learning accuracy. Usually, semi-supervised learning is chosen when the acquired labeled data requires skilled and relevant resources in order to train it / learn from it. Otherwise, acquiringunlabeled data generally doesn’t require additional resources.
  • Reinforcement Algorithm: This area of deep learning involves models iterating over many attempts to complete a process. Steps that produce favorable outcomes are rewarded and steps that produce undesired outcomes are penalized until the algorithm learns the optimal process.

Free Online Artificial Intelligence  

  • Google’s Free Machine Learning Course
  • Andrew NG’s Free AI Course on Coursera
  • Free Udacity Online AI Course




Wednesday, 2 August 2017

Angular Performance: ng-show vs ng-if



You’ve probably come across ng-if and ng-show and wondered why they both exist and what’s the difference between them. After all they usually have the same behavior as far as the user is concerned.

The devil is in the details and the differences between these directives can allow your to boost your application’s performance easily.

The Differences


Both ng-show and ng-if receive a condition and hide from view the directive’s element in case the condition evaluates to false. The mechanics they use to hide the view, though, are different.

ng-show (and its sibling ng-hide) toggle the appearance of the element by adding the CSS display: none style.

ng-if, on the other hand, actually removes the element from the DOM when the condition is false and only adds the element back once the condition turns true.

Since ng-show leaves the elements alive in the DOM, it means that all of their watch expressions and performance cost are still there even though the user doesn’t see the view at all. In cases where you have a few big views that are toggled with ng-show you might be noticing that things are a bit laggy (like clicking on buttons or typing inside input fields).

If you just replace that ng-show with an ng-if you might witness considerable improvements in the responsiveness of your app because those extra watches are no longer happening.


That’s it: replace ng-show and ng-hide with ng-if!

ReadMore

Saturday, 29 July 2017

What is Angular JS

Angular JS is an open source JavaScript framework that is used to build web applications. It can be freely used, changed and shared by anyone.

Angular Js is developed by Google.

It is an excellent framework for building single phase applications and line of business applications.

Advantage of AngularJS


There are a lot of JavaScript frameworks for building web applications. So, it is a genuine question, why to use Angular JS.

Following are the advantages of AngularJS over other JavaScript frameworks: 

Dependency Injection: Dependency Injection specifies a design pattern in which components are given their dependencies instead of hard coding them within the component.

Two way data binding: AngularJS creates a two way data-binding between the select element and the orderProp model. orderProp is then used as the input for the orderBy filter.

Testing: Angular JS is designed in a way that we can test right from the start. So, it is very easy to test any of its components through unit testing and end-to-end testing.

Model View Controller: In Angular JS, it is very easy to develop application in a clean MVC way. You just have to split your application code into MVC components i.e. Model, View and the Controller.

Directives, filters, modules, routes etc.

Read More



Friday, 21 July 2017

What is WebRTC ?


WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.


The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.

The Future of IT: More Jobs, More Complexity



Credit: ShutterstockWill companies need IT professionals on staff in the future? That's the question on some people's minds as they wonder what their future holds. Of course, that depends on the area of expertise in the IT world, and means different things for different titles, including network and system administrators, consultants, project managers, developers, technicians and programmers/coders, to name a few.

A 2015 report from the Bureau of Labor Statistics (biannually, every two years) paints some surprising numbers regarding job outlook and growth. Employment in the computer and information technology sector is expected to grow by 12 percent by 2024. There are roughly 3.9 million jobs in IT, which is expected to hit 4.4 million in the next seven years thanks to the advancement in cloud computing, big data, and the IoT, according to the report. Jobs are increasing, but so is the complexity within them.

The Bureau of Labor Statistics report suggests that some professional tech jobs will see continued growth for 2017, while others will remain stable, but a few will likely fall by the wayside. Analysts from Foote Partners LLC notes in their 2017 IT Skills and Certification Pay Index that cyber security specialists are on the upswing.

In fact, 10 of the highest grossing certifications are within this category, and rightfully so with the amount of damage and identity theft that is targeting corporations. Forensics, penetration testing, perimeter protection, security analysis and enterprise defense are just a few of the certifications under high demand and that will continue to grow into 2018.

DevOps (software development and information technology operations) certification is set to continue to be in demand, including skills such as coding, building, testing and releasing software at a relatively quick pace. This category allows for the cross-department integration of those functions with IT operations with a focus on communication and collaboration. More companies are putting a focus on DevOps training.

Another growing area in the IT industry involves big data and the specialists who collect and analyze that information for any number of applications including metrics, predictive outcomes and future trends. According to Foote Partners, specialists in this field are in high demand, especially with the influx of IoT/telematics applications, which is on track to become an $11 billion market.

Jobs in the digital product development area are also on the rise as nearly every major company on the planet utilize top further their growth. The integration of big data, processes, business and even IT fall under this category as well as product design and analysts, all leading to an increase in demand for specialists who fall under this category.

With that in mind, those same companies also require those with application development in a microservices architecture environment skills, particularly since those are the folks who create specific business tools to further application and product development within the company. For example, think about tools such as Asana, Basecamp and Microsoft Project. These collaborative and centralized applications make integration with various departments within a company simple.

Foote Partners reports that traditional help desk tier 2 and 3 jobs remain steadily in demand, as companies still require staff to increase a technical support infrastructure as consumerization of technology continues to rise. As technology continues to grow, so does the demand for those who can troubleshoot and repair that technology with specialized skills and tools.

However, tier 1 demand is nearly non-existent, and is probably one of the few skills that have fallen by the wayside, as more companies require a level of specialty to address specific problems such as hardware/applications within their organization that requires more than a general overview.



As with any job, those in IT continue to evolve, and as it ages, some positions are no longer needed, especially those who specialize in outdated program languages, such as Pascal, ADA, Cobol and Fortran. The same goes on the hardware front unless technology remains stagnant and doesn't evolve. All these jobs will change.