<?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: Charles Ndavu</title>
    <description>The latest articles on DEV Community by Charles Ndavu (@cndavu).</description>
    <link>https://dev.to/cndavu</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%2F787266%2F05d09e5c-1fa0-4fdd-a198-5d196f731315.jpg</url>
      <title>DEV Community: Charles Ndavu</title>
      <link>https://dev.to/cndavu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cndavu"/>
    <language>en</language>
    <item>
      <title>How to Integrate Sentimental Analysis into Strategic Planning Using Python</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Mon, 07 Aug 2023 14:17:21 +0000</pubDate>
      <link>https://dev.to/cndavu/how-to-integrate-sentimental-analysis-into-strategic-planning-using-python-3l</link>
      <guid>https://dev.to/cndavu/how-to-integrate-sentimental-analysis-into-strategic-planning-using-python-3l</guid>
      <description>&lt;p&gt;Have you faced difficulties in understanding what your customers need? Do not know how to start an analysis to get more customers in the future? Integrating sentimental analysis into your strategy planning is among the best ways to know customer preferences and needs.&lt;/p&gt;

&lt;p&gt;In this article, we will use Python to show how strategic analysis can be conducted using sentimental analysis. The article will not be enlightening without procedural examples and a mock-up audio presentation on how you can present it to relevant stakeholders.&lt;/p&gt;

&lt;p&gt;So, let’s begin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table of contents&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What is strategic planning?&lt;br&gt;
What are the benefits of strategic planning?&lt;br&gt;
Why sentimental analysis?&lt;br&gt;
Sentimental analysis walkthrough&lt;br&gt;
Mockup audio presentation&lt;br&gt;
Audio Presentation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What is Strategic Planning?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Strategy planning is the process of assessing an organization’s current position and performance to develop effective strategies that will help the organization have a share in the existing market. It deals with the organization’s overall and long-term direction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the Benefits of Strategic Planning?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Risk mitigation: Strategic planning helps organizations identify potential threats to its operation and performances. These threats can be internal or external. After identifying the potential problems, the organization develops risk mitigation strategies to counter current or future challenges.&lt;/p&gt;

&lt;p&gt;Assessing competition: Through strategic planning, organizations can understand the competitive landscape they are facing and identify opportunities that can ensure they make substantial profit margins.&lt;/p&gt;

&lt;p&gt;Clear Direction: Strategic planning ensures organizations align their efforts with the current market trends in order to achieve their set targets and goals.&lt;/p&gt;

&lt;p&gt;Resource optimization. Strategic planning enables organizations to identify areas that need more resources as well as cutting down on other areas to avoid wastage.&lt;/p&gt;

&lt;p&gt;Strategic planning ultimate benefit is creating a decisive plan that aligns with the organization’s strengths while mitigating potential weaknesses and threats. The strategic planning process is dynamic and ongoing, as organizations need to adapt strategies as the industry landscape keeps evolving.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Sentimental Analysis?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sentiment analysis empowers organizations and businesses to utilize their textual data to make informed decisions, improve sales and customer experience to remain competitive in their existing industries. It is an important analytical toolkit you can utilize in your strategic planning, providing valuable insights that would have been challenging to analyze because of vast amounts of textual information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sentimental Analysis Walkthrough&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s dive into the real action 🙂&lt;/p&gt;

&lt;p&gt;To get started with Python, we are going to use selected data largely having sentiments about an organization’s data.&lt;/p&gt;

&lt;p&gt;Begin the data analysis using Excel to avoid the error Key Error when running your Python codes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Open your Excel and paste the data&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Highlight column A, click on Data and Text to Columns&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Select Comma, Space, and Apply. The values will automatically arrange themselves in the right columns and rows.&lt;/p&gt;

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

&lt;p&gt;Once you have completed the steps, ensure the values are arranged properly on the columns and rows. Save it with a .csv extension.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Next, we need to upload our saved file in Jupyter Notebook to start the simple sentimental analysis process bearing in mind the needs and requirements of a hypothetical stakeholder.&lt;/p&gt;

&lt;p&gt;Research questions to guide us:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which location has the most positive and negative reviews?&lt;/li&gt;
&lt;li&gt;Which source has the most positive and negative reviews?&lt;/li&gt;
&lt;li&gt;What is the average confidence score of the products or services?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s get started.&lt;/p&gt;

&lt;p&gt;You can find the notebook work for this analysis &lt;a href="https://github.com/Ndavucha/Sentimental-Analysis"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Install Libraries&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pandas- A convenient Python library that provides data structures, making data manipulation and analysis easy.&lt;/p&gt;

&lt;p&gt;Seaborn- Python library that simplifies the process of visualization.&lt;/p&gt;

&lt;p&gt;Matplotlib.Pyplot- Powerful plotting library for Python&lt;/p&gt;

&lt;p&gt;Regular expressions(re)- Python module that matches regular expressions&lt;/p&gt;

&lt;p&gt;os- Python module that is used for tasks like file/folder manipulation and environment-related operations.&lt;/p&gt;

&lt;p&gt;sys- The sys module provides allows manipulation of the system runtime environment and provides access to command-line arguments.&lt;/p&gt;

&lt;p&gt;ast- The module allows you to analyze and modify Python code programmatically.&lt;/p&gt;

&lt;p&gt;Run the following code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pandas as pd
import seaborn as sns
import re
import os
import sys
import ast
import matplotlib.pyplot as plt 
%matplotlib inline
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2.Text Processing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Text preprocessing refers to the process of cleaning and transforming raw text data into a format suitable for further analysis and natural language processing (NLP) tasks. We are going to remove punctuation, tokenization, stop words, handing contractions, lemmatization, and stemming and removing special characters.&lt;/p&gt;

