<?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: Chimaobi Prince</title>
    <description>The latest articles on Forem by Chimaobi Prince (@whoisprince).</description>
    <link>https://forem.com/whoisprince</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%2F435821%2Fb06769a8-8ca4-4f01-b78a-c6f9e13511ef.jpeg</url>
      <title>Forem: Chimaobi Prince</title>
      <link>https://forem.com/whoisprince</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/whoisprince"/>
    <language>en</language>
    <item>
      <title>Insightful article for beginners. Don’t sleep on it!</title>
      <dc:creator>Chimaobi Prince</dc:creator>
      <pubDate>Mon, 20 Apr 2026 07:17:06 +0000</pubDate>
      <link>https://forem.com/whoisprince/insightful-article-for-beginners-dont-sleep-on-it-4j1k</link>
      <guid>https://forem.com/whoisprince/insightful-article-for-beginners-dont-sleep-on-it-4j1k</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mlh/learning-to-code-a-beginners-guide-for-the-ai-era-3pl3" class="crayons-story__hidden-navigation-link"&gt;Learning to Code: A Beginner's Guide for the AI Era&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/mlh"&gt;
            &lt;img alt="Major League Hacking (MLH) logo" 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%2Forganization%2Fprofile_image%2F2310%2F828f0108-477d-4d0d-8812-973f182358b4.jpg" class="crayons-logo__image" width="800" height="800"&gt;
          &lt;/a&gt;

          &lt;a href="/mlhacks" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&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%2F1197638%2F19fd3a43-32d3-466f-9009-b99e790635a9.jpg" alt="mlhacks profile" class="crayons-avatar__image" width="400" height="400"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mlhacks" class="crayons-story__secondary fw-medium m:hidden"&gt;
              MLH Team
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                MLH Team
                
              
              &lt;div id="story-author-preview-content-3516909" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mlhacks" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2F1197638%2F19fd3a43-32d3-466f-9009-b99e790635a9.jpg" class="crayons-avatar__image" alt="" width="400" height="400"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;MLH Team&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/mlh" class="crayons-story__secondary fw-medium"&gt;Major League Hacking (MLH)&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/mlh/learning-to-code-a-beginners-guide-for-the-ai-era-3pl3" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 17&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mlh/learning-to-code-a-beginners-guide-for-the-ai-era-3pl3" id="article-link-3516909"&gt;
          Learning to Code: A Beginner's Guide for the AI Era
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mlh/learning-to-code-a-beginners-guide-for-the-ai-era-3pl3" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;4&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mlh/learning-to-code-a-beginners-guide-for-the-ai-era-3pl3#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            10 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How GitHub Pull Requests in VS Code Improved My Open-Source Workflow</title>
      <dc:creator>Chimaobi Prince</dc:creator>
      <pubDate>Thu, 08 Jan 2026 17:47:15 +0000</pubDate>
      <link>https://forem.com/whoisprince/how-github-pull-requests-in-vs-code-improved-my-open-source-workflow-8co</link>
      <guid>https://forem.com/whoisprince/how-github-pull-requests-in-vs-code-improved-my-open-source-workflow-8co</guid>
      <description>&lt;p&gt;If you contribute to open source, work in a collaborative engineering team, or operate in cloud and CI/CD-driven environments, you’ve probably felt this pain while reviewing Pull Requests:&lt;/p&gt;

&lt;p&gt;Browser → VS Code → Browser → Terminal → Browser&lt;/p&gt;

&lt;p&gt;I didn’t realize how much this constant context switching was slowing me down until I changed where I review Pull Requests. After adopting the GitHub Pull Requests &amp;amp; Issues extension in VS Code, PR reviews stopped being a distraction and became a first-class DevOps quality gate in my workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this post, I’ll share:&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How reviewing GitHub Pull Requests inside VS Code improved my daily workflow
&lt;/h2&gt;

&lt;p&gt;Why this matters in cloud-native and CI/CD environments&lt;/p&gt;

