<?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: Chiiraq</title>
    <description>The latest articles on DEV Community by Chiiraq (@chiiraq).</description>
    <link>https://dev.to/chiiraq</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%2F3708644%2F64c63394-fd92-4ea7-bdce-9b012e00916f.png</url>
      <title>DEV Community: Chiiraq</title>
      <link>https://dev.to/chiiraq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chiiraq"/>
    <language>en</language>
    <item>
      <title>From Chaos to Dashboard: How Power BI Analysts Turn Data Disasters into Decisions That Actually Stick</title>
      <dc:creator>Chiiraq</dc:creator>
      <pubDate>Mon, 06 Apr 2026 18:17:20 +0000</pubDate>
      <link>https://dev.to/chiiraq/from-chaos-to-dashboard-how-power-bi-analysts-turn-data-disasters-into-decisions-that-actually-2cg7</link>
      <guid>https://dev.to/chiiraq/from-chaos-to-dashboard-how-power-bi-analysts-turn-data-disasters-into-decisions-that-actually-2cg7</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;As a data related practitioner be it engineering, science or whatever your cup of tea is, we often receive files that look like a dataset but act like a hostage situation. But here's the thing about being a data professional, there is no negotiating team coming and the hostage negotiator is you. The hostage is your KPIs. And the ransom? Your ability to turn this crime scene of a spreadsheet into something stakeholders can nod at during a Tuesday morning meeting. Power Bi has proven to be a resourceful tool in the translation of this messy data to actionable insights through the use of a couple of tools that are made available. The process can simply broken down into three key stages that we will get into in a moment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data Cleaning.&lt;/li&gt;
&lt;li&gt;Data Enrichment.&lt;/li&gt;
&lt;li&gt;Data Visualization.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1. Data Cleaning.
&lt;/h3&gt;

&lt;p&gt;This being the very first stage and a vital bit of the process, the first step involved in this phase would be to check on the validity of the data given. If you can not trust the data given then the outputs and visualizations will all be falsehoods decorated in fancy charting. The ideal tool for this task would be ** Power Query **. So what is power query?? according to the internet, it is defined as a powerful ETL (Extract, Transform, Load) engine that cleans, shapes, and connects to data from hundreds of sources before loading it into the data model. Here is an image to help visualize 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%2Fohq367zih5cc8sxru87q.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%2Fohq367zih5cc8sxru87q.png" alt="Power Query Image visualisation" width="800" height="187"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;some of the tasks that may occur here include but are not limited to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Removing duplicates&lt;/li&gt;
&lt;/ol&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%2Fh3xw6dwr3l1rlhvu6ujv.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%2Fh3xw6dwr3l1rlhvu6ujv.png" alt="removing duplicates from the dataset in a column." width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Changing data types e.g changing money to respective currencies&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%2Ffj8ae0aipvy5o04stxxd.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%2Ffj8ae0aipvy5o04stxxd.png" alt="Changing data types from the dataset in a column." width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Replacing values e.g missing fields with null values&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%2Fh75o0cmmrb30flc5zyul.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%2Fh75o0cmmrb30flc5zyul.png" alt="Replacing Values from the dataset in a column." width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Splitting columns e.g combined name can be split into first, second and surname.&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%2Fmq12983m9arw5i7yz1zf.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%2Fmq12983m9arw5i7yz1zf.png" alt="splitting Values from the dataset in a column." width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Data Enrichment
&lt;/h3&gt;

&lt;p&gt;In this phase the cleaned data is transformed into the actual insights needed from the data through enrichment. That begs the question: What is data enrichment? Data enrichment is the process of enhancing your cleaned dataset by adding context, relationships and calculated meaning that the raw data alone couldn't provide. Cleaning makes the data trustworthy, enrichment makes it useful.&lt;br&gt;
The tool for this phase would be Data Analysis Expressions(DAX). This is a library of functions and operators that can be combined to build formulas and expressions in PowerBi. Some of the DAX functions may include the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building Relationships:
Connecting multiple tables together in Power BI's Model View so data can flow and interact correctly across your report.&lt;/li&gt;
&lt;/ol&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%2Fvhzyxd11675tuk2qegel.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%2Fvhzyxd11675tuk2qegel.png" alt="Defining relationships" width="800" height="404"&gt;&lt;/a&gt;&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%2Fcp4zoyl2w39vuf4f39x2.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%2Fcp4zoyl2w39vuf4f39x2.png" alt="Mapping the relationships created" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Creating a Date Table:&lt;br&gt;
Building a dedicated calendar table that unlocks time-based analysis like month over month comparisons, year to date totals, and rolling averages.&lt;br&gt;
This is done by adding a new table and then defining the custom dates fro your table e.g DateTable = CALENDAR(DATE(2023, 1, 1), DATE(2025, 12, 31))&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Calculated Columns (DAX):&lt;br&gt;
Adding new columns derived from existing data — categorizing, flagging, or combining fields to give your dataset more descriptive depth.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Measures (DAX):&lt;br&gt;
Dynamic calculations that respond to filters and context — KPIs, aggregations, variances, and time intelligence functions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conditional Columns &amp;amp; Grouping (Power Query)&lt;br&gt;
Rule based categorization and summarization applied before the data even enters the model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Merging &amp;amp; Appending Queries&lt;br&gt;
Joining or stacking tables in Power Query to consolidate data from multiple sources into a unified, analysis-ready structure.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  3. Data Visualisation
&lt;/h3&gt;