&lt;p&gt;So let’s install Textlob library to conduct these tasks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;!pip install textblob
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now import Stopwords, Textlob, and Word:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from nltk.corpus import stopwords 
from textblob import TextBlob
from textblob import Word

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So let’s remove punctuations and lower casing using the lambda function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df[‘Text’] = df[‘Text’].apply(lambda x: “ “.join(x.lower() for
x in x.split()))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remove stopwords:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;stop = stopwords.words(‘english’)
df[‘Text’] = df[‘Text’].apply(lambda x: “ “.join(x for x in
x.split() if x not in stop))
df[‘Text’].head()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, you have to ensure the spellings are correct:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df[‘Text’] = df[‘Text’].apply(lambda x: str(TextBlob(x).
correct()))
df[‘Text’].head()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, let’s handle contractions. Here, words like “doesn’t” becomes “does not”:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def expand_contractions(text):
 # Define contraction mappings
 contractions = {
 “i’m”: “i am”,

#Add more contractions as needed
 }
 # Split text into words and expand contractions
 words = text.split()
 expanded_words = [contractions[word] if word in contractions else word for word in words]
 #Join words back into a single string
 expanded_text = “ “.join(expanded_words)
 return expanded_text
 # Apply the custom function to expand contractions and then perform spelling correction
df[‘Text’] = df[‘Text’].apply(lambda x: str(TextBlob(expand_contractions(x)).correct()))
 #Display the first few rows of the updated ‘Text’ column
 print(df[‘Text’].head())


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can complete the processing by lemmatizing the text. Here, the aim is to find the base form of a word. For example, the base form of ‘sleeping’ is ‘sleep’:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df[‘Text’] = df[‘Text’].apply(lambda x: “ “.join([Word(word).lemmatize() for word in x.split()]))
df.Text.head()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3.Checking Text Using Wordcloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that the processing is done, you can go ahead to check the most prominent terms.&lt;/p&gt;

&lt;p&gt;You will use Wordcloud to check these words. A Wordcloud is a visual representation of text data. It displays a list of words, the importance of each being shown with font size or color.&lt;/p&gt;

&lt;p&gt;First, let us install Wordcloud:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;!pip install wordcloud

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, let’s define a variable you will be using to check the dominant terms:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;score_1 = reviews[reviews[‘Confidence Score’] == 1]
score_2 = reviews[reviews[‘Confidence Score’] == 2]
score_3 = reviews[reviews[‘Confidence Score’] == 3]
score_4 = reviews[reviews[‘Confidence Score’] == 4]
score_5 = reviews[reviews[‘Confidence Score’] == 5]
reviews_sample = pd.concat([score_1,score_2,score_3,score_4,score_5],axis=0)
reviews_sample.reset_index(drop=True,inplace=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You are near! Make sure the text is in one string by using word_tokenize:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from nltk.tokenize import word_tokenize
words = []
for text in df[‘Text’]:
words.extend(word_tokenize(text))
# If the list of words is empty, add a placeholder word to ensure there’s at least one word for the word cloud
if not words:
words = [‘NoWords’]
#similarly you can build for Text column
reviews_str = reviews_sample.Text.str.cat()
wordcloud = 
plt.figure(figsize=(10,10))
plt.imshow(wordcloud,interpolation=’bilinear’)
plt.axis(“off”)
plt.show()

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Audio Mock-Up Presentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data storytelling is an essential part of an analysis. Your stakeholder does not care about the tools you use in your analysis process. Practicing communication skills is important to be able to share your findings. Below is a mockup audio presentation my friend and I(our practice routines😆)prepared for the sentimental analysis. Your data storytelling does not have to be long. Focus on your findings.&lt;/p&gt;

&lt;p&gt;Click &lt;a href="https://www.youtube.com/watch?v=_8dmXjdkQKc"&gt;here&lt;/a&gt; to watch it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This article introduced you to a basic sentimental analysis that can be utilized to make informed decisions in your strategic planning. First, we used Excel to arrange the data on columns and rows. Then, we performed pre-procession on the text, removing stop words, handing contractions, lemmatization, and stemming. Next, we visualized frequently occurring feedback in the data. Finally, we did a mock-up audio presentation to an ideal stakeholder.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>sentimental</category>
      <category>data</category>
      <category>python</category>
    </item>
    <item>
      <title>Predictive Modeling with Jupyter Notebook</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Fri, 24 Feb 2023 09:47:12 +0000</pubDate>
      <link>https://dev.to/cndavu/predictive-modeling-with-jupyter-notebook-1mik</link>
      <guid>https://dev.to/cndavu/predictive-modeling-with-jupyter-notebook-1mik</guid>
      <description>&lt;p&gt;Predicting is common for businesses and institutions to anticipate future performance. It is used in different fields, including finance, agriculture, marketing, and healthcare, to make informed decisions and improve current outcomes.&lt;/p&gt;

&lt;p&gt;In this article, we will create a model that can predict future events based on selected data. The blog will only be complete and satisfying with practical examples.&lt;/p&gt;

&lt;p&gt;So, let’s jump right into it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TABLE OF CONTENTS&lt;br&gt;
· What is Predictive Modeling?&lt;br&gt;
· Benefits of Predictive Modeling&lt;br&gt;
· Practical Examples of Predictive Modeling&lt;br&gt;
· Conclusion&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What is Predictive Modeling?
&lt;/h2&gt;

&lt;p&gt;Predictive modeling is the process of predicting future events utilizing historical data. In this case, you will use statistical and machine learning methods to create a model that can predict by identifying your data’s patterns and relationships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Predictive Modeling
&lt;/h2&gt;

&lt;p&gt;Predictive modeling is an important process of predicting future events when it comes to making informed decisions, as it can impact how institutions and businesses make informed decisions concerning performance. It provides many benefits related to predicting the future, including&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved Accuracy. Predictive modeling makes it easier for sectors to make accurate predictions based on past data by identifying patterns and relationships. Companies can make better decisions out of the outcomes.&lt;/li&gt;
&lt;li&gt;Resource allocation. Predictive modeling can help organizations effectively allocate resources by identifying areas that need significant resources. This helps reduce costs and attain desired company goals.&lt;/li&gt;
&lt;li&gt;Satisfaction. Predictive modeling can help organizations improve customer experience and satisfaction by identifying experiences and behaviors.&lt;/li&gt;
&lt;li&gt;Risk Management. Predictive modeling can help businesses foresee risks and take measures to prevent them from occurring. This helps in reducing the likelihood of massive loss impacting the operations negatively.&lt;/li&gt;
&lt;li&gt;So, it is evident that predictive modeling is a powerful tool that can help organizations make better decisions by simply identifying patterns and relationships of data. Let’s now dive into examples and understand how it works with Jupyter Notebook using the Scikit-learn library.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Practical Examples of Predictive Modeling
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Example 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We have a &lt;a href="https://github.com/Ndavucha/Predictive-Modeling-with-Jupyter-Notebook" rel="noopener noreferrer"&gt;sales&lt;/a&gt; dataset and want to build a model that predicts profits of product categories, using quantity and discount as independent variables.&lt;/p&gt;

&lt;p&gt;Now, let’s open Jupyter Notebook and code the steps.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Libraries required in this process&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Load the sales data&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df = pd.read_csv(‘Sales.csv’)
df
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Split the dataset into training and testing sets&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X = df[['Quantity', 'Discount']]
y = df['Profit']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Creating Linear regression model and fitting into the training data&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model = LinearRegression()
model.fit(X_train, y_train)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Predicting the profits&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;y_pred = model.predict(X_test)
print(y_pred)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjte9urc2vha88fqi5wb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjte9urc2vha88fqi5wb.png" alt="Screenshot" width="800" height="74"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Test model accuracy and print them&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
print(‘MSE:’, mse)
print(‘MAE:’, mae)
print(‘RMSE:’, rmse)
print(‘R2 score:’, r2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28kjzw9bx6vgnerurhcm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28kjzw9bx6vgnerurhcm.png" alt="Screenshot" width="428" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The model accuracy is good, but one can argue it is average. For instance, the mean absolute error score is 72.87346513555711. The target variable is large, and the MAE score is good for determining the credibility or reliability of the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/Ndavucha/Predictive-Modeling-with-Jupyter-Notebook" rel="noopener noreferrer"&gt;validation&lt;/a&gt; data contains variables that characterize the demographic and socio-economic situation of 181 galaxies over a period of at most 26 years. We are required to predict the well-being index with the highest possible level of certainty.&lt;/p&gt;

&lt;p&gt;You have to ask yourself which variables explain variance or attributes of the well-being index.&lt;/p&gt;

&lt;p&gt;Let’s start&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Libraries required in this process&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as pt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Load the validation data&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df=pd.read_csv(‘Validation.csv’)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dropping columns that we don’t need&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df.columns 
df=df[[‘’,’’,… ]].copy() #add'#' to drop columns and remain with important columns
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Place an # on what you’re not going to use. Remember, we started asking ourselves which variables best explain the variance of the well-being index.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Checking correlation to what I narrowed to best explain the variance of the well-being index and also drop the NaN values&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df_corr = df[[‘Gross income per capita’, ‘Income Index’,
 ‘Population using at least basic sanitation services (%)’,
 ‘Population using at least basic drinking-water services (%)’, 
 ‘Expected years of education (galactic years)’
 ]].dropna().corr() 
