<?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>Forem: Ibrahim </title>
    <description>The latest articles on Forem by Ibrahim  (@ibrsamwel).</description>
    <link>https://forem.com/ibrsamwel</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%2F3724964%2F7fed9363-065a-494d-8a42-2ebbe0f35d0b.png</url>
      <title>Forem: Ibrahim </title>
      <link>https://forem.com/ibrsamwel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ibrsamwel"/>
    <language>en</language>
    <item>
      <title>Why do we need git</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Wed, 25 Mar 2026 13:58:02 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/why-do-we-need-git-2633</link>
      <guid>https://forem.com/ibrsamwel/why-do-we-need-git-2633</guid>
      <description>&lt;p&gt;Have you ever been working on a school project or a piece of code, made a huge mistake, and realized you couldn't go back? Or maybe you saved a file as project_final.py, then project_final_v2.py, and finally project_actual_final_v3_STOP_CHANGING.py? It’s a nightmare!&lt;/p&gt;

&lt;p&gt;This is exactly why Git was created. In this post, we’re going to look at what Git is, how it acts like a "time machine" for your work, and why it is the most important tool you will ever install on your computer.&lt;/p&gt;

&lt;p&gt;What is Git?&lt;br&gt;
In simple terms, Git is a Version Control System. That sounds fancy, but think of it like the "Version History" in Google Docs or a "Save Point" in a video game.&lt;/p&gt;

&lt;p&gt;Git watches your folder and remembers every single change you make. If you write a line of code today and delete it tomorrow by accident, Git has a memory of exactly what that line was. It keeps your project's history organized so you never have to worry about losing your best ideas.&lt;/p&gt;

&lt;p&gt;Why Should Anyone Care?&lt;br&gt;
If you want to work in tech, Git is not optional—it’s a superpower! Here is why:&lt;/p&gt;

&lt;p&gt;You Can Undo Anything: If your code breaks (and it will!), you can just tell Git to "go back to how it was 10 minutes ago."&lt;/p&gt;

&lt;p&gt;Working Safely: You can create a "copy" of your project to test a new idea. If the idea fails, your main project stays perfectly safe.&lt;/p&gt;

&lt;p&gt;Teamwork: If you are working with a friend in Kisumu and another in Nairobi, Git helps merge all your code together without overwriting each other's work.&lt;/p&gt;

&lt;p&gt;It’s the Industry Standard: Every big company (like Google or Netflix) uses Git. Knowing it makes you look like a pro.&lt;/p&gt;

&lt;p&gt;The Big 4 Concepts&lt;br&gt;
To speak "Git," you only need to know these four words:&lt;/p&gt;

&lt;p&gt;Repository (Repo): This is just a folder where Git is "watching" your files. It’s the home for your project.&lt;/p&gt;

&lt;p&gt;Commit: This is like hitting the "Save" button, but with a note. You tell Git: "I am saving my work now, and I added the Login button."&lt;/p&gt;

&lt;p&gt;Branch: This is a separate path. You can have a "Main" branch for your working app and a "Testing" branch for your crazy ideas.&lt;/p&gt;

&lt;p&gt;Merge: This is when you take the good ideas from your "Testing" branch and put them back into your "Main" branch.&lt;/p&gt;

&lt;p&gt;A Real-Life Example: The Lem-in Project&lt;br&gt;
Imagine you are working on the Lem-in ant farm project. You have a "Brain" that finds the shortest path, and it works perfectly.&lt;/p&gt;

&lt;p&gt;Now, you want to try a new, faster math trick (like Edmonds-Karp). Without Git, you might change your code, break everything, and forget how the old version worked. With Git, you just make a Commit of your working code. Then, you try the new trick. If it breaks, you just "Rollback" to your last commit, and your working ant farm is back instantly!&lt;/p&gt;

&lt;p&gt;Getting Started&lt;br&gt;
To start, you just need to install Git and use a few simple commands in your terminal:&lt;/p&gt;

&lt;p&gt;git init: Starts a new Repo.&lt;/p&gt;