&lt;p&gt;This is the phase whereby the data is organised into consumable metrics for the audience. This is achieved through use of common graphics, such as charts, plots, infographics and even animations often organised into a dashboard. &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%2Fdkji6ahfg7846mi41z2i.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%2Fdkji6ahfg7846mi41z2i.png" alt="Dashboard" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;What Power BI gives you is leverage. It turns a three-week manual nightmare into a repeatable, auditable, scalable process. It means the next time that file lands in your inbox, you're not panicking — you're executing. Until next time, keep your data clean and your terminal keen. Peace ma'dudes.&lt;/p&gt;

</description>
      <category>data</category>
      <category>powerfuldevs</category>
      <category>dataanalytics</category>
      <category>datascience</category>
    </item>
    <item>
      <title>stacy okoth</title>
      <dc:creator>Chiiraq</dc:creator>
      <pubDate>Mon, 06 Apr 2026 11:20:27 +0000</pubDate>
      <link>https://dev.to/chiiraq/stacy-okoth-327b</link>
      <guid>https://dev.to/chiiraq/stacy-okoth-327b</guid>
      <description></description>
    </item>
    <item>
      <title>Schema Design Patterns: Because Even Data Needs Good Architecture</title>
      <dc:creator>Chiiraq</dc:creator>
      <pubDate>Mon, 02 Feb 2026 04:00:03 +0000</pubDate>
      <link>https://dev.to/chiiraq/schema-design-patterns-because-even-data-needs-good-architecture-139n</link>
      <guid>https://dev.to/chiiraq/schema-design-patterns-because-even-data-needs-good-architecture-139n</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;INTRODUCTION&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In the ever growing world of data, it exists in absolute chaos; records scattered across multiple systems each telling a slightly different version of the same story. Untouched, the data cannot organize itself into neat and logical structures but instead, it duplicates and contradicts itself and yet, from this chaos, businesses need answers. Regardless of how terrifying it is, this is the natural state of data i.e (raw, unstructured and exponentially growing). This is where the data experts comes in to play, to bring order to this chaos and their most powerful tool you ask? the schema!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What exactly is data modelling??&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;According to Joe Reis and Matt Housley, (no, they're not made up dudes - authors, fundamentals of data engineering):&lt;br&gt;
"This is the process of creating a visual representation of either a whole information system or part of it to commuicate connections between data points and structures." &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Schema??&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A schema is the organization or structure for a database, defining how data is organized and how the relations among data are associated.A well designed schema is the foubdation of query perfomance and data integrity in analytical systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is the importance of good data modelling??&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Good data modelling ensures:&lt;br&gt;
a) &lt;strong&gt;&lt;em&gt;Improved database perfomance&lt;/em&gt;&lt;/strong&gt;: Statistical research has shown that well designed data models can improve report perfomance by up to 90%.Statistical research has shown that well designed data models can improve report perfomance by up to 90%. well i wouldn't know about you but to me that's astronomical figures also makinig it easier to find new opportunities for optimization and are equally easier to diagnose.&lt;/p&gt;

&lt;p&gt;b)&lt;strong&gt;&lt;em&gt;Improved application quality&lt;/em&gt;&lt;/strong&gt;: the data modelling gives your orgnisation a clear vision for hoe data can fill your business needs.&lt;/p&gt;

&lt;p&gt;c)&lt;strong&gt;&lt;em&gt;Improves data quality&lt;/em&gt;:&lt;/strong&gt; the data modelling process establishes rules for monitoring data quality and identifies any redundancies or omissions eliminating the hustle in cleaning large data sets.&lt;/p&gt;