df_corr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgasjuhh41p092vg1er6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgasjuhh41p092vg1er6.png" alt="Screenshot" width="720" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Defining dependent and independent variables and splitting&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = df[[‘Gross income per capita’,
 ‘Population using at least basic sanitation services (%)’,
 ‘Population using at least basic drinking-water services (%)’, 
 ‘Expected years of education (galactic years)’]]
y = df[‘Income Index’]
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Creating Linear regression model and fitting into the training data&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ml= LinearRegression()
ml.fit(x_train,y_train)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Predicting the well-being index&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;y_pred=ml.predict(x_test)
print(y_pred)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwasl80wvrxupp6z2m31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiwasl80wvrxupp6z2m31.png" alt="Screenshot" width="720" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Test model accuracy and print them&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;r2_score(y_test,y_pred)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0r2rs2agulkp0i4krvdl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0r2rs2agulkp0i4krvdl.png" alt="Screenshot" width="248" height="56"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our model accuracy in predicting is very good. Remember, the R2 score is between 0 and 1, 0 being inaccurate and 1 being perfect.&lt;/p&gt;

&lt;p&gt;I know you will argue that there are no values or columns of the well-being index (predictor variables) to predict the well-being index. Yes, it is impossible to predict the well-being index if you do not have the column of the well-being index.&lt;/p&gt;

&lt;p&gt;To do this, you will need to build a model associated with outcomes associated with well-being. In other words, you will work with independent variables.&lt;/p&gt;

&lt;p&gt;In this case, we used independent variables, Income Index (target variable), Gross income per capita, Population using at least basic sanitation services (%). Population using at least basic drinking-water services (%) and Expected years of education (galactic years). You have to think out of the box😎.&lt;/p&gt;

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

&lt;p&gt;Predictive modeling is an important process for organizations or institutions to be more of what the future holds. With the Scikit-learn library (not this alone), you can play around with your data to help a client or institution to make an informed decision.&lt;/p&gt;

&lt;p&gt;This article on the Predictive model focused on LinerRegression Model to create a prediction model. It is the most common and easiest way to create a predictive model.&lt;/p&gt;

&lt;p&gt;For data scientists, I hope this article is a good reference for your next predictive modeling project or a guide on how to get started. Let me know in the comment section or &lt;a class="mentioned-user" href="https://dev.to/cndavu"&gt;@cndavu&lt;/a&gt; for any feedback and suggestions. Thank you for giving this post your valuable time reading it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>careeradvice</category>
      <category>productivity</category>
    </item>
    <item>
      <title>7 Effective DevOps Monitoring Tools</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Sun, 12 Jun 2022 09:23:47 +0000</pubDate>
      <link>https://dev.to/cndavu/7-effective-devops-monitoring-tools-4aod</link>
      <guid>https://dev.to/cndavu/7-effective-devops-monitoring-tools-4aod</guid>
      <description>&lt;p&gt;What is DevOps Monitoring? DevOps monitoring refers to the continuous process of identifying, planning, developing, testing, deploying, and reviewing feedback to prepare for potential threats facing systems, networks, or databases. This involves the viewing of important infrastructures in a production environment. ( I covered this in my &lt;a href="https://community.ops.io/cndavu/7-effective-devops-monitoring-tools-3h0"&gt;previous&lt;/a&gt; article in depth).&lt;/p&gt;

&lt;p&gt;It is important to have a suitable monitoring tool as a DevOps engineer to identify broken production changes or bugs before affecting the entire system. However, finding a good or a fit software instrument for monitoring can be a daunting task, but it can be this difficult because of the system’s complexity you’re developing.&lt;/p&gt;

&lt;p&gt;Let’s look into some effective DevOps monitoring tools for your phases of development.&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;PagerDuty&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PagerDuty is a simple but effective performance platform that should be used by DevOps engineer who seeks to work with a team (everyone does:)). It helps the entire or designated team members assess the system’s performance and address any error as soon as possible.&lt;/p&gt;

