<?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: Brian Gachuiga</title>
    <description>The latest articles on DEV Community by Brian Gachuiga (@brian_gachuiga_1b1ef28ecf).</description>
    <link>https://dev.to/brian_gachuiga_1b1ef28ecf</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%2F3816552%2F15038ae5-00ae-4943-8b36-16206b700768.png</url>
      <title>DEV Community: Brian Gachuiga</title>
      <link>https://dev.to/brian_gachuiga_1b1ef28ecf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brian_gachuiga_1b1ef28ecf"/>
    <language>en</language>
    <item>
      <title>Something on software dev!</title>
      <dc:creator>Brian Gachuiga</dc:creator>
      <pubDate>Fri, 10 Apr 2026 14:40:29 +0000</pubDate>
      <link>https://dev.to/brian_gachuiga_1b1ef28ecf/something-lit-on-software-dev-1iko</link>
      <guid>https://dev.to/brian_gachuiga_1b1ef28ecf/something-lit-on-software-dev-1iko</guid>
      <description>&lt;p&gt;An Introduction to Software Development&lt;/p&gt;

&lt;p&gt;Software development is the process of creating applications, systems, and programs that solve real-world problems using computers.Understanding the basics of software development is essential because it forms the backbone of modern technology—from mobile apps and websites to banking systems and artificial intelligence.&lt;/p&gt;

&lt;p&gt;At its core, software development involves writing instructions (code) that a computer can understand and execute. These instructions are written using programming languages such as Python, Java, or C++. However, software development is not just about coding—it is a structured process that involves planning, designing, building, testing, and maintaining software systems.&lt;/p&gt;

&lt;p&gt;The Software Development Life Cycle (SDLC)&lt;/p&gt;

&lt;p&gt;One of the most important concepts in software development is the Software Development Life Cycle (SDLC). This is a step-by-step process followed by developers to ensure that software is built efficiently and meets user requirements.&lt;/p&gt;

&lt;p&gt;The main stages include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Requirement Analysis – Understanding what the user or organization needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Design – Planning how the software will look and function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implementation (Coding) – Writing the actual code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Testing – Checking for errors and ensuring everything works correctly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deployment and Maintenance – Releasing the software and updating it over time.This structured approach helps reduce errors, saves time, and ensures the final product is reliable.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An In-Depth Look: Version Control Systems&lt;/p&gt;

&lt;p&gt;One slightly deeper but very important concept in software development is version control. Tools like Git allow developers to track changes in their code over time. Instead of rewriting files or losing previous work, version control systems keep a history of all modifications.&lt;/p&gt;

&lt;p&gt;For example, if a developer introduces a bug (error), they can easily revert to an earlier working version of the code. It also allows multiple developers to collaborate on the same project without overwriting each other’s work. This is especially useful in large projects where teams are involved.&lt;/p&gt;

&lt;p&gt;Another Key Concept: Debugging and Testing&lt;/p&gt;

&lt;p&gt;A)Debugging is the process of identifying and fixing errors in a program. Even experienced developers make mistakes, so testing and debugging are critical parts of development.&lt;/p&gt;

&lt;p&gt;B)Testing can be done manually or automatically, and it ensures that the software behaves as expected. Without proper testing, software may fail, leading to poor user experience or even financial loss in business environments.&lt;/p&gt;

&lt;p&gt;*Conclusion:&lt;br&gt;
Software development is a vital skill in today’s digital world. While it may seem complex at first, understanding the basic processes like the SDLC, version control, and debugging makes it easier to grasp. As a CIS student, building a strong foundation in these concepts will not only help in academic work but also prepare you for real-world IT and software-related careers.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introduction to Linux Basics.</title>
      <dc:creator>Brian Gachuiga</dc:creator>
      <pubDate>Thu, 26 Mar 2026 07:47:52 +0000</pubDate>
      <link>https://dev.to/brian_gachuiga_1b1ef28ecf/introduction-to-linux-basics-56p9</link>
      <guid>https://dev.to/brian_gachuiga_1b1ef28ecf/introduction-to-linux-basics-56p9</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Introduction&lt;br&gt;
