<?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: MJ-O</title>
    <description>The latest articles on DEV Community by MJ-O (@motanga).</description>
    <link>https://dev.to/motanga</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%2F3716189%2F4c9070b9-c7fc-4e0e-875e-4a12a2217cc6.png</url>
      <title>DEV Community: MJ-O</title>
      <link>https://dev.to/motanga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/motanga"/>
    <language>en</language>
    <item>
      <title>CONNECTING POSTGRESQL TO POWER BI FOR DATA ANALYSIS</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Wed, 18 Mar 2026 05:37:14 +0000</pubDate>
      <link>https://dev.to/motanga/connecting-postgresql-to-power-bi-for-data-analysiss-1ccj</link>
      <guid>https://dev.to/motanga/connecting-postgresql-to-power-bi-for-data-analysiss-1ccj</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Power BI is a business intelligence tool made for extracting, organizing, and visualizing data in business.It was developed by Microsoft. It allows one to connect to several data sources, transform data into meaningful insights and present those insights using interactive dashboards and reports.&lt;br&gt;
Power BI is used by data analysts and businesses to bridge the gap between data and decision-making.&lt;br&gt;
Power BI is used for data analysis and business intelligence by helping organizations turn raw data into meaningful insights through visualizations such as charts and dashboards. Such tools make it easier for businesses to identify trends monitor performance and make decisions based on the data provided. Companies connect Power BI to databases because databases store large amounts of structured data needed for analytical purposes. By connecting Power BI directly to these databases, organizations can access the latest information and automatically generate accurate reports for better decision making.&lt;br&gt;
SQL databases are important for storing and managing analytical data since they store and organize large amounts of structured data efficiently. This makes it easier to retrieve, manage and analyze data. Tools like Microsoft Power BI rely on SQL databases to access reliable,organized and well structured data for reporting and analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. CONNECTING POWER BI TO POSTGRESQL DATABASE
&lt;/h2&gt;

&lt;p&gt;Power BI helps businesses make sense of their data. It can identify trends,patterns and share insights so teams can make smarter decisions. To do this well, it connects to databases like PostgreSQL. These databases keep data organized and structured, so Power BI can easily pull in the information it needs for reports, dashboards and analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting to a Local PostgreSQL Database&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Step 1: Open Power Bi Desktop&lt;/strong&gt;&lt;br&gt;
-Open your Power BI Desktop application and click on 'Blank report'.&lt;br&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%2F4bghs67z1unxt01ces1s.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%2F4bghs67z1unxt01ces1s.png" alt="powerbi" width="800" height="373"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Step 2: Get Data&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After it opens to a new window, click on 'get data' dropdown on the home ribbon and select more
&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%2Fejc1exyc7qrs84r5dpt5.png" alt=" " width="800" height="502"&gt;
&lt;strong&gt;Step 3: Postgresql Search&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Once it opens a new window type the postgresql keyword on the search bar and double click on it
&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%2Fvehurpy1sv2h55s1n2xl.png" alt="postgresql search" width="800" height="335"&gt;
&lt;strong&gt;Step 4: Enter Server Details&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;On the new window, enter your machine's IP address in the 'server' field and the database name in the 'database' field and click 'ok'.
&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%2Fhotnhj45s8x5in0vem4u.png" alt="server details" width="800" height="394"&gt;
&lt;strong&gt;Step 5: Authenticate Connection&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You will then be prompted for your PostgreSQL database credentials. Enter the correct username and password and click 'connect'.
&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%2F4kruhmcpaelxvtjd4u1v.png" width="800" height="337"&gt;
&lt;strong&gt;Step 6: Load Tables&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;After succesful authentication, a window displaying the databases and schemas within your PostgreSQL server opens.&lt;/li&gt;
&lt;li&gt;Expand your database and select the tables needed by checking their respective boxes. A preview of the selected table's data will appear on the right. Finally, click 'Load' to bring the data into Power BI. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Connecting To A Cloud Postgresql Database&lt;/strong&gt;&lt;br&gt;
Most organizations host their databases in the cloud instead of locally e.g using Aiven which provides managed PostgreSQL databases. Connecting Power BI to a cloud PostgreSQL database follows a similar process but requires additional connection details.&lt;br&gt;
&lt;strong&gt;Step 1: Create Database on Aiven&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Creating a PostgreSQL database on Aiven is easy and fully cloud-hosted. First, log in to the Aiven console,select services on the right tab and click Create Service, then select PostgreSQL. Choose a cloud provider, region, pricing plan, give your service a name, and click Create Service. Aiven will deploy the database automatically, ready for use.&lt;br&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%2Fmik1zj253iup3u4sbem2.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%2Fmik1zj253iup3u4sbem2.png" alt="aiven" width="800" height="384"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Step 2: Download The SSH Certificate&lt;/strong&gt;&lt;br&gt;
Cloud databases often require secure encrypted connections. From the Aiven console, navigate to Connection Information and download the CA Certificate (SSL certificate).&lt;br&gt;
&lt;strong&gt;Step 3: Connect Aiven To Power Bi&lt;/strong&gt;&lt;br&gt;
To connect Power BI to a cloud database on Aiven, you need the PostgreSQL Open Database Connectivity driver(ODBC). ODBC lets applications communicate with databases in a standard way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download and install the driver: Get the PostgreSQL ODBC driver (psqlODBC) for your system from: &lt;a href="https://www.postgresql.org/ftp/odbc/releases/REL-17_00_0008-mimalloc/" rel="noopener noreferrer"&gt;https://www.postgresql.org/ftp/odbc/releases/REL-17_00_0008-mimalloc/&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set up a Data Source: Open ODBC Data Source Administrator, go to System DSN, and click Add. Choose PostgreSQL Unicode(x64) and click Finish.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter connection details: A setup window will appear. Copy the connection details (server, database, username, password) from your running Aiven service and paste them into the window. Test the connection to make sure it works.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another psqlOBDC set up window will appear requesting for connection details. All these connection details can be traced from a running service on Aiven. Copy and paste on this set up window and test connection.&lt;br&gt;
&lt;strong&gt;Step 4: Connect Power BI Using the ODBC Source&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After setting up the ODBC data source, open Power BI Desktop. Click Get Data, choose ODBC, and click Connect. In the window that appears, select PostgreSQL ODBC and click 'OK'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next, enter the username and password from your Aiven service and click Connect. Power BI will retrieve the tables from your PostgreSQL database. Select the tables you want to use and click Load to bring the data into Power BI.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The PostgreSQL ODBC driver uses the downloaded SSL certificate to encrypt the connection, keeping your data secure between Power BI and the cloud database&lt;/p&gt;