&lt;p&gt;git add .: Tells Git to look at your changes.&lt;/p&gt;

&lt;p&gt;git commit -m "My first save": Saves your work.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>git</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How the internet works</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Fri, 20 Mar 2026 12:52:45 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/how-the-internet-works-5eao</link>
      <guid>https://forem.com/ibrsamwel/how-the-internet-works-5eao</guid>
      <description>&lt;p&gt;How the Internet Actually Works &lt;br&gt;
We use the internet for everything—Instagram, Netflix, homework, or just Googling "why is my cat weird." But have you ever stopped to wonder how a video gets from a computer halfway across the world onto your phone screen in a second?&lt;/p&gt;

&lt;p&gt;It’s not magic, and it’s not just "stuff floating in the air." It’s actually a lot simpler than you think.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It’s basically just a bunch of very long wires
People talk about "the cloud" like everything is flying around in the sky. In reality, the internet is mostly a giant web of cables.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are massive wires running under our streets and even across the bottom of the ocean. When you click a link, you’re basically sending a "hello" through those wires to another computer.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The "Client" and the "Server"
To understand how things move, you just need to know two terms:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Client (That’s you!): Your phone or laptop is the client. You are "requesting" or asking for something.&lt;/p&gt;

&lt;p&gt;The Server (The Librarian): A server is just a big computer that sits in a cold room somewhere. Its only job is to hold files (like a YouTube video) and wait for someone to ask for them.&lt;/p&gt;

&lt;p&gt;Think of it like a pizza shop: You call and ask for a pizza (the request), and the shop sends it to your house (the response).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IP Addresses are like your home address
Every computer in the world has its own "mailing address" called an IP Address. It looks like a bunch of numbers: 142.250.190.46.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Since we aren't robots, we don't want to type numbers. We type things like google.com.&lt;br&gt;
There is a system called DNS that acts like a giant phonebook. It sees google.com and says, "Oh, you mean the computer at 142.250.190.46! Let me connect you."&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;"Packets" (The LEGO pieces)
A website or a video is way too big to send all at once. So, the internet breaks it into tiny pieces called Packets.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Imagine you’re sending a LEGO set to a friend. If you send the whole built castle, it’ll break. Instead, you put the pieces in many small envelopes and mail them. When your friend gets all the envelopes, they snap the pieces back together.&lt;/p&gt;

&lt;p&gt;Your browser does the same thing—it catches all the "packets" and puts them back together so you can see the photo or video.&lt;/p&gt;

&lt;p&gt;In short:&lt;br&gt;
You type a name (like twitter.com).&lt;/p&gt;

&lt;p&gt;Your computer looks up the "address" in the phonebook.&lt;/p&gt;

&lt;p&gt;You send a "Hey, can I see this page?" message through a wire.&lt;/p&gt;

&lt;p&gt;The other computer sends the page back in tiny pieces.&lt;/p&gt;

&lt;p&gt;Your browser puts the pieces together.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Set Up Node.js and React with Vite</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Fri, 20 Mar 2026 08:52:27 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/how-to-set-up-nodejs-and-react-with-vite-12kh</link>
      <guid>https://forem.com/ibrsamwel/how-to-set-up-nodejs-and-react-with-vite-12kh</guid>
      <description>&lt;p&gt;🚀 How to Set Up Node.js and React with Vite (Simple Guide)&lt;br&gt;
Starting a new project can feel like a big task, but it’s actually very easy! In this guide, we will set up Node.js and create a React app using a fast tool called Vite.&lt;/p&gt;

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

&lt;p&gt;Part 1: Install Node.js&lt;br&gt;
What is Node.js?&lt;br&gt;
Think of Node.js as the engine that runs your code. When you install it, you also get npm. npm is like a big store where you can get free tools (libraries) for your website.&lt;/p&gt;

&lt;p&gt;Step 1: Download&lt;br&gt;
Go to nodejs.org.&lt;/p&gt;

&lt;p&gt;Download the LTS version (this is the stable one).&lt;/p&gt;