&lt;p&gt;It has timely alert features for the operations team to detect a problem in the entire development and production process. Data collected from multiple monitoring systems are incorporated into the PagerDuty to form a single view. You can configure settings to allow it to be a 24/7 monitoring software and keep sending alerts to team members. Overall, I believe PagerDuty is an excellent alerting system.&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Tasktop Integration Hub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tasktop Integration Hub is an all-around tool incorporating other monitoring tools into a single application. One of its unique aspects is handling all delivery software without reference from another tool, which acts as a single-point solution.&lt;/p&gt;

&lt;p&gt;Tasktop integration is an efficient tool to deliver information to your team because of the web-based interface aspect, connectivity with different tools of approximately 40, and quick software integration.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;Librato&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Librato is an easy-to-use monitoring tool because you can track your application in real-time and determine what is affecting your organization. Librato has all the necessary features needed for monitoring, including alerts and visualization. Also, Labrato can transform real-time data from any source-perhaps, the unique thing about this tool. Overall, It is an interface-based tool, meaning it is easy to use.&lt;/p&gt;

&lt;p&gt;4.&lt;strong&gt;Sensu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sensu is another popular monitoring tool used to analyze and track the performance of applications. A DevOps engineer can use this platform to assess the condition of organizations’ infrastructure, KPIs, and apps. It is a good tool to solve current application difficulties but does not provide software-as-a-service (SaaS).&lt;/p&gt;

&lt;p&gt;5.&lt;strong&gt;Splunk&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Splunk is a good platform for machine-generated data that uses a web-based interface. It helps combine all available data into a central view that allows users to quickly find the information they need. Marketing departments can use this tool to check areas that need improvement because of its analysis capabilities.&lt;/p&gt;

&lt;p&gt;6.&lt;strong&gt;Nagios&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nagios is an effective open-source continuous monitoring tool. You can use it to monitor apps, systems, and different business procedures or activities in a DevOps setup. When something is off in the system or infrastructure, it warns the users. Overall, it does not require a lot of expertise or experience to use it.&lt;/p&gt;

&lt;p&gt;7.&lt;strong&gt;Dynatrace&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dynatrace is perhaps the smallest library DevOps monitoring tool that can be installed in an application without taking much of the server’s space. After complete installation, the app records or data can be monitored without severe conflicts, which is crucial in reducing server overhead.&lt;/p&gt;

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

&lt;p&gt;The above article gives you a sneak peek of your DevOps monitoring tools in your DevOps activities. I believe they are the most effective DevOps monitoring tools to get you started as a DevOps engineer.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>career</category>
    </item>
    <item>
      <title>What is DevOps Monitoring?</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Thu, 19 May 2022 18:54:58 +0000</pubDate>
      <link>https://dev.to/cndavu/what-is-devops-monitoring-2dn</link>
      <guid>https://dev.to/cndavu/what-is-devops-monitoring-2dn</guid>
      <description>&lt;p&gt;DevOps monitoring refers to the continuous process of identifying, planning, developing, testing, deploying, and reviewing feedback to prepare for potential threats facing systems, networks, or databases. This involves the viewing of important infrastructures in a production environment.  &lt;/p&gt;

&lt;p&gt;In many ways, DevOps monitoring may be similar to monitoring any structured IT operations. However, DevOps monitoring analyzes the IT service or product deeper. It focuses on setting up reliable services and immediately testing its capabilities, usually in the production lifecycle. This is a form of proactive monitoring that emphasizes quality in the stages rather than reacting to a problem later. &lt;/p&gt;

&lt;p&gt;DevOps monitoring is also referred to as Continuous Monitoring (CM) or Continuous Control Monitoring (CCM) because it involves identifying any potential threats to the security of IT infrastructures in an automated manner.&lt;/p&gt;

&lt;p&gt;In this article, we’ll look at why we need DevOps monitoring and use cases to explain the reasons. Then, we’ll look at the features you should consider when selecting a DevOps monitoring platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why DevOps Monitoring?
&lt;/h2&gt;

&lt;p&gt;Technological transformations happen regularly, and organizations need to address these changes in real-time. You may have system complexity and development efficiency concerns, which will only be solved by effective monitoring. &lt;/p&gt;

&lt;p&gt;These concerns may be:&lt;/p&gt;

&lt;p&gt;• &lt;em&gt;Our code needs to be written and updated regularly, but how do we maintain the same quality without introducing vulnerabilities?&lt;br&gt;
• Our system is so complex, and everything part has an important function. How do we monitor everything?&lt;br&gt;
•  Comparing my KPIs seems like an uphill task because the entire project is complex. How do I get to manage these problems?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So, if you were to build a messaging-passing system, an automated system, or rollback protocols, looking to ship code faster and safely, monitoring is inevitable. It ensures the code is clean because of regular updates or fix bugs. &lt;/p&gt;

&lt;p&gt;Working as a team is an important attribute to attaining the desired success. But, this success would be attainable if they respond to problems quickly. Now, DevOps monitoring comes in to help teams to collaborate in conceptualizing the security of applications or systems from development stages to operations.&lt;/p&gt;

&lt;p&gt;We’re now at a stage where technology is so advanced, and the conditions of applications change faster than the speed of request callbacks or Git commits. DevOps monitoring can help in the development of self-healing features to keep pace with the sudden changes.&lt;/p&gt;

&lt;p&gt;Monitoring allows you to determine criteria for Key performance indicators (KPIs), like:&lt;/p&gt;

&lt;p&gt;• Failures experienced in deployment&lt;br&gt;
• Code errors&lt;br&gt;
• Mean-time-between- failures(MTBF)&lt;br&gt;
• Mean-time-to-detect (MTTD) errors&lt;br&gt;
• Pull request cycle time&lt;br&gt;
• Change failure rate&lt;/p&gt;

&lt;p&gt;Customer satisfaction is a term mentioned in every meeting in an organization and can be an uphill task to actualize or achieve it. Monitoring offers you the desired insight into your project development process. &lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps Monitoring Use Cases
&lt;/h2&gt;

&lt;p&gt;Monitoring is an important attribute and needs to be part of your development and deployment cycle. It helps you have a clear view of your applications or systems activities. But, it is not entirely why you need monitoring. &lt;/p&gt;

