<?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: Carl Angelo Nievarez</title>
    <description>The latest articles on DEV Community by Carl Angelo Nievarez (@aice09).</description>
    <link>https://dev.to/aice09</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%2F279107%2Fa63bef7e-50ed-4c9b-9d44-8dfd81d08043.jpg</url>
      <title>DEV Community: Carl Angelo Nievarez</title>
      <link>https://dev.to/aice09</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aice09"/>
    <language>en</language>
    <item>
      <title>🚀 Installing Git on an Old RHEL 5.1 System: Three Simple Methods! 🛠️</title>
      <dc:creator>Carl Angelo Nievarez</dc:creator>
      <pubDate>Wed, 26 Feb 2025 09:36:15 +0000</pubDate>
      <link>https://dev.to/aice09/installing-git-on-an-old-rhel-51-system-three-simple-methods-12fm</link>
      <guid>https://dev.to/aice09/installing-git-on-an-old-rhel-51-system-three-simple-methods-12fm</guid>
      <description>&lt;p&gt;If you're dealing with an ancient RHEL 5.1 system and need Git, you're in for a challenge! This guide explores three different ways to install Git on older Red Hat Enterprise Linux versions. Whether you prefer a hands-on approach or an automated script, there's an option for you! ✅&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ &lt;strong&gt;Option 1: Manual Installation via Tarball&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you want full control over the installation process, this is the way to go.&lt;/p&gt;

&lt;h3&gt;
  
  
  📌 &lt;strong&gt;Steps:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download the tarball on your &lt;strong&gt;local Windows PC&lt;/strong&gt; from:
👉 &lt;a href="https://mirrors.edge.kernel.org/pub/software/scm/git/" rel="noopener noreferrer"&gt;Git Tarball Download&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Download &lt;strong&gt;git-2.9.5.tar.gz&lt;/strong&gt; from the provided link.&lt;/li&gt;
&lt;li&gt;Transfer the downloaded file to your &lt;strong&gt;RHEL PC&lt;/strong&gt; using &lt;strong&gt;FTP tools&lt;/strong&gt; like WinSCP or FileZilla.&lt;/li&gt;
&lt;li&gt;Run the following commands to install Git:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvzf&lt;/span&gt; git-2.9.5.tar.gz  &lt;span class="c"&gt;# Extract the tarball&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;git-2.9.5  &lt;span class="c"&gt;# Navigate into the extracted folder&lt;/span&gt;
make &lt;span class="nv"&gt;prefix&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local all  &lt;span class="c"&gt;# Compile Git&lt;/span&gt;
make &lt;span class="nv"&gt;prefix&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local &lt;span class="nb"&gt;install&lt;/span&gt;  &lt;span class="c"&gt;# Install Git&lt;/span&gt;
git &lt;span class="nt"&gt;--version&lt;/span&gt;  &lt;span class="c"&gt;# Verify installation&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚡ Option 2: One-Line Command Installation
&lt;/h2&gt;

&lt;p&gt;If you want a faster, no-nonsense approach, use this single command! 🚀&lt;/p&gt;

&lt;h3&gt;
  
  
  📌 Steps:
&lt;/h3&gt;

&lt;p&gt;Open the terminal and run the following command as a root user:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvzf&lt;/span&gt; git-2.9.5.tar.gz &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;git-2.9.5 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span class="nv"&gt;prefix&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local all &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nv"&gt;prefix&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command downloads, extracts, compiles, and installs Git all in one go! 🏎️&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 Option 3: Automated Script Installation
&lt;/h2&gt;

&lt;p&gt;For the easiest and most hands-free installation, use this pre-written script. 📜&lt;/p&gt;

&lt;h3&gt;
  
  
  📌 Steps:
&lt;/h3&gt;

&lt;p&gt;Open the terminal and run the following command as a root user:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp&lt;span class="p"&gt;;&lt;/span&gt; wget https://raw.githubusercontent.com/aice09/scripts-thing/refs/heads/main/install_git.sh&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;chmod&lt;/span&gt; +x install_git.sh&lt;span class="p"&gt;;&lt;/span&gt; ./install_git.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let the script handle everything while you relax. ☕&lt;/p&gt;

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

&lt;p&gt;Installing Git on RHEL 5.1 may not be straightforward, but it's definitely possible. Choose the method that works best for you:&lt;/p&gt;

