<?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: Ilyas Filali</title>
    <description>The latest articles on DEV Community by Ilyas Filali (@nayetwolf).</description>
    <link>https://dev.to/nayetwolf</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%2F1191471%2F20a8a50f-d252-449e-93c9-c018e800e1a4.jpeg</url>
      <title>DEV Community: Ilyas Filali</title>
      <link>https://dev.to/nayetwolf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nayetwolf"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Sat, 23 Aug 2025 17:27:54 +0000</pubDate>
      <link>https://dev.to/nayetwolf/-80a</link>
      <guid>https://dev.to/nayetwolf/-80a</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/nayetwolf/keyboard-centric-computing-m68" class="crayons-story__hidden-navigation-link"&gt;keyboard-centric computing.&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 href="/nayetwolf" class="crayons-avatar  crayons-avatar--l  "&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%2F1191471%2F20a8a50f-d252-449e-93c9-c018e800e1a4.jpeg" alt="nayetwolf profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/nayetwolf" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ilyas Filali
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ilyas Filali
                
              
              &lt;div id="story-author-preview-content-1986860" 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="/nayetwolf" 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%2F1191471%2F20a8a50f-d252-449e-93c9-c018e800e1a4.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ilyas Filali&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;/div&gt;
          &lt;a href="https://dev.to/nayetwolf/keyboard-centric-computing-m68" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 4 '24&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/nayetwolf/keyboard-centric-computing-m68" id="article-link-1986860"&gt;
          keyboard-centric computing.
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/archlinux"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;archlinux&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/learning"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;learning&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/nayetwolf/keyboard-centric-computing-m68" 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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;9&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/nayetwolf/keyboard-centric-computing-m68#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;
            5 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>
      <category>tutorial</category>
      <category>archlinux</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>How Intense Gaming Sessions Can Affect Your Brain – And How to Regain Balance</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Mon, 21 Oct 2024 14:12:56 +0000</pubDate>
      <link>https://dev.to/nayetwolf/how-intense-gaming-sessions-can-affect-your-brain-and-how-to-regain-balance-d07</link>
      <guid>https://dev.to/nayetwolf/how-intense-gaming-sessions-can-affect-your-brain-and-how-to-regain-balance-d07</guid>
      <description>&lt;p&gt;Since a lot of us coders like to indulge a little too hard sometimes, or at least in my case…&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How Intense Gaming Sessions Can Affect Your Brain – And How to Regain Balance&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’ve ever felt drained, unfocused, or found it hard to enjoy everyday activities after an intense gaming session, you’re not alone. This experience might not just be mental exhaustion—it’s rooted in how your brain handles &lt;strong&gt;dopamine&lt;/strong&gt;, the chemical responsible for pleasure and reward.  &lt;/p&gt;

&lt;p&gt;In this article, we’ll explore &lt;strong&gt;how gaming impacts your brain&lt;/strong&gt;, why it can make other activities feel boring, and &lt;strong&gt;simple strategies to regain balance&lt;/strong&gt;. &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;How Dopamine Works During Gaming&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Dopamine is a neurotransmitter released in your brain whenever you experience something rewarding—whether it’s food, exercise, or social connection. Gaming, in particular, triggers frequent bursts of dopamine through:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Winning matches or completing levels&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlocking achievements&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progressing through quests or missions&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  How to Regain Balance
&lt;/h4&gt;

&lt;p&gt;Here are effective strategies to help you restore dopamine balance and rediscover joy in everyday activities:&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Signs of Dopamine Overload&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you’ve been gaming heavily, you might notice:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Increased boredom&lt;/strong&gt; with activities that used to be fun (reading, socializing, hobbies)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced focus&lt;/strong&gt; or mental fatigue, even after rest
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cravings for more gaming or stimulation&lt;/strong&gt; through social media, TV, or other fast-reward activities
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are symptoms of &lt;strong&gt;dopamine overstimulation&lt;/strong&gt;, and they can impact both productivity and well-being. But don’t worry—your brain can &lt;strong&gt;reset&lt;/strong&gt; and regain interest in other activities with some intentional changes.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjcm36v46slpjulozp97m.jpeg" alt=" " width="800" height="450"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Regain Mental Balance and Focus&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here are effective strategies to help you restore dopamine balance and rediscover joy in everyday activities:  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;1. Try a Dopamine Detox&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A &lt;strong&gt;dopamine detox&lt;/strong&gt; isn’t about quitting dopamine altogether. It involves taking short breaks from highly stimulating activities like gaming, so your brain can reset and resensitize its reward system.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How to do it:&lt;/strong&gt; Take 1-2 days off from gaming, social media, or binge-watching TV. Instead, engage in &lt;strong&gt;simple activities&lt;/strong&gt; like walking, journaling, or reading.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This brief detox can improve your ability to enjoy slower, more meaningful experiences again.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;2. Engage in “Slow Reward” Activities&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;To counterbalance the fast rewards of gaming, try activities that offer &lt;strong&gt;gradual and meaningful progress&lt;/strong&gt;. Over time, these activities will start to feel more satisfying:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exercise&lt;/strong&gt; (weightlifting, boxing, running)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative hobbies&lt;/strong&gt; (drawing, cooking, or writing)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning new skills&lt;/strong&gt; (coding, photography, or music)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also &lt;strong&gt;gamify&lt;/strong&gt; your non-gaming tasks by setting small goals with rewards—like earning points or treating yourself when completing chores or studying.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;3. Get Moving with Exercise&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Physical activity naturally increases dopamine and helps restore focus. Even 20-30 minutes of exercise—whether it’s lifting weights, boxing, or a walk—can improve mental clarity and mood.  &lt;/p&gt;

