<?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: Tech chronicles Weekly</title>
    <description>The latest articles on DEV Community by Tech chronicles Weekly (@tcweekly).</description>
    <link>https://dev.to/tcweekly</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%2F1044257%2F7d313267-f941-4932-b5f2-e097bf9bae61.png</url>
      <title>DEV Community: Tech chronicles Weekly</title>
      <link>https://dev.to/tcweekly</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tcweekly"/>
    <language>en</language>
    <item>
      <title>How to build and publish a Chrome extension using Javascript</title>
      <dc:creator>Tech chronicles Weekly</dc:creator>
      <pubDate>Tue, 06 Jun 2023 22:57:32 +0000</pubDate>
      <link>https://dev.to/tcweekly/how-to-build-and-publish-a-chrome-extension-using-javascript-37oj</link>
      <guid>https://dev.to/tcweekly/how-to-build-and-publish-a-chrome-extension-using-javascript-37oj</guid>
      <description>&lt;p&gt;A Chrome extension is a small software program that extends the functionality of the Google Chrome web browser. Extensions can add new features to the browser, modify existing features, or even change the way the browser looks. Chrome extensions are software programs that help to customize a user’s browsing experience.&lt;/p&gt;

&lt;p&gt;They are designed to be easy to use and can be installed directly from the Chrome Web Store with just a few clicks. Once installed, an extension will appear as an icon in the Chrome toolbar and can be used to perform various tasks or access specific features. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why are Chrome Extensions Useful?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Improved productivity: Chrome extensions can help users save time and be more productive by automating tasks, organizing information, or providing quick access to valuable tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced security: Extensions can help protect users from online threats by blocking malicious websites, tracking cookies, or alerting them to potential scams.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customized browsing experience: Extensions can change the way a user interacts with the web by adding new functionality or altering the appearance of websites.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Access to exclusive features: Some extensions offer features that are not available on the web or in other browsers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved accessibility: Extensions can make the web more accessible to users with disabilities by providing text-to-speech functionality, magnifiers, or other assistive technologies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this article, we will be building a color picker Chrome extension using the Eyedropper Web API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Color Picker Chrome Extension
&lt;/h2&gt;

&lt;p&gt;A color picker Chrome extension is a tool that allows users to select and identify colors on websites and applications. It typically includes a color picker interface that can be activated by clicking on the extension icon in the Chrome toolbar. When the color picker is activated, users can hover their cursor over any element on the page and the extension will display the color code for that element.&lt;/p&gt;

&lt;h3&gt;
  
  
  EyeDropper Web API
&lt;/h3&gt;

&lt;p&gt;The EyeDropper API is a Web API that provides a technique for creating an eyedropper tool. This tool allows users to select colors from their screen and also access the value of the color selected. &lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s build a Color Picker Extension in 4 Simple Steps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Setup a Basic HTML File
&lt;/h3&gt;

&lt;p&gt;To start,create a basic HTML file with three main elements: a button that will serve as the eyedropper tool, a paragraph element to display the selected color's hexadecimal code, and a body tag to hold everything. The button will be clicked to activate the eyedropper tool, and the paragraph will show the hex code of the chosen color.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;


&amp;lt;head&amp;gt;
 &amp;lt;meta charset="UTF-8" /&amp;gt;
 &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /&amp;gt;
 &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
 &amp;lt;link rel="stylesheet" href="style.css" /&amp;gt;
&amp;lt;/head&amp;gt;


&amp;lt;body&amp;gt;
 &amp;lt;button id="selectBtn"&amp;gt;Open the colorpicker&amp;lt;/button&amp;gt;
 &amp;lt;p&amp;gt;The color code is : &amp;lt;br&amp;gt; &amp;lt;span id="result"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;
 &amp;lt;script src="/app.js"&amp;gt;&amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Setup a CSS file for Basic Styling
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body{
   width: 100%
}


button{
   background-color: #000000;
   color: #fff;
   border-radius: 10px;
   border: 1px solid #ffc0cb;
   margin-right: 1rem;
}