&lt;p&gt;✅ Manual installation (for full control) 🛠️&lt;/p&gt;

&lt;p&gt;✅ One-liner command (for quick setup) ⚡&lt;/p&gt;

&lt;p&gt;✅ Automated script (for hands-free installation) 🔥&lt;/p&gt;

&lt;p&gt;Now, you're ready to use Git on your legacy RHEL system! 🎉 Happy coding! 💻🚀&lt;/p&gt;

&lt;p&gt;💬 &lt;em&gt;Got questions? Let me know in the comments!&lt;/em&gt; 👇&lt;/p&gt;

</description>
      <category>linux</category>
      <category>git</category>
      <category>rhel</category>
      <category>devops</category>
    </item>
    <item>
      <title>🐳 Setting Up SSH in an Ubuntu Docker Container Using Portainer</title>
      <dc:creator>Carl Angelo Nievarez</dc:creator>
      <pubDate>Tue, 25 Feb 2025 10:18:43 +0000</pubDate>
      <link>https://dev.to/aice09/setting-up-ssh-in-an-ubuntu-docker-container-using-portainer-528i</link>
      <guid>https://dev.to/aice09/setting-up-ssh-in-an-ubuntu-docker-container-using-portainer-528i</guid>
      <description>&lt;p&gt;In this guide, you'll learn how to set up an Ubuntu Docker container with SSH access, managed through Portainer. This allows you to SSH into your container just like a regular server.&lt;/p&gt;

&lt;p&gt;📋 Prerequisites&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker and Portainer installed on your host machine.&lt;/li&gt;
&lt;li&gt;Basic knowledge of Docker and SSH.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🛠️ 1. Update Docker Compose to Include SSH Server
&lt;/h2&gt;

&lt;p&gt;Create or edit your docker-compose.yml:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3.8'&lt;/span&gt;

&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;ubuntu-container&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-container&lt;/span&gt;
    &lt;span class="na"&gt;tty&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
    &lt;span class="na"&gt;stdin_open&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/usr/sbin/sshd -D&lt;/span&gt;  &lt;span class="c1"&gt;# Start SSH daemon&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2222:22"&lt;/span&gt;  &lt;span class="c1"&gt;# Host port 2222 maps to container's SSH port&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/srv/ubuntu-data:/data&lt;/span&gt;  &lt;span class="c1"&gt;# Persistent storage&lt;/span&gt;
    &lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ubuntu_network&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;

&lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;ubuntu_network&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;driver&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;bridge&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📥 2. Deploy or Update the Stack in Portainer
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;In Portainer, go to Stacks → Add/Edit Stack.&lt;/li&gt;
&lt;li&gt;Paste your updated docker-compose.yml and Deploy the Stack.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🔧 3. Configure SSH Inside the Container
&lt;/h2&gt;

&lt;p&gt;🖥️ Access the Container Console&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In Portainer, go to Containers → ubuntu-container → Console →

&lt;code&gt;/bin/bash&lt;/code&gt;

.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ⚡ Install SSH Server &amp;amp; Nano
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt update
apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; openssh-server nano
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  📝 Edit SSH Config
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano /etc/ssh/sshd_config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensure these lines are set:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;PermitRootLogin &lt;span class="nb"&gt;yes
&lt;/span&gt;PasswordAuthentication &lt;span class="nb"&gt;yes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save and exit (&lt;code&gt;Ctrl + O&lt;/code&gt;, then &lt;code&gt;Ctrl + X&lt;/code&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  🔄 Restart SSH Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;service ssh restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔑 Set Root Password
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;passwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enter a strong password when prompted.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✅ 4. Verify SSH Setup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📡 Check if SSH is Running
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;netstat &lt;span class="nt"&gt;-tulnp&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;ssh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see it listening on port 22.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 SSH into the Container
&lt;/h3&gt;

&lt;p&gt;From your host or remote machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh root@&amp;lt;host_ip&amp;gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 2222
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace  with your Docker host's IP and use the password you set earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 5. (Optional) Enable Password-less SSH (Using SSH Keys)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Generate SSH keys (if you haven't already):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Copy your public key to the container:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-copy-id &lt;span class="nt"&gt;-p&lt;/span&gt; 2222 root@&amp;lt;host_ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you can SSH without a password. 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ 6. Additional Tips
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧭 Verify Port Mapping
&lt;/h3&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;0.0.0.0:2222-&amp;gt;22/tcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If not, stop and recreate the container with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 2222:22 &lt;span class="nt"&gt;--name&lt;/span&gt; ubuntu-container ubuntu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📊 7. Check Ubuntu Version Inside the Container
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ➤ Without Entering Bash:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ubuntu-container lsb_release &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or, if lsb_release is missing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ubuntu-container &lt;span class="nb"&gt;cat&lt;/span&gt; /etc/os-release
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ➤ By Entering the Container:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ubuntu-container /bin/bash
lsb_release &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
&lt;span class="nb"&gt;cat&lt;/span&gt; /etc/os-release
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="py"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Ubuntu"&lt;/span&gt;
&lt;span class="py"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"22.04.3 LTS (Jammy Jellyfish)"&lt;/span&gt;
&lt;span class="py"&gt;ID&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;ubuntu&lt;/span&gt;
&lt;span class="py"&gt;ID_LIKE&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;debian&lt;/span&gt;
&lt;span class="py"&gt;PRETTY_NAME&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Ubuntu 22.04.3 LTS"&lt;/span&gt;
&lt;span class="py"&gt;VERSION_ID&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"22.04"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 If &lt;em&gt;lsb_release&lt;/em&gt; is missing, install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; lsb-release
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🎉 Done!
&lt;/h2&gt;