&lt;p&gt;Let’s cover some use case examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic code linting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Linters are necessary code tools that help style your code and identify bugs and errors. In many ways, linters help you find best practices for a coding standard. Therefore, if you incorporate a linter tool in your application, it will fix hidden or unidentified problems in your code before they cause runtime errors or other serious issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git workflow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is impossible to find any developer who has not done a Git commit. At a particular point in their coding life, they have attempted to work on a project resulting in code conflicts. With multiple features in Git, they can help developers resolve code-related conflicts, rollbacks, and commits. However, monitoring Git workflow ensures that the developers add commits consistently without affecting the project condition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring Continuous Integration (CI)logs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Continuous Integration (CI) can help you analyze the condition of your code and ensure they are running smoothly. If there are numerous errors, they’ll require tools to troubleshoot or debug. Change is inevitable for software success. Monitoring your logs can help you identify potential threats with your software delivery or applications that need quick fixing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring Continuous Deployment (CD) logs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is important to monitor your Continuous Deployment (CD) logs to better understand the application’s status. In many cases, logs give out information about the application’s behavior. It is simple to fix failed deployments and threats by continuously monitoring the logs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring configuration management change logs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Configuration management change logs may help you know the current status of your system and which parts require changes. When you integrate a monitoring culture of these logs, you can track changes made to your applications or system and troubleshoot issues. The ultimate goal is to maintain the integrity of the system or application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring infrastructure deployment logs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deployment logs help identify any possible risks or failures and new stack builds. These logs are important in solving problems related to stack deployments and checking unauthorized changes that caused a runtime error of failure.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code instrumentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Code instrumentation refers to the process of including code into your application or system to measure its performance and diagnose any issues. You can use instrumentation to see messages on logs in case of an application run time failure. If you can monitor code instrumentation outputs, you can identify areas that may need changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Distributed tracing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Distributed tracing is a method that DevOps and IT teams use to monitor microservices Applications. Usually, applications interact through APIs, which is significant for looking into when errors or failures occur. Distributed tracing helps you assess the performance of your application by observing service requests. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application performance monitoring&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Application performance monitoring (APM) platforms help track the application’s performance. This process may include assessing response time, identifying errors, and tracking user experience. The overall goal of APM platforms is to identify and fix any small issues before they cause more problems to other parts of the system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network monitoring&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Network monitoring is a procedural process by a computer network used to identify failing components before they cause other problems. For example, failing routers or overloaded servers can cause serious outages or network failures. With network flogs, it may be simple for you to identify suspicious activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Synthetic monitoring&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Synthetic monitoring tests the performance and reliability of a system or some of its components. For instance, a client application can be installed in your device or application to test scripts on key areas offering you insights on areas that need improvement. &lt;/p&gt;

&lt;h2&gt;
  
  
  What to Look for In a Good DevOps Monitoring Platform?
&lt;/h2&gt;

&lt;p&gt;When looking for DevOps monitoring, it should be able to integrate with your practices and workflow. This means the platform you select should allow your team collaborates effectively. &lt;/p&gt;

&lt;p&gt;Consider these capabilities:&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Easier instrumentation and code tracing:&lt;/strong&gt; Tracing is an important way of monitoring your application in its production state or while it is up and running. DevOps or developers would want to add a tool or debugging instrumentation to their application and receive informative messages about errors during development and deployment. &lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Graphical code analysis:&lt;/strong&gt; It is the process of analyzing computer software without actually running the software. It is necessary to analyze security vulnerabilities in the code that can adversely affect the entire system, which is why graphical or visual analysis codes like visual studio, code graph, or Splunk may help identify the problem quickly.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Contextual information and dependency maps:&lt;/strong&gt; You should look for a monitoring platform that allows system continuity because serious issues can make it unusable or vulnerable to attacks. With a proper contextual information tool, you can manage your information carefully. &lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Integration with popular DevOps toolsets:&lt;/strong&gt; The monitoring platform should be able to integrate with popular toolsets like Git or TravisCI. DevOps itself is a set of practices that involves using software and IT operations to have a simple workflow and have quality results. Monitoring tools will make it easy for organizations and teams to yield better results.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Ability to capture, index, analyze, and correlate cloud and on-premise logs, metrics, traces, and events:&lt;/strong&gt;  When looking or selecting the best DevOps monitoring solution, it should have the ability to analyze, index, capture, trace, provide metrics, and capture events. This means the tool must allow you to capture these actions in a single dashboard.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Data availability:&lt;/strong&gt;Look for a monitoring tool to provide real-time data for the teams to identify performance issues. It should link back with an API call or a line function to access real-time data of end-user experience.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Integration with popular communication channels:&lt;/strong&gt; An integrated communication strategy is the connectivity that allows sharing of information consistently across all channels and aligns with teams’ objectives. A good monitoring platform should have the ability to send alerts to teams in case to reduce downtime or sharing of reports. &lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Automation:&lt;/strong&gt; You should consider a tool that can improve your existing automation mechanism without streamlining your development process or causing downtime. In most cases, DevOps teams always want to automate clusters, nodes, and pods to make the deployment process scalable. This means your choice of monitoring platform should be able to fit all these needs.&lt;/p&gt;

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

&lt;p&gt;DevOps practices have changed how we manage our systems development cycles and create a continuous delivery quality software environment. It is all about understanding why you need to monitor and what platform will do the work to suit your needs and attain your desired success.&lt;/p&gt;