&lt;p&gt;d)&lt;strong&gt;&lt;em&gt;Enables better documentation&lt;/em&gt;:&lt;/strong&gt; it enables consistent documentation which simplifies database maintenance while simultaneously preserving operational efficiency.&lt;/p&gt;

&lt;p&gt;e)&lt;strong&gt;Saves time and money:&lt;/strong&gt; it empowers businesses to achieve quicker times to market by catching errors early.&lt;/p&gt;

&lt;p&gt;note: These are just some of the perks that great data modelling provides, the scope goes on and on, i could continue listing them down but let's get to the juicy part of the steak, no??&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;SCHEMAS&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In schemas, database tables will have a primary key or a foreign key, which will act as unique identifiers for individual entries in a table. These keys are used in SQL statements to join tables together, creating a unified view of information.Schema diagrams are particularly helpful in showing relationships between tables and they enable analysts to understand the keys that they should join.&lt;/p&gt;

&lt;p&gt;While there are several schemas existent, we will primarily focus on the star schema and the snowflake schema. Why you ask?? the two represent the optimal design patterns for the vast majority of analytical workloads in relational database management systems and power bi.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;star schema&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A star schema is a type of relational database schema that is composed of a single, central fact table that is surrounded by dimension tables.It can have any number of dimension tables.&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%2Ftuj6iwu4qfakvn9okj5n.gif" 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%2Ftuj6iwu4qfakvn9okj5n.gif" alt="Star schema featuring a many to one relationship" width="500" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;snowflake schema&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The snowflake schema consists of one fact table that is connected to many dimension tables, which can be connected to other dimension tables through a many to one relationship.&lt;br&gt;
Tables in snowflake schema are usually normalized to the 3rd normal form. Each dimension table represents exactly one level in a hierarchy.&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%2Fpxi3hzie7un3afiir6c2.gif" 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%2Fpxi3hzie7un3afiir6c2.gif" alt="Snowflake schema" width="534" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;starflake schema&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A starflake schema is a combination of a star schema and a snowflake schema.Starflake schemas are snowflake schemas where only some of the dimension tables have been normalized. Starflake schemas are normalized to remove any redundancies in the dimensions.&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%2Fvt7z6brmef60lbaioq1o.gif" 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%2Fvt7z6brmef60lbaioq1o.gif" alt="Starflake schema" width="659" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TO NOTE:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Fact table:&lt;/em&gt; the central,primary table in a star schema that stores quantitative, numerical data.&lt;br&gt;
&lt;em&gt;Dimension table:&lt;/em&gt;  a table that stores the descriptive, textual or contextual data about business entites.&lt;br&gt;
&lt;em&gt;Relationship:&lt;/em&gt; this is a logical link between two or more tables that share common data, primarily established using primary and foreign keys. The main types are one to one, one to many and many to many.&lt;/p&gt;

&lt;p&gt;Throughout this article, we have covered the journey from absolute chaos to now refined structures and schemas through good modelling but the real mastery comes from practice and making design decisions.Every schema you design teaches you something. Every relationship you define deepens your understanding of how data flows through business processes.Until next time, keep your data clean and your terminal keen. Peace madudes.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;citations:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A) Reis, J., &amp;amp; Housley, M. (2022). Fundamentals of Data Engineering: Plan and Build Robust Data Systems. O'Reilly Media, p. 156.&lt;br&gt;
b) Kleppmann, M. (2017). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O'Reilly Media, p. 39.&lt;/p&gt;

</description>
      <category>database</category>
      <category>schema</category>
      <category>datascience</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Introduction to Linux for Data Engineers, Including Practical Use of Vi and Nano with Examples</title>
      <dc:creator>Chiiraq</dc:creator>
      <pubDate>Sun, 01 Feb 2026 19:16:51 +0000</pubDate>
      <link>https://dev.to/chiiraq/introduction-to-linux-for-data-engineers-including-practical-use-of-vi-and-nano-with-examples-5a75</link>
      <guid>https://dev.to/chiiraq/introduction-to-linux-for-data-engineers-including-practical-use-of-vi-and-nano-with-examples-5a75</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When most people hear the term Linux, the imagery that comes to mind quite often is a room full of tech savy geeks hunched over their keyboards typing away in nerd-anese. But what if i told you that Linux is way more than just a playground for programmers?? In the vast data cosmos, linux is largely the backbone that supports data driven decisions powering hundreds and thousands of businesses today. Let's dive into breaking down this operating system into bite sized chunks for any aspiring/beginning data engineers, shall we??&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the importance of linux for data engineers??
&lt;/h2&gt;

