<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Victor Kamau</title>
    <description>The latest articles on Forem by Victor Kamau (@victormungai97).</description>
    <link>https://forem.com/victormungai97</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%2F255646%2F68dfaa28-ae2a-497a-a2e7-8f454463c87b.jpeg</url>
      <title>Forem: Victor Kamau</title>
      <link>https://forem.com/victormungai97</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/victormungai97"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Victor Kamau</dc:creator>
      <pubDate>Sat, 07 Feb 2026 08:03:29 +0000</pubDate>
      <link>https://forem.com/victormungai97/-g80</link>
      <guid>https://forem.com/victormungai97/-g80</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/devteam" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&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%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&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%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" alt="" width="500" height="500"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/devteam/seeking-volunteer-judges-for-dev-challenges-2i3a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Seeking Volunteer Judges for DEV Challenges!&lt;/h2&gt;
      &lt;h3&gt;dev.to staff for The DEV Team ・ Nov 1 '24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>devchallenge</category>
    </item>
    <item>
      <title>My Journey at LuxDevHQ: MS Excel For Analytics</title>
      <dc:creator>Victor Kamau</dc:creator>
      <pubDate>Sun, 25 Jan 2026 16:56:08 +0000</pubDate>
      <link>https://forem.com/victormungai97/my-journey-at-luxdevhq-ms-excel-for-analytics-5067</link>
      <guid>https://forem.com/victormungai97/my-journey-at-luxdevhq-ms-excel-for-analytics-5067</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%2Flwwg5nlxeitcpm6io3gl.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%2Flwwg5nlxeitcpm6io3gl.png" alt="Microsoft Excel running in Windows OS" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Microsoft Excel running in Windows OS&lt;/center&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  TLDR;
&lt;/h3&gt;

&lt;p&gt;This post seeks to provide an beginner-friendly introduction into using &lt;a href="http://microsoft.com/en-us/microsoft-365/excel" rel="noopener noreferrer"&gt;Microsoft Excel&lt;/a&gt; for basic data analysis.&lt;/p&gt;

&lt;p&gt;Click here to &lt;strong&gt;Get Started&lt;/strong&gt;, particularly if Excel is fully functional on your machine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://microsoft.com/en-us/microsoft-365/excel" rel="noopener noreferrer"&gt;Microsoft Excel&lt;/a&gt; is a proprietary spreadsheet editing software developed by &lt;a href="https://www.microsoft.com" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt; as part of its &lt;a href="https://m365.cloud.microsoft" rel="noopener noreferrer"&gt;Microsoft 365&lt;/a&gt; and &lt;a href="https://www.office.com" rel="noopener noreferrer"&gt;Microsoft Office&lt;/a&gt; suites of software. &lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;First released in September 1985, it has evolved to support macOS, Android, iOS and the &lt;a href="https://excel.cloud.microsoft/en-us" rel="noopener noreferrer"&gt;cloud&lt;/a&gt;. Some of it's key features, which make it invaluable for data analysis, (and which we shall utilize later) include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spreadsheets and Data Organization&lt;/li&gt;
&lt;li&gt;Formulas and Functions&lt;/li&gt;
&lt;li&gt;Data Visualization&lt;/li&gt;
&lt;li&gt;PivotTables and PivotCharts&lt;/li&gt;
&lt;li&gt;Data Validation&lt;/li&gt;
&lt;li&gt;Conditional Formatting&lt;/li&gt;
&lt;li&gt;Data Sorting and Filtering
and so much more. &lt;sup id="fnref2"&gt;2&lt;/sup&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There exist alternative spreadsheet programs such as &lt;a href="https://www.libreoffice.org/discover/calc" rel="noopener noreferrer"&gt;LibreOffice Calc&lt;/a&gt; and &lt;a href="https://workspace.google.com/products/sheets" rel="noopener noreferrer"&gt;Google Sheets&lt;/a&gt; which are free and have the additional benefit of being able to process Excel's proprietary file format (&lt;em&gt;XLS&lt;/em&gt; / &lt;em&gt;XLSX&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;However, for the course of this article, and for suggested optimal performance, we shall use Excel running on Windows OS. Follow this &lt;a href="https://youtu.be/mqsdtEe_3kM" rel="noopener noreferrer"&gt;video&lt;/a&gt; as a guide on how to download and install MS Excel on Windows.&lt;/p&gt;

&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;

&lt;p&gt;MS Excel is designed to work with spreadsheets. It enables performance of various functions such as data storage and organization, arithmetic calculation and report creation. Its basic window is a workbook consisting of user-created worksheets with a default sheet typically named &lt;strong&gt;&lt;em&gt;Sheet1&lt;/em&gt;&lt;/strong&gt;. This enables easy organization and categorization of data.&lt;/p&gt;

&lt;p&gt;Typically, a sheet primarily consists of a &lt;em&gt;workspace&lt;/em&gt;, which is a grid-based structure arranged in numbered &lt;em&gt;rows&lt;/em&gt; and letter-named &lt;em&gt;columns&lt;/em&gt;. This structure allows for efficient data entry and organization of manipulations like arithmetic operations. An individual intersection of a column and row forms a &lt;em&gt;cell&lt;/em&gt;, which can be referenced by a value based on its intersection. For example, &lt;strong&gt;&lt;em&gt;A1&lt;/em&gt;&lt;/strong&gt; references the cell composed from the intersection of row &lt;em&gt;A&lt;/em&gt; and column &lt;em&gt;1&lt;/em&gt;. Each cell can hold data which can be of different types, including &lt;em&gt;Number&lt;/em&gt; (default), &lt;em&gt;Text&lt;/em&gt;, &lt;em&gt;Date&lt;/em&gt; and &lt;em&gt;Currency&lt;/em&gt;, among others.&lt;/p&gt;

&lt;p&gt;At the top of the window is the command bar (&lt;em&gt;Ribbon&lt;/em&gt;), organized into tabs (e.g. &lt;strong&gt;&lt;em&gt;Home&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Insert&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;View&lt;/em&gt;&lt;/strong&gt;, etc.) that contain related groups, which in turn hold commands (e.g. buttons, menus, dialog launchers etc.) to perform tasks, offering quick access to features such as formatting, data analysis and charts. &lt;sup id="fnref3"&gt;3&lt;/sup&gt; Between the ribbon and work area is a row containing the &lt;em&gt;Name Box&lt;/em&gt;, where the active cell is referenced, and &lt;em&gt;Formula Bar&lt;/em&gt;, which shows either the active cell's content or formula.&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%2F8tdixkeo5qdeg57n7kri.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%2F8tdixkeo5qdeg57n7kri.png" alt="Excel Workbook" width="793" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Excel &lt;a href="https://www.geeksforgeeks.org/excel/worksheets-in-excel" rel="noopener noreferrer"&gt;Workbook&lt;/a&gt;
&lt;/center&gt;

&lt;h2 id="get-started"&gt;Getting Started&lt;/h2&gt;

&lt;p&gt;We shall be working with this &lt;a href="https://docs.google.com/spreadsheets/d/1gl-WQLYhvOct_GyyvQg_6Ye07WSrUF_C/edit?usp=sharing&amp;amp;ouid=117789562465160742841&amp;amp;rtpof=true&amp;amp;sd=true" rel="noopener noreferrer"&gt;workbook&lt;/a&gt; containing a sample HR dataset for this article. Once your Excel is activated, download the file (&lt;strong&gt;File&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Download&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Microsoft Excel (.xlsx)&lt;/strong&gt;) and open the workbook. You should have a window with the workbook in view mode as shown below.&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%2Flu1scjt8l7szm7xs495s.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%2Flu1scjt8l7szm7xs495s.png" alt="Sample HR Dataset in MS Excel" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Sample HR Dataset in MS Excel&lt;/center&gt;

&lt;p&gt;We shall then rename the default worksheet (&lt;strong&gt;&lt;em&gt;Sheet1&lt;/em&gt;&lt;/strong&gt;) using the following steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Right click on the sheet tab.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Rename&lt;/strong&gt; from the menu that appears.&lt;/li&gt;
&lt;li&gt;Change the name of the original worksheet from &lt;em&gt;Sheet1&lt;/em&gt; to, say, &lt;em&gt;OriginalData&lt;/em&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%2Flwnx64eo9wdjzokchign.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%2Flwnx64eo9wdjzokchign.png" alt="Renaming Original Worksheet" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Renaming Original Worksheet&lt;/center&gt;

&lt;h2 id="cleanup"&gt;Data Cleanup&lt;/h2&gt;