&lt;p&gt;Who should consider using this setup&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem: Context Switching Kills Focus&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before using the extension, my Pull Request review process looked like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open a Pull Request in the browser&lt;/li&gt;
&lt;li&gt;Read code diffs&lt;/li&gt;
&lt;li&gt;Switch to VS Code to inspect files&lt;/li&gt;
&lt;li&gt;Go back to GitHub to comment&lt;/li&gt;
&lt;li&gt;Repeat&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This resulted in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lost focus during reviews&lt;/li&gt;
&lt;li&gt;Slower feedback cycles&lt;/li&gt;
&lt;li&gt;Harder code comprehension&lt;/li&gt;
&lt;li&gt;Increased mental overhead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;In modern DevOps workflows, Pull Requests are not just collaboration tools — they are control points that sit directly in front of CI/CD pipelines. Any friction here compounds quickly.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pull Requests as a DevOps Control Point in CI/CD Pipelines
&lt;/h2&gt;

&lt;p&gt;In cloud and DevOps environments, every Pull Request can trigger:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuous integration pipelines&lt;/li&gt;
&lt;li&gt;Automated tests and linting&lt;/li&gt;
&lt;li&gt;Security and dependency checks&lt;/li&gt;
&lt;li&gt;Deployment workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This means Pull Requests are often the &lt;strong&gt;last human checkpoint&lt;/strong&gt; before automation takes over.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For engineers aiming to grow into DevOps or cloud roles, mastering efficient Pull Request workflows is essential. Improving how we review PRs directly impacts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deployment speed&lt;/li&gt;
&lt;li&gt;System reliability&lt;/li&gt;
&lt;li&gt;Production stability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Treating Pull Requests as first-class workflow checkpoints is no longer optional.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is the GitHub Pull Requests &amp;amp; Issues Extension?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;GitHub Pull Requests &amp;amp; Issues&lt;/strong&gt; extension brings GitHub directly into VS Code.&lt;/p&gt;

&lt;p&gt;With it, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review Pull Requests inside the editor&lt;/li&gt;
&lt;li&gt;Add inline comments with full code context&lt;/li&gt;
&lt;li&gt;Checkout PR branches locally&lt;/li&gt;
&lt;li&gt;Create and manage Pull Requests&lt;/li&gt;
&lt;li&gt;Track assigned issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;All without leaving your development environment.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ☁️ Reviewing Pull Requests with Cloud-Native Context in VS Code
&lt;/h2&gt;

&lt;p&gt;In cloud-native systems, small changes can have an outsized impact — especially when services run across multiple environments.&lt;/p&gt;

&lt;p&gt;Reviewing Pull Requests directly inside VS Code allows me to analyze changes with &lt;strong&gt;full system context&lt;/strong&gt;, not just isolated diffs. I can explore repository structure, understand service boundaries, and assess how a change might affect runtime behaviour.&lt;/p&gt;

&lt;p&gt;This is especially useful when PRs include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configuration files&lt;/li&gt;
&lt;li&gt;Environment-specific settings&lt;/li&gt;
&lt;li&gt;API integrations&lt;/li&gt;
&lt;li&gt;Changes affecting scalability or availability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;By reviewing these changes in the editor, I’m better positioned to catch issues that could lead to runtime errors, misconfigurations, or unstable deployments.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚙️ Checking Out Pull Requests Locally as a DevOps Quality Gate
&lt;/h2&gt;

&lt;p&gt;One of the most valuable features of the extension is the ability to &lt;strong&gt;checkout Pull Request branches directly inside VS Code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With a single click, I can pull the contributor’s branch and run the project locally, turning PR review into an early quality gate instead of a passive check.&lt;/p&gt;

&lt;p&gt;In practice, this allows me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate changes before they reach CI/CD pipelines&lt;/li&gt;
&lt;li&gt;Catch issues that could break automated builds or deployments&lt;/li&gt;
&lt;li&gt;Test application behavior in a production-aware environment&lt;/li&gt;
&lt;li&gt;Review changes to configuration files or environment variables&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, while reviewing a PR that modified environment variables for a service, checking out the branch locally helped me catch a missing default value that would have caused a runtime failure in staging — something CI wouldn’t have flagged until much later.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This supports a &lt;strong&gt;shift-left DevOps approach&lt;/strong&gt;, catching issues earlier in the development lifecycle before they consume CI resources or cause failed deployments.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ Writing Better, More Actionable Feedback
&lt;/h2&gt;

&lt;p&gt;Because I review Pull Requests inside VS Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Feedback is clearer and more specific&lt;/li&gt;
&lt;li&gt;Comments are written with full code awareness&lt;/li&gt;
&lt;li&gt;Suggestions are easier to act on&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of vague feedback like:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“This might break something.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I can provide targeted guidance such as:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“This function doesn’t handle null values — consider adding a guard clause to prevent runtime errors.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Clear, actionable feedback improves collaboration and code quality for everyone involved.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Biggest Benefits I Noticed
&lt;/h2&gt;

