<?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: TUNDE OGUNMODEDE</title>
    <description>The latest articles on DEV Community by TUNDE OGUNMODEDE (@tunde1).</description>
    <link>https://dev.to/tunde1</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4141756%2F2e15a2a3-43c3-4548-a9ad-f74f41f70237.jpg</url>
      <title>DEV Community: TUNDE OGUNMODEDE</title>
      <link>https://dev.to/tunde1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tunde1"/>
    <language>en</language>
    <item>
      <title>Learning Notes</title>
      <dc:creator>TUNDE OGUNMODEDE</dc:creator>
      <pubDate>Sat, 26 Sep 2026 22:20:33 +0000</pubDate>
      <link>https://dev.to/tunde1/learning-notes-289g</link>
      <guid>https://dev.to/tunde1/learning-notes-289g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; These are my learning notes from my current phase. I am keeping them as I wrote them so I can look back and see my progress.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;watched a 1 hour history of linux, basically where it cme from, how it came by and the early struggles(on 1.5x). &lt;/p&gt;

&lt;h2&gt;
  
  
  Next: bash scripting and command lines for beginners.
&lt;/h2&gt;

&lt;p&gt;A bash script is a file containing sequence of command executed but bash program line by line. like a file where the command lines are saved so you dont need to retype them everytime. &lt;/p&gt;

&lt;p&gt;downloaded and install linux, and ubuntu and did the installation. used sudo hostnamectl set hostname devbox and then used sudo nano /etc/hosts to edit my terminal name. &lt;/p&gt;

&lt;p&gt;the superuser shell uses # as it anchor while normal user uses $ sign. &lt;/p&gt;

&lt;p&gt;i wrote my first script. to write your script you need the she bang which tell the terminal how to run the script. #!/bin/bash and you follow it with your script. &lt;br&gt;
echo command litrary echos whatever you write back to you. read pauses the script so you can input and $ holds the value of your variable. to write a date now here is how to write.&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="c"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; “Today is &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nb"&gt;date&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt; or &lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;date&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;”

&lt;span class="nb"&gt;echo&lt;/span&gt; “where &lt;span class="k"&gt;do &lt;/span&gt;you want the response to be” 

&lt;span class="nb"&gt;read&lt;/span&gt; “path”

&lt;span class="nb"&gt;echo&lt;/span&gt; “This is all the responses &lt;span class="k"&gt;in &lt;/span&gt;this path”

&lt;span class="nb"&gt;ls&lt;/span&gt; “&lt;span class="nv"&gt;$path&lt;/span&gt;”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: $(…..) means run the command inside the bracket. &lt;/p&gt;

&lt;p&gt;“$name means the name is holding a value. &lt;/p&gt;

&lt;p&gt;chmod u+x filename makes the file executable, before that, the file is just text. &lt;/p&gt;

&lt;p&gt;\n is new line&lt;/p&gt;

&lt;p&gt;-e make it easy to interpret the \n. without the -e, it will not render in a new line.  it will render literary.&lt;/p&gt;

&lt;p&gt;done &amp;lt; .txt. this take input from the text file. Let say the text file name is name.txt.  to take input from it, i will use &amp;lt;name.txt.  &lt;/p&gt;