&lt;p&gt;When working with Excel workbooks, particularly those populated by multiple people, data is likely to:&lt;br&gt;
a) have discrepancies, such as duplicates and invalid data, and&lt;br&gt;
b) be unpresentable, e.g. due to poor formatting.&lt;br&gt;
Thus, when carrying out data analysis, the first task will most likely be cleaning up the data.&lt;/p&gt;

&lt;h3 id="sheet-duplication"&gt;Creating Cleanup Worksheet&lt;/h3&gt;

&lt;p&gt;Starting off, we shall begin with duplicating the existing worksheet in preparation for cleanup. This is particularly important in preserving data integrity by ensuring the original data is intact, particularly if, for example, an issue occurs while working on the workbook.&lt;/p&gt;

&lt;p&gt;To achieve this, while pressing on the &lt;strong&gt;Ctrl&lt;/strong&gt; (or &lt;strong&gt;Command&lt;/strong&gt; on macOS) key, &lt;em&gt;drag&lt;/em&gt; and &lt;em&gt;release&lt;/em&gt; the &lt;strong&gt;&lt;em&gt;OriginalData&lt;/em&gt;&lt;/strong&gt; sheet tab to duplicate. Rename this new sheet to &lt;em&gt;CleanupData&lt;/em&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%2Fom30uj7j8zidlrfpqasf.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%2Fom30uj7j8zidlrfpqasf.png" alt="Cleanup Data Worksheet" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Cleanup Data Worksheet&lt;/center&gt;

&lt;h3 id="data-fit"&gt;Fitting Data&lt;/h3&gt;