&lt;p&gt;After fully adopting this workflow, I noticed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Less context switching&lt;/li&gt;
&lt;li&gt;✅ Faster Pull Request reviews&lt;/li&gt;
&lt;li&gt;✅ Better focus and code understanding&lt;/li&gt;
&lt;li&gt;✅ Improved collaboration&lt;/li&gt;
&lt;li&gt;✅ Higher confidence when approving or requesting changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;It didn’t just improve my speed, it improved the quality of my contributions.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Should Use This Extension?
&lt;/h2&gt;

&lt;p&gt;I’d especially recommend it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source contributors&lt;/li&gt;
&lt;li&gt;Remote engineering teams&lt;/li&gt;
&lt;li&gt;Backend developers&lt;/li&gt;
&lt;li&gt;Cloud and DevOps engineers managing CI/CD workflows&lt;/li&gt;
&lt;li&gt;Anyone who spends most of their time in VS Code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;If VS Code is already your primary development environment, this extension is a simple productivity win.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips to Get More Value from It
&lt;/h2&gt;

&lt;p&gt;A few small optimizations that made a big difference for me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable Pull Request notifications inside VS Code&lt;/li&gt;
&lt;li&gt;Use the Files Changed view instead of raw diffs&lt;/li&gt;
&lt;li&gt;Combine it with GitLens for deeper commit insights&lt;/li&gt;
&lt;li&gt;Use Pull Request templates to standardize reviews&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CI/CD Diagram: Pull Requests in VS Code as an Early Quality Gate
&lt;/h2&gt;

&lt;p&gt;Developer&lt;br&gt;
  ↓&lt;br&gt;
Feature Branch&lt;br&gt;
  ↓&lt;br&gt;
Pull Request (VS Code)&lt;br&gt;
 ├── Code Review&lt;br&gt;
 ├── Local Testing&lt;br&gt;
 ├── Config Validation&lt;br&gt;
  ↓&lt;br&gt;
CI Pipeline&lt;br&gt;
 ├── Build&lt;br&gt;
 ├── Tests&lt;br&gt;
 ├── Security Checks&lt;br&gt;
  ↓&lt;br&gt;
Merge&lt;br&gt;
  ↓&lt;br&gt;
Deployment (Cloud)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Pull Requests reviewed in VS Code act as an early quality gate, reducing CI failures and improving deployment reliability.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;If Pull Requests are part of your daily workflow, especially in cloud-native or CI/CD-heavy environments, optimizing how you review them matters more than you might think.&lt;/p&gt;

&lt;p&gt;Treat Pull Requests not as a checkbox, but as an engineering control point.&lt;br&gt;
Small workflow changes can deliver an outsized impact on reliability, collaboration, and deployment confidence.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>github</category>
      <category>vscode</category>
      <category>cloud</category>
    </item>
    <item>
      <title>The "Rescue Mission": How to Lead a Team of Git Beginners Without Losing Your Mind</title>
      <dc:creator>Chimaobi Prince</dc:creator>
      <pubDate>Mon, 15 Dec 2025 05:18:27 +0000</pubDate>
      <link>https://forem.com/whoisprince/the-rescue-mission-how-to-lead-a-team-of-git-beginners-without-losing-your-mind-1joj</link>
      <guid>https://forem.com/whoisprince/the-rescue-mission-how-to-lead-a-team-of-git-beginners-without-losing-your-mind-1joj</guid>
      <description>&lt;p&gt;We’ve all been there. You are working on a university project. You have a team of five. You are the designated "Tech Lead", handling the backend and CI/CD. The rest of the team are enthusiastic beginners handling the frontend.&lt;/p&gt;

&lt;p&gt;The energy is high, the Figma designs look great, but then... the Git conflicts start.&lt;/p&gt;

&lt;p&gt;In this post, I want to share a specific workflow I use to save my team from broken code and the lessons I learnt about using AI for code reviews in a beginner environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Scenario:&lt;/strong&gt; "I Can't Wait"&lt;br&gt;
It’s 11:45 PM. The sprint review is tomorrow morning. The Frontend Rookie finally sends the pull request titled 'Final Login Fix REAL v3'.&lt;/p&gt;