Linux is an open-source operating system that is widely used in software development, servers, and cybersecurity. Unlike Windows, Linux relies heavily on a command-line interface (CLI), which allows users to interact with the system using text commands. Learning Linux basics is important because it helps users understand how systems work behind the scenes and improves efficiency when working on technical tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Command Line Interface and the Shell&lt;br&gt;
The command line interface (CLI) is a text-based environment where users type commands to perform operations such as navigating files, creating directories, and managing the system.&lt;br&gt;
The shell is the program that interprets the commands entered by the user. The most common shell in Linux is Bash. When a command is entered, the shell processes it and communicates with the operating system to execute it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigating the Linux File System&lt;br&gt;
Linux uses a hierarchical file system that starts from the root directory (/). Important commands include:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;pwd: shows the current directory&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ls: lists files and folders&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cd: changes directories&lt;br&gt;
Example:&lt;br&gt;
cd Documents&lt;br&gt;
cd ..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File and Directory Management&lt;br&gt;
Creating files and folders:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;mkdir foldername&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;touch filename&lt;br&gt;
Deleting:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;rm filename&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;rmdir foldername&lt;br&gt;
Copying and moving:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cp file1 file2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;mv file1 file2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Working with Files&lt;br&gt;
Viewing files:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cat filename&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;less filename&lt;br&gt;
Editing files:- nano filename&lt;br&gt;
Writing to files:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;echo "Hello" &amp;gt; file.txt&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;echo "World" &amp;gt;&amp;gt; file.txt&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Searching for Files and Content&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;find . -name "filename"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;grep "text" filename&lt;br&gt;
These commands help locate files and search within them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;File Permissions&lt;br&gt;
Linux controls access through permissions:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Read (r)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write (w)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Execute (x)&lt;br&gt;
To change permissions:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;chmod +x script.sh&lt;br&gt;
To view permissions:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ls -l&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Basics of Networking&lt;br&gt;
Networking allows computers to communicate.&lt;br&gt;
Useful commands:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ip a (shows IP address)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ping google.com (tests connectivity)&lt;br&gt;
Key concepts include IP addresses, routers, and DNS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package Management&lt;br&gt;
Software installation in Ubuntu is done using:&lt;br&gt;
*sudo apt update&lt;br&gt;
*sudo apt install package-name&lt;br&gt;
Example:&lt;br&gt;
sudo apt install git&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>cli</category>
      <category>linux</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Research Article:HOW THE INTERNET WORKS</title>
      <dc:creator>Brian Gachuiga</dc:creator>
      <pubDate>Wed, 11 Mar 2026 07:40:43 +0000</pubDate>
      <link>https://dev.to/brian_gachuiga_1b1ef28ecf/research-articlehow-the-internet-works-121</link>
      <guid>https://dev.to/brian_gachuiga_1b1ef28ecf/research-articlehow-the-internet-works-121</guid>
      <description>&lt;p&gt;&lt;em&gt;What the Internet Is&lt;/em&gt;&lt;br&gt;