&lt;p&gt;Open the installer and click Next until it’s finished. You don't need to change any settings!&lt;/p&gt;

&lt;p&gt;Step 2: Check it&lt;br&gt;
Open your Terminal (Mac) or Command Prompt (Windows) and type:&lt;br&gt;
node -v&lt;/p&gt;

&lt;p&gt;If you see a number (like v20.x.x), it works!&lt;/p&gt;

&lt;p&gt;Part 2: Create Your React App&lt;br&gt;
We will use Vite. It is a modern tool that makes building websites much faster than the old ways.&lt;/p&gt;

&lt;p&gt;Step 1: Start the Project&lt;br&gt;
In your terminal, go to your Desktop:&lt;br&gt;
cd Desktop&lt;/p&gt;

&lt;p&gt;Now, run this command to start the setup:&lt;br&gt;
npm create vite@latest&lt;/p&gt;

&lt;p&gt;Follow these steps:&lt;/p&gt;

&lt;p&gt;Project Name: Type my-react-app.&lt;/p&gt;

&lt;p&gt;Framework: Choose React.&lt;/p&gt;

&lt;p&gt;Variant: Choose JavaScript.&lt;/p&gt;

&lt;p&gt;Step 2: Open the Folder&lt;br&gt;
Type this to go into your new project:&lt;br&gt;
cd my-react-app&lt;/p&gt;

&lt;p&gt;Step 3: Install the Tools&lt;br&gt;
Type this to download all the React files you need:&lt;br&gt;
npm install&lt;/p&gt;

&lt;p&gt;Step 4: Start the Website!&lt;br&gt;
Type this to see your app:&lt;br&gt;
npm run dev&lt;/p&gt;