&lt;p&gt;$1 this mean you input data at the execution point. e.g ./name Wale. output would be “My name is wale” &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;COMMAND&lt;/th&gt;
&lt;th&gt;WHAT IT DOES&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ls&lt;/td&gt;
&lt;td&gt;→ list directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ls &amp;gt; output.txt&lt;/td&gt;
&lt;td&gt;→ list directory → save output to file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cat output.txt&lt;/td&gt;
&lt;td&gt;→ display contents of file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ls output.txt&lt;/td&gt;
&lt;td&gt;→ list the file itself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;echo macho&lt;/td&gt;
&lt;td&gt;→ produce "macho"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;echo macho &amp;gt; file&lt;/td&gt;
&lt;td&gt;→ produce "macho" → Overite the existiing file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;done &amp;lt; output.txt&lt;/td&gt;
&lt;td&gt;→ takes input from the text file&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  while loop. sample
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; &lt;span class="nt"&gt;-le&lt;/span&gt; 5 &lt;span class="o"&gt;]](&lt;/span&gt;logic, &lt;span class="k"&gt;if &lt;/span&gt;i is less or equal to 1&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;do&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;action&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; “&lt;span class="nv"&gt;$i&lt;/span&gt;” &lt;span class="o"&gt;(&lt;/span&gt;write i&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;((&lt;/span&gt; &lt;span class="nv"&gt;$i&lt;/span&gt; +&lt;span class="o"&gt;=&lt;/span&gt; 1&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;add 1 everytime till it equals to 5&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;done&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  for loop. sample
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 &lt;span class="o"&gt;(&lt;/span&gt;var name&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for &lt;/span&gt;i &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;1…5&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;logic&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;action.. &lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; “&lt;span class="nv"&gt;$i&lt;/span&gt;”&lt;span class="o"&gt;(&lt;/span&gt;write&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;done&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;done&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Case Settlements: means bash goes through muultiple case’s you’ve built and return with the most correct and if it cant find the correct, it return with the preset alternative.
&lt;/h2&gt;

&lt;p&gt;eg.&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="nv"&gt;fruit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;”apple”

&lt;span class="k"&gt;case&lt;/span&gt; fruit &lt;span class="nv"&gt;$fruit&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; 

“apple”&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; “This is a red fruit.”

&lt;span class="p"&gt;;;&lt;/span&gt;

“orange”&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; “This is an Orange fruit”

&lt;span class="p"&gt;;;&lt;/span&gt;

&lt;span class="k"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; “This is not a fruit.”

&lt;span class="p"&gt;;;&lt;/span&gt;

&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;bash will check if there is apple in the script and return what echos the text for apple and if it couldn’t find it. it returns what was set to *). &lt;/p&gt;

&lt;h2&gt;
  
  
  Degugging.
&lt;/h2&gt;

&lt;p&gt;To debut a script that isnt working, you use set -x at the section where you think the error is or you could just put it after the shebang and it will run through the script and give you the feedback. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;. What cron does&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Cron automatically runs commands/scripts at scheduled times.&lt;/p&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Run this script for me every day at 2 AM."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Know the five fields&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* * * * *
│ │ │ │ │
│ │ │ │ └── weekday
│ │ │ └──── month
│ │ └────── day of month
│ └──────── hour
└────────── minute
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You don't need to memorize every possible combination yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Know these two commands&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;crontab &lt;span class="nt"&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;→ See your scheduled cron jobs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;crontab &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;→ Edit/add your cron jobs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Understand one simple example&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;0 0 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; /path/to/script.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Run &lt;code&gt;script.sh&lt;/code&gt; at &lt;strong&gt;00:00 (midnight), every day&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And:&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="k"&gt;*&lt;/span&gt;/5 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; /path/to/script.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Run it &lt;strong&gt;every 5 minutes&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What I'd skip for now
&lt;/h3&gt;

&lt;p&gt;Don't spend time memorizing things like:&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 1-7 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt;
0 6 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; 1-5
&lt;span class="k"&gt;*&lt;/span&gt;/17 2-4 3-8 ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Computer Networking&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;LAN → ETHERNET &lt;/p&gt;

&lt;p&gt;MAC(media access control)  address is an identifier for each system. &lt;/p&gt;

&lt;p&gt;CSMA(carrier sense multiple access) → any share transmition that carries date eg cable network or wifi. &lt;/p&gt;

&lt;p&gt;bandwidth is the rate at which a transmiter carries data.  &lt;/p&gt;

&lt;p&gt;Exponential Backoff: to fix the network traffic by making one computer wait in a random time (e.g 1.3secs) to transmit data to reduce collusion. &lt;/p&gt;

&lt;p&gt;Collusion domain: this is using a netwrok switch which sit betwen small network ( Read more on this) &lt;/p&gt;

&lt;p&gt;Routine: Allocating a communition line for their exclusive use&lt;/p&gt;

&lt;p&gt;Circuit switch: **&lt;/p&gt;

&lt;p&gt;message switching: **&lt;/p&gt;

&lt;p&gt;Hop count: The number of hops a message tales along a route is called the hop count&lt;/p&gt;

&lt;p&gt;Packet: A small pieces of message that contains the destination address on the network so router know where to forward them. &lt;/p&gt;

&lt;p&gt;IP: this is internet protocol. an identifier. &lt;/p&gt;

&lt;p&gt;Congestion control: Load balance&lt;/p&gt;

&lt;p&gt;TCP IP: &lt;br&gt;
internet control message protocol(ICMP)&lt;/p&gt;

&lt;p&gt;Border gateway protocol(BGP) &lt;/p&gt;

&lt;p&gt;IoT&lt;/p&gt;

&lt;p&gt;ipv4: is a 32bit data that allows for 232 ip addresses or about 4.3billion unique ips(4 digits)&lt;/p&gt;

&lt;p&gt;ipv6: a 128bit data that allows for 2128 unique ips. (38 digits)&lt;/p&gt;

&lt;p&gt;IP types - Static and dynamic IP&lt;br&gt;
Static: is a permanent IP address whike dynamic is a temporary Ip address&lt;/p&gt;

&lt;h3&gt;
  
  
  DNS(Domain name system): This is internet phonebook where all internet website is saved. it works by translating the website into the Ip address so user can access the website.
&lt;/h3&gt;

&lt;p&gt;Types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Recursor&lt;/strong&gt; → actively goes looking for the answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Root&lt;/strong&gt; → points it toward the correct TLD.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TLD&lt;/strong&gt; → points it toward the authoritative server for that domain.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - &lt;strong&gt;Authoritative&lt;/strong&gt; → has the actual DNS record/answer.
&lt;/h2&gt;

&lt;p&gt;!image.png&lt;/p&gt;

&lt;p&gt;DNS caching:  This temporary stores the inital data results which results to faster response to queries. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is time-to-live (TTL) in networking?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Time to live (TTL) refers to the amount of time or “hops” that a packet is set to exist inside a network before being discarded by a router. TTL is also used in other contexts including CDN caching and DNS caching.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>bash</category>
      <category>linux</category>
      <category>newbie</category>
    </item>
  </channel>
</rss>
