<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mohd Talha</title>
    <description>The latest articles on DEV Community by Mohd Talha (@taltrums).</description>
    <link>https://dev.to/taltrums</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F452291%2Fbbf176be-73de-464b-a1a1-41e11c5dbb03.jpg</url>
      <title>DEV Community: Mohd Talha</title>
      <link>https://dev.to/taltrums</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/taltrums"/>
    <language>en</language>
    <item>
      <title>Using MindsDB to predict the risk of heart disease</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Wed, 13 Oct 2021 14:20:17 +0000</pubDate>
      <link>https://dev.to/taltrums/using-mindsdb-to-predict-the-risk-of-heart-disease-15dl</link>
      <guid>https://dev.to/taltrums/using-mindsdb-to-predict-the-risk-of-heart-disease-15dl</guid>
      <description>&lt;p&gt;Cardiovascular disease remains the leading cause of morbidity and mortality according to the &lt;a href="https://www.cdc.gov/nchs/products/databriefs/db328.htm"&gt;National Center for Health Statistics&lt;/a&gt; in the United States, and consequently, early diagnosis is of paramount importance. Machine learning technology, a subfield of artificial intelligence, is enabling scientists, clinicians and patients to detect it in the earlier stages and therefore save lives.&lt;/p&gt;

&lt;p&gt;Until now, building, deploying and maintaining applied machine learning solutions was a complicated and expensive task, because it required skilled personnel and expensive tools. But not only that. A traditional machine learning project requires building integrations with data and applications, that is not only a technical but also an organizational challenge. So what if machine learning can become a part of the standard tools that are already in use?&lt;/p&gt;

&lt;p&gt;This is exactly the problem that MindsDB is solving. It makes machine learning easy to use by automating and integrating it into the mainstream instruments for data and analytics, namely databases and business intelligence software. It adds an AI “brain” to databases so that they can learn automatically from existing data, allowing you to generate and visualize predictions using standard data query language like SQL. Lastly, MindsDB is open-source, and anyone can use it for free.&lt;/p&gt;

&lt;p&gt;In this article, we will show step by step how to use MindsDB inside databases to predict the risk of heart disease for patients. &lt;/p&gt;

&lt;p&gt;You can follow this tutorial by connecting to your own database and using different data - the same workflow applies to most machine learning use cases. Let’s get started!&lt;br&gt;
​&lt;/p&gt;
&lt;h2&gt;
  
  
  Pre-requisites
&lt;/h2&gt;

&lt;p&gt;​&lt;br&gt;
If you want to install MindsDB locally, check out the installation guide for &lt;a href="https://docs.mindsdb.com/deployment/docker/"&gt;Docker&lt;/a&gt; or &lt;a href="https://docs.mindsdb.com/deployment/pypi/"&gt;PyPi&lt;/a&gt; and you can follow this tutorial.&lt;br&gt;
If you are OK with using MindsDB cloud, then simply &lt;a href="https://cloud.mindsdb.com/signup"&gt;create a free account&lt;/a&gt; and you will be up and running in just one minute. &lt;/p&gt;

&lt;p&gt;Second, you will need to have a mysql client like DBeaver, MySQL Workbench etc. installed locally to connect to the MindsDB MySQL API.&lt;br&gt;
​&lt;/p&gt;
&lt;h2&gt;
  
  
  Connect to your data
&lt;/h2&gt;

&lt;p&gt;​&lt;br&gt;
First, we need to connect MindsDB to the database where the Heart Disease data is stored. Open MindsDB GUI and in the left navigation bar click on Database. Next, click on the ADD DATABASE button. Here, we need to provide all of the required parameters for connecting to the database.&lt;br&gt;
​&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supported Database - select the database that you want to connect to&lt;/li&gt;
&lt;li&gt;Integrations Name - add a name to the integration&lt;/li&gt;
&lt;li&gt;Database - the database name&lt;/li&gt;
&lt;li&gt;Host - database host name&lt;/li&gt;
&lt;li&gt;Port - database port&lt;/li&gt;
&lt;li&gt;Username - database user&lt;/li&gt;
&lt;li&gt;Password - user's password&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LAWuiyho--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9r9r4ee5bzwksb2kiwny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LAWuiyho--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9r9r4ee5bzwksb2kiwny.png" alt="Connect to DB" width="800" height="769"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, click on CONNECT. The next step is to use the MySQL client to connect to MindsDB’s MySQL API and train a new model that shall predict the risk of heart disease for a certain patient.&lt;br&gt;
​&lt;/p&gt;
&lt;h2&gt;
  
  
  How to use MindsDB