&lt;p&gt;Exercise also offers &lt;strong&gt;long-term cognitive benefits&lt;/strong&gt;, so it’s a great way to feel productive and energized, especially if you’re coming off a gaming binge.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;4. Create a Mindful Gaming Routine&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Gaming can still be part of a healthy lifestyle, but &lt;strong&gt;setting limits&lt;/strong&gt; will keep it from becoming overwhelming. Here are some ways to manage your sessions:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use a timer&lt;/strong&gt; to remind yourself to take breaks (5-10 minutes every hour).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set a cut-off time&lt;/strong&gt; to avoid gaming late into the night, which can affect sleep.
&lt;/li&gt;
&lt;li&gt;Balance gaming with &lt;strong&gt;real-world activities&lt;/strong&gt; (like exercising or socializing) to keep things in perspective.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These strategies prevent dopamine overload and help you maintain balance between virtual and real-world rewards.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;5. Fuel Your Brain with Nutrition and Supplements&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Proper nutrition can support dopamine regulation and brain health. Here are some easy ways to give your brain what it needs:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Eat tyrosine-rich foods&lt;/strong&gt;—like eggs, fish, avocados, and beans—to boost dopamine production.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Take Omega-3 supplements&lt;/strong&gt;, which you already have. They support cognitive function and improve mood.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Try L-Tyrosine supplements&lt;/strong&gt; if you need extra support with focus and motivation.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;6. Explore New and Novel Experiences&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Your brain loves &lt;strong&gt;novelty&lt;/strong&gt;, and trying new things can give you the dopamine boost you’re looking for—without needing to rely on gaming.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take up a new hobby or explore outdoor activities.
&lt;/li&gt;
&lt;li&gt;Attend social events or spend time with friends.
&lt;/li&gt;
&lt;li&gt;If you enjoy creative work, try art projects or writing challenges.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By diversifying your sources of pleasure and reward, you can regain excitement and avoid getting stuck in gaming loops.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;In Summary&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Intense gaming sessions can overload your brain with dopamine, making everyday activities feel uninteresting. But with some mindful strategies—like &lt;strong&gt;taking breaks&lt;/strong&gt;, &lt;strong&gt;engaging in gradual-reward activities&lt;/strong&gt;, &lt;strong&gt;exercising&lt;/strong&gt;, and &lt;strong&gt;nurturing your brain with good nutrition&lt;/strong&gt;—you can reset your dopamine system and rediscover joy in other parts of life.  &lt;/p&gt;

&lt;p&gt;Gaming can remain a fun hobby, but finding balance will help you stay focused, productive, and fulfilled outside of the virtual world.&lt;/p&gt;




&lt;p&gt;I hope this article helps anyone dealing with post-gaming mental fatigue. A little adjustment in habits goes a long way in regaining focus and joy in all areas of life!&lt;/p&gt;

</description>
      <category>advice</category>
    </item>
    <item>
      <title>keyboard-centric computing.</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Wed, 04 Sep 2024 14:36:43 +0000</pubDate>
      <link>https://dev.to/nayetwolf/keyboard-centric-computing-m68</link>
      <guid>https://dev.to/nayetwolf/keyboard-centric-computing-m68</guid>
      <description>&lt;h2&gt;
  
  
  A Guide to Mogg Your Mouse-Dependent Colleagues.
&lt;/h2&gt;