&lt;p&gt;Now, look at your terminal. It will give you a link (like &lt;a href="http://localhost:5173" rel="noopener noreferrer"&gt;http://localhost:5173&lt;/a&gt;). Open that link in your browser. Your app is running! 🥳&lt;/p&gt;

&lt;p&gt;📂 Understanding Your Files&lt;br&gt;
When you open your project in a code editor (like VS Code), look for these:&lt;/p&gt;

&lt;p&gt;src/App.jsx: This is the main file. Change the text here, and it changes on your website!&lt;/p&gt;

&lt;p&gt;package.json: This is just a list of the tools your project uses.&lt;/p&gt;

&lt;p&gt;Cool Feature: When you change a word in App.jsx and hit Save, the browser updates automatically. You don't even have to refresh! This is called Hot Reloading.&lt;/p&gt;

&lt;p&gt;💡 Quick Commands to Remember&lt;br&gt;
npm run dev — Start your project for coding.&lt;/p&gt;

&lt;p&gt;npm run build — Make your project ready for the real world.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>my hobbie of playing keyboard after coding</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Wed, 11 Mar 2026 12:40:09 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/my-hobbie-of-playing-keyboard-after-coding-84c</link>
      <guid>https://forem.com/ibrsamwel/my-hobbie-of-playing-keyboard-after-coding-84c</guid>
      <description>&lt;p&gt;After spending hours writing code, debugging errors, and trying to make everything work perfectly, I often find myself needing a break. Coding is mentally intense. It demands focus, logic, and attention to detail. Sometimes, my brain just needs to step away from functions, loops, and endless lines of text. That’s when I turn to my keyboard and start playing music.&lt;/p&gt;

&lt;p&gt;Playing music feels like a complete reset for my mind. My fingers, which have been typing semicolons and curly braces, now glide across black and white keys. Chords, melodies, and rhythms replace syntax and logic. There’s a satisfaction in hearing a song come together, in creating something that flows naturally without needing to follow strict rules. Unlike coding, mistakes in music are part of the process, and experimentation is encouraged.&lt;/p&gt;

&lt;p&gt;Interestingly, this break often helps me return to coding with a fresh perspective. Problems that seemed impossible before suddenly make sense after a short musical session. Music relaxes the mind, improves focus, and inspires creativity. It’s a reminder that creativity and logic aren’t opposites—they complement each other.&lt;/p&gt;

&lt;p&gt;Beyond problem-solving, playing music after coding is simply joyful. It’s an outlet for expression, a way to celebrate small victories, and a chance to recharge. The satisfaction of hitting the right chord, finishing a melody, or discovering a new sound mirrors the feeling of completing a challenging piece of code—but in a more playful, emotional way.&lt;/p&gt;

&lt;p&gt;For me, the keyboard isn’t just an instrument; it’s a bridge between focus and relaxation, work and play. After hours of coding, it’s my way to step back, enjoy the moment, and return to my projects energized and inspired. Music reminds me that even in the world of coding, there’s room for creativity, fun, and joy.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>mentalhealth</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>My First Experience Using Figma as a Beginner</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Fri, 20 Feb 2026 21:09:47 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/my-first-experience-using-figma-as-a-beginner-2e5c</link>
      <guid>https://forem.com/ibrsamwel/my-first-experience-using-figma-as-a-beginner-2e5c</guid>
      <description>&lt;p&gt;My First Experience Using Figma as a Beginner&lt;/p&gt;

&lt;p&gt;Recently I tried using Figma for the first time, and honestly, it was much easier than I expected. I’m not a design expert, but the whole experience felt smooth and beginner-friendly. So here’s my simple, personal experience.&lt;/p&gt;

&lt;p&gt;Starting Figma for the First Time&lt;/p&gt;

&lt;p&gt;When I opened Figma, the first thing I noticed was how clean the interface looked. Nothing felt confusing. The tools were organized, and everything was easy to find.&lt;/p&gt;

&lt;p&gt;I also liked that I didn’t need to install anything. Figma runs in the browser, so I could start right away.&lt;/p&gt;

&lt;p&gt;Surprisingly Easy to Learn&lt;/p&gt;

&lt;p&gt;I thought design tools would be complicated, but Figma proved me wrong. Within a few minutes, I was able to:&lt;/p&gt;

&lt;p&gt;drag shapes&lt;/p&gt;

&lt;p&gt;add text&lt;/p&gt;

&lt;p&gt;change colors&lt;/p&gt;

&lt;p&gt;move things around&lt;/p&gt;

&lt;p&gt;resize elements&lt;/p&gt;

&lt;p&gt;Everything felt simple and natural.&lt;/p&gt;

&lt;p&gt;Templates Made My Life Easy&lt;/p&gt;

&lt;p&gt;Figma has templates for apps, websites, layouts, and more. As a beginner, this helped me a lot. Instead of starting from a blank screen, I could follow a layout and learn as I went.&lt;/p&gt;

&lt;p&gt;Collaboration Looked Really Cool&lt;/p&gt;

&lt;p&gt;Even though I was working alone, I noticed how easy it is to design with others in real time. It’s like Google Docs but for design. This will be super useful for team projects.&lt;/p&gt;

&lt;p&gt;What I Created&lt;/p&gt;

&lt;p&gt;For my first try, I made a simple Facebook-style post — just text, a background, and a layout similar to what you see on Facebook.&lt;/p&gt;

&lt;p&gt;It wasn’t complicated, but seeing it come to life made me feel proud and excited to learn more.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;My first time using Figma was great. It’s simple enough for beginners but powerful enough for serious design work. You don’t need design experience — just curiosity.&lt;/p&gt;

&lt;p&gt;If you’re new to UI/UX or want a tool that’s easy to learn, Figma is a great place to start.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>design</category>
      <category>devjournal</category>
      <category>tooling</category>
    </item>
    <item>
      <title>How to Update a README File (Simple and Easy Guide)</title>
      <dc:creator>Ibrahim </dc:creator>
      <pubDate>Wed, 18 Feb 2026 14:49:51 +0000</pubDate>
      <link>https://forem.com/ibrsamwel/how-to-update-a-readme-file-simple-and-easy-guide-5f83</link>
      <guid>https://forem.com/ibrsamwel/how-to-update-a-readme-file-simple-and-easy-guide-5f83</guid>
      <description>&lt;p&gt;How to Update a README File (Simple and Easy Guide)&lt;/p&gt;

&lt;p&gt;A README file is one of the most important parts of a project. It tells people what the project does, how to use it, and any important details they need to know. Keeping your README updated makes your project clear and helpful for others.&lt;/p&gt;

&lt;p&gt;This article explains, in very simple terms, how to update a README file.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find Your README File&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every project has a main folder where all the files are stored. Inside that folder, look for a file named:&lt;/p&gt;

&lt;p&gt;README.md&lt;/p&gt;

&lt;p&gt;README.txt&lt;/p&gt;

&lt;p&gt;or just README&lt;/p&gt;

&lt;p&gt;This is the file you need to update.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the File&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Open the README file using any text editor you like, such as:&lt;/p&gt;

&lt;p&gt;Notepad&lt;/p&gt;

&lt;p&gt;TextEdit&lt;/p&gt;

&lt;p&gt;VS Code&lt;/p&gt;

&lt;p&gt;GitHub’s built-in editor&lt;/p&gt;

&lt;p&gt;Once the file is open, you can start editing it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decide What Needs to Be Updated&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Before you change anything, think about what needs updating. Ask yourself:&lt;/p&gt;

&lt;p&gt;Did the project change?&lt;/p&gt;

&lt;p&gt;Are the instructions still correct?&lt;/p&gt;

&lt;p&gt;Did you add new features?&lt;/p&gt;

&lt;p&gt;Is there anything confusing or missing?&lt;/p&gt;

&lt;p&gt;This helps you focus on the right parts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Edit the README&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Rewrite or update the information in simple, easy-to-understand language.&lt;br&gt;
Common things you may want to update include:&lt;/p&gt;

&lt;p&gt;What the project does&lt;/p&gt;

&lt;p&gt;How to install it&lt;/p&gt;

&lt;p&gt;How to use it&lt;/p&gt;

&lt;p&gt;Steps or examples&lt;/p&gt;

&lt;p&gt;New features&lt;/p&gt;

&lt;p&gt;Problems or warnings&lt;/p&gt;

&lt;p&gt;Credits or licenses&lt;/p&gt;

&lt;p&gt;If something is outdated, remove it so the file stays accurate.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Simple Formatting (Optional)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your file ends with .md, it uses Markdown. Markdown helps you format text easily.&lt;/p&gt;

&lt;p&gt;Some basic Markdown tools:&lt;/p&gt;

&lt;h1&gt;
  
  
  → big title
&lt;/h1&gt;

&lt;h2&gt;
  
  
  → small title
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;→ bullet point&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;→ code block&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;h1&gt;
  
  
  My Project
&lt;/h1&gt;

&lt;p&gt;This project helps users do simple tasks easily.&lt;/p&gt;

&lt;p&gt;Using simple formatting makes your README look cleaner and easier to read.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Save Your Changes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After editing, save the file.&lt;/p&gt;

&lt;p&gt;If your project uses Git, update your README online by running:&lt;/p&gt;

&lt;p&gt;git add README.md&lt;br&gt;
git commit -m "Updated README"&lt;br&gt;
git push&lt;/p&gt;

&lt;p&gt;This uploads your changes for others to see.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check Your README&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Before you finish, read your updated README and check:&lt;/p&gt;

&lt;p&gt;Is it easy to understand?&lt;/p&gt;

&lt;p&gt;Are the steps correct?&lt;/p&gt;

&lt;p&gt;Does it look clean and organized?&lt;/p&gt;

&lt;p&gt;Are there any spelling mistakes?&lt;/p&gt;

&lt;p&gt;A quick review makes your file look more professional.&lt;/p&gt;

&lt;p&gt;Final Tip&lt;/p&gt;

&lt;p&gt;Keep your README updated whenever you change your project.&lt;br&gt;
A clear README helps others use your project without confusion—and makes your work look polished and complete.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>github</category>
      <category>tutorial</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