&lt;p&gt;I open the PR, hoping for a miracle.&lt;/p&gt;

&lt;p&gt;I look at the code. There’s a missing semicolon on line 42, they accidentally hardcoded their database password as ILovePizza123 instead of using the config file, and for some reason, they left echo "I AM HERE 1"; and echo "WHY IS THIS NOT WORKING"; scattered across the entire script.&lt;/p&gt;

&lt;p&gt;I could request changes and wait for them to wake up, figure it out, and push again. But they are probably sleeping the sleep of the innocent.&lt;/p&gt;

&lt;p&gt;I sigh, crack my knuckles, and decide to launch a Git Rescue Mission.&lt;/p&gt;

&lt;p&gt;The Workflow: Fixing a Teammate's Branch (The Right Way)&lt;br&gt;
Many beginners think you have to clone the repo into a separate folder to fix a friend's code. Please don't do that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I use the GitHub Pull Requests and Issues extension in VS Code. It turns "fixing their code" into a 3-step process:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Checkout:&lt;/strong&gt; I right-click their PR in the VS Code sidebar and select Checkout Pull Request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Localhost Test:&lt;/strong&gt; Now, my local environment (Laragon/Docker) is running their code. I can see the "I AM HERE 1" message on my browser immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Fix &amp;amp; Push:&lt;/strong&gt; I delete the debug echoes, fix the password, commit it, and hit "Sync".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Magic:&lt;/em&gt;&lt;/strong&gt; This pushes the code directly to their branch on GitHub and updates the PR automatically.&lt;/p&gt;

&lt;p&gt;I merge it. The site is saved. Everyone is happy. Until...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Trap: The "Gemini" Conflict&lt;/strong&gt;&lt;br&gt;
This is where things get messy. As a lead, I use AI tools (like Gemini) to review code. I see a block of spaghetti HTML, I ask Gemini to refactor it, and I paste the clean version into the branch and push it.&lt;/p&gt;

&lt;p&gt;Meanwhile, The Rookie is still working on their laptop.&lt;/p&gt;

&lt;p&gt;They didn't know I fixed their code. They realize they forgot to capitalize a button, change one letter on their (now old) version, and push. Git explodes.&lt;/p&gt;

&lt;p&gt;We now have a merge conflict. My "Clean AI Code" vs. their "Old Code with a Typo Fix".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Solution:&lt;/strong&gt; The "Base &amp;amp; Borrow" Technique&lt;br&gt;
So, how do you solve this "logic vs. design" conflict?&lt;/p&gt;

&lt;p&gt;If you click "Accept Current Change" (Your Code), you delete their CSS tweaks. If you click "Accept Incoming Change" (Their Code), you bring back the bugs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I learnt the hard way that you cannot just click a button. You have to use the Base &amp;amp; Borrow technique in VS Code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Base (Your Logic):&lt;/strong&gt; I start by accepting my clean code as the base. This ensures the backend logic and syntax are correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Borrow (Their Design):&lt;/strong&gt; Before I hit save, I look at their code in the "Incoming Change" window. Did they change a class to btn-danger? Did they fix a typo in the header?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Patch:&lt;/strong&gt; I manually copy only those design tweaks and paste them into my clean block.&lt;/p&gt;

&lt;p&gt;It takes 30 seconds longer, but it ensures we get the best of both worlds: My Working Logic + Their Polished Design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3 Rules to Survive the Chaos&lt;/strong&gt;&lt;br&gt;
After fighting these fires for weeks, I realized that technology wasn't the problem—communication was. Here are the rules we established to stop the bleeding:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The "Traffic Light" System&lt;/strong&gt;&lt;br&gt;
Green Light: Before you write a single line of code, run git pull.&lt;/p&gt;

&lt;p&gt;Yellow Light: If you are working on a file, say it in the chat ("I'm on login.php").&lt;/p&gt;

&lt;p&gt;Red Light: If I type "FREEZE", stop typing. It means I'm fixing the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The "Stop Typing" Command&lt;/strong&gt;&lt;br&gt;
Before I enter a teammate's branch to perform a rescue fix, I send a message to the group chat:&lt;/p&gt;