&lt;p&gt;Primarily, we shall change the column widths to ensure that all the data is fully visible. Click on the top left corner of the work area (between &lt;strong&gt;&lt;em&gt;A&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;1&lt;/em&gt;&lt;/strong&gt; - there's an arrow pointing down) to select the entire work area. Then, in the Ribbon, click on &lt;strong&gt;Home&lt;/strong&gt; tab then, in the &lt;strong&gt;Cells&lt;/strong&gt; group, click on the &lt;strong&gt;Format&lt;/strong&gt; button to reveal various formatting options. Select &lt;strong&gt;&lt;em&gt;AutoFit Column Width&lt;/em&gt;&lt;/strong&gt; to have Excel adjust all the columns based on the width of the largest content in each respective column.&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%2Fcpcqrqhbm8swwg0kfy31.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%2Fcpcqrqhbm8swwg0kfy31.png" alt="Adjusting Column Widths" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Adjusting Column Widths&lt;/center&gt;

&lt;p&gt;This process may need to be repeated continuously as the data is added or updated.&lt;/p&gt;

&lt;h3 id="set-type"&gt;Setting Data Types&lt;/h3&gt;

&lt;p&gt;By default, all cell data in Excel is stored as &lt;em&gt;Number&lt;/em&gt; and assigned &lt;em&gt;General&lt;/em&gt; data type. However, this may not be appropriate for different data such as names, dates and prices. As such, it is important to have appropriate types assigned to the different data.&lt;/p&gt;

&lt;p&gt;First, we shall convert &lt;strong&gt;&lt;em&gt;Employee ID&lt;/em&gt;&lt;/strong&gt; to &lt;em&gt;Text&lt;/em&gt;. Why would we do this, particularly since the IDs are numeric? Well, unique identifier information, such as IDs, email addresses, phone numbers etc., are not involved in arithmetic operations outside of counting rows and as such should be saved as &lt;em&gt;Text&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Click on the column label (&lt;strong&gt;&lt;em&gt;A&lt;/em&gt;&lt;/strong&gt;) to highlight and select the whole column. Then, in the Ribbon, click on &lt;strong&gt;Home&lt;/strong&gt; tab then, in the &lt;strong&gt;Number&lt;/strong&gt; group, click on the small "arrow down" icon in the bottom right corner.&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%2Fkx95ti56qgeq4d9lnmen.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%2Fkx95ti56qgeq4d9lnmen.png" alt="Changing Data Type of Column" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Changing Data Type of Column&lt;/center&gt;

&lt;p&gt;This will open a &lt;em&gt;Format Cells&lt;/em&gt; dialog. Under &lt;strong&gt;Number&lt;/strong&gt; tab, in the &lt;em&gt;Category&lt;/em&gt; list, select &lt;strong&gt;&lt;em&gt;Text&lt;/em&gt;&lt;/strong&gt; then click &lt;strong&gt;&lt;em&gt;OK&lt;/em&gt;&lt;/strong&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%2F1aabhv3vkr35i0cmuf0a.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%2F1aabhv3vkr35i0cmuf0a.png" alt="Format Cells Dialog" width="530" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Format Cells Dialog&lt;/center&gt;

&lt;p&gt;The &lt;strong&gt;&lt;em&gt;Employee ID&lt;/em&gt;&lt;/strong&gt; will be formatted as &lt;em&gt;Text&lt;/em&gt;, which is illustrated by the shifting of the column cell contents from right to left.&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%2Fw3rzmktnl9o1b7q2mkhb.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%2Fw3rzmktnl9o1b7q2mkhb.png" alt="Cleanup Worksheet with Employee ID column formatted as Text data type" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Employee ID formatted as Text&lt;/center&gt;

&lt;p&gt;For practice, convert the other columns to the following data types.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column Name&lt;/th&gt;
&lt;th&gt;Data Type&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;First Name&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last Name&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Department&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Salary&lt;/td&gt;
&lt;td&gt;Currency&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 2&lt;br&gt;&lt;em&gt;Symbol&lt;/em&gt;: $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hire Date&lt;/td&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Type&lt;/em&gt;: 2012-03-14&lt;br&gt;&lt;em&gt;Locale (location)&lt;/em&gt;: English (United States)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Age&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 0&lt;br&gt;Use 1000 Separator (,)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gender&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance Score&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 0&lt;br&gt;Use 1000 Separator (,)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full-Time&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bonus&lt;/td&gt;
&lt;td&gt;Currency&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 2&lt;br&gt;&lt;em&gt;Symbol&lt;/em&gt;: $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marital Status&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Education Level&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Work Experience (Years)&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 0&lt;br&gt;Use 1000 Separator (,)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employee Type&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Office Location&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Project Count&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 0&lt;br&gt;Use 1000 Separator (,)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last Promotion Year&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Remote Work Status&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Annual Training Hours&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 0&lt;br&gt;Use 1000 Separator (,)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manager Feedback Score&lt;/td&gt;
&lt;td&gt;Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Decimal places&lt;/em&gt;: 1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The formatted worksheet should look similar to the below. What did you get? Comment below 👇&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%2Frpmi2p646pni1b56yihy.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%2Frpmi2p646pni1b56yihy.png" alt="Cleanup worksheet with columns formatted to appropriate data type" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;center&gt;Data Type Formatted Worksheet&lt;center&gt;



&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;Wikipedia. (2026, Jan 24). &lt;em&gt;Microsoft Excel&lt;/em&gt; &lt;a href="https://en.wikipedia.org/wiki/Microsoft_Excel" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Microsoft_Excel&lt;/a&gt; ↩&lt;/p&gt;


&lt;/li&gt;


&lt;li id="fn2"&gt;

&lt;p&gt;AlmaBetter. (2025, Aug 25). &lt;em&gt;Top 12 Advanced Features of MS Excel in 2025&lt;/em&gt; &lt;a href="https://www.almabetter.com/bytes/articles/features-of-ms-excel" rel="noopener noreferrer"&gt;https://www.almabetter.com/bytes/articles/features-of-ms-excel&lt;/a&gt; ↩&lt;/p&gt;


&lt;/li&gt;


&lt;li id="fn3"&gt;

&lt;p&gt;Ablebits. (2023, Nov 02). &lt;em&gt;Excel ribbon: quick guide for beginners&lt;/em&gt; &lt;a href="https://www.ablebits.com/office-addins-blog/excel-ribbon-guide" rel="noopener noreferrer"&gt;https://www.ablebits.com/office-addins-blog/excel-ribbon-guide&lt;/a&gt; ↩&lt;/p&gt;


&lt;/li&gt;


&lt;/ol&gt;


&lt;/center&gt;
&lt;br&gt;
&lt;/center&gt;

</description>
      <category>luxdevhq</category>
      <category>learning</category>
      <category>productivity</category>
      <category>analytics</category>
    </item>
    <item>
      <title>My Journey at LuxDevHQ: Version Control (The Basics)</title>
      <dc:creator>Victor Kamau</dc:creator>
      <pubDate>Sun, 18 Jan 2026 09:57:40 +0000</pubDate>
      <link>https://forem.com/victormungai97/my-journey-at-luxdevhq-version-control-the-basics-19aj</link>
      <guid>https://forem.com/victormungai97/my-journey-at-luxdevhq-version-control-the-basics-19aj</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%2Fov90ev9x8d87i7jc5u0v.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%2Fov90ev9x8d87i7jc5u0v.png" title="Version Control with Git" alt="Pictorial Representation of Version Control" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Version Control with Git&lt;/center&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  TLDR;
&lt;/h3&gt;

&lt;p&gt;This post provides an in-depth guide into version control in software development and collaborative project.&lt;/p&gt;

&lt;p&gt;You can click here to install and configure a version control system (VCS) or here to connect with an online VCS repository service.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In a &lt;a href="https://dev.to/victormungai97/my-journey-at-luxdevhq-windows-setup-local-23ag"&gt;previous&lt;/a&gt; post, we were able to successfully set up a Windows virtual machine using VirtualBox. This left us ready to begin working on data science projects.&lt;/p&gt;

&lt;p&gt;But, data science, like most tech fields, boils down to code and files. And thus, we must consider a number of questions around these, including:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How do we store them?&lt;/li&gt;
&lt;li&gt;How do we track changes made?&lt;/li&gt;
&lt;li&gt;How can we access them across different machines?&lt;/li&gt;
&lt;li&gt;How can we share them with collaborators?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is where version control comes to save the day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Version Control / Source Control
&lt;/h2&gt;

&lt;p&gt;Version Control is defined as "the practice of tracking and managing changes to software code". &lt;sup id="fnref1"&gt;1&lt;/sup&gt; Essentially, it is a mechanism of keeping track of changes made to computer files, particularly source code files, with the ability to view old versions and optionally revert a file to a preferred previous version.&lt;/p&gt;

&lt;p&gt;It has been around in some form for as along as humans have worked with computers, with early attempts having collaborators managing sharing of computer files and projects, through means such as pendrives, emails and shared folders. Most approaches were clunky, with no built-in way of detecting who made what changes to what files and folders when. This resulted in teams coming up with strange conventions e.g. folders being named &lt;code&gt;project&lt;/code&gt;, &lt;code&gt;project1&lt;/code&gt;, &lt;code&gt;project-latest&lt;/code&gt; etc. Also, errors such as accidental overwrites were quite common with users commonly having their work lost when others working on the same files and folders posted their work to the common storage area after them.&lt;/p&gt;

&lt;p&gt;Ultimately, all these problems led to the rise of &lt;a href="https://www.geeksforgeeks.org/git/version-control-systems/" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;Version Control Systems (VCS)&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;. These are software tools used mostly in, but not limited to, software development and collaborative projects to automatically track and manage changes to source code files.&lt;/p&gt;

&lt;p&gt;Benefits of such systems include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated functionality to record and track every update to code base.&lt;/li&gt;
&lt;li&gt;Enhanced collaboration without fear of accidental permanent overwrites.&lt;/li&gt;
&lt;li&gt;Easy reversion to previous versions of specific files and folders (or the project as a whole).&lt;/li&gt;
&lt;li&gt;Ingrained, structured history which simplifies auditing of the project's progression.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There exist a number of popular VCS tools used by individuals, teams and enterprises globally, including &lt;a href="https://www.mercurial-scm.org" rel="noopener noreferrer"&gt;Mercurial&lt;/a&gt;, &lt;a href="https://subversion.apache.org" rel="noopener noreferrer"&gt;Subversion&lt;/a&gt;, &lt;a href="https://fossil-scm.org/home/doc/trunk/www/index.wiki" rel="noopener noreferrer"&gt;Fossil&lt;/a&gt; and &lt;a href="https://cvs.nongnu.org" rel="noopener noreferrer"&gt;CVS&lt;/a&gt;. The most popular one, however, and also the focus of this article and VCS in use at LuxDevHQ, is &lt;a href="https://git-scm.com" rel="noopener noreferrer"&gt;Git&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="git"&gt;Git&lt;/h2&gt;

&lt;p&gt;Git is a lightning-fast, free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. &lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;It was originally developed by &lt;a href="https://github.com/torvalds" rel="noopener noreferrer"&gt;Linus Torvalds&lt;/a&gt; - the creator of &lt;a href="https://www.wikipedia.org/wiki/Linux" rel="noopener noreferrer"&gt;Linux&lt;/a&gt; - as version control for the development of the Linux Kernel. It has since grown to become used by over  93% of developers &lt;a href="https://stackoverflow.blog/2023/01/09/beyond-git-the-other-version-control-systems-developers-use" rel="noopener noreferrer"&gt;worldwide&lt;/a&gt;. It is compatible with and installable on most conventional operating systems as well as on technologies such as &lt;a href="https://www.docker.com" rel="noopener noreferrer"&gt;Docker&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id="git-installation"&gt;Installation&lt;/h3&gt;

&lt;p&gt;To install on one's machine, head on over to the &lt;a href="https://git-scm.com/install/" rel="noopener noreferrer"&gt;Install&lt;/a&gt; for guidance on the specific OS.&lt;/p&gt;

&lt;h4 id="git-windows-installation"&gt;For Windows Users&lt;/h4&gt;

&lt;p&gt;Visit &lt;a href="https://git-scm.com/install/windows" rel="noopener noreferrer"&gt;here&lt;/a&gt; and &lt;a href="https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/Git-2.52.0-64-bit.exe" rel="noopener noreferrer"&gt;download&lt;/a&gt; the latest version of &lt;strong&gt;Git for Windows&lt;/strong&gt; which includes a command line interface (&lt;em&gt;CLI&lt;/em&gt;) within which one can run Git commands (known as &lt;strong&gt;&lt;em&gt;Git Bash&lt;/em&gt;&lt;/strong&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%2Fl7dfkitrz0x4e1lhwhvz.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%2Fl7dfkitrz0x4e1lhwhvz.png" alt="Git Install for Windows" width="700" height="582"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Git Install for Windows&lt;/center&gt;

&lt;p&gt;Upon completion of the download, double click on the file to trigger installation. Click &lt;strong&gt;&lt;em&gt;Yes&lt;/em&gt;&lt;/strong&gt; when prompted for User Account Control (&lt;strong&gt;UAC&lt;/strong&gt;) permission. This will open the Git Setup Wizard. &lt;/p&gt;

&lt;p&gt;Most of the default configurations should suffice so you can consistently click "Next" throughout the process. (Should you encounter a configuration that you wish to change, kindly feel free to change it.) Once done, the installation will run for a few seconds. Upon completion, check the &lt;strong&gt;&lt;em&gt;Launch Git Bash&lt;/em&gt;&lt;/strong&gt; option, uncheck &lt;strong&gt;&lt;em&gt;View Release Notes&lt;/em&gt;&lt;/strong&gt; then click &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt;. It should open a window similar to the one below.&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%2Fq1j15xsj920456x93knm.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%2Fq1j15xsj920456x93knm.png" alt="Git Bash Window" width="581" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Git Bash&lt;/center&gt;

&lt;h4 id="git-mac-installation"&gt;For macOS Users&lt;/h4&gt;

&lt;p&gt;The easiest way to install Git on macOS is using &lt;a href="https://brew.sh" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt;, a tool that simplifies installation of software tools on macOS and Linux. If you don't yet have Homebrew on your computer, download and install it first.&lt;/p&gt;

&lt;p&gt;Once Homebrew is ready, run &lt;code&gt;brew install git&lt;/code&gt; in &lt;strong&gt;&lt;em&gt;Terminal&lt;/em&gt;&lt;/strong&gt; (macOS' CLI). This will install Git on macOS and have it ready for use.&lt;/p&gt;

&lt;h4 id="git-linux-installation"&gt;For Linux Users&lt;/h4&gt;

&lt;p&gt;A number of Linux distributions have Git bundled and installed within the OS. However, if your OS doesn't have it (run &lt;code&gt;git --version&lt;/code&gt; in the Terminal to confirm), then visit &lt;a href="https://git-scm.com/install/linux" rel="noopener noreferrer"&gt;here&lt;/a&gt; and follow the instructions for the particular distribution.&lt;/p&gt;

&lt;h3 id="git-setup"&gt;Setup&lt;/h3&gt;

&lt;p&gt;Before continuing, confirm that Git is properly installed and functional by running&lt;br&gt;
&lt;code&gt;git --version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If output is similar to the following, then you are begin setting up Git.&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%2Fwdd1shemchpimu6j8a1d.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%2Fwdd1shemchpimu6j8a1d.png" alt="Git Version Output" width="581" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Git Version Output&lt;/center&gt;

&lt;p&gt;First off, there needs to be a global user configured to use Git (this can be overridden within individual repositories). To do this, run the following commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User's name&lt;/strong&gt;
&lt;code&gt;git config --global user.name "&amp;lt;Your Name&amp;gt;"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User's email address&lt;/strong&gt;
&lt;code&gt;git config --global user.email "&amp;lt;your.email@emaildomain&amp;gt;"&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NB:&lt;/em&gt;&lt;/strong&gt; Replace &lt;code&gt;&amp;lt;Your Name&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;your.email@emaildomain&amp;gt;&lt;/code&gt; with actual name and email address, respectively.&lt;/p&gt;

&lt;p&gt;Once done, run &lt;code&gt;git config --list&lt;/code&gt; to confirm the configurations have applied correctly.&lt;/p&gt;

&lt;h3 id="git-repo"&gt;Repository Setup&lt;/h3&gt;

&lt;p&gt;Now, let's cross over to creating and configuring a Git repository. A repository is a central location in which data is stored and managed. Within the context of a software project, it can be thought of as the root folder containing the source file and code.&lt;/p&gt;

&lt;p&gt;First, we shall a create our project folder&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a folder within the CLI&lt;br&gt;
&lt;code&gt;mkdir -p test-project&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; &lt;code&gt;-p&lt;/code&gt; instructs the CLI to create any intermediate parent folder that may be missing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate into the new folder&lt;br&gt;
&lt;code&gt;cd test-project&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a sample &lt;a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes" rel="noopener noreferrer"&gt;&lt;strong&gt;README&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;touch README.md&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Populate the README with some informative message&lt;br&gt;
&lt;code&gt;echo "This is a test project showing how to set up a Git repository" &amp;gt;&amp;gt; README.md&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; You can confirm that the content has been written into the README file using the following command&lt;br&gt;
    &lt;code&gt;cat README.md&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Being a data science project, let's create a test a sample &lt;a href="https://www.python.org" rel="noopener noreferrer"&gt;Python&lt;/a&gt; that simply prints greetings to the CLI&lt;br&gt;
&lt;code&gt;touch test.py &amp;amp;&amp;amp; echo "print('Hello, World')" &amp;gt;&amp;gt; test.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; You can combine multiple commands using the &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND" rel="noopener noreferrer"&gt;operator&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Let's now list the content of the current folder (i.e &lt;em&gt;test-project&lt;/em&gt;) to confirm that all our files are in place&lt;br&gt;
&lt;code&gt;ls .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you see both of our newly created files (i.e &lt;em&gt;README.md&lt;/em&gt; and &lt;em&gt;test.py&lt;/em&gt;), then you are good to continue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; &lt;code&gt;.&lt;/code&gt; in the command &lt;code&gt;ls .&lt;/code&gt; represents our current working folder.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; You can find a cheat sheet  of common Linux commands that can run in the CLI &lt;a href="https://linux-commands.labex.io" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, let's configure our folder into a git repository&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://git-scm.com/docs/git-init" rel="noopener noreferrer"&gt;Initialize&lt;/a&gt; the repository
&lt;code&gt;git init&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://git-scm.com/docs/git-add" rel="noopener noreferrer"&gt;Stage&lt;/a&gt; the created files in preparation for committing
&lt;code&gt;git add .&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://git-scm.com/docs/git-commit" rel="noopener noreferrer"&gt;Commit&lt;/a&gt; the new files with an optional message
&lt;code&gt;git commit -m "Initial Commit"&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your CLI with the commands executed should appear as in the screenshot below&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%2Fx9sle7d8fx4onuvktcy0.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%2Fx9sle7d8fx4onuvktcy0.png" alt="Git Repository Setup" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Git Repository Setup on CLI&lt;/center&gt;

&lt;p&gt;We can now create its corresponding repository on an online Git repository service.&lt;/p&gt;

&lt;h2 id="github"&gt;GitHub&lt;/h2&gt;

&lt;p&gt;Git, while being a distributed VCS, is largely a tool running on user's local machine. As such, particularly in collaborative projects, there needs to be a mechanism in which a Git repository can be accessed and utilized by different team members remotely.&lt;/p&gt;

&lt;p&gt;Fortunately, there exist a number of services that provide such functionality. They are typically web-based platforms that host Git repositories, providing a centralized location for storing code, tracking changes, and enabling collaboration among developers. Furthermore, these platforms offer additional functionality including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Integration and Continuous Deployment (CI/CD)&lt;/strong&gt; automation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Access Control and Security&lt;/strong&gt; on repositories&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration Tools&lt;/strong&gt; such as issue tracking, pull requests etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations&lt;/strong&gt; with third-party apps and services
among others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A number of them are free to create an account in and use, although there typically exists incurred charges for specified features. Examples include &lt;a href="https://github.com" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://about.gitlab.com" rel="noopener noreferrer"&gt;GitLab&lt;/a&gt; and &lt;a href="https://bitbucket.org/product" rel="noopener noreferrer"&gt;Bitbucket&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Of these services, the most widely used is GitHub. It was released in February 2008 and acquired by Microsoft in October 2018. &lt;sup id="fnref3"&gt;3&lt;/sup&gt; It has over &lt;a href="https://www.tomshardware.com/software/milestone-one-billionth-github-repo-is-just-the-word-sh-t" rel="noopener noreferrer"&gt;a billion&lt;/a&gt; published repositories and is what will be used for both this article and the entirety of the course.&lt;/p&gt;

&lt;h3 id="github-account"&gt;Account Creation&lt;/h3&gt;

&lt;p&gt;To get started with GitHub, one needs to have a registered account, which can be achieved by following the steps below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit GitHub's &lt;a href="https://github.com" rel="noopener noreferrer"&gt;website&lt;/a&gt; and clicking the &lt;strong&gt;&lt;em&gt;Sign up&lt;/em&gt;&lt;/strong&gt; button in the top left corner. This will redirect to Account Creation page.&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%2Fjk54vhfqz7lgg89sszow.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%2Fjk54vhfqz7lgg89sszow.png" alt="GitHub Account Creation Page" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;GitHub Account Creation Page&lt;/center&gt;

&lt;p&gt;Fill in the form with your details to proceed. Pick a &lt;a href="https://www.cisa.gov/secure-our-world/use-strong-passwords#:~:text=Use%20a%20random%20string%20of,cXmnZK65rf*%26DaaD" rel="noopener noreferrer"&gt;strong password&lt;/a&gt; or use a tool like &lt;a href="https://www.lastpass.com/features/password-generator" rel="noopener noreferrer"&gt;LastPass&lt;/a&gt; to help generate (and even store) a secure password for you. Choose a distinctive user name that you can remember. Alternatively, create an account using Google or Apple for simplified but secure signing up.&lt;/p&gt;

&lt;p&gt;Afterward, GitHub will determine if you are human (and may require you to complete a captcha to verify). Once verified, GitHub will send a verification code for you to enter. Once inputted, this will complete your registration and GitHub will redirect to the &lt;a href="https://github.com/login" rel="noopener noreferrer"&gt;Sign In&lt;/a&gt; page.&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%2F20j0gxshulrj3dkwg4xr.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%2F20j0gxshulrj3dkwg4xr.png" alt="GitHub Account Sign In Page" width="800" height="762"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;GitHub Account Sign In Page&lt;/center&gt;

&lt;p&gt;Input a &lt;strong&gt;&lt;em&gt;Username / Email address&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/strong&gt; (or continue will Google / Apple if you used either of those options to create your account) then click &lt;strong&gt;&lt;em&gt;Sign in&lt;/em&gt;&lt;/strong&gt;. This is log you in and redirect you to your dashboard.&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%2Fdq8vb7wadat1qz2hyfid.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%2Fdq8vb7wadat1qz2hyfid.png" alt="GitHub Account Dashboard Page" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;GitHub Account Dashboard Page&lt;/center&gt;

&lt;h3 id="github-repo"&gt;Repository Creation&lt;/h3&gt;

&lt;p&gt;In the dashboard, click on the "Create repository" button so as to have a new centralized storage for our project codebase. This will redirect to the repository creation page.&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%2F6uwd6uotd4egoi9732jv.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%2F6uwd6uotd4egoi9732jv.png" alt="GitHub Repository Creation page" width="800" height="559"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;GitHub Repository Creation page&lt;/center&gt;

&lt;p&gt;Provide a &lt;strong&gt;&lt;em&gt;Repository name&lt;/em&gt;&lt;/strong&gt; (we can reuse our project's root folder name - &lt;em&gt;test-project&lt;/em&gt;), &lt;strong&gt;&lt;em&gt;Description&lt;/em&gt;&lt;/strong&gt; (this is optional), then leave all the other fields as is and click &lt;strong&gt;&lt;em&gt;Create repository&lt;/em&gt;&lt;/strong&gt;. (&lt;em&gt;Public&lt;/em&gt; visibility means that the new repository will be accessible by anyone on the internet.) Successful creation will redirect to the new repository's page.&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%2Ftrgf25b5g4ldjly7egr9.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%2Ftrgf25b5g4ldjly7egr9.png" alt="New GitHub Repository Page" width="800" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;New GitHub Repository Page&lt;/center&gt;

&lt;p&gt;It's now time to connect the online GitHub repository with the local Git repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect local repository to remote repository
&lt;/h2&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;Atlassian. (2026, Jan 16). &lt;em&gt;What is version control: Atlassian Git Tutorial&lt;/em&gt; &lt;a href="https://www.atlassian.com/git/tutorials/what-is-version-control" rel="noopener noreferrer"&gt;https://www.atlassian.com/git/tutorials/what-is-version-control&lt;/a&gt; ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn2"&gt;
&lt;p&gt;Git. (2026, Jan 18). &lt;em&gt;Git&lt;/em&gt; &lt;a href="https://git-scm.com" rel="noopener noreferrer"&gt;https://git-scm.com&lt;/a&gt; ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn3"&gt;
&lt;p&gt;Git and GitHub Use, Collaboration, and Workflow. (2026, Jan 18). &lt;em&gt;History of GitHub&lt;/em&gt; &lt;a href="https://pslmodels.github.io/Git-Tutorial/content/background/GitHubHistory.html" rel="noopener noreferrer"&gt;https://pslmodels.github.io/Git-Tutorial/content/background/GitHubHistory.html&lt;/a&gt; ↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>luxdevhq</category>
      <category>learning</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>My Journey at LuxDevHQ: Windows Setup (VirtualBox)</title>
      <dc:creator>Victor Kamau</dc:creator>
      <pubDate>Sat, 17 Jan 2026 07:35:16 +0000</pubDate>
      <link>https://forem.com/victormungai97/my-journey-at-luxdevhq-windows-setup-local-23ag</link>
      <guid>https://forem.com/victormungai97/my-journey-at-luxdevhq-windows-setup-local-23ag</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%2F5r8r1emrf6qrdf2einc4.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%2F5r8r1emrf6qrdf2einc4.png" title="Windows OS running in a Virtual Machine" alt="Windows OS running in a Virtual Machine" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Windows OS running in a Virtual Machine&lt;/center&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  TLDR;
&lt;/h3&gt;

&lt;p&gt;This post provides an in-depth guide into the process of setting up a &lt;a href="https://www.microsoft.com/en-us/windows" rel="noopener noreferrer"&gt;Windows OS&lt;/a&gt; virtual machine running on &lt;a href="https://www.virtualbox.org/" rel="noopener noreferrer"&gt;Oracle VirtualBox&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can click here to navigate to VM installation &amp;amp; configuration or here for Windows setup.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;To get started with data science, one needs access to a machine with an installed graphical operating system (OS) upon which operations and requisite tools will run. Common OS of this type include &lt;a href="https://www.microsoft.com/en-us/windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt;, &lt;a href="https://www.apple.com/os/macos" rel="noopener noreferrer"&gt;macOS&lt;/a&gt; and &lt;a href="https://ubuntu.com/desktop" rel="noopener noreferrer"&gt;Ubuntu Desktop&lt;/a&gt;, among others.&lt;/p&gt;

&lt;p&gt;At LuxDevHQ, one is advised to have a laptop with, at minimum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Processor (CPU)&lt;/strong&gt;: Core I5&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Base Memory (RAM)&lt;/strong&gt;: 8 GB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disk Size (Storage)&lt;/strong&gt;: 500 GB&lt;/li&gt;
&lt;li&gt;Access to stable internet connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most tools in use are compatible with multiple OS but some, such as Microsoft Excel and Power BI, are exclusive to, or work best on, Windows. As such, it is most prudent to use Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Virtual Machine
&lt;/h2&gt;

&lt;p&gt;In my case, I mostly use either Ubuntu or Mac. Subsequently, I had to setup Windows afresh on my machine. To achieve this, rather than purchase a new machine or mess with my current one, I chose instead to install Windows on a virtual machine and set it up there.&lt;/p&gt;

&lt;p&gt;A virtual machine (VM) is a "compute resource that uses software instead of a physical computer to run programs and deploy apps" &lt;sup id="fnref1"&gt;1&lt;/sup&gt;. Essentially, one can have multiple operating systems ("guests") running on one physical machine ("host"), possibly on top of another OS.&lt;/p&gt;

&lt;p&gt;Benefits of virtual machines include, but not limited to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Machine Limitations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Situations arise where one needs to work with software that are incompatible either with the host OS or the underlying physical machine.&lt;/li&gt;
&lt;li&gt;Instead of buying a new machine, or resetting an existing one, and setting it up afresh, one can install a VM and configure it to meet the conditions required for running the software.&lt;/li&gt;
&lt;li&gt;This can include setting up a wholly different OS (e.g. Windows) on top of an existing OS (e.g. macOS).&lt;/li&gt;
&lt;li&gt;Such an approach winds up saving on cost, physical space and time, among others.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every once in a while, a new software, - or an entirely new OS - comes along with the promise of improving (or even revolutionising) productivity.&lt;/li&gt;
&lt;li&gt;As such, to evaluate said software and ascertain its value, instead of installing on the physical machine - possibly negatively impacting normal operations or the machine itself, one can spin up a VM and run it in an isolated environment.&lt;/li&gt;
&lt;li&gt;This improves security and protects sensitive operations from possible harm.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Legacy Support&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some organisations have legacy systems and applications that run on and require outdated, or quickly fading, technologies.&lt;/li&gt;
&lt;li&gt;In the event that said legacy software is crucial for core operations and the business is unable to migrate to newer / updated software, dedicated virtual environments can be set up with the specifications required.&lt;/li&gt;
&lt;li&gt;This protects from unexpected disruptions, e.g. from unwanted updates, and enables proper planning and resource allocation for when migration will need to occur.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Virtual Machines are not without drawbacks, which include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Performance Retardation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running multiple VMs on a single host can degrade performance, particularly on machines with below-par specifications (e.g. RAM, storage, e.t.c.).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spinning up a cloud-based VM, or running proprietary virtualisation software, can incur charges for usage.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A virtual machine can be set up locally on a user's machine or deployed globally on a &lt;a href="https://www.vmware.com/topics/public-cloud" rel="noopener noreferrer"&gt;public cloud&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For this post, I will be setting up a Windows VM locally on my machine. In a later post, I will replicate the process in a cloud VM.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hypervisor / Virtual Machine Monitor (VMM)
&lt;/h2&gt;

&lt;p&gt;Before getting started with a virtual machine, one has to install a &lt;a href="https://www.vmware.com/topics/hypervisor" rel="noopener noreferrer"&gt;hypervisor&lt;/a&gt;, which is a software that creates and runs multiple virtual machines on a single physical machine through allocation of underlying physical computing resources to individual VMs as required &lt;sup id="fnref2"&gt;2&lt;/sup&gt;. &lt;/p&gt;

&lt;p&gt;Depending on architecture and desired performance, hypervisors are broadly classified into 2 categories &lt;sup id="fnref2"&gt;2&lt;/sup&gt; &lt;sup id="fnref3"&gt;3&lt;/sup&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Type 1 (bare-metal) Hypervisors&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;These do not require a host OS and, instead, are installed and run directly on the physical machine ("bare metal").&lt;/li&gt;
&lt;li&gt;Host machine typically does not have any installed OS and the hypervisor itself doubles as a lightweight OS.&lt;/li&gt;
&lt;li&gt;Due to this, such hypervisors have direct access to hardware resources and tend to be scalable, efficient, highly performant and independent of risks inherent to host OS, improving security and stability.&lt;/li&gt;
&lt;li&gt;Conversely, however, such software tend to be proprietary and expensive (though some are &lt;a href="https://xenproject.org" rel="noopener noreferrer"&gt;free&lt;/a&gt; and &lt;a href="https://linux-kvm.org/page/Main_Page" rel="noopener noreferrer"&gt;open source&lt;/a&gt;), requiring dedicated hardware and skilled staff to handle setup and management.&lt;/li&gt;
&lt;li&gt;As such, they typically are used in enterprise data centres and by cloud providers such as Amazon Web Services (AWS) and Google Cloud Platform (GCP).&lt;/li&gt;
&lt;li&gt;Examples: &lt;a href="https://www.vmware.com/products/cloud-infrastructure/vsphere" rel="noopener noreferrer"&gt;VMware ESXi&lt;/a&gt;, &lt;a href="https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/overview?pivots=windows" rel="noopener noreferrer"&gt;Microsoft Hyper-V&lt;/a&gt;, &lt;a href="https://linux-kvm.org/page/Main_Page" rel="noopener noreferrer"&gt;Kernel-based Virtual Machine (KVM)&lt;/a&gt;, and &lt;a href="https://xenproject.org" rel="noopener noreferrer"&gt;Xen&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Type 2 (embedded / hosted) Hypervisors&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;These run on top of an operating system installed on the physical machines and typically run as applications within the host OS.&lt;/li&gt;
&lt;li&gt;Presence of the host OS means such hypervisors do not have direct access to and control over hardware resources.&lt;/li&gt;
&lt;li&gt;Instead, resources are allocated by an system administrator, with the hypervisor in turn distributing them to the VMs.&lt;/li&gt;
&lt;li&gt;Because of this, they are less efficient &amp;amp; performant and are prone to risks inherent to the host OS, affecting security and stability.&lt;/li&gt;
&lt;li&gt;On the other hand, they are easy to install, configure and operate, thus not requiring any specialised knowledge. Additionally, a number of them are free with at least &lt;a href="https://www.qemu.org" rel="noopener noreferrer"&gt;one&lt;/a&gt; being open source.&lt;/li&gt;
&lt;li&gt;Such factors make them ideal for personal, non-enterprise or non-mission critical usage.&lt;/li&gt;
&lt;li&gt;Examples: &lt;a href="https://www.virtualbox.org" rel="noopener noreferrer"&gt;Oracle VM VirtualBox&lt;/a&gt;, &lt;a href="https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion" rel="noopener noreferrer"&gt;VMware Workstation&lt;/a&gt;, &lt;a href="https://www.parallels.com/products/desktop" rel="noopener noreferrer"&gt;Parallels Desktop&lt;/a&gt; and &lt;a href="https://www.qemu.org" rel="noopener noreferrer"&gt;QEMU&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ultimately, choice of hypervisor to use boils down to the needs and resources of the user / organisation and the intended usage.&lt;/p&gt;

&lt;p&gt;For me, since I just wanted to install Windows on my personal macOS for usage in learning, I went ahead to use &lt;a href="https://www.virtualbox.org/" rel="noopener noreferrer"&gt;VirtualBox&lt;/a&gt; since it is free and compatible with most conventional OS. Thus, this guide should be replicable, at least for any OS upon which VirtualBox can run.&lt;/p&gt;

&lt;h2 id="vm-installation"&gt;VirtualBox&lt;/h2&gt;

&lt;p&gt;It is defined as "general-purpose full virtualisation software for x86_64 hardware...targeted at laptop, desktop, server and embedded use." &lt;sup id="fnref4"&gt;4&lt;/sup&gt; It has cross-platform compatibility and is available for personal and enterprise usage.&lt;/p&gt;

&lt;p&gt;To get started, head on over to the &lt;a href="https://www.virtualbox.org/wiki/Downloads" rel="noopener noreferrer"&gt;Downloads&lt;/a&gt; page and select the platform package for your particular OS. I am installing on a &lt;em&gt;macOS (Intel)&lt;/em&gt; host computer so I selected &lt;strong&gt;&lt;em&gt;macOS / Intel hosts&lt;/em&gt;&lt;/strong&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%2Fkovaudv3r097b30t1yb1.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%2Fkovaudv3r097b30t1yb1.png" title="VirtualBox Downloads Page" alt="VirtualBox Downloads Page" width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Oracle VM VirtualBox Downloads Page&lt;/center&gt;

&lt;p&gt;Upon clicking on the package, you will be prompted to confirm saving of the installer file with a positive response initiating the download. Wait for completion. The duration will depend on the size of the chosen file and the stability &amp;amp; speed of your internet connection.&lt;/p&gt;

&lt;p&gt;On completion of download, navigate to the destination folder ("&lt;em&gt;~/Downloads&lt;/em&gt;" in my case) and double-click the file to run the installer.&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%2Fq3rac7vddxui3us7rcew.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%2Fq3rac7vddxui3us7rcew.png" alt="VirtualBox macOS (Intel) Installer" width="341" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Downloaded VirtualBox macOS (Intel) Installer&lt;/center&gt;

&lt;p&gt;If on a Windows host computer, you will be prompted for User Account Control (UAC) permission. Click &lt;strong&gt;&lt;em&gt;Yes&lt;/em&gt;&lt;/strong&gt; to accept. On macOS, double-click on the "&lt;strong&gt;&lt;em&gt;pkg&lt;/em&gt;&lt;/strong&gt;" icon to start the installer.&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%2Flff6shzid0nf0gbeajb0.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%2Flff6shzid0nf0gbeajb0.png" title="VirtualBox Installer" alt="VirtualBox macOS (Intel) Installer" width="617" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox macOS (Intel) Installer&lt;/center&gt;

&lt;p&gt;Click &lt;strong&gt;&lt;em&gt;Continue&lt;/em&gt;&lt;/strong&gt; from the introduction and &lt;strong&gt;&lt;em&gt;Install&lt;/em&gt;&lt;/strong&gt; so as to install the software for all users of the computer (&lt;strong&gt;&lt;em&gt;Change Install Location&lt;/em&gt;&lt;/strong&gt; if you wish to install either only for current user or to install to specific disk / directory). On macOS, I was prompted to input my password to validate confirmation.&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%2F5yy5qvwl6qy2f09e9udl.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%2F5yy5qvwl6qy2f09e9udl.png" alt="VirtualBox macOS (Intel) Installation Confirmation Window" width="622" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox macOS (Intel) Installation Confirmation Window&lt;/center&gt;

&lt;p&gt;Installation will run for a short duration then complete successfully if no issue arises. On Windows, click &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt; to open up VirtualBox. On Mac, click &lt;strong&gt;&lt;em&gt;Close&lt;/em&gt;&lt;/strong&gt;, accept moving of installer to trash if prompted then open VirtualBox from Launchpad or Applications folder in Finder.&lt;/p&gt;

&lt;p&gt;When opened, the VirtualBox window will appear as below (Specific appearance might vary based on VirtualBox version and the particular host OS).&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%2Fbh4vt0hvlhi1zwv38hxj.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%2Fbh4vt0hvlhi1zwv38hxj.png" alt="VirtualBox macOS (Intel) Application" width="800" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox macOS (Intel) Application&lt;/center&gt;

&lt;p&gt;Regardless of specific appearance, as long as the application opened without failure, then the VirtualBox installation was successful and you are now ready to install and setup Windows OS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; If you experienced an issue with VirtualBox up until this point, kindly reach out to &lt;a href="https://www.oracle.com/virtualization/virtualbox/#rc30category-support-services" rel="noopener noreferrer"&gt;Oracle Support&lt;/a&gt; for assistance.&lt;/p&gt;

&lt;h2 id="windows-setup"&gt;Windows&lt;/h2&gt;

&lt;p&gt;Microsoft Windows is a proprietary closed source graphical operating system developed and marketed by Microsoft with the term "Windows" collectively describing several generations of Microsoft OS products &lt;sup id="fnref5"&gt;5&lt;/sup&gt;. The first major version, &lt;a href="https://en.wikipedia.org/wiki/Windows_1.0" rel="noopener noreferrer"&gt;Windows 1.0&lt;/a&gt;, was released in November 1985 and Windows as a whole has grown to become the &lt;a href="https://gs.statcounter.com/os-market-share/desktop/worldwide" rel="noopener noreferrer"&gt;most used&lt;/a&gt; desktop OS globally with &lt;a href="https://www.microsoft.com/en-us/windows/windows-11" rel="noopener noreferrer"&gt;Windows 11&lt;/a&gt;, the current major release now ranking as the most used &lt;a href="https://gs.statcounter.com/windows-version-market-share/desktop/worldwide" rel="noopener noreferrer"&gt;Windows desktop OS version&lt;/a&gt; as at January 2026.&lt;/p&gt;

&lt;p&gt;To install Windows 11 in VirtualBox, one needs a copy of the OS as an &lt;a href="https://www.freecodecamp.org/news/what-is-an-iso-file-explained-in-plain-english" rel="noopener noreferrer"&gt;ISO file&lt;/a&gt; which is the format VirtualBox uses to boot up and install the OS on a virtual machine. We can download the Windows 11 ISO file &lt;a href="https://www.microsoft.com/en-us/software-download/windows11" rel="noopener noreferrer"&gt;here&lt;/a&gt;. On this page, scroll down to the "Download Windows 11 Disk Image (ISO) for x64 devices" section and select the "Windows 11 (multi-edition ISO for x64 devices)" option then select preferred language (I chose "English (United States)" then click "Confirm".&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%2Fimfbou960rdm50b9ov6v.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%2Fimfbou960rdm50b9ov6v.png" title="Windows 11 ISO Download Page" alt="Windows 11 ISO Download Page" width="800" height="564"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Windows 11 ISO Download Page&lt;/center&gt;

&lt;p&gt;On confirming, Microsoft will validate your request (should take a few seconds) then reveal the download button which, on clicking, will initiate the actual download.&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%2Fix7jpqyrw7ysl5fy97ng.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%2Fix7jpqyrw7ysl5fy97ng.png" title="Windows 11 ISO Download Button" alt="Windows 11 ISO Download Button" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Windows 11 ISO Download Button&lt;/center&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; The ISO file is a relatively large file (~7GB in my case) so ensure you have access to a stable internet connection and adequate space on your machine.&lt;/p&gt;

&lt;p&gt;Upon download completion, go back to the VirtualBox window and click on "New". You should see a pop-up modal with a form for creation of a new VM as below.&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%2Fyxk6d496g3k4yezr53ah.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%2Fyxk6d496g3k4yezr53ah.png" title="VirtualBox VM Creation" alt="VirtualBox VM Creation pop-up" width="800" height="628"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox VM Creation pop-up&lt;/center&gt;

&lt;p&gt;Name your VM (e.g., Windows 11 (64-bit)). Specify the folder that will store the VM’s files. Choose the downloaded Windows ISO as the installation image. Check "Proceed with Unattended Installation". Click "Next".&lt;/p&gt;

&lt;p&gt;This will lead to a pop-up to set up &lt;a href="https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/basic-unattended.html" rel="noopener noreferrer"&gt;Unattended Guest Installation&lt;/a&gt;. Unattended Installation enables a user to configure the installation before starting the VM, and VirtualBox takes care of everything — even creating the default user.&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%2Fs9x7er8juosahildkvjq.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%2Fs9x7er8juosahildkvjq.png" title="VirtualBox VM Unattended Installation" alt="VirtualBox VM Unattended Installation pop-up" width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center id="unattended-installation"&gt;VirtualBox VM Unattended Installation pop-up&lt;/center&gt;

&lt;p&gt;Provide your User Name, Password, Host Name (can only contain alphanumeric characters and hyphens) and Domain Name (default can suffice).&lt;/p&gt;

&lt;p&gt;Once filled out, click "Next". This will lead to a pop-up to configure virtual hardware resource dedicated to the VM (minimum of 4GB RAM, 2 CPUs and 40 GB Storage). I would recommend 8GB RAM, 4 CPUs and 80 GB Storage). Once done, click "Next".&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%2Ffdtjt2i656xpuustvkkt.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%2Ffdtjt2i656xpuustvkkt.png" title="VirtualBox VM Hardware Configuration" alt="VirtualBox VM Hardware Configuration pop-up" width="800" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox VM Hardware Configuration pop-up&lt;/center&gt;

&lt;p&gt;Finally, review the set configurations then click "Finish". This will create the new VM and start it up.&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%2Fx489hdukqsekqk4h0bil.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%2Fx489hdukqsekqk4h0bil.png" title="Newly Created Running Windows VM" alt="Newly Created Running Windows VM" width="800" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Newly Created Running Windows VM&lt;/center&gt;

&lt;p&gt;Windows will begin installation in the virtual machine. This process took at least an hour to complete and restarted the VM a number of times. As such, I would advise closing any prior running processes and ensure the machine is plugged in so as to prevent premature shutdown while the installation is running.&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%2F4iuuh2t6voui2pzt3z2m.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%2F4iuuh2t6voui2pzt3z2m.png" title="Windows OS Installation" alt="Windows OS Installation" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Windows OS Installation&lt;/center&gt;

&lt;p&gt;Upon completion, one will now have a ready to use Windows OS fully setup with default configurations and logged in using the default user defined during the unattended installation setup.&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%2Fwza1n2xcdfcdx72x4wtj.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%2Fwza1n2xcdfcdx72x4wtj.png" title="Windows Desktop OS" alt="Windows Desktop OS" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Windows Desktop OS&lt;/center&gt;

&lt;p&gt;But how then can one start the OS at a later time post-installation? Simply start the VirtualBox application, select the Windows VM from the list of installed virtual machine and click &lt;strong&gt;&lt;em&gt;Start&lt;/em&gt;&lt;/strong&gt; in the toolbar at the top to power up the OS.&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%2Fykqsr8oqaxxh18ced8bm.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%2Fykqsr8oqaxxh18ced8bm.png" title="Powered Off Windows VM" alt="Powered Off Windows VM" width="800" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Powered Off Windows VM&lt;/center&gt;

&lt;p&gt;And with that, you have a fully running Windows OS ready to use for your specific needs.&lt;/p&gt;

&lt;h2 id="guest-additions-installation"&gt;Guest Additions&lt;/h2&gt;

&lt;p&gt;With the Windows VM now up and running, one can now optionally install &lt;a href="https://www.virtualbox.org/manual/ch04.html" rel="noopener noreferrer"&gt;Guest Additions&lt;/a&gt;. This is an addon feature within every VirtualBox version that seeks to improve working with installed virtual machines by providing closer integration between host and guest and improving the interactive performance of guest systems.&lt;/p&gt;

&lt;p&gt;Some of its features and benefits include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Seamless mouse integration.&lt;/li&gt;
&lt;li&gt;Folder and clipboard sharing between a host and VM OS.&lt;/li&gt;
&lt;li&gt;Time synchronisation.&lt;/li&gt;
&lt;li&gt;Automated Guest &lt;a href="https://www.virtualbox.org/manual/ch09.html#autologon" rel="noopener noreferrer"&gt;Logins&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Improved video support and display capabilities.&lt;/li&gt;
&lt;li&gt;Seamless &lt;a href="https://www.virtualbox.org/manual/ch04.html#seamlesswindows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To install the Guest Additions inside of your Windows VM:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on &lt;strong&gt;&lt;em&gt;Devices&lt;/em&gt;&lt;/strong&gt; in the toolbar of the running VM and select &lt;strong&gt;&lt;em&gt;Insert Guest Additions CD image&lt;/em&gt;&lt;/strong&gt; from the drop down menu.&lt;/li&gt;
&lt;li&gt;Inside the VM, open &lt;strong&gt;&lt;em&gt;File Explorer&lt;/em&gt;&lt;/strong&gt; and locate the CD Drive for the VirtualBox Guest Additions on the left hand menu&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%2F1390r1gf7mvrrz7l0ege.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%2F1390r1gf7mvrrz7l0ege.png" alt="VirtualBox Guest Additions in File Explorer" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;VirtualBox Guest Additions in File Explorer&lt;/center&gt;

&lt;p&gt;Click on it and right click on &lt;strong&gt;&lt;em&gt;VBoxWindowsAdditions-amd64&lt;/em&gt;&lt;/strong&gt; to &lt;strong&gt;&lt;em&gt;Run as administrator&lt;/em&gt;&lt;/strong&gt;. Click &lt;strong&gt;&lt;em&gt;Yes&lt;/em&gt;&lt;/strong&gt; on the &lt;em&gt;UAC&lt;/em&gt; prompt that pops up to start installation.&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%2F2pyr2edk74srda8cyum0.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%2F2pyr2edk74srda8cyum0.png" alt="Running " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Running VBoxWindowsAdditions-amd64 as Administrator&lt;/center&gt;

&lt;p&gt;Click &lt;strong&gt;&lt;em&gt;Next&lt;/em&gt;&lt;/strong&gt; on the Guest Addition Setup wizard that appears.&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%2F4dyvowgf0lhh012ryew5.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%2F4dyvowgf0lhh012ryew5.png" alt="Guest Additions Setup wizard" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Guest Additions Setup wizard&lt;/center&gt;

&lt;p&gt;Provide the location in which Guest Additions will be installed (the suggested location should be sufficient) then click &lt;strong&gt;&lt;em&gt;Next&lt;/em&gt;&lt;/strong&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%2Fqnohf43j28jbg4ui5n54.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%2Fqnohf43j28jbg4ui5n54.png" alt="Guest Additions Installation Location" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Guest Additions Installation Location&lt;/center&gt;

&lt;p&gt;Then check the preferred components to install and click &lt;strong&gt;&lt;em&gt;Install&lt;/em&gt;&lt;/strong&gt; to begin installation.&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%2Fc18rboretsgl88lozhkq.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%2Fc18rboretsgl88lozhkq.png" alt="Guest Additions Components Installation" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Guest Additions Components Installation&lt;/center&gt;

&lt;p&gt;Installation will take a few seconds then you will be prompted to reboot the VM so that the installation can take hold. Check &lt;strong&gt;&lt;em&gt;Reboot now&lt;/em&gt;&lt;/strong&gt; then &lt;strong&gt;&lt;em&gt;Finish&lt;/em&gt;&lt;/strong&gt; to complete the process.&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%2Fi8brkxqlwh0esv883e2m.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%2Fi8brkxqlwh0esv883e2m.png" alt="Guest Additions Installation Completion" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Guest Additions Installation Completion&lt;/center&gt;

&lt;p&gt;After restart, on the Toolbar, select:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;View&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Auto-resize Guest Display&lt;/em&gt;&lt;/strong&gt; to enable dynamic resolution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Devices&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Shared Clipboard&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Bidirectional&lt;/em&gt;&lt;/strong&gt; to enable clipboard sharing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Devices&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Drag and Drop&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Bidirectional&lt;/em&gt;&lt;/strong&gt; to enable file transfer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Devices&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Shared Folders&lt;/em&gt;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&lt;em&gt;Shared Folders Settings&lt;/em&gt;&lt;/strong&gt; to define folders that will be shared with the host OS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And with that, you will have successfully installed and configured Guest Additions for your Windows VM.&lt;/p&gt;

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

&lt;p&gt;This has been a long article but by the end, we now have a successfully set up Windows OS running in an Oracle VirtualBox virtual machine that can now be configured and used for data science purposes.&lt;/p&gt;

&lt;p&gt;I thank you for your patience and resilience for getting to this point and now invite you to share the results of your installations, together with questions you may have, in the comments.&lt;/p&gt;

&lt;p&gt;If this article has been beneficial to you, or you know someone who may benefit from it, feel free to share it widely to your friends, colleagues, local communities and social media platforms. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;VMware. (2026, Jan 15). &lt;em&gt;What is a Virtual Machine?&lt;/em&gt; &lt;a href="https://www.vmware.com/topics/virtual-machine" rel="noopener noreferrer"&gt;https://www.vmware.com/topics/virtual-machine&lt;/a&gt;.   ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn2"&gt;
&lt;p&gt;AWS. (2026, Jan 12). &lt;em&gt;What is a Hypervisor? - Hypervisor Explained&lt;/em&gt; &lt;a href="https://aws.amazon.com/what-is/hypervisor" rel="noopener noreferrer"&gt;https://aws.amazon.com/what-is/hypervisor&lt;/a&gt;.   ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn3"&gt;
&lt;p&gt;GeeksforGeeks. (2025, Dec 08). &lt;em&gt;Hypervisor&lt;/em&gt; &lt;a href="https://www.geeksforgeeks.org/system-design/hypervisor" rel="noopener noreferrer"&gt;https://www.geeksforgeeks.org/system-design/hypervisor&lt;/a&gt;. ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn4"&gt;
&lt;p&gt;Oracle VirtualBox. (2026, Jan 16). &lt;em&gt;Welcome to VirtualBox.org!&lt;/em&gt; &lt;a href="https://www.virtualbox.org" rel="noopener noreferrer"&gt;https://www.virtualbox.org&lt;/a&gt;. ↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn5"&gt;
&lt;p&gt;Wikipedia. (2026, Jan 16). &lt;em&gt;Microsoft Windows&lt;/em&gt; &lt;a href="https://en.wikipedia.org/wiki/Microsoft_Windows" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Microsoft_Windows&lt;/a&gt;. ↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>luxdevhq</category>
      <category>learning</category>
      <category>productivity</category>
      <category>virtualmachine</category>
    </item>
    <item>
      <title>My Journey at LuxDevHQ: Overview</title>
      <dc:creator>Victor Kamau</dc:creator>
      <pubDate>Tue, 13 Jan 2026 18:29:27 +0000</pubDate>
      <link>https://forem.com/victormungai97/my-journey-at-luxdev-academy-overview-269g</link>
      <guid>https://forem.com/victormungai97/my-journey-at-luxdev-academy-overview-269g</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%2Fwt6x6dx129zcxhfqp566.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%2Fwt6x6dx129zcxhfqp566.jpeg" title="LuxDevHQ" alt="LuxDevHQ" width="680" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Entrance to LuxDevHQ premises&lt;/center&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.luxdevhq.ai/" rel="noopener noreferrer"&gt;LuxDevHQ&lt;/a&gt; is a premium training institution located in Nairobi, Kenya.&lt;br&gt;
It specializes in the education and mastering of Analytics, Data Science, Artificial Engineering and Data Engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  About
&lt;/h2&gt;

&lt;p&gt;Started in 2019, by &lt;a href="https://dev.to/letstalkdeveloper/a-talk-with-harun-mbaabu-founder-of-lux-tech-academy-and-datafest-ea"&gt;Harun Mbaabu&lt;/a&gt;, it was born out of a vision to democratize tech education. In a country where education, particularly tech education, can be quite costly and hence out of reach for majority of the population, LuxDevHQ seeks to make such information accessible to everyone, regardless of background or location &lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I come in
&lt;/h2&gt;

&lt;p&gt;Prior to data science, I had been a software developer professionally some time but was becoming disillusioned with development and was thus on the lookout for alternative tech fields. That is when I met Lux.&lt;br&gt;
I first came across Lux via a &lt;a href="https://x.com/LuxDevHQ/status/1948048755602624815" rel="noopener noreferrer"&gt;post&lt;/a&gt; published on their &lt;a href="https://x.com/luxdevhq" rel="noopener noreferrer"&gt;X&lt;/a&gt; account highlighting students grinding hard at night. This intrigued me as I was amazed to observe the dedication and passion embodied by the students at such unusual hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;p&gt;Further investigation into Lux revealed much more information that hooked me from the start. With a wide variety of benefits to members, including, but not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.luxdevhq.ai/coworking" rel="noopener noreferrer"&gt;Co-working space&lt;/a&gt; available to members for use for their daily needs (with the space being free for &lt;a href="https://x.com/LuxDevHQ/status/1948070000893599779?s=20" rel="noopener noreferrer"&gt;students&lt;/a&gt; for up to a year after graduation),&lt;/li&gt;
&lt;li&gt;Variety of &lt;a href="https://www.luxdevhq.ai/courses" rel="noopener noreferrer"&gt;courses&lt;/a&gt;, &lt;a href="https://www.luxdevhq.ai/pricing" rel="noopener noreferrer"&gt;classes&lt;/a&gt; and &lt;a href="https://www.luxdevhq.ai/" rel="noopener noreferrer"&gt;programs&lt;/a&gt; designed to equip learners with the knowledge required to navigate the ever-evolving world of data science and AI,&lt;/li&gt;
&lt;li&gt;Launchpad for careers while providing a community of innovators, particularly in the data space,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;it is safe to say that I was fully bought on what they were selling. As such, I decided to enroll for their Data Analytics, Data Science and AI program on a full-time basis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enrollment
&lt;/h2&gt;

&lt;p&gt;Enrollment was very streamlined with a fairly seamless payment mechanism and constant support from the staff throughout the entire process. I ultimately joined Cohort 6 and had my first session on January 12 2026.&lt;/p&gt;

&lt;p&gt;With all this in focus, I have decided to document my journey as a student in LuxDevHQ. My goal is to highlight the ups and downs I may encounter along the way and the lessons learnt (be they positive or negative, both in and out of class) with the hope of ultimately inspiring someone else out here to take a plunge into the world of data science, possibly at LuxDevHQ.&lt;/p&gt;

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

&lt;p&gt;Join me on this ride and feel free to ask any questions if, and as, they arise. Should you wish to know more about Lux, you can visit their &lt;a href="https://x.com/luxdevhq" rel="noopener noreferrer"&gt;website&lt;/a&gt; or on their &lt;a href="https://x.com/luxdevhq" rel="noopener noreferrer"&gt;socials&lt;/a&gt;. Additionally, you can &lt;a href="https://cal.com/luxedevhq.com/learn-about-luxdevhq-coworking-space" rel="noopener noreferrer"&gt;schedule&lt;/a&gt; a call or visit their &lt;a href="https://maps.app.goo.gl/GuBFrgQ6LQuRmLGA7" rel="noopener noreferrer"&gt;premises&lt;/a&gt;, if you are within or around Nairobi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DISCLAIMER&lt;/strong&gt;: Neither this article nor the series as a whole has been sponsored by, nor serves as a blanket endorsement of LuxDevHQ. Kindly carry out your research and come to a decision that best suits your particular needs.&lt;/p&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;LuxDevHQ. (2025, Mar 02). &lt;em&gt;LuxDevHQ - AI and Data Science Training&lt;/em&gt; &lt;a href="https://www.luxdevhq.ai/about" rel="noopener noreferrer"&gt;https://www.luxdevhq.ai/about&lt;/a&gt;.&lt;br&gt; ↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>luxdevhq</category>
      <category>datascience</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