&lt;/h2&gt;

&lt;p&gt;​&lt;br&gt;
MindsDB allows you to automatically create &amp;amp; train machine learning models from the data in your database that you have connected to in the previous step. MindsDB works via MySQL wire protocol, which means you can do all these steps through SQL commands. When it comes to making predictions, SQL queries become even handier, because you can easily make them straight from your existing applications or Business Intelligence tools that already speak SQL. The ML models are available to use immediately after being trained as if they were virtual database tables (a concept called “AI Tables”). &lt;br&gt;
So, let’s see how it works.&lt;/p&gt;

&lt;p&gt;The first step is to connect to MindsDB’s MySQL API. Go to your MySQL client and execute:&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mysql -h cloud.mindsdb.com --port 3306 -u theusername@mail.com -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
In the above command, we specify the hostname and user name, as well as a password for connecting. If you use a local instance of MindsDB you have to specify its parameters. Please refer to the &lt;a href="https://docs.mindsdb.com/sql/connect/local/"&gt;documentation&lt;/a&gt;.&lt;br&gt;
​&lt;br&gt;
​&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--22W9GRJY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6tqe8gaxsebky1y8ty3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--22W9GRJY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6tqe8gaxsebky1y8ty3g.png" alt="Connect mysql-client" width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have an authentication error, please make sure you are providing the email address you have used to create an account on MindsDB Cloud.&lt;br&gt;
​&lt;/p&gt;
&lt;h3&gt;
  
  
  Data Overview
&lt;/h3&gt;

&lt;p&gt;​&lt;br&gt;
For the example of this tutorial, we will use the heart disease dataset available &lt;a href="https://www.kaggle.com/c/heart-disease-uci/data"&gt;publicly in Kaggle&lt;/a&gt;. Each row represents a patient and we will train a machine learning model to help us predict if the patient is classified as a heart disease patient. Below is a short description of each feature inside the data.&lt;br&gt;
​&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;age - In Years&lt;/li&gt;
&lt;li&gt;sex - 1 = Male; 0 = Female&lt;/li&gt;
&lt;li&gt;cp - chest pain type (4 values)&lt;/li&gt;
&lt;li&gt;trestbps - Resting blood pressure (in mm Hg on admission to the hospital)&lt;/li&gt;
&lt;li&gt;chol - Serum cholesterol in mg/dl&lt;/li&gt;
&lt;li&gt;fbs - Fasting blood sugar &amp;gt; 120 mg/dl (1 = true; 0 = false)&lt;/li&gt;
&lt;li&gt;restecg - Resting electrocardiographic results&lt;/li&gt;
&lt;li&gt;thalach - Maximum heart rate achieved&lt;/li&gt;
&lt;li&gt;exang - Exercise induced angina (1 = yes; 0 = no)&lt;/li&gt;
&lt;li&gt;oldpeak - ST depression induced by exercise relative to rest&lt;/li&gt;
&lt;li&gt;slope - the slope of the peak exercise ST segment&lt;/li&gt;
&lt;li&gt;ca - Number of major vessels (0-3) colored by fluoroscopy&lt;/li&gt;
&lt;li&gt;thal - 1 = normal; 2 = fixed defect; 3 = reversible defect&lt;/li&gt;
&lt;li&gt;target - 1 or 0 (This is what we will predict)
​&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Using SQL Statements to automatically train ML models
&lt;/h2&gt;