&lt;p&gt;"I am entering the [Login-Feature] branch to fix a bug. STOP working on it. Hands off the keyboard. Do not push until I say 'GO'."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The "Pull First" Mantra&lt;/strong&gt;&lt;br&gt;
If I do push a fix to a teammate's branch, I make them swear by this rule: Before you write a single line of code today, run git pull.&lt;/p&gt;

&lt;p&gt;If they don't pull my fixes down to their laptop first, everything they write next is guaranteed to cause a conflict.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt; Just Because You Can, Doesn't Mean You Should&lt;br&gt;
Even though I mastered the "Base &amp;amp; Borrow" technique, my biggest lesson was actually about restraint.&lt;/p&gt;

&lt;p&gt;It is tempting to fix every bug yourself because it's faster. But if you fix every PR manually, your team never learns.&lt;/p&gt;

&lt;p&gt;Sometimes, the best move isn't to checkout the branch and fix it. The best move is to leave a comment: "Line 45 is broken. You forgot the semicolon. You fix it."&lt;/p&gt;

&lt;p&gt;It takes longer, but it prevents the conflicts—and it turns your teammates into better developers.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>gemini</category>
      <category>git</category>
    </item>
    <item>
      <title>How to deploy a PHP application in InfinityFree</title>
      <dc:creator>Chimaobi Prince</dc:creator>
      <pubDate>Tue, 25 Nov 2025 08:08:21 +0000</pubDate>
      <link>https://forem.com/whoisprince/how-to-deploy-a-php-application-in-infinityfree-2cc5</link>
      <guid>https://forem.com/whoisprince/how-to-deploy-a-php-application-in-infinityfree-2cc5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Step 1: Account Setup&lt;/strong&gt;&lt;br&gt;
Sign up and verify: Create an account on the InfinityFree website and verify your email address.&lt;br&gt;
Create a Hosting Account: Once signed in, navigate to the client area and click "Create Account".&lt;br&gt;
Choose a Domain: Select a free subdomain or use a custom domain, then click "Create Account".&lt;br&gt;
Finish Setup: After the account is created, click "Finish". Note down your account details, including the username, password, and MySQL details, as you will need them later. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Upload Project Files&lt;/strong&gt;&lt;br&gt;
Access Control Panel: From your client area, click "Control Panel" (cPanel). You may need to click "I Approve" to proceed.&lt;/p&gt;

&lt;p&gt;Open File Manager: In the cPanel, find and click "Open File Manager".&lt;br&gt;
Navigate to htdocs: Inside the file manager, open the htdocs folder. This is the root directory for your website's public files.&lt;br&gt;
Upload Files:&lt;br&gt;
Delete any default files present in the htdocs folder.&lt;br&gt;
Click the "Upload" button. You can upload individual files or a ZIP archive of your entire project. Uploading a ZIP file and extracting it on the server is often easier for large projects.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Step 3: Set up the Database *&lt;/em&gt;&lt;br&gt;
If your project uses a MySQL database, follow these steps:&lt;br&gt;
Go to cPanel: Return to the cPanel and find the "Databases" section.&lt;br&gt;
Create Database: Click on "MySQL Databases". Give your new database a name (e.g., demo) and click "Create Database".&lt;br&gt;
Access phpMyAdmin: Click the "Admin" button next to your new database. This opens phpMyAdmin.&lt;/p&gt;

&lt;p&gt;Import Database: In phpMyAdmin, go to the "Import" tab. Click "Choose File", select your local .sql database file, and click "Go" to upload it. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Configure Your PHP Project&lt;/strong&gt;&lt;br&gt;
Edit Configuration File: In the File Manager, locate your database configuration file (e.g., config.php, db.php, or similar). Open it for editing.&lt;br&gt;
Update Credentials: Change the localhost database credentials to the new InfinityFree credentials. You can find the required details (DB Hostname, DB Name, DB Username, DB Password) in your client area under "MySQL Details":&lt;br&gt;
DB Server (Hostname): This will be a specific hostname, not localhost.&lt;br&gt;
DB Username: A unique username generated by InfinityFree.&lt;br&gt;
DB Password: The password you set for the hosting account (or database password if you set one separately).&lt;br&gt;
DB Name: The name you provided when creating the database in cPanel.&lt;br&gt;
Save Changes: Save and close the configuration file. &lt;br&gt;
Your PHP project should now be deployed and accessible via the domain name you selected in Step 1. You may need to clear your browser cache to see the changes. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>php</category>
      <category>database</category>
    </item>
  </channel>
</rss>