&lt;p&gt;Keyboard-centric computing Or "keyboard-driven workflow" It's a way of navigating and interacting with your computer primarily or exclusively using the keyboard, which can greatly enhance productivity and reduce reliance on a mouse, therefore making you faster. When you think about opening a program or switching to a browser tab, you'll do that right away, rather than picking up your mouse, visually searching for the thing you will click like a lost grandma trying to figure out Facebook, moving your cursor on top of it and clicking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful6gartbqkpy3g8zen7k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful6gartbqkpy3g8zen7k.jpg" alt=" " width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Ditch the Mouse – It’s a Crutch for the Weak&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftibdc3aqxdgswp6vsy3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftibdc3aqxdgswp6vsy3.gif" alt=" " width="498" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First things first, toss that mouse. Seriously, get it out of here. Nothing says, “I have no idea what I’m doing,” like flailing around with a mouse trying to close a tab. Real programmers navigate their digital domain with nothing but their keyboard, like a conductor leading a symphony—or a dictator ruling with an iron fist. Same thing, really.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Mogg:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The next time you see someone reaching for their mouse, give them a pitying look and say, “Still using training wheels, huh?” Then, open 20 tabs, close half of them, and switch between the remaining ones—all without touching a mouse. Bonus points if you do it while making eye contact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqlx6e7i9o46ou21gkzqw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqlx6e7i9o46ou21gkzqw.jpeg" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Master the Shortcuts – Because Efficiency is Sexy&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You know what’s sexy? Efficiency. You know what’s not? Watching some guy stumble through menus trying to find where to paste his code. Learn your keyboard shortcuts, and learn them well. It’s like having cheat codes for life, and who doesn’t love cheating? Wait, don’t answer that. The point is, shortcuts are the key to looking like you’re always in control, even when your code’s about to crash and burn.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2kr65lh1j5k7s1bg0ig.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk2kr65lh1j5k7s1bg0ig.gif" alt=" " width="356" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Essential Shortcuts to Learn:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ctrl + C / Ctrl + V&lt;/strong&gt; – Yeah, yeah, you already know these, but do you know how to do it without moving your pinky? Work on that finger dexterity, champ.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alt + Tab&lt;/strong&gt; – Switch between open applications faster than your manager can switch their opinion on whether or not you should use tabs or spaces.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ctrl + Shift + T&lt;/strong&gt; – Reopen that tab you closed when you panicked after accidentally deleting half your project. And do it like you meant to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When someone asks how you managed to refactor that code so quickly, just smirk and say, “It’s all in the fingers, pal.” Leave them guessing if you’re talking about coding or something else entirely.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l1w5mqhf8ypb58di0p3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l1w5mqhf8ypb58di0p3.gif" alt=" " width="600" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Learn a Tiling Window Manager – Because Real Men Don’t Manually Resize Windows&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You ever see those guys who are dragging windows around the screen, trying to get everything just right? Amateurs. Real programmers use tiling window managers that automatically arrange their workspace. i3wm, XMonad, bspwm—these are the tools of the pros. You don’t arrange windows; windows arrange themselves around you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0820o6mxcnbbsnb6po3o.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0820o6mxcnbbsnb6po3o.gif" alt=" " width="760" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to look the coolest, and get the girl you always wanted:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This is your chance Challenge your coworkers to a race. Tell them to open five programs, arrange them perfectly, and switch between them. While they’re still struggling with their mouse, you’re already halfway through your workday. When they ask how you did it, just say, “What, you don’t use a tiling window manager? What is this, 1995?”&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Embrace the Command Line – Because Clicking is for the Birds&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyin4pzr5ua4q0c6t2ic.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyin4pzr5ua4q0c6t2ic.gif" alt=" " width="450" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re still opening files and running scripts by clicking icons, you might as well be playing Minesweeper. The command line is where the real action happens. Want to compile your code? Run tests? Launch a nuclear missile? Do it all from the terminal. (Okay, maybe not the missile part…unless you’re working on some &lt;em&gt;really&lt;/em&gt; interesting projects.)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Use Vim (or Emacs) – Because Real Programmers Love Pain&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1q450kslgs5ve56qxpt.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1q450kslgs5ve56qxpt.gif" alt=" " width="498" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s get one thing straight: Vim is hard. It’s confusing, unintuitive, and sometimes feels like it was designed by someone who hates you. But once you master it, it’s like learning how to fight blindfolded—you’re just that much more badass. If you’re feeling particularly masochistic, go for Emacs. Either way, you’re in for a world of hurt…which is exactly why it’s so satisfying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For when that holy moment comes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When someone asks what text editor you use, scoff and say, “Vim, obviously.” If they don’t get it, just shake your head and mutter something about amateurs. Then, casually exit Vim without Googling how to do it first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6. Customize Your Split Keyboard – Because You’re Not Just a Programmer, You’re an artiste(in French)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwufrly0qaoh3nlafzqv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwufrly0qaoh3nlafzqv.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look, anyone can buy a keyboard off the shelf. But a real programmer builds their own. A split keyboard isn’t just a tool—it’s an extension of your soul. Customize those keys, program macros, and make it so you can navigate your entire computer without ever lifting your hands. By the time you’re done, your keyboard should look more like the cockpit of a fighter jet than something you type emails on.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;When someone asks why your keyboard looks like it was made by a mad scientist, tell them, “It’s customized for efficiency. You wouldn’t understand.” Then proceed to do something insane like close 10 tabs, resize your windows, and push code to GitHub—all in 10 seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion: The Path to Keyboard-Only Domination&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvw77ffy81xexoyvee3p4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvw77ffy81xexoyvee3p4.gif" alt=" " width="498" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s the thing: Being a keyboard-only programmer isn’t just about looking cool (though it does make you look cool as hell). It’s about taking control of your environment and working as efficiently as possible. The less you rely on a mouse, the more you’ll be in command of your workflow. And when you’re in command, you’re the alpha—plain and simple.&lt;/p&gt;

&lt;p&gt;So, go ahead. Toss that mouse, learn those shortcuts, and start mogging the hell out of your colleagues. Because at the end of the day, nothing says “I’m the boss” like navigating your entire digital world with nothing but your fingers and a smirk.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lmkadiwv88ft27z6ejh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lmkadiwv88ft27z6ejh.gif" alt=" " width="498" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And hey, if anyone asks how you got so good at it, just tell them, “I’m not here to click. I’m here to code.”&lt;/p&gt;