&lt;p&gt;You should learn to incorporate these monitoring practices if you want to keep pace with technological advancements that bring all sorts of vulnerabilities affecting operations and customer satisfaction.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>API Integration Challenges</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Tue, 05 Apr 2022 17:46:24 +0000</pubDate>
      <link>https://dev.to/cndavu/api-integration-challenges-47pi</link>
      <guid>https://dev.to/cndavu/api-integration-challenges-47pi</guid>
      <description>&lt;p&gt;API has a lot of technological benefits that help boost the productivity of most businesses online. However, it can be quite challenging for companies to integrate API into their different systems to improve performance. In this article, We'll discuss the challenges of API integration and possible solutions for enterprises to use API's potential.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Cost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Integrating API technologies requires professional API developers to get the job right and can be pretty expensive. Even if the company decides to train IT professionals, it will affect the overall budget. However, hiring an API developer to join the IT department would effectively control costs. It would save costs in the long run because of readily expert opinion on API matters. Partnering with another company that offers API services can be quite ineffective and costly because of the regular shift in cost and lack of proper understanding of API rollout processes. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Security Concerns&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;APIs work in hand with web-based programs, making the technologies vulnerable to attacks. It is easy to access databases if the system is not properly secured or encrypted. API integration processes should consider potential security breaches. Therefore, the company must hire experts who would work closely with API developers to prevent any part of the system that may lead to data breaches. Also, ensuring the APIs are up-to-date minimizes the chances of breaches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Ignorance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most company management teams fail to acknowledge the effect of API on their daily operations. Some employees, particularly IT guys, may think they know all technologies and tend to ignore the fundamentals of the API integration process. It is necessary to hire API experts because assuming the IT support team understands the process would make the system more vulnerable. However, training the IT department team would not be a bad option. They would gather information and understand the different API challenges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Numerous Systems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API system integrations are not entirely a fit-all process, even if it can connect two different systems. Each integration process has its fair of challenges depending on technological complexity. A proper strategy in API integration process and rollout would solve challenges of connecting several systems. Again, API developers would estimate the period of integration among the system. This will help calculating the costs of integration and how balance the systems. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Time Consuming&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Developing an API can be tedious, let alone the debugging process. Suppose the management fails to understand the process of creating an API. In that case, they can doubt its importance and question how it may affect the business operation in case of downtime. The solution is to ensure the API rollout plan moves in parts and still retains the old connecting system method before full implementation. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API integration process requires proper preparation to reap the benefits of these technologies. Also, documenting the process would assist in solving future challenges. Nonetheless, having API developers in the IT team would minimize costs caused by poor planning.  &lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Tiredness in Coding</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Sun, 27 Mar 2022 17:10:55 +0000</pubDate>
      <link>https://dev.to/cndavu/tiredness-in-coding-2f78</link>
      <guid>https://dev.to/cndavu/tiredness-in-coding-2f78</guid>
      <description>&lt;p&gt;Sitting in front of the computer screen for long coding can be tiresome and sometimes dull because it is a repetitive task. Waking up energized to debug or code a few lines, you get tired, lose focus, or be exhausted because the eye muscles are worn-out.&lt;/p&gt;

&lt;p&gt;Stay for one hour focusing on coding can be tricky unless you have a deadline or the client is serious about your neck to present a prototype. Experienced coders may have a hack to handle tiredness in coding, but it is still a challenge for the coding profession.&lt;/p&gt;

&lt;p&gt;I always ask myself why I get tired, and it is just sitting down, a cup of coffee, and letting the figures do the magic? If it is the issue of eye muscle getting tired, then watching a favorite football match for ninety minutes would have the same effect.&lt;/p&gt;

&lt;p&gt;From a doctor's perspective, some things are out of our control because tiredness results from biological and chemical processes. The biological process includes the unwanted release of glucose turning into energy because of intense thinking, while the chemical process causes the feeling of exhaustion.&lt;/p&gt;

&lt;p&gt;Nonetheless, different practices can help ease the fatigue we feel when coding, even if it is not a hundred percent effective or solves the problem, but remember coding is a "mountain" on its own we need to climb.&lt;/p&gt;

&lt;p&gt;Let's look at what makes me get tired quickly in coding and some practices I have put in place to solve the problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Language or framework&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Language or Framework? It may seem odd to suggest this point, but if a language is not working for you, do not force it. For instance, you get tired or bored quickly when using the Laravel framework, why don't you shift to Codeigniter and learn how to use it. Perhaps the mind has absorbed intense pressure from the previous framework and bit the biological and chemical process.&lt;/p&gt;

&lt;p&gt;I had to shift from Codeigniter to Laravel to get the mental relaxation I wanted when coding. I know some coders would die for Codeigniter and others Laravel, but you use a good language or framework for your "mental health."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Greediness&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fullstack developers would attest to this point, probably because they simultaneously bury themselves in many projects. The thought of delivering fully functional applications at a similar date or few days separates them leads to unnecessary anxiety and pressure that cause tiredness.&lt;/p&gt;

&lt;p&gt;I know money is the motivator, but why take multiple jobs and you can not involve other developers in the project. The simplest way to avoid this is to involve a genius junior developer in the projects. Help each other to complete them to ease the unnecessary pressure. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Overthinking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You do not have to act smart when you are alone coding. Most codes are open source, but you can consult your social group coders or StackOverflow. The brain process too much information, and straining it to write ten or twenty lines of code without referring to documentation or abstract leads to mental exhaustion. &lt;/p&gt;

&lt;p&gt;Nonetheless, you can counter this problem by breaking the tasks into smaller sections. Focus on it and have break intervals when you complete each one of the tasks. Things may become more manageable if you train your mental capabilities to conduct the coding task in an arranged manner. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Time of task&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Code may be addictive or calling, but can not code for ten to fourteen hours and have minimal rest. The brain needs rest to stay active when actions call for its assistance the next coding day. Finding a suitable time that works for you is crucial to staying alert or productive. Regardless of the time, have breaks to refresh your mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope the above guidelines can help someone improve their productivity and comfortable throughout the coding process. However, we are different, and the methods can fail to work. Understanding your body or energy levels can help you understand what makes you tired.&lt;/p&gt;

&lt;p&gt;Hey! hitting the gym helps keep the mind fresh, but finding something would help you solve this problem.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Magento Review</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Sun, 20 Mar 2022 08:28:44 +0000</pubDate>
      <link>https://dev.to/cndavu/magento-review-1j84</link>
      <guid>https://dev.to/cndavu/magento-review-1j84</guid>
      <description>&lt;p&gt;Magento seems to be a forgotten opensource PHP "eCommerce" programming language due to the rise of WordPress. The idea of creators was to enhance the flexibility and stability of the eCommerce platform. However, the growth of frameworks challenges this open-source and its fame or perhaps is not likely to be heard in most developer conversations.&lt;/p&gt;

&lt;p&gt;Let's analyze the dynamics and changes.&lt;/p&gt;