&lt;h2&gt;
  
  
  2. UNDERSTANDING DATA MODELLING
&lt;/h2&gt;

&lt;p&gt;Data modeling is basically how you connect your tables so Power BI knows how they relate. You do this by creating relationships between tables using common fields, called keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. RELATIONSHIPS IN POWER BI
&lt;/h2&gt;

&lt;p&gt;-Relationships in Power BI are usually created&lt;br&gt;
&lt;strong&gt;How to Create Relationships&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switch to the Model view in Power BI.&lt;/li&gt;
&lt;li&gt;Drag a field from one table (like CustomerID in Sales) onto the matching field in another table (like CustomerID in Customers).&lt;/li&gt;
&lt;li&gt;Power BI usually sets up a one-to-many relationship automatically.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  IMPORTANCE OF SQL SKILLS
&lt;/h2&gt;

&lt;p&gt;Power BI is a powerful tool for creating charts, dashboards, and reports, but SQL is just as important for analysts. SQL helps one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull only the data they need directly from the database, saving time and avoiding extra clutter&lt;/li&gt;
&lt;li&gt;Filter and clean data before bringing it into Power BI, which speeds up reports&lt;/li&gt;
&lt;li&gt;Summarize or aggregate data, like totals, averages, and counts, so dashboards are meaningful&lt;/li&gt;
&lt;li&gt;Combine tables and organize datasets so everything links properly for accurate analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Power BI makes analyzing and visualizing data easy, but SQL gives you control over the data behind the visuals. Knowing SQL helps you prepare datasets, make reports faster and create dashboards that are accurate and meaningful. Power BI and SQL allow analysts to turn raw data into real business insights.&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Joins and Windows Functions in SQL</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Sun, 01 Mar 2026 18:29:05 +0000</pubDate>
      <link>https://dev.to/motanga/joins-and-windows-functions-in-sql-69l</link>
      <guid>https://dev.to/motanga/joins-and-windows-functions-in-sql-69l</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;Data in relational databases is usually stored in different tables. Joins allows one to combine data from multiple tables whereas window functions allow calculations across related rows without grouping the results into a single row.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. JOINS&lt;/strong&gt;&lt;br&gt;
Joins are operations that allow one to combine rows from two or more tables based on a related column between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Joins&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;-INNER JOIN&lt;/strong&gt;&lt;br&gt;
The most common type of join. It returns only the rows that have matching values in both tables based on a related column between them.It can also be written as 'join'.&lt;br&gt;
&lt;strong&gt;- LEFT JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from the table on the left(the first selected table) and matching rows from the right table. Suppose there is no match, NULL values are returned.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- RIGHT JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from the right table(the second table selected) and matching rows from the left table. Suppose there is no match, NULL values are returned.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- FULL OUTER JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from both tables. Non-matching rows from both tables will contain NULL values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. WINDOW FUNCTIONS&lt;/strong&gt;&lt;br&gt;
Window functions are functions that perform operations across a set of rows that are related to the row the function is currently operating on.&lt;br&gt;
&lt;strong&gt;Types of Window Functions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ROW_NUMBER() – assigns a unique number to each row&lt;/li&gt;
&lt;li&gt;RANK() – assigns ranks to rows with gaps for duplicates&lt;/li&gt;
&lt;li&gt;DENSE_RANK() – assigns ranks without gaps for duplicates&lt;/li&gt;
&lt;li&gt;LAG() – accesses previous row values&lt;/li&gt;
&lt;li&gt;LEAD() – accesses next row values&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The OVER() Clause&lt;/strong&gt;&lt;br&gt;
All window functions require the OVER() clause. This clause defines the window of rows the function should operate on. You can specify how rows are grouped with PARTITION BY and the order of rows with ORDER BY.&lt;br&gt;
For example, if one wants to rank sales by each region, they use a ranking function with OVER(PARTITION BY region ORDER BY sales DESC). The OVER() clause is what makes these functions “window functions” instead of ordinary aggregates.&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Joins and window functions are key tools in SQL that make working with data easier. Joins let you combine information from different tables, so you can see how data relates. Window functions let you do calculations across rows without losing the details of each row. Learning how to use both makes your queries more powerful and helps you get better insights from your data.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Connecting PostgreSQL on a Linux (WSL) Server to DBeaver</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Thu, 12 Feb 2026 07:58:41 +0000</pubDate>
      <link>https://dev.to/motanga/connecting-postgresql-on-a-linux-wsl-server-to-dbeaver-2ki0</link>
      <guid>https://dev.to/motanga/connecting-postgresql-on-a-linux-wsl-server-to-dbeaver-2ki0</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;PostgreSQL is a relational database management system used to store and manage structured data. When installed inside Windows Subsystem for Linux (WSL), it runs in a Linux environment on a Windows machine.DBeaver is a graphical database management tool that supports PostgreSQL. Connecting DBeaver to PostgreSQL running in WSL allows users to manage the database using a nice visual interface instead of only terminal commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL installed and running inside WSL&lt;/li&gt;