&lt;p&gt;Now, go forth and conquer.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>archlinux</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>Subnetting Basics Guide</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Thu, 08 Aug 2024 15:18:37 +0000</pubDate>
      <link>https://dev.to/nayetwolf/subnetting-basics-guide-3d6m</link>
      <guid>https://dev.to/nayetwolf/subnetting-basics-guide-3d6m</guid>
      <description>&lt;h3&gt;
  
  
  Understanding Subnetting: A Comprehensive Guide
&lt;/h3&gt;

&lt;p&gt;&lt;u&gt;Subnetting&lt;/u&gt; is a fundamental concept in computer networking that involves dividing a single network into smaller, more manageable sub-networks, or subnets. This technique enhances network performance and security, improves IP address allocation efficiency, and simplifies management. In this article, we will explore the basics of subnetting, the benefits it offers, and how to calculate and implement subnets.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is Subnetting?
&lt;/h4&gt;

&lt;p&gt;Subnetting is the process of taking a large network and breaking it down into smaller, logical sub-networks. Each subnet functions as an independent network, with its own range of IP addresses, but they all share the same network ID. This is achieved by manipulating the subnet mask, which is used to distinguish the network portion of an IP address from the host portion.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frsn9zkupbo31qom50u9h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frsn9zkupbo31qom50u9h.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
Chart Credit: gcore&lt;/p&gt;

&lt;h4&gt;
  
  
  Why Subnetting is Important
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Efficient IP Address Management&lt;/strong&gt;: By dividing a large network into smaller subnets, IP addresses can be allocated more effectively, reducing wastage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Security&lt;/strong&gt;: Subnetting allows for better control over network traffic, enabling segmentation and isolation of sensitive parts of the network.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Performance&lt;/strong&gt;: Smaller subnets reduce broadcast traffic, which can enhance network performance and reduce congestion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Troubleshooting&lt;/strong&gt;: Managing and troubleshooting smaller networks is easier compared to handling a single large network.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Understanding Subnet Masks
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx2n4b5tdwpsros8bw2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx2n4b5tdwpsros8bw2t.png" alt="Subnet Chart" width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A subnet mask is a 32-bit number that masks an IP address and divides it into network and host portions. It consists of a series of contiguous 1s followed by 0s. The number of 1s determines the network portion, while the 0s represent the host portion.&lt;/p&gt;

&lt;p&gt;For example, in the subnet mask &lt;code&gt;255.255.255.0&lt;/code&gt;, the first 24 bits are set to 1, indicating that the first 24 bits of the IP address are the network part, and the remaining 8 bits are for host addresses.&lt;/p&gt;

&lt;h4&gt;
  
  
  Calculating Subnets
&lt;/h4&gt;

&lt;p&gt;To create subnets, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Determine the Required Number of Subnets or Hosts&lt;/strong&gt;: Decide how many subnets or hosts per subnet you need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate the Number of Bits Needed&lt;/strong&gt;: Use the formula &lt;code&gt;2^n &amp;gt;= number of subnets&lt;/code&gt; to find the number of bits (n) required for subnetting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adjust the Subnet Mask&lt;/strong&gt;: Extend the default subnet mask by the number of bits calculated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate the New Subnet Addresses&lt;/strong&gt;: Use the extended subnet mask to determine the range of IP addresses for each subnet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrl0uyll5g6mpur9eogj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrl0uyll5g6mpur9eogj.png" alt="Network-and-host-bits" width="677" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This example shows how a network mask divides an IP address into its network, subnet, and host portions.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Calculation
&lt;/h4&gt;

&lt;p&gt;Let's assume we have a Class C network &lt;code&gt;192.168.1.0/24&lt;/code&gt; and we need 4 subnets.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Number of Subnets Needed&lt;/strong&gt;: 4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate Bits Needed&lt;/strong&gt;: &lt;code&gt;2^n &amp;gt;= 4&lt;/code&gt; → &lt;code&gt;n = 2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adjust Subnet Mask&lt;/strong&gt;: The original mask is &lt;code&gt;/24&lt;/code&gt; (255.255.255.0). We add 2 bits for the subnet, resulting in a &lt;code&gt;/26&lt;/code&gt; mask (255.255.255.192).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculate Subnet Addresses&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Subnet 1: &lt;code&gt;192.168.1.0 - 192.168.1.63&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Subnet 2: &lt;code&gt;192.168.1.64 - 192.168.1.127&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Subnet 3: &lt;code&gt;192.168.1.128 - 192.168.1.191&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Subnet 4: &lt;code&gt;192.168.1.192 - 192.168.1.255&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flen0p1o7uqsg8rbqjojt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flen0p1o7uqsg8rbqjojt.png" alt="IPv4 Classes and Subnet Masks" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chart credit: gcore&lt;br&gt;
check there in Depth article on &lt;a href="https://gcore.com/learning/what-is-a-subnet-how-subnetting-works/" rel="noopener noreferrer"&gt;What is a Subnet? | How it Works&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Each subnet has 64 IP addresses (including network and broadcast addresses), providing 62 usable addresses for hosts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Implementing Subnetting
&lt;/h4&gt;