&lt;p&gt;Magento is an excellent PHP open-source content management system (CMS) for eCommerce websites. It has eCommerce functionalities such as a shopping cart, product pages, and checkout form. It is free to use and has fantastic themes to select for your website. I believe it is the best open source if you want to get your hands dirty on code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The dynamics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is still evident that Magento would be discussed regarding the selection option of eCommerce storefronts. I believe many businesses will somewhat still opt for Magento because of scalability.&lt;/p&gt;

&lt;p&gt;However, Magento has the frustrations of performance and speed. Performance seems to be the biggest frustration with little interaction I have with Magento developers. The reasons for these challenges include;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Extensions and modules problems&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Caching sensitivity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Javascript and CSS nightmare&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Web hosting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compilation problem&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Admin notifications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cookie limitation time&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Spam emails&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slow display of products&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These challenges are the most common errs that most Magento developers and store owners face. Improving the version may be the simplest way to solve these problems, but is it reasonable to update the version to avoid these problems if it is open-source like any other framework?&lt;/p&gt;

&lt;p&gt;I would not deny how the codes are scalable and unique, but it needs a proficient coder to structure or restructure them. I believe the number of developers proficient with Magento is scarce, making it lucrative if you are an existing Magento developer.&lt;/p&gt;

&lt;p&gt;We can not dispute the rise of WordPress. Storefronts owners want their eCommerce done within a few days, and WordPress may require purchasing plugins and themes and paying a web designer to do the job. The constant need to re-learn Magento may lead most beginners to just switch to WordPress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The future&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Magento would definitely grow. However, addressing the common "difficulties mentioned above would perhaps attract more coders to learn or use Magento. This open-source seem to fit in creating big e-commerce sites alone. An example is Jumia which is a leading eCommerce site in Africa. WordPress has come in and works perfectly for small business owners.&lt;/p&gt;

&lt;p&gt;I believe if the inventors consider business factors and improve future versions, it will be the first choice for most developers. Currently is hard to find a PHP developer talking about it. Perhaps it is limited to eCommerce creation, but it should be among the leading in web conversation.&lt;/p&gt;

&lt;p&gt;What do you think about Magento? leave a comment &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>php</category>
      <category>discuss</category>
      <category>opensource</category>
    </item>
    <item>
      <title>UnsafePHPCodeTester</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Sun, 13 Mar 2022 12:21:53 +0000</pubDate>
      <link>https://dev.to/cndavu/unsafephpcodetester-296d</link>
      <guid>https://dev.to/cndavu/unsafephpcodetester-296d</guid>
      <description>&lt;p&gt;My mentor is a php nerd and has created some great staff over the years. I got chance to try his creation dubbed "unsafephpcodetester." I have been using it for a while and I thought why not share it with Dev community.&lt;/p&gt;

&lt;p&gt;Let's get started&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The unsafephpcodester is an amatuer-ish tool intended for personal use only. I would not advice you to publish it in your public server, but your local server will do. You can improve it to suit your needs. It is purely experimental.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; you can just grab the index.php and process_code.php, and run it however you run your php filesprovided the two files remain in the same folder. &lt;/p&gt;

&lt;p&gt;If your are running windows, place it in your wamp sever&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
C:\wamp\www\unsafephpcodetester

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If running ubuntu, you can follow the following 7 steps to access it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Extract the unsafephpcodetester.zip to get a folder named unsafephpcodetester&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Place the unsafephpcodetester folder in root directory of your server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Set up your virtual hosts file so that it points to this new local website.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/etc/apache2/sistes-available/unsafephpcodetester.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;VirtualHost \*:80&amp;gt;
ServerName unsafephpcodetester.com
ServerAlias www.unsafephpcodetester.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/unsafephpcodetester

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

&amp;lt;/VirtualHost&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Restart apache2 to update the changes by running the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$sudo service apache2 restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt;  Create a simlink to it, in the sites-enabled folder, using the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\$sudo ln -s /etc/apache2/sistes available/unsafephpcodetester.conf /etc/apache2/sistes-enabled/unsafephpcodetester.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; Add the following two lines to /etc/hosts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;127.0.0.1 unsafephpcodetester.com
127.0.0.1 www.unsafephpcodetester.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; Then run the url in your browser&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://unsafephpcodetester.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Final out put&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ENKwDaaI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/twhz1hois6vs4q6o177f.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ENKwDaaI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/twhz1hois6vs4q6o177f.PNG" alt="An image showing the output for Unsafephpcodetester" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Get the files here; &lt;a href="https://bitbucket.org/lawrencekm04/phpcodetester"&gt;https://bitbucket.org/lawrencekm04/phpcodetester&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Credit to &lt;strong&gt;@wezadata&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>php</category>
      <category>programming</category>
    </item>
    <item>
      <title>Interview Jitters</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Tue, 08 Mar 2022 22:13:52 +0000</pubDate>
      <link>https://dev.to/cndavu/interview-jitters-2b1i</link>
      <guid>https://dev.to/cndavu/interview-jitters-2b1i</guid>
      <description>&lt;p&gt;So, recently I was shortlisted for a data analyst position interview, and I felt it is important to share the experience to familiarize you with some of the questions they asked me to confirm my competence and level of skills.&lt;/p&gt;

&lt;p&gt;Before we get into it, do you that little shiver-ish the last minute you're about to enter the interview room or open the door and the panelist give you a serious look and its eternity walking towards your designated seat?&lt;/p&gt;

&lt;p&gt;Also, I have this illusion or belief that high-level questions are asked early hours of the interview day. But it is always better to be prepared for a challenging question at any given time.&lt;/p&gt;