&lt;li&gt;DBeaver installed on your Windows machine&lt;/li&gt;
&lt;li&gt;Access credentials for the PostgreSQL user (e.g., postgres user and password)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 1: Confirm Installation of PostgreSQL&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To confirm if postgreSQL has been installed and is running in WSL, Inside the WSL terminal, enter the following command
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;psql --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If installed, it displays the postgreSQL version&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then check if the service is running using the following command
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status postgresql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If it is not running, use the following command to start the service:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl start postgresql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;STEP 2 : Create or Verify Database&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; After the postgres service is up and running,switch to the postgres account on your server:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -i -u postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The following command will log you into the PostgreSQL prompt where you can interact with the database management system:
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Use the following command to show a list of databases available
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\l
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Suppose your database is not in the list, create one using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE DATABASE &amp;lt;database_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NOTE: Replace the name with the required database name&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 3: Configure Authentication&lt;/strong&gt;&lt;br&gt;
By default, PostgreSQL on Ubuntu/WSL uses peer authentication, which works in the Linux terminal but does not work with external tools like DBeaver.Editing the method to md5 enables password-based authentication, allowing external tools to connect successfully.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To edit the authentication file, use the following commands:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd /etc/postgresql/16/main 

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

&lt;/div&gt;


&lt;p&gt;then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano pg_hba.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Find:
&lt;code&gt;local   all   postgres   peer
&lt;/code&gt;
-Change it to: 
&lt;code&gt;local   all   postgres   md5
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Also ensure these lines exist and are configured correctly:
&lt;code&gt;host    all    all    127.0.0.1/32    md5
host    all    all    ::1/128         md5&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Save and restart PostgreSQL:
&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;STEP 4: Set a Password for the PostgreSQL User&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log into postgres on your server:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -i -u postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Set the password:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER USER postgres WITH PASSWORD 'yourpassword';

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

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Save and exit:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;\q
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;STEP 5: Configure PostgreSQL to Listen on All Interfaces&lt;/strong&gt;&lt;br&gt;
By default, PostgreSQL listens only on localhost.&lt;br&gt;
In WSL 2, this may prevent DBeaver (running in Windows) from connecting properly because WSL operates on a separate virtual network interface.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit the configuration file:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/postgresql/*/main/postgresql.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Find: 
&lt;code&gt;listen_addresses = 'localhost'
&lt;/code&gt;
-Change it to: 
&lt;code&gt;listen_addresses = '*'
&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;Save and restart PostgreSQL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 6: Obtain the WSL IP Address&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In WSL, run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ip addr show eth0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Find:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;inet 172.xx.xx.xx/xx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;NOTE:This will be the value used as the host in DBeaver. *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 7: Connect Using DBeaver&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open DBeaver, create a new PostgreSQL connection.&lt;/li&gt;
&lt;li&gt;Fill in with the details of your connection&lt;/li&gt;
&lt;/ul&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%2Fwp499cx3dx9s0qyv2ndl.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%2Fwp499cx3dx9s0qyv2ndl.png" alt="connection page in dbeaver" width="712" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSL tab:
Set SSL mode to Disable&lt;/li&gt;
&lt;li&gt;Click Test Connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If configured correctly, the connection should succeed.Click Finish.&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Connecting PostgreSQL running inside WSL to DBeaver allows users to manage their database using a graphical interface instead of relying only on terminal commands. By configuring authentication, setting a password, adjusting the listen address, and using the correct WSL IP address, the connection can be established successfully. This setup makes it easier to run queries, manage tables, and work with databases more efficiently.&lt;/p&gt;

</description>
      <category>database</category>
      <category>linux</category>
      <category>postgres</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How Analysts Use Power BI to Transform Data into Action</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Mon, 09 Feb 2026 04:28:11 +0000</pubDate>
      <link>https://dev.to/motanga/how-analysts-use-power-bi-to-transform-data-into-action-1o71</link>
      <guid>https://dev.to/motanga/how-analysts-use-power-bi-to-transform-data-into-action-1o71</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When working with Power BI, analysts rarely get clean data that is ready to use. Most of the time, the data is messy, comes from different sources and needs a lot of preparation before it can be analysed. Power BI helps analysts clean this data, create calculations and build dashboards that help people understand what is happening and what actions to take.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WORKING WITH MESSY DATA&lt;/strong&gt;&lt;br&gt;
Data usually comes from sources such as Excel files, databases, or online systems.Most datasets contain errors such as missing values, duplicates or incorrect data types. Using such data directly can lead to inaccurate and inconsistent results.In Power BI, analysts use Power Query to clean and prepare data. This includes removing duplicates, correcting data types, renaming columns and filtering blanks or unnecessary data. Cleaning the data first ensures that the analysis is based on correct and consistent information.Before building reports, analysts first focus on understanding and preparing the data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DATA CLEANING USING POWER QUERY&lt;/strong&gt;&lt;br&gt;
Power Query is used in Power BI to clean and transform data. It allows analysts to connect to data sources and make changes before the data is loaded into the model.&lt;br&gt;
Common tasks done in Power Query include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removing duplicate or empty rows&lt;/li&gt;
&lt;li&gt;Changing incorrect data types&lt;/li&gt;
&lt;li&gt;Renaming columns to make them easier to understand&lt;/li&gt;
&lt;li&gt;Combining data from multiple sources
This step ensures the data is organised and ready for analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;MODELLING DATA FOR ANALYSIS&lt;/strong&gt;&lt;br&gt;
Once the data is cleaned, it needs to be organized properly. Data modelling in Power BI involves arranging data into fact and dimension tables and creating relationships between them.A good data model helps Power BI understand how tables connect and how filters should work across reports. When the model is simple and well structured, reports load faster and calculations give correct results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;USING DAX TO ADD MEANING&lt;/strong&gt;&lt;br&gt;
After the data is cleaned, analysts use DAX to create calculations. DAX is used to calculate totals, averages, and other values that help answer business questions.DAX measures change depending on filters such as date, category, or location. This makes it easier to compare performance and identify trends in the data.Without DAX, Power BI only displays raw data. With DAX, the data becomes meaningful.&lt;/p&gt;

&lt;p&gt;For example, DAX can be used to calculate total sales, profit margins or classify data into performance categories. These calculations help turn raw data into information that answers real business questions.&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%2Fxk5z27odn63pv2x0v4pk.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%2Fxk5z27odn63pv2x0v4pk.png" alt="DAX function" width="489" height="25"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DASHBOARDS FOR DECISION-MAKING&lt;/strong&gt;&lt;br&gt;
Dashboards are used to present insights in a clear and simple way.A good dashboard focuses on important information and avoids unnecessary visuals.Key values are usually shown first, followed by trends and more detailed information. Filters are added to allow users to explore the data further. In Power BI, analysts use charts, tables, KPIs and filters to show important trends and patterns.A well-designed dashboard allows users to quickly understand what is happening in the data and take action without needing to analyze the raw data themselves.The goal is to make the report easy to understand, even for someone seeing it for the first time.&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%2F3xo9bpg94696xc66fai9.jpg" 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%2F3xo9bpg94696xc66fai9.jpg" alt="dashboard" width="735" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FROM INSIGHTS TO ACTION&lt;/strong&gt;&lt;br&gt;
The purpose of analysis is not just to view data, but to support decisions. When dashboards clearly show patterns and performance, users can take action based on the insights provided.Power BI helps bridge the gap between data and decision-making.&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Power BI helps analysts transform messy data into meaningful insights. By cleaning data, modelling it correctly, applying DAX calculations, and presenting results through dashboards, analysts are able to support accurate reporting and informed decisions.&lt;/p&gt;

</description>
      <category>data</category>
      <category>microsoft</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Mon, 09 Feb 2026 04:01:52 +0000</pubDate>
      <link>https://dev.to/motanga/-2836</link>
      <guid>https://dev.to/motanga/-2836</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/the_nortern_dev" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F3630167%2F2e206d7e-04d3-484b-8a73-1f98d17a0e1a.png" alt="the_nortern_dev"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/the_nortern_dev/the-junior-developer-is-extinct-and-we-are-creating-a-disaster-3jh2" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;The Junior Developer is Extinct (And we are creating a disaster)&lt;/h2&gt;
      &lt;h3&gt;NorthernDev ・ Feb 5&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#discuss&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#future&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>career</category>
      <category>ai</category>
      <category>discuss</category>
      <category>future</category>
    </item>
    <item>
      <title>How to Install Python on Linux</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Thu, 05 Feb 2026 14:48:35 +0000</pubDate>
      <link>https://dev.to/motanga/how-to-install-python-on-linux-156p</link>
      <guid>https://dev.to/motanga/how-to-install-python-on-linux-156p</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Python is an essential programming language for data engineers and most developers since the combination provides a powerful, stable and flexible environment with an extensive ecosystem of specialized tools. This article guides a user running a Linux server on windows using WSL.&lt;br&gt;
&lt;strong&gt;1. Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Root Access: Sudo privileges to install software.&lt;/li&gt;
&lt;li&gt;Terminal Access: Familiarity with the command line.&lt;/li&gt;
&lt;li&gt;Internet Connection: Active internet access for downloading packages.&lt;/li&gt;
&lt;li&gt;Disk Space: At least 200MB available.&lt;/li&gt;
&lt;li&gt;Command-Line Basics: Understanding of simple terminal commands.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Understanding Python Versions&lt;/strong&gt;&lt;br&gt;
Python has 2 versions:&lt;br&gt;
&lt;strong&gt;-Python 2 Version:&lt;/strong&gt; This is a legacy version that doesn't get updates or security patches&lt;br&gt;
&lt;strong&gt;-Python 3 Version:&lt;/strong&gt;The actively maintained version with improved performance and features, recommended for all modern projects.&lt;/p&gt;

&lt;p&gt;Before Installation, confirm if there is a preinstalled version of python using the following commands;&lt;br&gt;
&lt;strong&gt;- For Python Version 2;&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;python2 --version&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;- For Python Version 3;&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;python3 --version&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; If Python is installed, the terminal will display its version number. If not, the terminal will return a "command not found" error, indicating that Python needs to be installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Installing Python&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 1: Update and Upgrade Packages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The following command ensures the package repositories(files) are up to date; &lt;code&gt;sudo apt update&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The following command ensures compatibility by ensuring by ensuring the existing packages are in their latest versions; &lt;code&gt;sudo apt upgrade&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 2: Install Desired Python Version&lt;/strong&gt;&lt;br&gt;
-For example, to install Python Version 3, type the following command in Powershell(Admin)&lt;br&gt;
&lt;code&gt;sudo apt install python3&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To verify installation, enter the following command;
&lt;code&gt;python --version&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;If installation was succesful "Python " should appear
&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%2Fmh2j8jwc58yvxf3kz6np.png" alt="python installation verification" width="228" height="34"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 3: Install Python Package Manager&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A package manager is a tool that automatically installs, updates, removes, and manages software and its dependencies so everything works together safely.&lt;/li&gt;
&lt;li&gt;Python's package manager is known as &lt;strong&gt;pip&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The following command Installs pip for managing Python packages and dependencies.
&lt;code&gt;sudo apt install python3-pip&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Verify pip Installation using the following command;
&lt;code&gt;pip3 --version&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;If succesful;
&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%2Fcwd17lcia2l1okppbyym.png" alt="pip installation verification" width="792" height="32"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Using Virtual Environments&lt;/strong&gt;&lt;br&gt;
On Linux systems (including WSL), Python is often used by the operating system itself. Installing packages globally using pip can cause conflicts or break system tools.&lt;br&gt;
To avoid this, Python provides virtual environments, which isolate project dependencies.&lt;br&gt;
&lt;strong&gt;STEP 1: Install venv (if not installed)&lt;/strong&gt;&lt;br&gt;
-The following command provides tools needed to create isolated Python environments&lt;br&gt;
&lt;code&gt;sudo apt install python3-venv&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;STEP 2: Create a Virtual Environment&lt;/strong&gt;&lt;br&gt;
-The following command creates a dedicated environment for project-specific packages.&lt;br&gt;
&lt;code&gt;python3 -m venv venv&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;STEP 3: Activate the Virtual Environment&lt;/strong&gt;&lt;br&gt;
-The following command ensures Python and pip commands run inside the isolated environment.&lt;br&gt;
&lt;code&gt;source venv/bin/activate&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;NOTE:- To deactivate;&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;deactivate&lt;/code&gt;&lt;br&gt;
-Deactivating returns the terminal to the system Python environment&lt;br&gt;
&lt;strong&gt;STEP 4: Upgrade pip Inside the Virtual Environment&lt;/strong&gt;&lt;br&gt;
-The following command safely updates pip without affecting system Python.&lt;br&gt;
&lt;code&gt;pip install --upgrade pip&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;STEP 5: Install Packages&lt;/strong&gt;&lt;br&gt;
-The following command installs required libraries only for the current project.&lt;br&gt;
&lt;code&gt;pip install pandas numpy&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;Python is a powerful and essential tool for data engineers, and installing it correctly on a Linux environment using WSL is crucial for stability and scalability. By using apt for system-level installations and virtual environments for project-specific packages, developers can maintain clean, reliable, and professional development environments.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>python</category>
      <category>dataengineering</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Beginner’s Guide to Installing Linux on Windows Using WSL</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Wed, 04 Feb 2026 20:26:14 +0000</pubDate>
      <link>https://dev.to/motanga/a-beginners-guide-to-installing-linux-on-windows-using-wsl-4cjb</link>
      <guid>https://dev.to/motanga/a-beginners-guide-to-installing-linux-on-windows-using-wsl-4cjb</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. What is WSL?&lt;/strong&gt;&lt;br&gt;
The Windows Subsystem for Linux(WSL) allows developers on windows operating system to install Linux distributions(such as Ubuntu, OpenSUSE, Kali, Debian, Arch Linux, etc) while still accessing the power of a windows machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Prerequisites&lt;/strong&gt;&lt;br&gt;
Your machine must be running on Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11&lt;br&gt;
To confirm, open command prompt and type &lt;code&gt;ver&lt;/code&gt;. You should see the following:&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%2F45dg2tnm6r6cyc92824x.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%2F45dg2tnm6r6cyc92824x.png" alt="windows version" width="648" height="121"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;&lt;br&gt;
In PowerShell, running as admin, type the following command,&lt;br&gt;
&lt;code&gt;optionalfeatures.exe&lt;/code&gt;&lt;br&gt;
and check the following boxes if not checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Windows Subsystem for Linux&lt;/li&gt;
&lt;li&gt; Virtual Machine Platform&lt;/li&gt;
&lt;li&gt; Hyper-V (if available)
select okay and restart your machine to apply changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Install WSL Command&lt;/strong&gt;&lt;br&gt;
Press start, type powershell and select "run as administrator"&lt;br&gt;
Enter the wsl command as in below and then reboot your machine&lt;br&gt;
&lt;code&gt;wsl --install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Install desired Linux distribution&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type the command below to see a list of the available Linux distributions(distros)
&lt;code&gt;wsl --list --online&lt;/code&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%2Flbgpgd2qtjeo9po70yi9.png" alt="list of linux distributions" width="800" height="600"&gt;
&lt;/li&gt;
&lt;li&gt;Select desired distribution and type the command as follows, replacing the  with the chosen distribution NAME
e.g Ubuntu-24.04
&lt;code&gt;wsl --install -d Ubuntu&lt;/code&gt;
and press enter&lt;/li&gt;
&lt;li&gt;Restart your machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Launching UBUNTU&lt;/strong&gt; &lt;br&gt;
After the restart, on the start menu, search for Ubuntu and click it to launch.&lt;br&gt;
Create a default user account by creating a username and password&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;br&gt;
Windows Subsystem for Linux (WSL) allows users to run a Linux distribution directly on a Windows machine without dual-booting or virtual machines. After installation, users can work in a full Linux environment to practice commands, install development tools, and run applications, making WSL a powerful and convenient setup for development and learning.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>microsoft</category>
      <category>beginners</category>
      <category>basic</category>
    </item>
    <item>
      <title>Schemas And Data Modelling in Power BI</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Mon, 02 Feb 2026 05:14:57 +0000</pubDate>
      <link>https://dev.to/motanga/schemas-and-data-modelling-in-power-bi-45h9</link>
      <guid>https://dev.to/motanga/schemas-and-data-modelling-in-power-bi-45h9</guid>
      <description>&lt;p&gt;&lt;strong&gt;INTRODUCTION&lt;/strong&gt;&lt;br&gt;
Schemas and data modelling are important concepts when working with Power BI. A schema shows how data is organized and how tables relate to each other, while data modelling focuses on connecting tables correctly so reports work as expected. In this article, we will discuss common schemas used in Power BI, including star and snowflake schemas, explain fact and dimension tables, relationships and why good data modelling is important for performance and accurate reporting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DATA MODELLING IN POWER BI&lt;/strong&gt;&lt;br&gt;
Data modelling is the process of defining how data is stored, related and organized within a database. It involves designing tables, relationships, keys and constraints to ensure the data structure supports business needs and performance requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FACT TABLE&lt;/strong&gt;&lt;br&gt;
A fact table is the central table in a data model. It contains quantitative data that can be measured or analyzed, such as sales amount and profit. Fact tables usually have a large number of rows and store numerical values that are used in calculations and aggregations. Each record in a fact table is typically linked to multiple dimension tables through keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DIMENSION TABLE&lt;/strong&gt;&lt;br&gt;
Dimension tables store descriptive information that provides context to the data in the fact table. Examples include customer details, product information, dates, and locations. Unlike fact tables, dimension tables usually contain fewer rows and more descriptive columns. They help users understand and filter data when creating reports and visualizations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RELATIONSHIPS IN POWER BI&lt;/strong&gt;&lt;br&gt;
Relationships define how tables are connected in Power BI. Most commonly, a one-to-many relationship exists between dimension tables and fact tables, where one dimension record relates to many fact records. Correct relationships are essential because they determine how filters flow across tables and how calculations are performed. Incorrect relationships can result in inaccurate reports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Relationships&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One-to-Many (1:*): This is the most common type. One record in a dimension table relates to many records in a fact table. For example, one customer (dimension) can have many sales transactions (fact).&lt;/li&gt;
&lt;li&gt;Many-to-One (*:1): This is basically the reverse of one-to-many. Many records in a fact table connect to a single record in a dimension table.&lt;/li&gt;
&lt;li&gt;Many-to-Many (:): Sometimes, multiple records in one table relate to multiple records in another. Power BI can handle these but they are more complex and should be used carefully.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;STAR SCHEMA&lt;/strong&gt;&lt;br&gt;
A star schema is a data modelling approach where one central fact table is connected directly to multiple dimension tables. The structure resembles a star shape, with the fact table at the center and dimensions around it. &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%2Fzx0go9rtaodd3svnzn3k.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%2Fzx0go9rtaodd3svnzn3k.png" alt="star schema image" width="799" height="719"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of Star schemas&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They are simple&lt;/li&gt;
&lt;li&gt;Easy to understand&lt;/li&gt;
&lt;li&gt;Provide better performance during data analysis.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;SNOWFLAKE SCHEMA&lt;/strong&gt;&lt;br&gt;
A snowflake schema is a way of organizing data in Power BI where the main table, called the fact table, holds the key numbers you want to analyze, like sales or transactions, and is connected to dimension tables that provide extra details, such as customers, products, or dates. In a snowflake schema, some dimension tables can also connect to other dimension tables to add more layers of information—for example, a “Product” table might connect to a “Category” table for extra details about each product.&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%2Fnsn47ezu1nnz9gjxfe0o.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%2Fnsn47ezu1nnz9gjxfe0o.png" alt="snowflake schema image" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of snowflake schema&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reduced data redundancy &lt;/li&gt;
&lt;li&gt;Improved data integrity&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANCE OF GOOD DATA MODELLING&lt;/strong&gt;&lt;br&gt;
Good data modelling is important because it makes your reports in Power BI faster and more reliable. When tables are organized properly, with clear relationships and the right keys, Power BI can quickly pull the data you need without confusion or errors. Poorly modelled data can cause slow reports, incorrect calculations, and misleading results. By designing your tables and relationships carefully, you ensure your dashboards show accurate insights and handle large datasets efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;br&gt;
In conclusion, schemas and data modelling are essential for effective Power BI reporting. Knowing how fact and dimension tables work, setting up the right relationships and choosing an appropriate schema helps your reports run efficiently and deliver accurate insights. By applying good data modelling practices, you ensure reliable reporting, faster performance and better decision-making.&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>microsoft</category>
      <category>schema</category>
    </item>
    <item>
      <title>Introduction to Linux for Data Engineers, Including Practical Use of Vi and Nano with Examples</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Sat, 24 Jan 2026 19:15:15 +0000</pubDate>
      <link>https://dev.to/motanga/introduction-to-linux-for-data-engineers-including-practical-use-of-vi-and-nano-with-examples-3oc2</link>
      <guid>https://dev.to/motanga/introduction-to-linux-for-data-engineers-including-practical-use-of-vi-and-nano-with-examples-3oc2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Linux is one of the most important tools used by data engineers today. Most servers, cloud platforms and data processing systems run on Linux. Because of this, data engineers need to understand how to use Linux to manage files, run programs, and edit configuration or data files. This article explains the role of Linux in data engineering, introduces basic Linux commands, and demonstrates text editing using Vi and Nano in a simple and beginner-friendly way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Why Linux is Important for Data Engineers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Works well with data engineering tools&lt;/strong&gt;&lt;br&gt;
Most of the tools used by data engineers run best on Linux. Data engineers' knowledge in Linux will allow them work effectively with such tools.e.g, Apache Spark&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Scalability and flexibility&lt;/strong&gt;&lt;br&gt;
Linux can handle both small and very large systems. Data engineers mostly manage and process large volumes of data. Linux makes it easier by allowing optimized data workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Command-Line Efficiency&lt;/strong&gt;&lt;br&gt;
Linux relies heavily on the command line, which allows data engineers to manage files, run programs and automate tasks quickly. The scripts and commands save data engineers time compared to doing everything manually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Stable and Secure&lt;/strong&gt;&lt;br&gt;
Linux systems are known for being stable and less likely to crash. Since data engineers often work with important and sensitive data, Linux provides strong security features that help protect data and keep systems running smoothly.&lt;br&gt;
&lt;strong&gt;- Free and Open Source&lt;/strong&gt;&lt;br&gt;
Linux is free to use and does not require expensive licenses.Data engineers can install Linux on their personal computers or servers without paying for licenses, making it easy to learn and experiment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Basic Linux Commands&lt;/strong&gt;&lt;br&gt;
Below are some basic Linux commands that are commonly used when working with data projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;File and Directory Management&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;mkdir&lt;/code&gt; : create folders&lt;br&gt;
 &lt;code&gt;cp&lt;/code&gt; : copy files and directories&lt;br&gt;
 &lt;code&gt;ls&lt;/code&gt; : list files and directories&lt;br&gt;
&lt;strong&gt;Note: In many terminals, folders appear in a different color (often blue) while regular files appear in the default color. This depends on the terminal and settings being used.&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;touch&lt;/code&gt; : create an empty file&lt;br&gt;
 &lt;code&gt;pwd&lt;/code&gt; : prints full path of the current working directory&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Viewing and Editing File content&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;echo&lt;/code&gt; : print text to terminal&lt;br&gt;
 &lt;code&gt;cat&lt;/code&gt; : output entire document at once&lt;br&gt;
 &lt;code&gt;more&lt;/code&gt; : output file page by page&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other Basic Commands&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;exit&lt;/code&gt; : exit the terminal&lt;br&gt;
 &lt;code&gt;clear&lt;/code&gt; : clear terminal&lt;br&gt;
 &lt;code&gt;whoami&lt;/code&gt; : show current username&lt;br&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%2Fcdtqs01k28dezazjxeh5.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%2Fcdtqs01k28dezazjxeh5.png" alt="whoami command in gitbash" width="270" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Practical Usage of Vi and Nano&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Using Nano&lt;/strong&gt;&lt;br&gt;
Nano is a simple and beginner friendly text editor.It is easy to use and shows command shortcuts at the bottom of the screen.&lt;br&gt;
&lt;strong&gt;Creating or Opening a File with Nano&lt;/strong&gt;&lt;br&gt;
  &lt;code&gt;nano &amp;lt;filename.txt&amp;gt;&lt;/code&gt; : Opens or creates the specified file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Editing the File&lt;/strong&gt;&lt;br&gt;
To edit a file using Nano text editor, one can type text directly after opening or creating a file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Saving and Exiting Nano&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;CTRL+O&lt;/code&gt; : Save current file&lt;br&gt;
 &lt;code&gt;CTRL+X&lt;/code&gt; : Exit Nano&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Vi&lt;/strong&gt;&lt;br&gt;
Vi is a powerful but more complex text editor. It is available on almost all Linux systems, which makes it very useful for data engineers working on remote servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating or Opening a File&lt;/strong&gt;&lt;br&gt;
 &lt;code&gt;vi &amp;lt;filename.txt&amp;gt;&lt;/code&gt; : Opens or creates the specified file.&lt;br&gt;
Once inside the file, the following commands are important to understand.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Press &lt;code&gt;i&lt;/code&gt; to start typing text into the file. This mode is known as insert mode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Press &lt;code&gt;Esc&lt;/code&gt; to exit insert mode and go into normal mode(this is the default mode when you open vi)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:wq&lt;/code&gt; : saves and exits the file&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:w&lt;/code&gt; : saves the file&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:q!&lt;/code&gt; : exits the file without saving&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:q&lt;/code&gt; : exits the file&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;:w &amp;lt;filename.txt&amp;gt;&lt;/code&gt; : saves the file with a new name&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;br&gt;
Linux is very important in data engineering because most data tools and systems run on it. Knowing basic Linux commands helps data engineers manage files, run programs, and work more efficiently on servers. Editors like Nano and Vi allow users to create and edit files directly from the terminal, which is useful when working on remote systems. Learning Linux basics gives data engineers the foundation they need to work comfortably with data systems.&lt;/p&gt;

</description>
      <category>linuxforbeginners</category>
      <category>dataengineering</category>
      <category>programming</category>
      <category>ai</category>
    </item>
    <item>
      <title>Introduction to Version Control with Git and GitHub</title>
      <dc:creator>MJ-O</dc:creator>
      <pubDate>Sat, 17 Jan 2026 21:39:04 +0000</pubDate>
      <link>https://dev.to/motanga/understanding-version-control-using-git-for-beginners-21ah</link>
      <guid>https://dev.to/motanga/understanding-version-control-using-git-for-beginners-21ah</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. WHAT IS VERSION CONTROL?&lt;/strong&gt;&lt;br&gt;
Version control is a way of keeping track of changes made to files over time. Instead of saving many copies of the same file with different names, version control helps you record each change in an organized way. This makes it easy to see what was changed, when it was changed, and to go back to an earlier version if something goes wrong. It is especially useful when working on projects that grow over time or when working with other people on the same code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. WHAT IS GIT?&lt;/strong&gt;&lt;br&gt;
Git is a version control system that helps developers manage and track changes in their projects.It works locally, saves snapshots of one's project and makes it easy to fix mistakes and review their work.&lt;br&gt;
&lt;strong&gt;3. WHAT IS GITHUB?&lt;/strong&gt;&lt;br&gt;
GitHub is a website where you can store your Git projects online. It keeps your code safe, lets you share it with others, and makes it easy to work on the same project with group members. You can also access your projects from any computer, so you always have the latest version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. IMPORTANCE OF VERSION CONTROL&lt;/strong&gt;&lt;br&gt;
Version control is important as it helps you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Avoid losing your work&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Undo mistakes by going back to previous versions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Track your project’s progress over time&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Work on the same project from different devices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Collaborate with others without overwriting their changes&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5.How to Track Changes, Push code and Pull code on Github&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 1: INSTALL GIT&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://git-scm.com/install/" rel="noopener noreferrer"&gt;Git’s&lt;/a&gt; official website and download the version suitable for your operating system.&lt;/li&gt;
&lt;li&gt;Run the installer and follow the steps, leave most settings as default&lt;/li&gt;
&lt;li&gt;After installation, open Git Bash or the command prompt and type:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This shows the version of git installed&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 2: CREATE A GITHUB ACCOUNT&lt;/strong&gt;&lt;br&gt;
Register or signup for a &lt;a href="//github.com"&gt;github&lt;/a&gt; account&lt;br&gt;
Once that’s done, open your terminal (Git Bash) and set up your username and email, to allow Git to know who made changes to your files.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the following commands(replace "YOUR_USERNAME" and "YOUR_EMAIL" with your details.):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name "YOUR_USERNAME"
git config --global user.email "YOUR_EMAIL"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;STEP 3: CREATE A FOLDER FOR YOUR PROJECT&lt;/strong&gt;&lt;br&gt;
First, create a folder on your computer for your project. You can name it anything e.gtestProject.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then, open Git Bash and go into that folder using the cd (change directory) command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd testProject
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes Git work inside that folder&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 4: INITIALIZE GIT&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initialize Git in your folder using:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command makes your folder a Git project so Git can start keeping track of your files&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 5: ADD A NEW FILE&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To add a new file to your project, use the touch command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch firstfile.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a blank file called firstfile.txt in your folder.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After creating the file, check which files Git is tracking using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git will show the new file in red, which means it exists but isn’t tracked yet.&lt;br&gt;
Green files mean Git is watching them and will save changes when you commit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 6: TRACK AND SAVE CHANGES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To start tracking your file, stage it using:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add firstfile.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Note:&lt;/strong&gt;To add all files at once, use:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;save your changes with a message using:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "Commit Message"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use an appropriate commit message explaining clear what exactly has been done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 7: CONNECT YOUR LOCAL REPOSITORY TO GITHUB&lt;/strong&gt;&lt;br&gt;
On GitHub, create a new repository for your project.&lt;br&gt;
Copy the repository URL (it looks like &lt;a href="https://github.com/username/repository-name.git" rel="noopener noreferrer"&gt;https://github.com/username/repository-name.git&lt;/a&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin &amp;lt;paste-your-repo-link&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember to replace with your repository link.&lt;br&gt;
Now your local folder knows where to send files online.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 8: PUSH CODE&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send your local files online using the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;STEP 9: PULL CODE&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you want to work on the project on another computer or get the latest version, first clone the repository using:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;repo-link&amp;gt;
cd your-project-folder
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above copies the project from Github to your computer&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To update your local files with the latest changes from GitHub, use the command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;KEY TAKEAWAY&lt;/strong&gt;&lt;br&gt;
It is much more important to understand how the git commands work than to master them&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dataengineering</category>
      <category>beginners</category>
      <category>git</category>
    </item>
  </channel>
</rss>