&lt;p&gt;​&lt;br&gt;
Now, we will train a new machine learning model from the datasource we have created.&lt;br&gt;
Go to your mysql-client and run:&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use mindsdb;
show tables;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qy7pGTPR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipi086l33kgtvbrvxdb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qy7pGTPR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipi086l33kgtvbrvxdb8.png" alt="use  mindsdb" width="800" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will notice there are 2 tables available inside the MindsDB database. To train a new machine learning model we will need to CREATE Predictor as a new record inside the predictors table as:&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;PREDICTOR&lt;/span&gt; &lt;span class="n"&gt;predictor_name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;integration_name&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;column_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column_name2&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="k"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;PREDICT&lt;/span&gt; &lt;span class="k"&gt;column_name&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;column_alias&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
The required values that we need to provide are:&lt;br&gt;
​&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;predictor_name (string) - The name of the model&lt;/li&gt;
&lt;li&gt;integration_name (string) - The name of the connection to your database.&lt;/li&gt;
&lt;li&gt;column_name (string) - The feature you want to predict.
​
To train the model that will predict the risk of heart disease as target run:
​
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;PREDICTOR&lt;/span&gt; &lt;span class="n"&gt;patients_target&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;db_integration&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;HeartDiseaseData&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;PREDICT&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="k"&gt;USING&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;"ignore_columns"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;"sex"&lt;/span&gt;&lt;span class="p"&gt;]};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;​&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7u7grkRp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6plle9535utqzj1ssb2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7u7grkRp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6plle9535utqzj1ssb2.png" alt="CREATE predictor" width="800" height="91"&gt;&lt;/a&gt;&lt;br&gt;
​&lt;br&gt;
What we did here was to create a predictor called &lt;code&gt;patients_target&lt;/code&gt;to predict the presence of heart disease as &lt;code&gt;target&lt;/code&gt; and also ignore the &lt;code&gt;sex&lt;/code&gt; column as an irrelevant column for the model. The model has started training. To check if the training has finished you can SELECT the model name from the predictors table:&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;mindsdb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;predictors&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'patients_target'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--alAyMdgr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ym3v6spqf6eblo54sw5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--alAyMdgr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ym3v6spqf6eblo54sw5f.png" alt="SELECT status" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete status means that the model training has successfully finished.&lt;/p&gt;
&lt;h2&gt;
  
  
  Using SQL Statements to make predictions
&lt;/h2&gt;

&lt;p&gt;​&lt;br&gt;
​The next steps would be to query the model and predict the heart disease risk. Let’s imagine a patient. This patient’s age is 30, she has a cholesterol level of 177 mg/dl, with slope of the peak exercise ST segment as 2, and thal as 2. Add all of this information to the &lt;code&gt;WHERE&lt;/code&gt; clause.&lt;br&gt;
​&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;prediction&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;target_confidence&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;confidence&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;target_explain&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;mindsdb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;patients_target&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;when_data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'{"age": 30, "chol": 177, "slope": 2, "thal": 2}'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OJy9WZz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wkp45gycj32ii0wtnygo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OJy9WZz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wkp45gycj32ii0wtnygo.png" alt="SELECT from model" width="800" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With a confidence of around 99%, MindsDB predicted a high risk of heart disease for this patient.&lt;/p&gt;

&lt;p&gt;The above example shows how you can make predictions for a single patient. But what if you have a table in your database with many patients’ diagnosis data, and you want to make predictions for them in bulk?&lt;br&gt;
For this purpose, you can join the predictor with such a table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;db_integration&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HeartDiseaseData&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;mindsdb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;patients_target&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;tb&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;thal&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'2'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;​&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6kKTJm-2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q023tvra508oy6nth7yl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6kKTJm-2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q023tvra508oy6nth7yl.gif" alt="SELECT from model" width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can even connect the output table to your BI tool and for more convenient visualization of the results using graphs or pivots.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this tutorial, you have seen how easy it is to apply machine learning for your predictive needs. MindsDB's innovative open-source technology is making it easy to leverage machine learning for people who are not experts in this field. However, MindsDB is a great tool for ML practitioners as well: if you are a skilled data scientist, you could also benefit from the convenience of deploying custom machine learning solutions within databases by building &amp;amp; configuring models manually through a declarative syntax called &lt;a href="https://mindsdb.com/JSON-AI"&gt;JSON-AI&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are other interesting ML use cases where MindsDB is positioned extremely well, like multivariate time-series and real-time data streams, so feel free to &lt;a href="https://mindsdb.com/machine-learning-use-cases/"&gt;check it yourself&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>machinelearning</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>VS Code Extensions</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Mon, 14 Sep 2020 19:45:25 +0000</pubDate>
      <link>https://dev.to/taltrums/vs-code-extensions-30hm</link>
      <guid>https://dev.to/taltrums/vs-code-extensions-30hm</guid>
      <description>&lt;p&gt;Hi Everyone, i am sharing some useful extensions you can use for vs code to increase your productivity.&lt;/p&gt;