&lt;p&gt;To implement subnetting in a network:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan the Subnet Structure&lt;/strong&gt;: Define the number of subnets and the size of each subnet based on organizational needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configure Network Devices&lt;/strong&gt;: Update routers and switches with the new subnet information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assign IP Addresses&lt;/strong&gt;: Allocate IP addresses to devices within each subnet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update Documentation&lt;/strong&gt;: Maintain updated network documentation reflecting the new subnet structure.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;Subnetting is a core technique for network design and management. Subnetting provides many benefits for network efficiency, security, and performance. By learning and implementing subnetting techniques, network administrators can create networks that can be scaled and managed. Whether you are studying for a network certification exam or looking to improve your organization's network, mastering this skill is vital in computer networking. &lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                Ilyas Filali
                                 @nayetwolf 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




</description>
      <category>cybersecurity</category>
      <category>network</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Common Ports and Protocols</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Thu, 01 Aug 2024 22:43:24 +0000</pubDate>
      <link>https://dev.to/nayetwolf/common-ports-and-protocols-2nb9</link>
      <guid>https://dev.to/nayetwolf/common-ports-and-protocols-2nb9</guid>
      <description>&lt;h2&gt;
  
  
  Common Ports and Protocols: The Backbone of Network Communication
&lt;/h2&gt;

&lt;p&gt;Understanding how data is exchanged over networks is fundamental for anyone diving into the world of computer science, cybersecurity, or IT in general. At the core of this understanding lie ports and protocols, which together form the foundation of network communication. Let's explore what these terms mean and why they're so crucial.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are Ports and Protocols?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Protocols&lt;/strong&gt; are sets of rules that dictate how data is formatted, transmitted, and received over a network. They ensure that devices can communicate with each other effectively, despite differences in hardware, software, or operating systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ports&lt;/strong&gt;, on the other hand, are virtual channels that allow different services and applications to use network resources without interfering with each other. Each port is identified by a number, ranging from 0 to 65535. Ports help organize network traffic, ensuring that data intended for a specific application is directed to the correct destination.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkcbe68t9navarecvfz4m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkcbe68t9navarecvfz4m.jpg" alt=" " width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Protocols and Their Ports
&lt;/h3&gt;