&lt;p&gt;Let's get started.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;General Questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Tell me about yourself&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This question never gets old. It is a broad question, and you can quickly answer you are a tech lover or short or tall. These are correct answers but in the wrong context. Keep your answer on the path of data analysis. Talk about past roles and why you are interested in analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. What is a database?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I did not expect this question. I almost fumbled explaining the meaning, perhaps of the jitters. It would be best to prepare for questions that would seem easy to avoid feeling shame when you're out of that interview. Do not state a basic definition, but expound on it to show your understanding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. What are the roles of a data analyst&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It sounds like an easy question, but it can be challenging because the roles are significant. Mention the general ones such as cleaning, identifying, analyzing, and interpreting. Again, expound on them by giving an example in the context of that company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Can you handle different data sets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I believe this was an indirect question of determining if you can handle complex data sets. Ensure you have grasped some work on your portfolio. Explain the variables and entries of the work. Also, explain the types of data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Types of data analytics software tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Microsoft excel may save the day if you mention it. However, it is important to familiarize yourself with all available software. It does mean you feed your brain with their functionalities, but for the sake of data, know them by their name and basic information. These common data analytics software include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft Power BI&lt;/li&gt;
&lt;li&gt;Tableau&lt;/li&gt;
&lt;li&gt;Microsoft Excel&lt;/li&gt;
&lt;li&gt;Google Sheets&lt;/li&gt;
&lt;li&gt;R&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Mention a few SQL functions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SQL is almost a necessity for a data analyst position. The interviewer may ask SQL basic questions to check your proficiency level. So get to learn and understand SQL language in depth. The JOIN, COUNT, primary key, union, truncate, foreign key, and others should be on your "servers."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Any questions for us?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The end of "interrogation" is near. Now, it is your turn to ask questions. You might ask about the company culture, years of existence if you did not find it on Google or the company website, and their expectation for the position. Feel free to ask anything that relates to the company and position.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To sum up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope this information will get you prepared for the following interview. Do not worry about the interview. Jitters are normal. Furthermore, being shortlisted means you're getting noticed, and it can be an achievement on its own. Just go and nail it!&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>motivation</category>
      <category>help</category>
      <category>career</category>
    </item>
    <item>
      <title>Love and Hate of PHP...</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Mon, 28 Feb 2022 17:01:28 +0000</pubDate>
      <link>https://dev.to/cndavu/love-and-hate-of-php-2kg8</link>
      <guid>https://dev.to/cndavu/love-and-hate-of-php-2kg8</guid>
      <description>&lt;p&gt;Sometimes I wonder what the reasons for inventors of programming languages to categorize their inventions into a specific universal name were. They took long hours to prepare code lines rules that we must follow to produce outstanding applications, yet we have to spend sleepless nights solving bugs.&lt;/p&gt;

&lt;p&gt;Enough of my mind's eye, and let's get into the love and hate of PHP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Love&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;My interactions with developers will always end up with a debate on which language is the best, and PHP emerges at the top. They eat and sleep it. I could not even make them think otherwise. Some of the reasons why the developers love PHP include;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It is easy to learn. This is the first common answer you will get from a PHP lover. Yes, it is. PHP is everywhere. The teaching materials are easily accessible in online resources. Also, most websites use PHP for backend scripting. I bet Dev.to is on the list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is scalable. Now, you will realize PHP is scalable after years of interaction. It keeps evolving and accommodating different modern features. Also, the frameworks keep growing, making developer life simple.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Love at first sight. It sounds ironic, but hey! If your mentor introduced you to python first, would you not love it or consider it a base programming language?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Hate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Shakespeare said. Love me or hate me, Both are in my favor. The same saying applies to PHP. If something is good, it does have flaws, and if it has flaws, it indeed does not lack the good. Reasons for the hate include;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It lacks a clear road map. Now, this was the opinion of one Java user programmer. He claims PHP functions and some arguments are not constant or somewhat opaque, meaning the language is sort of inconsistent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is used everywhere. My C++ friend claimed PHP does not make you look cool or a tough developer. Also, suggesting it is easy to produce a 'bug' code.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every developer or programmer is entitled to opinions about a specific programming language. Use any language that makes you happy in the 'wallet or bank,' specifically.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Your opinion about PHP... leave a comment&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>php</category>
    </item>
    <item>
      <title>Technical Translation Growth, Is It?</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Sat, 26 Feb 2022 20:14:18 +0000</pubDate>
      <link>https://dev.to/cndavu/technical-translation-growth-is-it-e70</link>
      <guid>https://dev.to/cndavu/technical-translation-growth-is-it-e70</guid>
      <description>&lt;p&gt;Translation is an important aspect of any technology, manufacturing, or producing company. A technical writer plays a pivotal role in ensuring user manuals, documentation, and tutorials align with languages understood by targeted users. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Targeted Is It?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To some extent, companies overlook a particular market and contact traditional translators to conduct regular translations. For instance, Chinese products have access to many markets across different continents, but the user manuals or documentation are written in Chinese and English or entirely in Chinese.&lt;/p&gt;

&lt;p&gt;It may be a good strategy to focus on 'home' customers, but reaching a broader scope of customers will increase the revenue collection by incorporating regional block languages. Although illustrations help the user understand product functionalities, the manuals are not entirely 'user' friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Point&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Companies should conduct more research on languages spoken by nations in a regional block apart from English. As a user, I enjoy reading text written in my local language. It may be a strategic way of retaining a customer.&lt;/p&gt;

&lt;p&gt;I know it may not be logical to incorporate different languages in documentation, tutorials, and user manuals. Still, Netflix has included at least five significant subtitles for its movies. The Swahili language is now among Netflix subtitles collections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if...&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Manufacturers or producers could research a common spoken regional language and incorporate it into their user guides. For instance, the Swahili language is spoken by east and central African nations. Perhaps adding Swahili to user guides will attract more customers indirectly or directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Language is essential in communicating an intended message and can act as an attraction. Businesses should acknowledge these dynamics and changes to have a competitive edge. &lt;/p&gt;

&lt;p&gt;Am I making sense? Leave a comment.   &lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Understanding Postman</title>
      <dc:creator>Charles Ndavu</dc:creator>
      <pubDate>Tue, 22 Feb 2022 17:15:45 +0000</pubDate>
      <link>https://dev.to/cndavu/understanding-postman-1345</link>
      <guid>https://dev.to/cndavu/understanding-postman-1345</guid>
      <description>&lt;p&gt;At first, it can be challenging to understand how postman features work because the interface may appear something fascinating or complicated at first sight. However, it is a simple API tester, builder, and documentation tool. The sidebar is the ultimate controller of the tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This section acts as storage for folders and files. For example, creating a word document file and saving it in a folder in either downloads or document section. Similar to Collection a house for GET, POST, and other request files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Happens in Collections&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;It is where almost the significant work in postman takes place. You can run different collections in selected environments. This means you can get responses to the files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Next&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Postman gets easy as you interact with it regularly. Regular testing of APIs will ensure familiarization with all the functionalities. There is nothing fancy or complex about it. View it as your first time interacting with visual studio, and the following week you're splitting the screen like a pro.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How did you learn to use postman?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