&lt;p&gt;You now have an Ubuntu Docker container with SSH access, managed via Portainer. 🚀&lt;/p&gt;

&lt;p&gt;💬 &lt;em&gt;Got questions or suggestions? Drop them in the comments below!&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 Setting Up XAMPP for Development</title>
      <dc:creator>Carl Angelo Nievarez</dc:creator>
      <pubDate>Fri, 13 Mar 2020 07:28:21 +0000</pubDate>
      <link>https://dev.to/aice09/getting-started-with-xampp-41hn</link>
      <guid>https://dev.to/aice09/getting-started-with-xampp-41hn</guid>
      <description>&lt;p&gt;🎥 &lt;strong&gt;Watch on YouTube:&lt;/strong&gt; &lt;a href="https://youtu.be/z2heFiDrH_I" rel="noopener noreferrer"&gt;XAMPP Configuration Video&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;XAMPP is one of the most useful tools for developers—it's my go-to starter kit for setting up local development environments. Here's how I configure it! 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 Installing XAMPP
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Download XAMPP for your OS (I'm using Windows in this guide).&lt;/li&gt;
&lt;li&gt;Install the application—ignore the UAC prompt for now.&lt;/li&gt;
&lt;li&gt;Choose your installation directory (I avoid Drive C: and use a dedicated development drive instead).&lt;/li&gt;
&lt;li&gt;Start the XAMPP Control Panel.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  ⚙ Configuring Apache, PHP, and MySQL
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Accessing phpMyAdmin Over a Network
&lt;/h3&gt;

&lt;p&gt;By default, you’ll see this error when trying to access phpMyAdmin over a network:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Access forbidden!
New XAMPP security concept:
Access to the requested directory is only available from the local network.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the XAMPP Control Panel.&lt;/li&gt;
&lt;li&gt;Click on the Apache config button and open &lt;code&gt;httpd-xampp.conf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Find &lt;code&gt;Require local&lt;/code&gt; and change it to &lt;code&gt;Require all granted&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Restart Apache from the XAMPP Control Panel.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🔹 Setting phpMyAdmin Credentials
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open the XAMPP Control Panel.&lt;/li&gt;
&lt;li&gt;Click on the Apache config button and open &lt;code&gt;config.inc.php&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add a Blowfish secret key:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;   &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'blowfish_secret'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'yourblowfishkeyhere12345'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Update authentication settings:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;   &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Servers'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'auth_type'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'cookie'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Servers'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'user'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'root'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Servers'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'password'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'yourpasswordhere'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;$cfg&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Servers'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="nv"&gt;$i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'AllowNoPassword'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Restart Apache.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🔹 Granting MySQL Access Over the Network
&lt;/h3&gt;

&lt;p&gt;By default, MySQL’s root account is only accessible locally. To enable network access:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open phpMyAdmin or log in via CLI.&lt;/li&gt;
&lt;li&gt;Run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;   &lt;span class="k"&gt;GRANT&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;TO&lt;/span&gt; &lt;span class="s1"&gt;'root'&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;'%'&lt;/span&gt; &lt;span class="n"&gt;IDENTIFIED&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="s1"&gt;'yourpassword'&lt;/span&gt; &lt;span class="k"&gt;WITH&lt;/span&gt; &lt;span class="k"&gt;GRANT&lt;/span&gt; &lt;span class="k"&gt;OPTION&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="n"&gt;FLUSH&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Configuring Timezone in PHP
&lt;/h3&gt;

&lt;p&gt;By default, PHP’s timezone is &lt;code&gt;Europe/Berlin&lt;/code&gt;. To change it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the XAMPP Control Panel.&lt;/li&gt;
&lt;li&gt;Click on Apache config and open &lt;code&gt;php.ini&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Find &lt;code&gt;date.timezone&lt;/code&gt; and update it to your timezone:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;   &lt;span class="py"&gt;date.timezone&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Asia/Manila&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Save and restart Apache.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🔹 Changing Apache Ports
&lt;/h3&gt;

&lt;p&gt;If port 80 is occupied (e.g., by IIS or Nginx), change it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the XAMPP Control Panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Config &amp;gt; Service and Port Settings &amp;gt; Apache&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;httpd.conf&lt;/code&gt;, find &lt;code&gt;Listen 80&lt;/code&gt;, and replace it with your desired port.&lt;/li&gt;
&lt;li&gt;Restart Apache.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📂 Configuring FileZilla FTP Server
&lt;/h2&gt;

&lt;p&gt;XAMPP includes a built-in &lt;strong&gt;FileZilla Server&lt;/strong&gt; for secure file transfers. Here’s how to set it up:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start &lt;strong&gt;FileZilla Server&lt;/strong&gt; from XAMPP.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Admin&lt;/strong&gt; (default login: &lt;code&gt;127.0.0.1&lt;/code&gt;, port &lt;code&gt;14147&lt;/code&gt;, no password).&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;Edit &amp;gt; Settings&lt;/strong&gt; to change the admin password.&lt;/li&gt;
&lt;li&gt;Create an FTP group:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;Group Icon&lt;/strong&gt; &amp;gt; &lt;strong&gt;Add Group&lt;/strong&gt; &amp;gt; Set name.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Shared Folders&lt;/strong&gt;, add your project directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create an FTP user:

&lt;ul&gt;
&lt;li&gt;Click &lt;strong&gt;User Icon&lt;/strong&gt; &amp;gt; &lt;strong&gt;Add User&lt;/strong&gt; &amp;gt; Set username and password.&lt;/li&gt;
&lt;li&gt;Assign the user to a group.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Test the setup by accessing &lt;code&gt;ftp://yourhostserver&lt;/code&gt; in a browser or Windows Explorer.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📧 Overview of Mercury Mail Server
&lt;/h2&gt;

&lt;p&gt;Mercury is a built-in mail server for managing email accounts within your organization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/7dcaUUlsMOg" rel="noopener noreferrer"&gt;https://youtu.be/7dcaUUlsMOg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Credits:&lt;/strong&gt; &lt;a href="https://youtu.be/7dcaUUlsMOg" rel="noopener noreferrer"&gt;Parag Dhali&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗 Configuring Tomcat for Java Applications
&lt;/h2&gt;

&lt;p&gt;Tomcat provides a &lt;strong&gt;Java-based web server environment&lt;/strong&gt;. By default, it runs on port &lt;code&gt;8080&lt;/code&gt;, and user roles need to be configured.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Configuring Tomcat Users
&lt;/h3&gt;

&lt;p&gt;Add this to &lt;code&gt;tomcat-users.xml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;tomcat-users&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;role&lt;/span&gt; &lt;span class="na"&gt;rolename=&lt;/span&gt;&lt;span class="s"&gt;"admin-gui"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;role&lt;/span&gt; &lt;span class="na"&gt;rolename=&lt;/span&gt;&lt;span class="s"&gt;"manager-gui"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;user&lt;/span&gt; &lt;span class="na"&gt;username=&lt;/span&gt;&lt;span class="s"&gt;"username"&lt;/span&gt; &lt;span class="na"&gt;password=&lt;/span&gt;&lt;span class="s"&gt;"yourpasswordhere"&lt;/span&gt; &lt;span class="na"&gt;roles=&lt;/span&gt;&lt;span class="s"&gt;"admin-gui,manager-gui"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tomcat-users&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Open XAMPP Control Panel.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Config &amp;gt; tomcat-users.xml&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Paste the above XML snippet inside the file.&lt;/li&gt;
&lt;li&gt;Restart the Tomcat service.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🎉 All Set for Development!
&lt;/h2&gt;

&lt;p&gt;That’s it! Your XAMPP environment is now fully configured for local development.&lt;/p&gt;

&lt;p&gt;💬 &lt;em&gt;Got questions or suggestions? Drop them in the comments below!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>mysql</category>
      <category>apache</category>
    </item>
    <item>
      <title>How I Started My Dev Journey</title>
      <dc:creator>Carl Angelo Nievarez</dc:creator>
      <pubDate>Mon, 09 Mar 2020 19:35:11 +0000</pubDate>
      <link>https://dev.to/aice09/when-i-start-to-jump-into-programming-5d9o</link>
      <guid>https://dev.to/aice09/when-i-start-to-jump-into-programming-5d9o</guid>
      <description>&lt;h1&gt;
  
  
  💡 How I Started My Dev Journey
&lt;/h1&gt;

&lt;p&gt;Today, I found myself diving deep into dev articles written by my fellow developers. Then, a simple question popped into my head: &lt;em&gt;"When did I actually start this path?"&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;I smiled, got up from my bed, and here I am—writing my very first dev post.  &lt;/p&gt;

&lt;h2&gt;
  
  
  🎓 College Days: The Struggle Was Real
&lt;/h2&gt;

&lt;p&gt;I still remember those days in college. During my first two years studying IT, programming wasn't my thing. C++? Didn’t get it. Visual Basic? Hated it. MS Access? Completely lost. 😅  &lt;/p&gt;

&lt;p&gt;I used to doze off during database classes. Every time the command line interface popped up and the instructor started typing commands, I zoned out. I had zero energy to participate—I simply didn’t understand what was happening.  &lt;/p&gt;

&lt;h2&gt;
  
  
  💾 Chapter 2: The Turning Point
&lt;/h2&gt;

&lt;p&gt;Fast forward to my third year. Another database subject, another command line interface—but this time with a new instructor, Mr. Galang. He introduced us to MySQL, and somehow, things started to click. &lt;em&gt;SELECT, WHERE, UPDATE,&lt;/em&gt; and &lt;em&gt;DELETE&lt;/em&gt;—those four commands became my best friends.  &lt;/p&gt;

&lt;p&gt;He also introduced us to HTML and CSS, and I remember watching a video tutorial on creating a shopping cart. That was the moment I actually enjoyed coding.  &lt;/p&gt;

&lt;p&gt;We then moved on to PHP and learned how to connect it to MySQL. I was amazed the first time I saw data from that black command prompt appear on a browser. It felt like magic! ✨  &lt;/p&gt;

&lt;h3&gt;
  
  
  🎵 &lt;em&gt;I Got Rhythm&lt;/em&gt; — My First Big Project
&lt;/h3&gt;

&lt;p&gt;For one of our major projects, our group of four (2 girls, 2 boys) had to create an app using PHP and MySQL. I pitched the idea of a web-based music player called &lt;em&gt;I Got Rhythm&lt;/em&gt;—this was back in 2014, and I had no clue what Spotify was.  &lt;/p&gt;

&lt;p&gt;I had the concept, the name, and a simple UI in mind. But there was a problem—I only knew four SQL commands, and integrating them into PHP was a nightmare. Even basic things like login with sessions were a struggle. To make things worse, we had no internet for research—just a saved copy of W3Schools.  &lt;/p&gt;

&lt;p&gt;After three grueling days, we realized we needed help.  &lt;/p&gt;

&lt;p&gt;We called a friend—the best in our batch—to assist us. We cooked food as a thank you and handled the documentation while he worked his magic. I explained my vision, and he brought it to life: user login, music uploads, downloads, likes, and even a like counter. It all worked perfectly. 🎉  &lt;/p&gt;

&lt;p&gt;The day we presented it, we won 1st place. The crowd clapped, my friend clapped, and we even got a prize. But deep down, I felt disappointed—I designed the project, but I barely coded it. Despite the recognition, I felt like I hadn’t truly earned it.  &lt;/p&gt;

&lt;h2&gt;
  
  
  💻 The Real Start of My Dev Life
&lt;/h2&gt;

&lt;p&gt;That disappointment became my drive. I dived into PHP, MySQL, HTML, and CSS. By my fourth year, a friend introduced me to Bootstrap (version 2 or 3.2 back then), and I was hooked. I explored templates, plugins, and really got into frontend design.  &lt;/p&gt;

&lt;h3&gt;
  
  
  💼 Internship: Leveling Up
&lt;/h3&gt;

&lt;p&gt;During my internship at the Information and Communication Technology Office of our main campus, I got introduced to Yii2—a PHP framework. That opened a whole new world for me. I learned about:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📧 PHPMailer for emails
&lt;/li&gt;
&lt;li&gt;🔑 Login with email verification &amp;amp; password recovery
&lt;/li&gt;
&lt;li&gt;📊 Generating reports with MPDF &amp;amp; FPDF
&lt;/li&gt;
&lt;li&gt;🗺️ Integrating Google Maps (lat/long)
&lt;/li&gt;
&lt;li&gt;📁 CSV import/export
&lt;/li&gt;
&lt;li&gt;🏛️ Government website standards (iGov for the Philippines)
&lt;/li&gt;
&lt;li&gt;🖼️ Foundation framework
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But even with all this knowledge, my thesis project didn’t win any awards. As the team leader, it felt like a personal failure. Another heavy hit. 💔  &lt;/p&gt;

&lt;h2&gt;
  
  
  🧭 Post-College: Finding My Way
&lt;/h2&gt;

&lt;p&gt;After graduation, I stopped coding out of disappointment. I focused on graphic design and networking instead. I applied for graphic designer and tech support roles in Manila but ended up jobless for 7 months.  &lt;/p&gt;

&lt;p&gt;Then, just as I was about to give up and go home, I landed a job. And guess what? It was as a &lt;strong&gt;Web Developer&lt;/strong&gt;. Life has a funny way of bringing you back to what you’re meant to do.  &lt;/p&gt;

&lt;p&gt;The company had everything I loved—graphic design, CAD, networking, and programming—all in one place. Destiny? Maybe.  &lt;/p&gt;

&lt;h3&gt;
  
  
  ⚡️ The Developer Grind
&lt;/h3&gt;

&lt;p&gt;In my first year as a web developer, I was introduced to technologies I once hated:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💾 ASP.NET, C#, VB
&lt;/li&gt;
&lt;li&gt;📊 MS Access, MySQL
&lt;/li&gt;
&lt;li&gt;🖥️ IIS configuration
&lt;/li&gt;
&lt;li&gt;🗄️ Oracle DB
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But this time, I embraced them. I even introduced PHP and suggested using CodeIgniter as our framework. I learned database tools like Navicat and HeidiSQL and expanded my skills in hosting, domain settings, and site deployment.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“I am always doing that which I cannot do, in order that I may learn how to do it.”&lt;/em&gt;&lt;br&gt;&lt;br&gt;
— Pablo Picasso  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Over the next two years, I pushed myself further:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 Joined communities like Stack Overflow, GitHub, GitLab, and Bitbucket
&lt;/li&gt;
&lt;li&gt;💾 Explored NoSQL databases: MongoDB, Neo4J, CouchDB, Redis
&lt;/li&gt;
&lt;li&gt;🐘 Worked with PostgreSQL and SQLite
&lt;/li&gt;
&lt;li&gt;🤖 Played around with Android Studio, Python, and Ruby
&lt;/li&gt;
&lt;li&gt;📡 Set up Gitea &amp;amp; Gogs
&lt;/li&gt;
&lt;li&gt;🐧 Used Linux OS and even experimented with Hackintosh
&lt;/li&gt;
&lt;li&gt;💡 Learned frontend tricks with JSFiddle &amp;amp; CodePen
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Somewhere along the way, I unknowingly mastered JavaScript, AJAX, JSON, and even fell in love with VueJS. 😍  &lt;/p&gt;

&lt;h2&gt;
  
  
  📚 Educate Yourself
&lt;/h2&gt;

&lt;p&gt;When a question on a certain topics pops up, google it. Watch movies and documentaries. When something sparks your interest, read about it. Read read read. Study, learn, stimulate your brain. Don't just rely on the school system, educate that beautiful mind of yours. 💡  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Found this advice on Pinterest and it stuck with me.)&lt;/em&gt;  &lt;/p&gt;




&lt;p&gt;Looking back, every struggle, every failure, and every success led me here—to being a dev today. And honestly, I wouldn’t change a thing. 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