&lt;p&gt;Code Runner - Run Code Snippet or Code File for Multiple Languages, Such as C, C++, Java, JavaScript, Python, Ruby, .NET, R, PowerShell, TypeScript, Scala, Go and all most every other language you can imagine, also you can add custom commands. &lt;/p&gt;

&lt;p&gt;Code Spell Checker - As the name suggests it is a basic spell checker which helps catch comman spelling errors, works well with typescript.&lt;/p&gt;

&lt;p&gt;Prettier - This one is kinda cool 😎, enforces a consistent style, wrapping code whenever necessary.&lt;/p&gt;

&lt;p&gt;GitLens - Visualize code authorship at a glance, seamlessly navigate and explore Git repositories.&lt;/p&gt;

&lt;p&gt;TODO Highlight - Highlight TODO, FIXME and other annotations within your code.&lt;/p&gt;

&lt;p&gt;What Extensions do you use? Please share them in the comments.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>discuss</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>OBJECT ORIENTED PROGRAMMING PART, ⚁</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Sat, 12 Sep 2020 13:00:28 +0000</pubDate>
      <link>https://dev.to/taltrums/object-oriented-programming-part-1bl4</link>
      <guid>https://dev.to/taltrums/object-oriented-programming-part-1bl4</guid>
      <description>&lt;p&gt;Hey Everyone, Sharing the Remaining  Part of Object Oriented Programming Fundamentals,&lt;/p&gt;

&lt;p&gt;This Contains The Last 2 ⚁ Pillars&lt;/p&gt;

&lt;p&gt;ABSTRACTION - This refers to providing only essential information to the outside world and hiding their background details.&lt;/p&gt;

&lt;p&gt;For Example - Music Player, Video Games&lt;/p&gt;

&lt;p&gt;ENCAPSULATION - It is a process of binding methods and data fields into a Single Unit.&lt;br&gt;
This restricts access to certain properties or component.&lt;/p&gt;

&lt;p&gt;Best Example - Class&lt;/p&gt;

&lt;p&gt;I Hope you've enjoyed this post on Object Oriented Programming Fundamentals.&lt;/p&gt;

&lt;p&gt;Thanks for stopping 🛑 by i hope you learned something from this.&lt;/p&gt;

</description>
      <category>oop</category>
      <category>beginners</category>
      <category>computerscience</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>OBJECT ORIENTED PROGRAMMING PART, ⚀</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Thu, 10 Sep 2020 15:27:42 +0000</pubDate>
      <link>https://dev.to/taltrums/object-oriented-programming-part-1-5e8</link>
      <guid>https://dev.to/taltrums/object-oriented-programming-part-1-5e8</guid>
      <description>&lt;p&gt;Hey everyone, learning object-oriented programming is very important, and more than that it is important to have clarity on the topics it covers.&lt;/p&gt;

&lt;p&gt;So here we discuss 2 ⚁, important ones.&lt;/p&gt;

&lt;p&gt;Firstly,&lt;br&gt;
let's talk about&lt;/p&gt;

&lt;p&gt;INHERITANCE -&lt;br&gt;
Parent Class: Cat&lt;br&gt;
Child Class: The class which will inherit the methods and data fields of the parent class, while having its fields or methods.&lt;/p&gt;

&lt;p&gt;Advantages :&lt;br&gt;
1) Reusability: You Don't have to write already existing lines of code.&lt;/p&gt;

&lt;p&gt;POLYMORPHISM -&lt;br&gt;
Poly means many and morphism means forms.&lt;br&gt;
In short - &lt;br&gt;
The ability to write something in more than one form.&lt;/p&gt;

&lt;p&gt;Two types: Static and Dynamic&lt;br&gt;
Static - Different signature in the same derived class.&lt;br&gt;
Dynamic - Same signature, 1 method in the base class, other in the child class&lt;/p&gt;