&lt;p&gt;Linux can be considered the soft white underbelly for data engineers, offering both incredible perfomance and flexibility while at the same time having a steep learning curve as it is command line dependent forcing you to get handsy with commands and functions as opposed to the usual operating system that dumbens it down making it more user/beginner friendly by using more direct icons and navigation techniques. So what exactly are the perks of using linux for a data engineer?&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;Perfomance&lt;/strong&gt;: For it to be compatible to data engineers, it is essential that is has the capability to handle large volumes of data and in record time.&lt;br&gt;
2.&lt;strong&gt;Compatibility&lt;/strong&gt;: a large number of data engineering tools and frameworks such as Apache hadoop, Spark,fink and loads of other varieties run natively on linux making it borderline unbeatable.&lt;br&gt;
3.&lt;strong&gt;Scalability&lt;/strong&gt;: data is an ever growing entity and thus demands that its environment is just as flexible and capable of adapting to increased workloads.&lt;br&gt;
4.&lt;strong&gt;Open Source&lt;/strong&gt;: linux allows for engineers to use and customize the system to their needs.&lt;br&gt;
5.&lt;strong&gt;Community Support&lt;/strong&gt;: When a technology has many users, you will find abundant learning materials, discussion and help forums readily available.&lt;/p&gt;

&lt;p&gt;Basic linux commands form the foundation of a data engineer's career and understanding them is essential for working with data systems. some of these commands may include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pwd - print working directory:used to show the current working directory.&lt;/li&gt;
&lt;li&gt;ls -list: this shows files and directories in the current directory.&lt;/li&gt;
&lt;li&gt;cd - change directory: used to navigate between directories.&lt;/li&gt;
&lt;li&gt;mkdir - make directory: this is used to c reate a new directory.&lt;/li&gt;
&lt;li&gt;rm - Remove: this can be used to delete files or directories.-&lt;/li&gt;
&lt;li&gt;touch : this creates an empty file in the current directory.&lt;/li&gt;
&lt;li&gt;cat : this disolays the contents within a file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This list above includes several commands that are frequently redundant in your day to day operations. Proficiency builds over time and consistent exposure to the systems will enhance your ability to work efficiently.&lt;/p&gt;
&lt;h2&gt;
  
  
  Text Editors
&lt;/h2&gt;

&lt;p&gt;Linux make further use of text editors but for today's article, we shall briefly dive into 2 :  &lt;strong&gt;&lt;em&gt;nano&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;vim&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h4&gt;
  
  
  Nano
&lt;/h4&gt;

&lt;p&gt;This is a straightforward, user friendly command line tet editor designed for ease of use. It displays commands at the bottom of the screen, making it more accessible for beginners and is commonly used for quick file edits.&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%2Fpycbd56mswu7fsyqj8tk.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%2Fpycbd56mswu7fsyqj8tk.png" alt="visual for the commands at the bottom at the screen:" width="800" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The following commands are various use cases for the nano text editor:&lt;/p&gt;
&lt;h5&gt;
  
  
  Creating a file using nano:
&lt;/h5&gt;

&lt;p&gt;To create a file using nano the command "nano" followed by the file name and its extension is used. e.g :&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;NB: .txt is the file extension and is relative to the file being created/used.&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%2Fmqt5zex0et8oely1znwt.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%2Fmqt5zex0et8oely1znwt.png" alt="The image shows the created file under the given directory." width="712" height="43"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NOTE: Most of the commands in Nano are executed using key combinations, typically involving Control (CTRL) button or the alternate (ALT) key, rather than single-key commands. Some of the possible key combinations may include but are not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + Y&lt;/strong&gt; - to move down one page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + V&lt;/strong&gt; - to move up one page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + O&lt;/strong&gt; - to save a file i.e write out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + X&lt;/strong&gt; -to exit nano.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + R&lt;/strong&gt; -to insert/read another file into the current one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + K&lt;/strong&gt; - to cut marked text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTRL + U&lt;/strong&gt; - to paste previously cut/copied text.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Vi
&lt;/h4&gt;

&lt;p&gt;This is a powerful, modal text editor that comes pre installed on virtually all linux systems. It operates in different modes and is known fo rits efficiency once mastered. It uses keyboard commands rather than menus for all operations.&lt;/p&gt;

&lt;h5&gt;
  
  
  Creating a file using vi:
&lt;/h5&gt;

&lt;p&gt;The syntax for file creation can be carried over from nano. i.e&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vi testfile.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;TO NOTE:&lt;/strong&gt; &lt;br&gt;
A)Vi is case-sensitive, so a lowercase letter and an uppercase letter may have different meanings within the editor.&lt;/p&gt;