&lt;h4&gt;
  
  
  TCP (Transmission Control Protocol)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;HTTP (Hypertext Transfer Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 80 (HTTP) and 443 (HTTPS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Used for transmitting web pages and other web resources on the World Wide Web.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HTTPS (HTTP Secure)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 443&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: HTTP over SSL/TLS, used for secure communication over the Internet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuv91213e1zgmqbyij8vy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuv91213e1zgmqbyij8vy.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FTP (File Transfer Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 20 (FTP Data) and 21 (FTP Control)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Used for transferring files between a client and server on a network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SSH (Secure Shell)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 22&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Provides secure access to a remote computer over a network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SMTP (Simple Mail Transfer Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 25&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Used for sending email messages between servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;POP3 (Post Office Protocol version 3)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 110&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Retrieves emails from a remote server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;IMAP (Internet Message Access Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 143&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Retrieves emails from a remote server, but allows for more advanced features compared to POP3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Telnet&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 23&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Provides bidirectional text-oriented communication between two networked devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;RDP (Remote Desktop Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 3389&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Allows one computer to connect to and control another computer over a network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  UDP (User Datagram Protocol)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 53&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Resolves domain names to IP addresses and vice versa.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DHCP (Dynamic Host Configuration Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 67 (Server) and 68 (Client)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Used by DHCP servers to assign IP addresses and other network configuration parameters to devices on a network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SNMP (Simple Network Management Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 161 (SNMP) and 162 (SNMP Trap)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Uses UDP for monitoring and managing network devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;TFTP (Trivial File Transfer Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 69&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: UDP-based protocol used for transferring files between a client and server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;NTP (Network Time Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 123&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Synchronizes the clocks of computer systems over a network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Syslog&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 514&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: UDP-based protocol used for sending log messages between network devices for system management and monitoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;VoIP (Voice over Internet Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Various ports&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Commonly used for real-time voice communication over the internet due to its low latency and minimal overhead.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;RIP (Routing Information Protocol)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: 520&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Used for exchanging routing information between routers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsv5e8e4vo15nr7zr77ff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsv5e8e4vo15nr7zr77ff.png" alt=" " width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Importance of Knowing Ports and Protocols
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Understanding ports and protocols is crucial for securing a network. Many cyber attacks target specific ports, so knowing which services are running on which ports can help in implementing firewall rules and intrusion detection systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;: Network issues often stem from misconfigured ports or protocol settings. A solid grasp of common ports and protocols enables quicker diagnosis and resolution of connectivity problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Network Design&lt;/strong&gt;: Efficient network design and management rely on the proper configuration of ports and protocols. This ensures optimal performance and resource allocation across the network.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ports and protocols are fundamental to network communication, as they serve as the rules and pathways by which data can be exchanged. Whether you are a new computer scientist, an IT professional, or just someone who is curious about how the internet works, understanding these ideas is crucial. As you learn more about network technologies, this knowledge will serve as a valuable resource for helping you to navigate the digital landscape. This is just the tip of the iceberg. There are many more ports and protocols to learn about, each with a specific role in the tapestry of network communication! &lt;/p&gt;

</description>
      <category>network</category>
      <category>cybersecurity</category>
      <category>tutorial</category>
      <category>portsandprotocols</category>
    </item>
    <item>
      <title>How Does HTTPS Works?</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Tue, 30 Jul 2024 23:44:24 +0000</pubDate>
      <link>https://dev.to/nayetwolf/how-does-https-works-35mh</link>
      <guid>https://dev.to/nayetwolf/how-does-https-works-35mh</guid>
      <description>&lt;p&gt;In today's digital age, secure communication over the internet is more crucial than ever. Enter HTTPS, the protocol that keeps our online interactions safe and private. But how exactly does it work? Let's dive in and demystify this essential technology.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsl3p050n2cvojxzewqvr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsl3p050n2cvojxzewqvr.jpg" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is HTTPS?
&lt;/h2&gt;

&lt;p&gt;HTTPS stands for Hypertext Transfer Protocol Secure. It's an extension of HTTP, the foundation of data communication on the World Wide Web. The 'S' at the end is the key difference – it means the entire communication between your browser and the website is encrypted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmcdespm57e62g90p9nlg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmcdespm57e62g90p9nlg.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
This diagram illustrates the basic HTTPS process, showing the interaction between the client, server, and certificate authority.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Key Players in HTTPS
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Client&lt;/strong&gt; (Your Browser)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server&lt;/strong&gt; (The Website)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certificate Authority&lt;/strong&gt; (CA)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The HTTPS Process: Step by Step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. SSL/TLS Handshake
&lt;/h3&gt;

&lt;p&gt;When you type "https://" before a web address, you're telling your browser to initiate a secure connection. This kicks off what's known as the SSL/TLS handshake.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Server Authentication
&lt;/h3&gt;

&lt;p&gt;The server sends its SSL certificate to your browser. This certificate contains the server's public key and is issued by a trusted Certificate Authority.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Certificate Verification
&lt;/h3&gt;

&lt;p&gt;Your browser checks if the certificate is valid and issued by a trusted CA.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Key Exchange
&lt;/h3&gt;

&lt;p&gt;Once verified, your browser and the server agree on a symmetric encryption key for that session.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Secure Communication
&lt;/h3&gt;

&lt;p&gt;With the symmetric key established, all further communication is encrypted, ensuring privacy and integrity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why HTTPS Matters
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Privacy&lt;/strong&gt;: Encrypts your data, preventing eavesdropping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrity&lt;/strong&gt;: Ensures data hasn't been tampered with during transmission.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: Verifies you're communicating with the intended website.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdnqx444s423hiwutlje6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdnqx444s423hiwutlje6.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
This diagram illustrates how data is encrypted during HTTPS communication, transforming readable text into encrypted data.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Visible Signs of HTTPS
&lt;/h2&gt;

&lt;p&gt;Next time you visit a website, look for these indicators of a secure HTTPS connection:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A padlock icon in the address bar&lt;/li&gt;
&lt;li&gt;"https://" at the beginning of the URL&lt;/li&gt;
&lt;li&gt;A green address bar (on some browsers, for sites with Extended Validation certificates)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By understanding how HTTPS works, you can better appreciate the security measures in place every time you browse the web. Stay safe out there!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>cybersecurity</category>
      <category>web3</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Deep Dive into Essential Directories</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Mon, 29 Jul 2024 19:10:32 +0000</pubDate>
      <link>https://dev.to/nayetwolf/deep-dive-into-essential-directories-1h8h</link>
      <guid>https://dev.to/nayetwolf/deep-dive-into-essential-directories-1h8h</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kz64wtxk9ejjofb9d1e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kz64wtxk9ejjofb9d1e.png" alt=" " width="800" height="670"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/bin — The Command Center/bin — The Command Center&lt;br&gt;
The &lt;code&gt;/bin&lt;/code&gt; directory is the command center of your Linux system. It houses essential binary files that are crucial for the system’s booting and basic functions. Programs like &lt;code&gt;bash&lt;/code&gt; (the default shell), &lt;code&gt;login&lt;/code&gt;, and &lt;code&gt;cp&lt;/code&gt; (for copying files) are found here. It’s important to note that the binaries in this directory are vital for system operation, so you should never modify or delete them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kebtagypbhvisb378nq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kebtagypbhvisb378nq.png" alt=" " width="693" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/boot — The Bootstrapper/boot&lt;br&gt;
When your computer powers on, the first place it looks for instructions on how to proceed is the &lt;code&gt;/boot&lt;/code&gt; directory. This directory contains the core assets required for booting the system, including the bootloader configuration and the Linux kernel image. Tampering with files in this directory can render your system unbootable, so exercise caution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farjsjpjzbs8py5rq14g9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farjsjpjzbs8py5rq14g9.png" alt=" " width="690" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/proc — A Window into Processes/proc&lt;br&gt;
The &lt;code&gt;/proc&lt;/code&gt; directory provides a window into the inner workings of your Linux system. It is a virtual filesystem maintained by the kernel, and it houses information about all running processes. Each process has a corresponding directory named after its process ID (PID), containing a wealth of information about that process. While you shouldn’t modify anything in this directory, it’s an excellent resource for monitoring and troubleshooting processes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1np1upcil02c3wrbwo6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1np1upcil02c3wrbwo6.png" alt=" " width="632" height="200"&gt;&lt;/a&gt;&lt;br&gt;
/var — The Hub of Variable Content/var&lt;br&gt;
The &lt;code&gt;/var&lt;/code&gt; directory is where files of variable size and content reside. Commonly, log files are stored here, making it an essential location for monitoring system activity and diagnosing issues. Additionally, web servers often store their frontend assets in &lt;code&gt;/var/www/html&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd9hbjaiys861tj5306m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd9hbjaiys861tj5306m.png" alt=" " width="690" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/mnt — Point for Devices/mnt&lt;br&gt;
By convention, all devices manually mounted onto the system are placed in the &lt;code&gt;/mnt&lt;/code&gt; directory. When you connect an external device or network share, Linux typically mounts it here. This directory keeps your mounted devices organized and easily accessible.&lt;/p&gt;

&lt;p&gt;/media — Automatic Device Mounting/media&lt;br&gt;
The &lt;code&gt;/media&lt;/code&gt; directory is reserved for the automatic mounting of devices, such as USB drives. When you plug in a USB drive, Linux takes care of mounting it in this directory, making it accessible to users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favbpq002vujyd696pqpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favbpq002vujyd696pqpl.png" alt=" " width="533" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/dev — Device Files Galore/dev&lt;br&gt;
The &lt;code&gt;/dev&lt;/code&gt; directory contains special files that represent all devices mounted on your system. For instance, when you attach a new EBS volume to your Linux-based EC2 instance, you’ll likely see it as “/dev/sda1”. Additionally, you may have encountered commands that send output to “/dev/null” to discard it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ys4rnb3dx95arcieast.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ys4rnb3dx95arcieast.png" alt=" " width="684" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/etc — Configuration and Initialization Scripts/etc&lt;br&gt;
&lt;code&gt;/etc&lt;/code&gt; is a critical directory housing system-wide configurations and scripts that run during system boot and initialization. What sets it apart is that all files within &lt;code&gt;/etc&lt;/code&gt; are text-only, making them easily readable and editable by administrators for system customization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyc7npaehenwnt9a8yg1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyc7npaehenwnt9a8yg1.png" alt=" " width="673" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/tmp — The Temp File Repository/tmp&lt;br&gt;
The &lt;code&gt;/tmp&lt;/code&gt; directory serves as a repository for temporary files generated by various processes. It’s important to note that files in &lt;code&gt;/tmp&lt;/code&gt; are typically deleted when you reboot your system, so it’s not a suitable location for storing important data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqtidcvpuvqob4jo8bq9o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqtidcvpuvqob4jo8bq9o.png" alt=" " width="378" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/lib — The Library of Dependencies/lib&lt;br&gt;
/lib contains libraries required by programs in &lt;code&gt;/bin&lt;/code&gt;. These libraries are essential for the proper functioning of these system-critical programs. In addition to &lt;code&gt;/lib&lt;/code&gt;, you may also come across &lt;code&gt;/usr/lib&lt;/code&gt;, which houses libraries for user-space programs, extending the support system for user applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9fz7lkjr8a9nh1xebbd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9fz7lkjr8a9nh1xebbd5.png" alt=" " width="412" height="127"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/root — The Root User’s Home&lt;br&gt;
The &lt;code&gt;/root&lt;/code&gt; directory is the exclusive home directory of the root user in Linux. As a regular user, you may not have access to this directory, as it’s reserved for system administration tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffh6wjcwse1j7r6jnboac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffh6wjcwse1j7r6jnboac.png" alt=" " width="342" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/usr — User’s Playground/usr&lt;br&gt;
The &lt;code&gt;/usr&lt;/code&gt; directory is where Linux users find a plethora of programs directly usable in their daily tasks. Exploring &lt;code&gt;/usr/bin&lt;/code&gt; unveils a treasure trove of user-friendly applications and utilities.&lt;/p&gt;

&lt;p&gt;/home — Personal User Spaces&lt;br&gt;
Last but not least, the &lt;code&gt;/home&lt;/code&gt; directory is where each regular user on the system has their personal space. For instance, if your username is “ben,” you’ll find your files and configurations in &lt;code&gt;/home/ben&lt;/code&gt;. Keep in mind that your access to other users’ home directories depends on your permissions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ed5f9kwx0ban93l5fsb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ed5f9kwx0ban93l5fsb.png" alt=" " width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>bash</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Common Network Commands</title>
      <dc:creator>Ilyas Filali</dc:creator>
      <pubDate>Wed, 24 Jul 2024 17:47:15 +0000</pubDate>
      <link>https://dev.to/nayetwolf/common-network-commands-1ahk</link>
      <guid>https://dev.to/nayetwolf/common-network-commands-1ahk</guid>
      <description>&lt;p&gt;Networking commands are tools used in operating systems to manage network connections, troubleshoot network issues, and gather information about network configurations.&lt;br&gt;&lt;br&gt;
The below mentioned commands are some of the most useful commands required to troubleshoot network problems and configure network settings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr347fjexj7ahtcltcxl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr347fjexj7ahtcltcxl9.png" alt=" " width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkzil231q7zvfj0gbl7e7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkzil231q7zvfj0gbl7e7.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The ip command in Linux is a powerful tool for network configuration and administration. The ip n subcommand, specifically, is used to display and manipulate the neighbor table, which contains information about devices (or neighbors) on the same network segment. This table is commonly used for IPv4 ARP (Address Resolution Protocol) and IPv6 neighbor discovery.&lt;br&gt;
Here's a breakdown of what ip n does:&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Display Neighbor Table&lt;/strong&gt;: By running ip n, you can view the entries in the neighbor table, which typically include IP addresses and corresponding MAC addresses of devices that the local system has recently communicated with.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Flush Neighbor Entries&lt;/strong&gt;: You can flush (delete) entries from the neighbor table using the ip n flush command followed by specific options. This can be useful for troubleshooting or clearing outdated entries.&lt;br&gt;
• For example, to flush all ARP entries:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpolmfa3ta91nes0z4bav.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpolmfa3ta91nes0z4bav.png" alt=" " width="800" height="245"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add or Modify Entries&lt;/strong&gt;: The ip n command can also be used to manually add or modify entries in the neighbor table. This is less common in practice but can be useful for certain networking scenarios.&lt;br&gt;
For example, to add a static ARP entry:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg3mljdczj81xqc47n8pz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg3mljdczj81xqc47n8pz.png" alt=" " width="800" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Where:&lt;br&gt;
•  is the IP address of the neighbor.&lt;br&gt;
•  is the MAC address of the neighbor.&lt;br&gt;
•  is the network interface name.&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;Refresh Entries&lt;/strong&gt;: Some implementations of ip n also allow for refreshing neighbor entries. This can be useful in situations where you want to update an existing entry without deleting and re-adding it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In summary, the ip n command provides a way to view, manage, and manipulate the neighbor table, which stores information about devices on the same network segment. It's particularly useful for troubleshooting network connectivity issues and managing ARP cache entries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktmr0qu5xzdsa9r69kp4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktmr0qu5xzdsa9r69kp4.png" alt=" " width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;arp -a&lt;/code&gt; command is used to display the ARP (Address Resolution Protocol) cache or table on a system. ARP is used to map IP addresses to MAC addresses on a local network. The ARP cache maintains a mapping of IP addresses to MAC addresses for devices that the system has recently communicated with.&lt;/p&gt;

&lt;p&gt;Here's what &lt;code&gt;arp -a&lt;/code&gt; does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Display ARP Cache&lt;/strong&gt;: When you run &lt;code&gt;arp -a&lt;/code&gt; on a command line interface, it shows a list of entries in the ARP cache. Each entry typically includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Internet Address&lt;/strong&gt;: The IP address of a device on the local network.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Physical Address&lt;/strong&gt;: The MAC address (hardware address) associated with the corresponding IP address.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type&lt;/strong&gt;: The type of ARP entry, which is usually "dynamic" for dynamically learned entries, or "static" for manually configured entries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Information for All Interfaces&lt;/strong&gt;: The &lt;code&gt;-a&lt;/code&gt; option in the &lt;code&gt;arp&lt;/code&gt; command specifies that information for all network interfaces should be displayed. This ensures that the ARP cache for all interfaces on the system is shown.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Refresh ARP Cache&lt;/strong&gt;: Running &lt;code&gt;arp -a&lt;/code&gt; can also trigger the ARP cache to be refreshed. This means that the system may send ARP requests for devices that it needs to communicate with but doesn't have an entry for in its cache.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Diagnostic Tool&lt;/strong&gt;: &lt;code&gt;arp -a&lt;/code&gt; is often used as a diagnostic tool for troubleshooting network connectivity issues. By examining the ARP cache, you can verify whether the system has the necessary mappings between IP addresses and MAC addresses for devices on the local network.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Static ARP Entries&lt;/strong&gt;: Some systems allow administrators to manually add static ARP entries to the cache. These entries are typically configured to ensure that specific IP addresses are always associated with specific MAC addresses. When you run &lt;code&gt;arp -a&lt;/code&gt;, any static ARP entries will be displayed along with dynamically learned entries.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;In summary, &lt;code&gt;arp -a&lt;/code&gt; is a command-line tool used to view the ARP cache on a system, providing information about IP-to-MAC address mappings for devices on the local network. It's commonly used for network troubleshooting and diagnostics.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuaeuulwkhw0glyyews5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuaeuulwkhw0glyyews5d.png" alt=" " width="635" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fso5jp7mfz41jdaxlb60p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fso5jp7mfz41jdaxlb60p.png" alt=" " width="629" height="659"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuqw1o948b39eqowd3se.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnuqw1o948b39eqowd3se.png" alt=" " width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Curl is a versatile command-line tool used for transferring data to or from a server, supporting various protocols such as HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, and more. It's commonly used for tasks like fetching web pages, uploading files, testing APIs, and debugging network-related issues. Here's an overview of how Curl works and some common use cases:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zrb4t8vo0wcv0h5h4wa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zrb4t8vo0wcv0h5h4wa.png" alt=" " width="634" height="654"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8rrnzdqmd9aqbq98g8pe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8rrnzdqmd9aqbq98g8pe.png" alt=" " width="638" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These are just a few examples of what Curl can do. Its flexibility and support for various protocols make it a powerful tool for interacting with servers and debugging network communications from the command line.  &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>network</category>
      <category>cybersecurity</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