&lt;p&gt;Example - Shapes Class and Types of Shapes are circle, square, and triangle.&lt;/p&gt;

&lt;p&gt;Advantage - Flexibility&lt;/p&gt;

&lt;p&gt;I hope you've enjoyed this Post on Object-Oriented Programming.&lt;/p&gt;

</description>
      <category>oop</category>
      <category>beginners</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>The Shell</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Wed, 09 Sep 2020 14:02:49 +0000</pubDate>
      <link>https://dev.to/taltrums/the-shell-1aib</link>
      <guid>https://dev.to/taltrums/the-shell-1aib</guid>
      <description>&lt;p&gt;Hi everyone, i am sharing some useful information of the Bash Terminal with important beginner friendly commands.&lt;/p&gt;

&lt;p&gt;What is the shell?&lt;br&gt;
Character User Interface: The Shell, is available on nearly all platforms, nearly all are roughly the same: they allow you to run programs, give them input, and inspect their output in a semi-structured way.&lt;/p&gt;

&lt;p&gt;Here we focus on Bash Shell&lt;br&gt;
Some useful commands -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ date
Wed 09 Sep 2020 with the current time will be displayed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ echo hello
hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ echo $PATH
$PATH  is an environment variable that lists which directories the shell should search for programs when it is given a command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ which echo
Finds out which file is executed for a given program
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ pwd
Gives the present working directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ cd /home
Change directory to home
a path that starts with / is an absolute path.
Any other path is a relative path.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ cd ..
Changes 🔙 to the previous directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ ls
Gives what is present inside the directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ ls -l
This one gives us more information about each file or directory present
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most important to remember&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;side:~$ man ls
man command gives you the manual pages for a certain program in this case the ls command.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What commands would you like to add here?&lt;/p&gt;

</description>
      <category>bash</category>
      <category>linux</category>
      <category>discuss</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Version Control Basics</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Tue, 08 Sep 2020 12:33:15 +0000</pubDate>
      <link>https://dev.to/taltrums/version-control-basics-55m9</link>
      <guid>https://dev.to/taltrums/version-control-basics-55m9</guid>
      <description>&lt;p&gt;Hi everyone, Sharing some useful git commands to use,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git init
Turn an existing directory into a git repository
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git status
Tells what's going on
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git add &amp;lt;filename&amp;gt;
adds files to staging area
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git commit
Creates a new commit
- Write good commit messages!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git clone [url]
Clone (download) a repository that already exists on Github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git pull
Updates your current local working branch with all new commits from the remote branch
It is a combination of git fetch and git merge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git log
Shows a flattened log of history
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git log - - all - - graph - - decorate
Visualize history as a DAG(Directed acyclic graph)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What commands would you add?&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Productive Applications to use</title>
      <dc:creator>Mohd Talha</dc:creator>
      <pubDate>Sat, 05 Sep 2020 14:17:59 +0000</pubDate>
      <link>https://dev.to/taltrums/productive-applications-to-use-4842</link>
      <guid>https://dev.to/taltrums/productive-applications-to-use-4842</guid>
      <description>&lt;p&gt;Hey coders/rockstars,&lt;br&gt;
With time, I realised that a coder can be great at multiple things, he just needs to apply his problem solving skills to simplify things.😁&lt;/p&gt;

&lt;p&gt;I actually came across these interesting applications last month and wanted to share it with you guys.😊&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 - Sleep Town
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This one is actually quite helpful and I have been trying to use this to build healthy sleeping habits, from last 2 weeks. Works good for me, please feel free to check it out.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2 - Habitica
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is an open-source one caught my eye as it is a gamified task manager. I am planning to use this for myself and see how it turns out. I will be honest it would be a bit overload for me also so fingers crossed 🤞.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3 - Pocket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is love 😍, Save Read and Grow. You can capture the content you find on the Internet. Also the greatest differentiator is you can even read and listen the content without distraction even offline. Check this one out for sure. 🙂 &lt;/p&gt;

&lt;p&gt;These are available on Android and ios.&lt;/p&gt;

&lt;p&gt;I hope you like these applications as much as you like to code.😁&lt;/p&gt;

&lt;p&gt;Do you know any other productivity increasing applications? Let's discuss 😊&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