span {
   font-weight: bold ;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const selectBtn = document.getElementById("selectBtn");
const hexcode = document.getElementById("result");
const bgColor = document.querySelector("body");

const eyeDropper = new EyeDropper();

selectBtn.addEventListener("click", () =&amp;gt; {
 eyeDropper.open()
   .then((colorSelectResult) =&amp;gt; {
     hexcode.textContent = colorSelectResult.sRGBHex;
     bgColor.style.background = colorSelectResult.sRGBHex;
   })
   .catch((err) =&amp;gt; {
     hexcode.textContent = err;
   });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First, select the button, body, and paragraph element via the dom and assign them a variable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new instance of an EyeDropper object and store it in the eyeDropper variable and this allows you to use the API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next, add an event listener to the button element, and this event is triggered when a user clicks on the button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add an event listener to the &lt;code&gt;selectBtn&lt;/code&gt; element that listens for a "click" event and when the button is clicked, the event listener calls the &lt;code&gt;open()&lt;/code&gt; method of the eyeDropper object.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;code&gt;open()&lt;/code&gt; method returns a promise that resolves with an object containing the selected color's sRGB hexadecimal code, if the eyedropper tool is used successfully the resolved value is then used to update the text content of the &lt;code&gt;hexcode&lt;/code&gt; element and the background color of the &lt;code&gt;bgColor&lt;/code&gt; element.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lastly, you also want to catch any error that might occur while using the EyeDropper tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Create a Manifest.json file
&lt;/h3&gt;

&lt;p&gt;A &lt;code&gt;manifest.json&lt;/code&gt; file is a JSON file that is required for every Chrome extension. It contains important information about the extension, such as its name, version number, and the permissions it requires in order to function.&lt;/p&gt;

&lt;p&gt;The manifest.json file serves as a sort of "configuration file" for the extension and is used by the Chrome browser to understand how the extension should be installed and activated. Some of the specific things that a manifest.json file might include are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The extension's name and version number.&lt;/li&gt;
&lt;li&gt;The extension's icons and other graphical assets&lt;/li&gt;
&lt;li&gt;Description of the extension&lt;/li&gt;
&lt;li&gt;Any options or settings that the extension exposes to the user&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can either create the manifest.json from scratch or you can use a manifest.json file generator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
   "name": "Color Picker App",
   "version": "1.0.0",
   "description": "sample colors from your screen",
   "manifest_version": 3,
   "author": "Damilola ezekiel",
   "action":{
       "default_popup": "index.html",
       "default_title": "Color picker App"
   }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Publish to Chrome
&lt;/h3&gt;

&lt;p&gt;The final step in this tutorial is to publish the extension to chrome. This will make the extension available for use on the Chrome browser.&lt;/p&gt;

&lt;p&gt;There are two ways you can publish a Chrome extension. You can either publish an extension locally or on the Chrome web store. In this article, we will be focusing majorly on publishing the extension locally.&lt;/p&gt;

&lt;p&gt;To publish your Chrome extension locally, you’ll need to follow the steps below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From your Chrome browser, click on the three-dot icon.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ud9eQJ6V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xscyhlqcmtsjsvoovdbt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ud9eQJ6V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xscyhlqcmtsjsvoovdbt.png" alt="Navigate to extensions on chrome" width="800" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;code&gt;Extensions&lt;/code&gt; &amp;gt; &lt;code&gt;Manage Extensions&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O-Rn7znP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3aw2juollgq85z5td5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O-Rn7znP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3aw2juollgq85z5td5a.png" alt="Navigate to extensions on chrome" width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Toggle the developer mode on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DJhSW5P7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mua84350vqycef2rvtpi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DJhSW5P7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mua84350vqycef2rvtpi.png" alt="Toggle the developer mode on chrome" width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on the load unpacked button to import your file from your computer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the extension bar to pin your color picker extension and it will be ready for use.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U35-APTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b1c19rgfh5iphukk50pp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U35-APTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b1c19rgfh5iphukk50pp.gif" alt="Upload extension to chrome" width="600" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This extension will only work in your browser. If you'd like to make it available to the public by publishing it on the Chrome Web Store, follow this link.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building a Chrome extension with JavaScript is a straightforward process that can add useful features and functionality to your web browsing experience. With just a few lines of code and a  manifest.json file, you can create an extension that can manipulate web pages, communicate with servers, and interact with the user.&lt;/p&gt;

&lt;p&gt;With knowledge of HTML, CSS, and Javascript, you can build awesome Chrome extensions.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What is Virtualization: How to set up a Linux Virtual Machine with Virtual Box</title>
      <dc:creator>Tech chronicles Weekly</dc:creator>
      <pubDate>Wed, 31 May 2023 22:12:55 +0000</pubDate>
      <link>https://dev.to/tcweekly/what-is-virtualization-3jhp</link>
      <guid>https://dev.to/tcweekly/what-is-virtualization-3jhp</guid>
      <description>&lt;p&gt;Virtualization is the process of creating virtual instances of computing resources such as operating systems, CPU, storage, servers, etc. It involves abstracting the physical infrastructure and separating the software from the underlying hardware, allowing multiple virtual instances to run on a single physical machine or infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Virtual Machine?
&lt;/h2&gt;

&lt;p&gt;A virtual machine is the software emulation of a physical computer that acts as a separate computer with its operating system (OS ), CPU, and storage. It gives the ability to isolate and compartmentalize different computing environments.&lt;/p&gt;

&lt;p&gt;So you have a Windows machine running on a Windows operating system and you want to run or test an application that only works on another OS for example Linux. This means you need to get another computer and install the Linux OS to test that application. Instead of doing this, you can install a virtual machine that allows you to run Linux OS simultaneously with the Windows OS on your Windows machine. The virtual machine helps to isolate the Linux and Windows OS running on your computer without any interference.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Hypervisor?
&lt;/h2&gt;

&lt;p&gt;A Hypervisor is a software that creates and manages virtual machines(VM). It allows the hosting of multiple virtual computers on a physical computer. It allocates resources such as CPU, memory, and storage to the virtual machine without interfering with the operation of the physical computer. &lt;br&gt;
There are two types of hypervisor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Type 1:&lt;/strong&gt; This is also known as &lt;code&gt;Bare Metal hypervisor&lt;/code&gt; and it runs directly on the computer hardware instead of the operating system giving it direct access to the computer resources. It is mostly used by large organizations for their infrastructure common examples include VMware ESXi and Microsoft Hyper-v.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Type 2:&lt;/strong&gt;  The hypervisor is hosted on an existing operating system and it depends on the host computer for virtualization. It is mainly used for personal computers and end-to-end computing. This hypervisor is also known as &lt;code&gt;Hosted hypervisor&lt;/code&gt; and common examples include VirtualBox and VMware workstation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up a Linux (Ubuntu) Virtual Machine with VirtualBox
&lt;/h2&gt;

&lt;p&gt;Now that you’ve seen virtualization and virtual machines, I’ll show you how to install Linux (Ubuntu) Virtual Machine with VirtualBox.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;VirtualBox&lt;/code&gt; is an open-source virtual machine created by Oracle that allows you to create and host multiple operating systems on a physical computer. It is compatible and can run on any operating system including MacOS, Windows, Linux, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Install VirtualBox&lt;/p&gt;

&lt;p&gt;From the &lt;a href="https://www.virtualbox.org/wiki/Downloads"&gt;VirtualBox download page&lt;/a&gt;, select and download the package compatible with your computer’s operating system. Follow the installation process to have VirtualBox running on your machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3DGjkX5B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/szkfyx7f9ml44byzoyd0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3DGjkX5B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/szkfyx7f9ml44byzoyd0.png" alt="VirtualBox download page" width="800" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Download the ISO file.&lt;/p&gt;

&lt;p&gt;From the Ubuntu &lt;a href="https://ubuntu.com/download/desktop"&gt;website&lt;/a&gt;, download the ISO file for the Ubuntu operating system. An ISO file also known as ISO image is commonly used in virtual machines because it allows you to easily install an operating system or other software without needing a physical CD or DVD. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Setting up the Virtual machine environment&lt;/p&gt;

&lt;p&gt;Now that your VirtualBox is running, you can go ahead and create a virtual machine. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on &lt;code&gt;New&lt;/code&gt; to create an operating system and this will open up an interface to configure your operating system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U3mfOWVz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6xofsf9ijf4mctvzgk21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U3mfOWVz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6xofsf9ijf4mctvzgk21.png" alt="create a new vm" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next, you’ll see a prompt that allows you to enter the name of your virtual machine and VirtualBox will fill the type and version field based on what you entered. This can be changed afterward. You will also select the ISO file for the virtual machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DVDZjvmy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u59mixmq5ry0m6y74srd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DVDZjvmy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u59mixmq5ry0m6y74srd.png" alt="create a new vm" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next, you enter the username and password for your virtual machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8ugNJ9EI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1uhln15gv44vesqmnof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8ugNJ9EI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1uhln15gv44vesqmnof.png" alt="create a new vm" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign Ram storage and processor.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---eGa3HSL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3st8hvxnty2sci10af2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---eGa3HSL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3st8hvxnty2sci10af2g.png" alt="create a new vm" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add virtual hard disk to the virtual machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Px82R2J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yvh2fb7few43hnph1hkn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Px82R2J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yvh2fb7few43hnph1hkn.png" alt="create a new vm" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finally, you should see the summary of the configurations for your virtual machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O_uR1PXJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kx3i0ejna8ks6p83fcft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O_uR1PXJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kx3i0ejna8ks6p83fcft.png" alt="create a new vm" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on finish and allow the virtual machine to load the operating system selected. The operating system will require setup and when this is done, your machine should be up and running. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aHhT8lsp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y80y7p63od6ud8bktepd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aHhT8lsp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y80y7p63od6ud8bktepd.png" alt="create a new vm" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it!!! You now have a Linux operating system running on your virtual machine.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>virtualmachine</category>
    </item>
    <item>
      <title>What is an Operating System?: A Beginner's Guide</title>
      <dc:creator>Tech chronicles Weekly</dc:creator>
      <pubDate>Mon, 22 May 2023 23:56:09 +0000</pubDate>
      <link>https://dev.to/tcweekly/what-is-an-operating-system-a-beginners-guide-am2</link>
      <guid>https://dev.to/tcweekly/what-is-an-operating-system-a-beginners-guide-am2</guid>
      <description>&lt;p&gt;An &lt;code&gt;Operating system(OS)&lt;/code&gt; is software that manages resources between computer hardware and software. It acts as an intermediary and allows the user and computer hardware to interact. The Operating System plays an essential role in managing computer resources and enabling the execution of software applications. Just as the name implies, it executes all the operations in a computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does it work?
&lt;/h2&gt;

&lt;p&gt;The Operating System has a program called &lt;code&gt;Kernel&lt;/code&gt; which is loaded into the main memory from the storage device, which is either the hard drive or solid-state drive(SSD) when a computer is powered on. The &lt;code&gt;Kernel&lt;/code&gt; interacts with the computer programs and hardware components including the central processing unit (CPU), memory (RAM), storage devices, input/output (I/O) devices (keyboard, mouse, display), and network interfaces. So when you start a program, the &lt;code&gt;Kernel&lt;/code&gt; starts the process, allocates CPU resources, and cleans up the resources as soon as you close the program. It provides seamless interaction between hardware and software applications.&lt;/p&gt;

&lt;p&gt;Take, for instance, a user needs to use the Chrome browser application on the computer and there’s no operating system. Since software applications cannot interact with the hardware directly, the user has to manually communicate the details of every action to the hardware using code. So in a case where a user wants to run 5 applications at a go, this means that there has to be a written code for each of those applications to interact with the hardware and this can be very tedious and confusing. &lt;/p&gt;

&lt;p&gt;The Operating System takes away all these complexities by acting as the intermediary, thereby allowing software applications to interact with the hardware.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--waZi7NoE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fljv1r0ovt8erntqdpn2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--waZi7NoE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fljv1r0ovt8erntqdpn2.png" alt="An image to show how an operating system works" width="800" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Functions of the Operating System.
&lt;/h2&gt;

&lt;p&gt;The Operating System performs several functions in the computer including the allocation of resources and management. Here are some of the key functions of the OS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Process Management:&lt;/strong&gt;  The OS manages CPU resources by allocating CPU memory to a process. A process is an instance of a program running on a computer, this could be opening a new terminal window on your computer or starting your code editor application. Each process has an allocated CPU memory to avoid interfering with other processes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ydt9NejS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kmfk8pn5rhegsb0vbrg2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ydt9NejS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kmfk8pn5rhegsb0vbrg2.png" alt="Activity monitor for CPU usage" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Activity monitor for CPU usage&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Memory Management:&lt;/strong&gt;  This is the allocation of working memory known as &lt;code&gt;Random Access Memory(RAM)&lt;/code&gt; to computer programs. You cannot run any program on the computer without RAM allocation for its execution. The RAM memory is limited and if the total RAM required by all the running programs exceeds the available RAM capacity, this causes your computer to lag. The OS solves this problem by swapping memory between computer programs. It clears memory from the inactive program, stores it in the secondary storage which is the hard drive, and then reallocates it back to a new program. This process is called memory swapping, it takes time to swap memories between programs and this might slow your computer down for a while.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8hD8fLXk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7en81x4yk993fsqqal90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8hD8fLXk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7en81x4yk993fsqqal90.png" alt="Activity monitor for RAM usage" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Activity monitor for RAM usage&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Storage Management:&lt;/strong&gt; This is also known as the secondary memory/hard drive and it is used to persist data for long-term storage. When using a code editor like Visual Studio Code, the data you work with, such as code files and project configurations, is loaded into the computer's RAM for quick access. As you make changes, they are saved in memory, allowing you to see immediate results without affecting the actual files on the hard drive. When you close the code editor or explicitly save the files, the data is written and persisted on the hard drive, ensuring your changes are saved for future use. The next time you open the code editor, the data is retrieved from the hard drive and loaded into RAM, enabling you to continue working from where you left off.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Other functions include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Managing file system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Managements of I/O devices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security and Networking.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Examples of Operating Systems.
&lt;/h2&gt;

&lt;p&gt;Popular examples of operating systems include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;MacOS&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;IOS&lt;/li&gt;
&lt;li&gt;Android&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TLDR
&lt;/h2&gt;

&lt;p&gt;An Operating System (OS) is software that manages computer hardware and provides a user-friendly interface for users to interact with the computer. It acts as an intermediary between applications and the underlying hardware, enabling the execution of programs, managing system resources, and providing essential services like file management, memory allocation, and process scheduling. &lt;/p&gt;

&lt;p&gt;The OS controls the flow of data and ensures efficient utilization of resources. Furthermore, it ensures stability and reliability by protecting the system from unauthorized access. &lt;/p&gt;

&lt;p&gt;Windows, macOS, Linux, Android, and iOS are all examples of operating systems, which are each tailored for specific devices and environments.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