&lt;p&gt;B)To open an existing file in Vi, the same command format is used. It is important to ensure that the filename matches exactly the one used during creation otherwise, Vi will create a new file. Additionally, filenames should not contain spaces, as this may result in unintended file creation.Some of the commands for vi include but are not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;i&lt;/strong&gt; - Insert before cursor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I&lt;/strong&gt; - Insert at beginning of line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;a&lt;/strong&gt; - Append after cursor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A&lt;/strong&gt;- Append at end of line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;o&lt;/strong&gt; - Open new line below&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O&lt;/strong&gt; - Open new line above&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;s&lt;/strong&gt; - Substitute character (delete char and enter insert mode)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S&lt;/strong&gt; - Substitute entire line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I&lt;/strong&gt; - to enter insert mode and enable typing in the created file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ESC&lt;/strong&gt; - to return to command mode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;:WQ&lt;/strong&gt; - to save and exit the file in vi back to command mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Through this article, we have explored why linux is an indispensable tool for data engineers and how the basic commands form the foundarion of professional data work, while the command line may seem daunting at first, i am reminded that every expert was once a beginner and the journey of a thousand miles only sets pace from the first step! Until next time, keep your data clean and your terminal keen, peace.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>linux</category>
      <category>vim</category>
      <category>nano</category>
    </item>
    <item>
      <title>GIT STARTED: A Noob's Guide To Version Control</title>
      <dc:creator>Chiiraq</dc:creator>
      <pubDate>Sun, 18 Jan 2026 10:04:46 +0000</pubDate>
      <link>https://dev.to/chiiraq/git-started-a-noobs-guide-to-version-control-2hf3</link>
      <guid>https://dev.to/chiiraq/git-started-a-noobs-guide-to-version-control-2hf3</guid>
      <description>&lt;h3&gt;
  
  
  INTRODUCTION
&lt;/h3&gt;

&lt;p&gt;We might all have been there, if not, expect to be there: where, you ask??? while working on a project, we have made changes before on "perfectly working code" and as the saying goes 'if it works, don't touch it' but that is rarely the case. Code is always a balance of imperfect perfection, sometimes changes are done quite often and it is never a surety that it runs as expected to. This is where &lt;strong&gt;version control&lt;/strong&gt; comes in.The first question you'll have would be what is version control??&lt;/p&gt;

&lt;h4&gt;
  
  
  WHAT IS VERSION CONTROL AND WHAT'S IT'S RELEVANCE ??
&lt;/h4&gt;

&lt;p&gt;Version control can be defined as a system that can be utilised to track changes to files overtime, allowing you to recall specific versions of the program much later on.&lt;/p&gt;

&lt;p&gt;It can be utilised for several different use cases including but not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tracking Accountability - Shows who made what changes and when, making it easy to identify who introduced bugs or brilliant features.&lt;/li&gt;
&lt;li&gt;Enables collaboration - Allows multiple people to work on the ame project simultaneously without overwriting other's changes.&lt;/li&gt;
&lt;li&gt;Backup - It acts as a complete audit trail showing how your project evolves overr time. 
Among many other use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are endless examples of platform specific version control softwares such as gitlab, git and bitbucket but in this article i will take a keen interest in git and github. More specifically we will cover hoe to push and pull code.&lt;/p&gt;

&lt;h4&gt;
  
  
  HOW TO PUSH CODE TO GITHUB
&lt;/h4&gt;

&lt;p&gt;You are already in flow state and have made progress on the program you are creating, a repository has already been created and all that remains is pushing your code to the platform so you can track your progress. How do you do that exactly??&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open gitbash and on the terminal, you can use 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;ul&gt;
&lt;li&gt;git push-sends commits to the remote repository&lt;/li&gt;
&lt;li&gt;origin- The nickname for your Github repository&lt;/li&gt;
&lt;li&gt;Main - The branch you're pushing the code to.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you refresh your github repository a .txt file with your project in the repositorty.&lt;/p&gt;

&lt;h4&gt;
  
  
  HOW TO PULL CODE FROM GITHUB
&lt;/h4&gt;

&lt;p&gt;Changes may have been made to the project and you might need to retrieve the code and review. Similarly, you might be retrieving your work to continue working on a project. TO do this, follow 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;git pull origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;once the the command is given the following happens:&lt;br&gt;
Git fetches changes from GIthub and the changes are merged into your local code.&lt;/p&gt;

&lt;p&gt;If the above article didn't help much, here's a video you can utilise to map your way around the terminal commands better: &lt;a href="https://www.youtube.com/watch?v=yxvqLBHZfXk" rel="noopener noreferrer"&gt;hope this helps&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