The internet can be described as a global network of computers and other devices that are&lt;br&gt;
connected together.&lt;br&gt;
These devices communicate using standardized rules known as protocols. Instead of being one single system,the internet is made up of millions of smaller networks that are connected together. These networks belong to&lt;br&gt;
organizations such as universities, companies, governments, and internet service providers.When people access websites, send emails, or stream videos, they are essentially sending and receiving data between their device and another computer somewhere in the world. The internet acts as the&lt;br&gt;
medium that allows this exchange of information to take place quickly and reliably.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Role of Internet Service Providers&lt;br&gt;
For a device to access the internet, it usually connects through an Internet Service Provider (ISP).&lt;br&gt;
An ISP is a company that provides internet access to individuals and organizations. When a user connects managed by their ISP.&lt;br&gt;
The ISP assigns the device an IP address, which acts like a digital address for that device on the&lt;br&gt;
network.&lt;br&gt;
This address allows other systems on the internet to identify where data should be sent. Without IP&lt;br&gt;
addresses,devices would not know where to send or receive information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IP Addresses and Domain Names&lt;br&gt;
Every device connected to the internet is identified by an IP address. This is usually a series of&lt;br&gt;
numbers to the internet through WiFi, mobile data, or a wired connection, the connection is normally&lt;br&gt;
such as 192.168.1.1 or a longer format used in newer systems called IPv6.&lt;br&gt;
However, remembering numerical addresses would be difficult for most users. Because of this, the&lt;br&gt;
internet uses domain names such as google.com or wikipedia.org. These names are easier for humans to&lt;br&gt;
remember.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A system called the Domain Name System (DNS) translates these domain names into the correct IP addresses so that the request can be sent to the correct server.&lt;br&gt;
For example, when a user types a website name into their browser, the browser first contacts a&lt;br&gt;
DNS server to find the correct IP address of that website. Once the address is found, the request is sent to the&lt;br&gt;
server hosting the website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How Data Travels Across the Internet&lt;br&gt;
Information on the internet does not travel as one large block of data. Instead, it is broken down into&lt;br&gt;
smaller units called packets. Each packet contains a portion of the data as well as information about&lt;br&gt;
where it came from and where it should go.&lt;br&gt;
These packets travel through many different network devices such as routers and switches.&lt;br&gt;
Routers help direct packets along the most efficient path across networks. Even if different packets take different&lt;br&gt;
routes to reach the destination, they are reassembled once they arrive at the receiving device.&lt;br&gt;
This system allows the internet to remain efficient and reliable even when certain parts of the&lt;br&gt;
network are busy or temporarily unavailable.&lt;br&gt;
Web Browsers and Web Servers&lt;br&gt;
When users access websites, two important components are involved: web browsers and web&lt;br&gt;
servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A web browser is the application used by the user to access information on the internet. Examples&lt;br&gt;
include&lt;br&gt;
Chrome, Firefox, and other browsers. The browser sends requests to web servers when a user enters a website address.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A web server is a computer that stores website files and delivers them when requested. When the&lt;br&gt;
server&lt;br&gt;
receives a request from the browser, it sends back the webpage data, which the browser then&lt;br&gt;
displays to the user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Internet Protocols&lt;br&gt;
Communication on the internet follows specific rules known as protocols. One of the most important&lt;br&gt;
protocol suites is TCP/IP (Transmission Control Protocol / Internet Protocol). These protocols manage&lt;br&gt;
how data is divided into packets, transmitted across networks, and reassembled at the destination.&lt;br&gt;
Another common protocol is HTTP (Hypertext Transfer Protocol), which is used for transferring web&lt;br&gt;
pages.A secure version called HTTPS is widely used today because it encrypts data to protect sensitive&lt;br&gt;
information such as passwords and payment details.&lt;br&gt;
Importance of the Internet in Modern Systems&lt;br&gt;
Today, many applications and systems rely heavily on internet connectivity. Cloud computing,&lt;br&gt;
online&lt;br&gt;
communication, streaming services, and digital business operations all depend on the internet.&lt;br&gt;
For organizations, understanding how the internet works helps in managing systems,&lt;br&gt;
troubleshooting&lt;br&gt;
network issues, and developing web-based solutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conclusion&lt;br&gt;
The internet is one of the most important technologies in the modern world. Although it appears simple when browsing websites or sending messages, many complex systems work together behind the scenes to make communication possible. Concepts such as IP addressing, DNS, data packets, routers, and internet protocols all play an important role in ensuring that information moves efficiently between devices.&lt;br&gt;
By understanding these fundamentals, students and professionals in the technology field can better&lt;br&gt;
understand how modern applications operate and how different systems communicate across&lt;br&gt;
global networks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>networking</category>
      <category>web</category>
    </item>
  </channel>
</rss>
