<?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: Ajeet Yadav</title>
    <description>The latest articles on DEV Community by Ajeet Yadav (@ajeet).</description>
    <link>https://dev.to/ajeet</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%2F62201%2F6f495c6b-77df-41c7-b19d-095dff6bc7ac.jpeg</url>
      <title>DEV Community: Ajeet Yadav</title>
      <link>https://dev.to/ajeet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ajeet"/>
    <language>en</language>
    <item>
      <title>Set up Jupyter Notebook in VS Code for Data Science</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Tue, 10 Mar 2020 12:36:49 +0000</pubDate>
      <link>https://dev.to/ajeet/set-up-jupyter-notebook-in-vs-code-for-data-science-updated-2020-5b7l</link>
      <guid>https://dev.to/ajeet/set-up-jupyter-notebook-in-vs-code-for-data-science-updated-2020-5b7l</guid>
      <description>&lt;p&gt;
&lt;a href="https://ajeet.dev/"&gt;Blog&lt;/a&gt; | 
&lt;a href="https://twitter.com/ajeet_online?ref=ajeet.dev"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/set-up-jupyter-notebook-in-visual-studio-code/"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;I will write several blog posts on Python. All of them will be focused on the beginners to get them started with Python for Data Science. Follow the updates here : &lt;a href="https://ajeet.dev/newbie-in-python/"&gt; Learn Python Step by Step - A Blog Series by Me 🚀&lt;/a&gt;&lt;/strong&gt;. &lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I am a newbie in tech. This blog post is based on my personal experience. Feedback Welcome. Would really appreciate your time 🙏&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Project Jupyter is a non-profit, 100% open-source project. It develops software and web applications to support interactive data science and scientific computing. JupyterLab, Jupyter Notebook, and Jupyter Hub are the three key open source software developed by the team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FvfzFT8d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l7qymxavca242k454t39.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FvfzFT8d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l7qymxavca242k454t39.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Jupyter Logo is taken from Jupyter.org&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://jupyter.org"&gt;Jupyter Notebook&lt;/a&gt; is a web app that lets you easily create and share documents that contain your live source code, markdown text, equations and visualizations - all in one canvas called a Notebook. It supports dozens of programming languages  such as Python, R, Scala, Spark, and Julia.&lt;/p&gt;

&lt;p&gt;Data scientists use Jupyter Notebooks for several tasks - data analysis, cleaning, transformation, modelling, visualizations, machine learning, and so on. You can easily explore data using the popular Python libraries such as pandas, scikit-learn, ggplot2, TensorFlow.&lt;/p&gt;

&lt;p&gt;You can easily set up and use Jupyter Notebook with &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;, run all the live codes and see data visualizations without leaving the VS Code UI.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This blog post is a step-by-step guide to set up and use Jupyter Notebook in VS Code Editor for data science or machine learning on Windows. The post is written exclusively for the beginners in tech.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  🛠️ Set up our environment - Create a Jupyter Notebook&lt;/li&gt;
&lt;li&gt;  ⚙️ Work with code cells in the Notebook Editor&lt;/li&gt;
&lt;li&gt;  🔥 Key Features of Jupyter Notebook Editor&lt;/li&gt;
&lt;li&gt;  🤝 Python Interactive - A Mix of Jupyter Notebook &amp;amp; Python Script&lt;/li&gt;
&lt;li&gt;  🔥 Key Features of IPython Interactive&lt;/li&gt;
&lt;li&gt;  💡 What's Next&lt;/li&gt;
&lt;li&gt;  🧰Additional resources for continued learning&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://ajeet.dev/subscribe"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WHj8-9H5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma2y6t716f7u0l9gzr91.png" alt="Subscribe to Ajeet.dev Newsletter"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️&lt;strong&gt;Set up our environment - Create a Jupyter Notebook&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To set up your environment, you can either use a combination of WSL and VS Code, or Windows 10 with VS Code. I am using the former - Windows Subsystem for Linux (WSL) on Windows plus VS Code. &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/"&gt;Read this guide why I use WSL.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will set up our Jupyter environment by creating a new Jupyter Notebook. If you have followed my &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;WSL guide&lt;/a&gt;, you would have seen Ubuntu terminal by now. Let us create a Jupyter notebook. Open VS Code integrated terminal. Here is the &lt;a href="https://ajeet.dev/developing-in-wsl-using-visual-studio-code/#mcetoc_1e14pqq44m"&gt;quickest way to open VS Code integrated terminal&lt;/a&gt; inside Windows Subsystem for Linux (WSL). This will automatically open the Remote WSL. The view should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JWnzGFVN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mdawmg4aebpzwvwo76vy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JWnzGFVN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mdawmg4aebpzwvwo76vy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, press CNTRL+SHIFT+P button simultaneously using your keyboard. This will bring up a dropdown view in the VS Code Editor view. Enter &lt;strong&gt;Python: Create New Blank Jupyter Notebook&lt;/strong&gt; and select it from the dropdown. Clicking on it should load Python extension if not loaded before.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JNca4pWV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1qywk1z7aghb6avt38el.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JNca4pWV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1qywk1z7aghb6avt38el.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once connected, the first view should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DqI6yFNZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8lurbl43necjdj1i0q98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DqI6yFNZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8lurbl43necjdj1i0q98.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The top right of the VS Code UI says "Jupyter server: Not started". This means Jupyter library is currently not installed inside WSL. You will also get two pops, one of which says, "Data science libraries notebook and jupyter not installed". Click on "Install". It will install Jupyter. Let it first install automatically.&lt;/p&gt;

&lt;p&gt;Next, click on "Yes" prompt where it says "Data Science library ipykernel is not installed. Install?".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6rmKnIXO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r2sy8ju97dwre03eerhj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6rmKnIXO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r2sy8ju97dwre03eerhj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One thing is to note that, you may see a pop up saying "&lt;em&gt;Error: 'Kernelspec' module not installed in the selected interpreter ({0}). Please re-install or update 'jupyter'&lt;/em&gt; ".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q4U_AgMs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8m6xt9c8agy5tf5zkwqf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q4U_AgMs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8m6xt9c8agy5tf5zkwqf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many people have &lt;a href="https://github.com/microsoft/vscode-python/issues/10071"&gt;reported&lt;/a&gt; this. Here is a &lt;a href="https://github.com/Microsoft/vscode-python/blob/master/PYTHON_INTERACTIVE_TROUBLESHOOTING.md#pip"&gt;fix&lt;/a&gt; taken from official VS Code Python extension. In the integrated VS Code terminal, run both the commands one by one:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 -m pip install --upgrade pip&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 -m pip install jupyter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Restart VS Code editor, and you should not see the pop up now. Let me know in the comments if the issue still persists. We will fix it together.&lt;/p&gt;

&lt;p&gt;Congrats! You have set up the Jupyter library in VS Code inside the Windows Subsystem for Linux. I have written something in my Note. The final view should look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4St6pBKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wghuzujljnbv8noei98m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4St6pBKf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wghuzujljnbv8noei98m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⚙️ Work with code cells in the Notebook Editor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In the view, you should see M with a down arrow. Just below this, you will find cells to type in your code. Copy and paste these lines:  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;hello = "I am learning Python"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;print(hello)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zs18LkNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q1d2u0x2dh5w859i02l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zs18LkNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q1d2u0x2dh5w859i02l8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To run this code, click on the green run icon next to the cell. This will run the code cell.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dccdv17e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1bdm8si9pe6fpqyuyv94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dccdv17e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1bdm8si9pe6fpqyuyv94.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The output of the code cell will appear just below the code cell.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2s5pC6Td--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y4xfvfknbm656hc2l4fy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2s5pC6Td--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y4xfvfknbm656hc2l4fy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we will save our Jupyter notebook in our desired directory. I will save it in "hello_python" folder. Press CNTRL+S button simultaneously using your keyboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KHeMCfDv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pavjwujwxh4k9wdrqwyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KHeMCfDv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pavjwujwxh4k9wdrqwyi.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--criy7W4w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/09byozciphd6li4ggeek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--criy7W4w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/09byozciphd6li4ggeek.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note the format of the file once you save it, it will be .ipynb format.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q-HYOKS9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mvqdqmxplqyf8febdhc4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q-HYOKS9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mvqdqmxplqyf8febdhc4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔥 Key Features of Jupyter Notebook Editor
&lt;/h3&gt;

&lt;p&gt;The VS Code Jupyter integration is loaded with a lot of features. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support#_intellisense-support-in-the-jupyter-notebook-editor"&gt;IntelliSense&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support#_variable-explorer-and-data-viewer"&gt;Data and Variable Explorer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support#_plot-viewer"&gt;Plot Viewer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support#_debug-a-jupyter-notebook"&gt;Debugging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support#_connect-to-a-remote-jupyter-server"&gt;Connect to a remote Jupyter server&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🤝 Python Interactive - A Mix of Jupyter Notebook &amp;amp; Python Script
&lt;/h3&gt;

&lt;p&gt;One of the finest features of the Python VS Code extension is the hybrid &lt;br&gt;
approach to use Jupyter notebook and a Python script. Confused? This is &lt;br&gt;
the Python Interactive window. Once we set this up, the final view will &lt;br&gt;
look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3P-9AWFq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n3933jrsw1ljo98vrlh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3P-9AWFq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n3933jrsw1ljo98vrlh0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save the .ipynb file as python script. Click on the "convert and save to a &lt;br&gt;
Python script" option located at the top of the Editor view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IfXH8iai--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ktqd1y8fxh7q4wnnqne8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IfXH8iai--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ktqd1y8fxh7q4wnnqne8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you click on the "convert and save to a Python script", VS code editor &lt;br&gt;
will open up a new file. Here is the view of the Untitled-1 file. The format of the file is .py&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--udTy6s7_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/c9p3l9gkadag00ir1dty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--udTy6s7_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/c9p3l9gkadag00ir1dty.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save this file and rename it whatever you like it to. Make sure the file extension is &lt;strong&gt;.py&lt;/strong&gt;. My file name is PythonScript. Click on OK.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G-c7fK6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/toq078as0dgcz7vvd4w2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G-c7fK6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/toq078as0dgcz7vvd4w2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you rename the file, the view will look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AVMzfqus--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xiajim84gfd5m45jelv7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AVMzfqus--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xiajim84gfd5m45jelv7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will get three options in this view - Run Cell, Run Above, and Debug Cell. Click on the options to see the results. &lt;/p&gt;

&lt;p&gt;Now, in the Python extension's settings, we need to &lt;strong&gt;tick &lt;/strong&gt;the &lt;strong&gt;Data Science: Debug Just My Code &lt;/strong&gt;option. To do this, press CTRL+, button simultaneously using your keyboard. This will open up the Settings box. In the search box, paste this: Data Science: Debug Just My Code. Select this Option. Since I am using Windows Subsystem for Linux environment, I have first clicked on Remote [WSL:Ubuntu-18.04] and then checked the Debug Just My Code. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sgWsdFT1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4zbe0xxno7suy5rt6xgd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sgWsdFT1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4zbe0xxno7suy5rt6xgd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, close the Settings option. Let us get the Ipython Interactive view. In &lt;br&gt;
the file PythonScript.py file, click on any cell &amp;amp; press SHIFT+Enter keyboard button. This command opens up the Python Interactive window with the output of the code cell you just ran. It will have three sections: Python Script file code view, IPython Interactive, and a Console to run command.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---onPWT3I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q6s7039zdh15owxbykoj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---onPWT3I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q6s7039zdh15owxbykoj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on any code cell in the PythonScript window &amp;amp; press SHIFT+Enter keyboard button to get the output in the IPython Interactive window.&lt;/p&gt;

&lt;p&gt;One of the key features of the IPython Interactive is the Console window in which you can run any code and get the output of that single code. Just enter your code and press SHIFT+Enter keyboard button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QGAC5VTO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e40fz18j3sn8a8f3htld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QGAC5VTO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e40fz18j3sn8a8f3htld.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s48e69xW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yvqhr6shgs9bxj308aun.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s48e69xW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yvqhr6shgs9bxj308aun.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔥 Key Features of IPython Interactive
&lt;/h3&gt;

&lt;p&gt;The Ipython Interactive window has almost all the features of the Jupyter Notebook.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_intellisense"&gt;IntelliSense&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_variable-explorer-and-data-viewer"&gt;Data and Variable Explorer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_plot-viewer"&gt;Plot Viewer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_debug-a-jupyter-notebook"&gt;Debugging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_convert-jupyter-notebooks-to-python-code-file"&gt;Convert Jupyter notebooks to Python code file&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_export-a-jupyter-notebook"&gt;Export Python Interactive window or Python file as a Jupyter Notebook&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support-py#_connect-to-a-remote-jupyter-server"&gt;Connect to a remote Jupyter server&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💡 What's Next
&lt;/h3&gt;

&lt;p&gt;I am going to write about data structure and algorithms in Python. Meanwhile, if you are a newbie in Python, follow this track.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://ajeet.dev/newbie-in-python/"&gt;Newbie in Python? Follow this track&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;I will add many more posts under this track. Stay Tuned. &lt;a href="https://ajeet.dev/subscribe/"&gt;Subscribe to my Blog&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧰 Additional resources for continued learning
&lt;/h3&gt;

&lt;p&gt;Here are the recommendations to learn more about VS Code Python extension's usage. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/editing"&gt;Editing code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/debugging"&gt;Debugging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/testing"&gt;Testing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://code.visualstudio.com/docs/python/settings-reference"&gt;Settings reference&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Credits 🙏 : &lt;/em&gt; &lt;br&gt;
&lt;em&gt;&lt;a href="https://code.visualstudio.com/docs/python/jupyter-support"&gt;Official Microsoft Docs on Jupyter Notebook&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Emojis taken from &lt;a href="https://emojipedia.org/"&gt;Emojipedia&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Cover image built with &lt;a href="https://blogcover.now.sh"&gt;BlogCover&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://ajeet.dev/subscribe"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WHj8-9H5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma2y6t716f7u0l9gzr91.png" alt="Subscribe to Ajeet.dev Newsletter"&gt;&lt;/a&gt;&lt;/p&gt;




</description>
      <category>beginners</category>
      <category>vscode</category>
      <category>jupyter</category>
      <category>python</category>
    </item>
    <item>
      <title>My Development Environment Set up on Windows to use Python for Web Dev &amp; Data Science</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Mon, 24 Feb 2020 08:24:06 +0000</pubDate>
      <link>https://dev.to/ajeet/my-development-environment-set-up-on-windows-to-use-python-for-web-dev-data-science-d55</link>
      <guid>https://dev.to/ajeet/my-development-environment-set-up-on-windows-to-use-python-for-web-dev-data-science-d55</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This blog post is a step-by-step guide to install and use Python for web development, programming, data science or machine learning on a Windows machine using the Windows Subsystem for Linux and VS Code Editor. This post is written exclusively for the beginners in tech.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;I have planned to write several blog posts on Python. All of them will be focused on the beginners to get them started with Python for Data Science. Please follow the updates here : &lt;a href="https://ajeet.dev/newbie-in-python/"&gt; Learn Python Step by Step - A Blog Series by Me 🚀&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I am a newbie in tech. This blog post is based on my personal experience. Feedback Welcome. Would really appreciate your time 🙏&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Techies have different set-ups on a Windows machine to use Python for web development, machine learning or data science. For the newbies in tech, I recommend any one of the following two development environment set-ups (also recommended by Microsoft) to start their coding journey:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Use Windows Subsystem for Linux (WSL) and VS Code&lt;/strong&gt;:
 This is the approach we are going to follow in this blog post. We will 
use a Microsoft tool - Windows Subsystem for Linux - to set up a Linux 
distribution on a Windows machine. Newbies in tech who have been using a
 Windows desktop for years must read &lt;a href="https://ajeet.dev/switching-from-windows-to-linux/"&gt;this blog post explaining the benefits of using Windows Subsystem for Linux&lt;/a&gt;. In this set up, we will install and use Python inside the WSL, not directly on Windows. I am using this setup for two reasons: One, &lt;strong&gt;Build web applications using Python&lt;/strong&gt; - Most of the resources and instructions for Python web development are written by and for the Linux users. The resources use Linux-based packaging and installation tools. Thus, the support is endless for the Linux users. Read&lt;a href="https://ajeet.dev/linux-vs-windows-os/"&gt;Why Linux Is Better For Programming &amp;amp; Web Dev&lt;/a&gt;. Second, &lt;strong&gt;Learn data science and machine learning&lt;/strong&gt; - I can extend this set up to learn data science or machine learning. For example, I can install &lt;a href="https://jupyter.org/"&gt;Jupyter&lt;/a&gt; and natively edit Jupyter notebooks in VS Code inside the WSL. I can easily install 
and use several Python's data science &amp;amp; machine learning libraries to do several tasks such as data cleaning, analysis, visualizations, and build machine learning models.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Use Windows 10 and VS Code&lt;/strong&gt;:
 You can use this set up to use Python for something other than web development. In this case, we install Python directly on Windows 10 using the Microsoft Store. This will help you learn Python using Windows, but not using the WSL tool. At any point of time, you can always install WSL to learn web development. Learn more about this setup &lt;a href="https://docs.microsoft.com/en-us//windows/python/beginners"&gt;here&lt;/a&gt;. I don't use this setup to learn programming using Python. Read &lt;a href="https://ajeet.dev/linux-vs-windows-os/"&gt;my views&lt;/a&gt; on why I chose a Linux environment to learn programming. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14ldknk9"&gt;💻 Windows Subsystem for Linux, VS Code Editor, Python Extension = The Deadly Trio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14lf4ova"&gt;✅ Install Windows Subsystem for Linux (WSL)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14lf4ova"&gt;⚙️ Set up VS Code to work with WSL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14llg7dg"&gt;🛠️ Install Python and its modules inside WSL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14mc7c8h"&gt;⬇️ Install Python Extension to work with VS Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14pqq44m"&gt;🏃‍♂️ Run a Python program&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e16t7n223"&gt;💡 What's Next - Setup Jupyter Notebook with VS Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/#mcetoc_1e14vfglu0"&gt;🧰 Additional resources for continued learning&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;💻 Windows Subsystem for Linux, VS Code Editor, Python Extension = The Deadly Trio&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Microsoft has been working really hard to develop various new-age tools for the developers and techies to bring web development, data science and machine learning to the masses. It created Azure cloud computing service and TypeScript open-source programming language. It acquired GitHub and R software. It developed source-code editor VS Code, Windows Subsystem for Linux (a tool to use Linux on windows without installing any virtual machine software), and has been continuously working to improve Microsoft Terminal. It clearly shows Microsoft tools have been slowly gaining the popularity among data scientists, engineers, and developers.&lt;/p&gt;

&lt;p&gt;This combination of Windows Subsystem for Linux (WSL), VS Code editor and Python extension is truly a solid set up to work with Python for anything, be it data science, machine learning, artificial intelligence or web development.&lt;/p&gt;

&lt;p&gt;We will install and use the three tools by Microsoft to learn Python on Windows 10. Let us start installing one by one.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;✅ Install Windows Subsystem for Linux (WSL)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I have already written a how-to-guide to set up WIndows Subsystem for Linux (WSL). &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;Follow this guide to set up WSL&lt;/a&gt; - a powerful tool built by the Microsoft. In this guide, you will learn how to install and use Linux inside a Windows machine without installing any Virtual Machine software. You don't have to leave your favorite Windows UI anymore. Additionally, use &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/"&gt;this guide (optional) to create files and folders inside WSL&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⚙️ Set up VS Code to work with WSL&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For the beginners, I have written a comprehensive guide on how to work with VS Code editor inside the WSL. &lt;a href="https://ajeet.dev/developing-in-wsl-using-visual-studio-code/"&gt;Follow this step-by-step guide&lt;/a&gt;. In this guide, you will learn how to set up VS Code as our text editor / integrated development environment (IDE) to work with WSL. The cool thing is you can run all the Linux commands, such as &lt;code&gt;mkdir&lt;/code&gt; to create a project directory and &lt;code&gt;touch&lt;/code&gt; to create a file, using VS Code integrated terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nf9xNRbt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z6irzccqfw8m980yw1ni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nf9xNRbt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z6irzccqfw8m980yw1ni.png" alt="RUn Linux commands in VS Code integrated terminal" width="657" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, you don't have to leave you favorite Code Editor too.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🛠️ Install Python and its modules inside WSL&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you have followed my &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;WSL guide&lt;/a&gt;, you would have seen Ubuntu terminal by now. Ubuntu 18.04 LTS comes with Python3 version installed. But it leaves out some of the modules and packages that Python applications often uses that don’t come as part of the standard library. We will install a couple of them.&lt;/p&gt;

&lt;p&gt;Before installing them, one should make sure Python3 is already installed. To confirm, run &lt;code&gt;python --version&lt;/code&gt; in the VS Code integrated terminal. You will see Python version (version 3.6.9 in my case). Make sure you have WSL installed on your Windows machine, and you have set up VS code server using the guides in the previous section. To update the Python version, first you should update your Ubuntu version using this command: &lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;/code&gt;. The terminal will ask you for the password you set up during installing the WSL tool. Type your password (the password will not be visible) and press Enter button using your keyboard. During this process, if the terminal asks you "&lt;em&gt;Do You want to continue? [Y/n]&lt;/em&gt;", just press Y using your keyboard, and hit Enter button. It is basically seeking your permission to download something from the internet. Make sure you read first.&lt;/p&gt;

&lt;p&gt;Now, run this command to update Python version: &lt;code&gt;sudo apt upgrade python3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5FHKDJDe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kn35rtvofnfbhr2oge5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5FHKDJDe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kn35rtvofnfbhr2oge5r.png" alt="Check Python Version" width="815" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, we will install &lt;strong&gt;pip&lt;/strong&gt; - the standard package manager for Python. Run this command in the same VS Code integrated terminal:&lt;code&gt;sudo apt install python3-pip&lt;/code&gt;. Pip is a package installer for Python that helps us install packages from the &lt;a href="https://pypi.org"&gt;Python Package Index&lt;/a&gt;. You can install Pandas - a Python package used for data analysis, time series, and statistics by running this command: &lt;code&gt;pip install pandas&lt;/code&gt;. Note that depending on your environment, you might have to &lt;a href="https://python-forum.io/Thread-What-s-the-difference-between-pip-and-pip3"&gt;use pip3 instead of pip&lt;/a&gt; in the above command.&lt;/p&gt;

&lt;p&gt;Now, we will install &lt;strong&gt;venv&lt;/strong&gt; - a module that provides support to create and manage lightweight virtual environments. Run this command in the terminal:&lt;code&gt;sudo apt install python3-venv&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.python.org/3/tutorial/venv.html"&gt;Learn more about pip and venv&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⬇️ &lt;strong&gt;Install Python Extension to work with VS Code&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once you have installed the Python packages and modules inside Remote - WSL, you must install the VS Code Python extension inside WSL even if you have installed it locally (Windows machine). If you don't understand how extensions work locally and inside Remote - WSL, you must read this &lt;a href="https://ajeet.dev/developing-in-wsl-using-visual-studio-code/#mcetoc_1e14vfglu0"&gt;short info on managing VS extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To install Python extension, press CNTRL+SHIFT+X button simultaneously using your keyboard. This will bring up the Extensions view in the Left/Right side of the Code Editor. In the top Search box, enter "Python". Look for "Python (ms-Python.Python)" by Microsoft extension. Click on Install or &lt;em&gt;Install in WSL:Ubutnu-18.04&lt;/em&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jwvWKInD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y7rgbd9ckrms3gmsh5sz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jwvWKInD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y7rgbd9ckrms3gmsh5sz.png" alt="Install Python Extension inside Remote WSL" width="880" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have installed the extension, VS Code will ask you to reload the &lt;br&gt;
code editor. Click on Reload Required button, if asked. This will reload VS Code. The final view may look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y0wpPB88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/je1ilkjsi0mh8yz0efg3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y0wpPB88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/je1ilkjsi0mh8yz0efg3.png" alt="Python installed in Remote WSL" width="410" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Python is an interpreted language, which means we should tell our text editor, here VS Code, to select an interpreter in order to run Python code using VS Code editor. Python supports different types of interpreters (Python2, Anaconda, etc). We will use Python 3.6.9 though you can install different versions of Python and use them as interpreters for different projects. To choose a Python 3 interpreter, bring up the &lt;strong&gt;Command Palette &lt;/strong&gt;view of the VS Code. Press Ctrl+Shift+P button simultaneously using your keyboard, type &lt;strong&gt;Python: Select Interpreter&lt;/strong&gt;, and select it from the drop-down.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i9qUjmSn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r0xnvk6xcaxriq9a439e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i9qUjmSn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r0xnvk6xcaxriq9a439e.png" alt="How to select a python interpreter" width="654" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you click the Python interpreter, the drop-down will show you Python &lt;br&gt;
versions installed inside WSL. I can see only one as I have installed one only version of Python. Click on "Python 3.6.9 64-bit".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4x6VyCsf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r8z6j2b9vb7rz3w35q6t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4x6VyCsf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/r8z6j2b9vb7rz3w35q6t.png" alt="Select Python Interpretor" width="743" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Microsoft will download the Python language server. Once the download finished, &lt;br&gt;
you would see the Python version you selected as an interpreter in the Bottom Status bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dAG8hxZS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mkplevugn5ywbnmjy1er.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dAG8hxZS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mkplevugn5ywbnmjy1er.png" alt="VS Code UI View after Python Interpreter is selected" width="380" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you don't see the version you like to choose in the dropdown, follow this guide to &lt;a href="https://code.visualstudio.com/docs/python/environments"&gt;configure Python environments&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Let us test our set up if it actually works. Open VS Code integrated terminal. If you don't know how integrated terminal works, please go through my blog post on &lt;a href="https://ajeet.dev/developing-in-wsl-using-visual-studio-code/"&gt;how to set up VS Code to work with WSL&lt;/a&gt;. Enter the command: python3 . You will get the Python interpreter. Run the command: &lt;code&gt;print("I am Ajeet")&lt;/code&gt;. You will see the statement "I am Ajeet".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I4l39O74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ba4qh2s8d2m3j4igq6bb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I4l39O74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ba4qh2s8d2m3j4igq6bb.png" alt="Test Python Interpreter" width="880" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newbies should &lt;a href="https://docs.microsoft.com/en-us//windows/python/beginners#hello-world-tutorial-for-some-python-basics"&gt;try out some more simple codes&lt;/a&gt; in the Python interpreter. Stop the terminal by pressing Ctrl+Z button keyboard buttons in the terminal. You will see the text "Stopped ... Python3". To&lt;a href="https://askubuntu.com/questions/25077/how-to-really-clear-the-terminal"&gt;clear/delete&lt;/a&gt; the commands you entered in the terminal, press  Ctrl+L button. This completes our Python set up process inside the Remote - WSL.&lt;/p&gt;

&lt;h3&gt;
  
  
  🏃‍♂️ &lt;strong&gt;Run a Python program&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We just ran a simple code in Python interpreter. Let's create a simple Python program and run it using VS Code inside WSL. This will also make sure we have selected the correct Python interpreter. Follow these steps:&lt;/p&gt;

&lt;p&gt;In the VS Code integrated terminal, enter command &lt;code&gt;ls&lt;/code&gt; to see all the current project directories. Create a new project directory "ajeet_python" by entering this command: &lt;code&gt;mkdir hello_python&lt;/code&gt; . Create a Python file inside this folder. Enter &lt;code&gt;touch ajeet_python/learn.py&lt;/code&gt; . The .py means we are creating a Python file. Now go to the newly created folder. Enter &lt;code&gt;cd ajeet_python&lt;/code&gt; . To see the newly created Python file, enter &lt;code&gt;ls&lt;/code&gt; . You can also see both the file and folder in the left side bar of the VS Code UI (called VS Code File Explorer).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8O6qRzkF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y0v20s5fteh03k6a20b2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8O6qRzkF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y0v20s5fteh03k6a20b2.png" alt="Create a Python file inside WSL" width="880" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inside the newly create Python file learn.py, let us write a code and save it. Open the file by double clicking on it. Copy this statement &lt;code&gt;print("Hello to everyone")&lt;/code&gt;paste it in the file, and save by pressing Ctrl+Z  button keyboard buttons. Now, we have to run the Python "Hello to everyone" program. In the integrated terminal, enter &lt;code&gt;python3 learn.py&lt;/code&gt; . This will run your program you just created, and the Python interpreter will print "Hello to everyone" in the terminal window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jfbDR7md--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ovxxipuwy5wtshjoez0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jfbDR7md--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ovxxipuwy5wtshjoez0d.png" alt="Run your Python program" width="880" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yay 🎉🎉 Congrats! We have set up our Python development environment on Windows machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 &lt;strong&gt;What's Next - Setup Jupyter Notebook with VS Code&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I am going to write about setting up the Jupyter notebook with VS Code editor to learn data science and machine learning on Windows 10. Blog post coming tomorrow at my blogging website. Meanwhile, here is the Table of Contents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XHKVQOQ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma816pm73qx6c1giuyq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XHKVQOQ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma816pm73qx6c1giuyq4.png" alt="Blog on Setting up the Jupyter Notebook with VS Code" width="880" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🧰 &lt;strong&gt;Additional resources for continued learning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I recommend the following resources to help you in continuing to learn Python on Windows using WSL and VS Code. Don't miss!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://ajeet.dev/newbie-in-python/"&gt; Learn Python Step by Step - A Blog Series by Me 🚀&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us//windows/python/web-frameworks#create-a-virtual-environment"&gt;Create a virtual environment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us//windows/python/web-frameworks#hello-world-tutorial-for-flask"&gt;Create a simple app using Flask - a Python web framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us//windows/python/web-frameworks#hello-world-tutorial-for-django"&gt;Create a simple app using Django - a Python web framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://devblogs.microsoft.com/python/"&gt;All the latest updates about Python at Microsoft&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us//windows/python/resources"&gt;Developing with Python on Windows&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us//windows/python/"&gt;Microsoft Guides to learn Python&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Credits 🙏 : &lt;/em&gt; &lt;br&gt;
&lt;em&gt;&lt;a href="https://docs.microsoft.com/en-us//windows/python/web-frameworks"&gt;Official Microsoft Docs on WSL&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Emojis taken from &lt;a href="https://emojipedia.org/"&gt;Emojipedia&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Cover image built with &lt;a href="https://ajeet.dev/dev-environment-set-up-on-windows-to-learn-python/blogcover.now.sh/"&gt;BlogCover&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://ajeet.dev/subscribe"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WHj8-9H5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma2y6t716f7u0l9gzr91.png" alt="Subscribe to Ajeet.dev Newsletter" width="660" height="334"&gt;&lt;/a&gt;&lt;/p&gt;




</description>
      <category>python</category>
      <category>wsl</category>
      <category>beginners</category>
      <category>vscode</category>
    </item>
    <item>
      <title>The Ultimate Guide 🚀 To Use VS Code With Windows Subsystem for Linux (WSL)👩‍💻👨‍💻</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Sun, 16 Feb 2020 12:54:00 +0000</pubDate>
      <link>https://dev.to/ajeet/the-ultimate-guide-to-use-vs-code-with-windows-subsystem-for-linux-wsl-51hc</link>
      <guid>https://dev.to/ajeet/the-ultimate-guide-to-use-vs-code-with-windows-subsystem-for-linux-wsl-51hc</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/developing-in-wsl-using-visual-studio-code/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/" rel="noopener noreferrer"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I am a newbie in tech. I have been using Linux and Windows side by side for quite some time. Windows Subsystem for Linux by Microsoft is a powerful tool for those who do not want to switch to Linux for some reasons. This blog post is based on my personal experience. Feedback Welcome. Would really appreciate your time 🙏&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;In this blog, we will learn how to use &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; in Windows Subsystem for Linux (WSL). In case you have not heard about WSL before, please read my earlier blog posts - &lt;a href="https://ajeet.dev/category/wsl/" rel="noopener noreferrer"&gt;What is Windows Subsystem For Linux and How To Run Linux on Windows&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is part 5 of my 5-part series on WSL. You can find the full series here:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://ajeet.dev/linux-vs-windows-os/" rel="noopener noreferrer"&gt;Linux Vs Windows - Why Linux Is Better For Programming &amp;amp; Web Dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ajeet.dev/switching-from-windows-to-linux/" rel="noopener noreferrer"&gt;Switching From Windows to Linux? Read This First&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ajeet.dev/windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;Windows Subsystem For Linux - Run Linux on Windows (It's FAST)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;A Beginner's Guide To Use Windows Subsystem For Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How To Use Visual Studio Code With Windows Subsystem for Linux (WSL) 👇&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;This blog post is written for beginners who want to get into the programming or web development.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Table of Contents&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;💻 Getting started&lt;/li&gt;
&lt;li&gt;✅ Install the Windows Subsystem for Linux (WSL)&lt;/li&gt;
&lt;li&gt;⬇️ Download Visual Studio Code for Windows&lt;/li&gt;
&lt;li&gt;⚙️ Install the Remote Development Extension Pack&lt;/li&gt;
&lt;li&gt;🛠️ Set up VS Code Server&lt;/li&gt;
&lt;li&gt;📂 Create a folder in WSL using VS Code&lt;/li&gt;
&lt;li&gt;💘 Ways to Connect with WSL - Remote Window&lt;/li&gt;
&lt;li&gt;🖹 Create a File in WSL using VS Code&lt;/li&gt;
&lt;li&gt;🧰 Manage Extensions&lt;/li&gt;
&lt;li&gt;💡 What's Next&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;💻 Getting started&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Visual Studio Code (also known as VS Code) is a code editor by Microsoft. It has several code editing features such as &lt;a href="https://code.visualstudio.com/docs/editor/intellisense" rel="noopener noreferrer"&gt;code completion&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/docs/editor/intellisense" rel="noopener noreferrer"&gt;parameter info&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/docs/python/linting" rel="noopener noreferrer"&gt;linting&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/docs/python/debugging" rel="noopener noreferrer"&gt;debug support&lt;/a&gt;, &lt;a href="https://code.visualstudio.com/docs/editor/userdefinedsnippets" rel="noopener noreferrer"&gt;code snippets&lt;/a&gt;, and &lt;a href="https://code.visualstudio.com/docs/python/testing" rel="noopener noreferrer"&gt;unit testing&lt;/a&gt;. For web development in Windows, VS Code integration with Windows Subsystem for Linux (WSL) is quite amazing for two reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It has a built-in terminal to create a smooth workflow between VS Code and our command line. We can create multiple terminals at different locations easily. Read more about &lt;a href="https://code.visualstudio.com/docs/editor/integrated-terminal" rel="noopener noreferrer"&gt;VS Code integrated terminal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;VS Code supports &lt;a href="https://code.visualstudio.com/docs/editor/versioncontrol" rel="noopener noreferrer"&gt;Git for version control&lt;/a&gt;. You can run Git commands from its UI itself.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;✅ Install the Windows Subsystem for Linux (WSL)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I have written a step-by-step guide to get you started using the WSL. &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;Follow this guide to use WSL&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⬇️ Download Visual Studio Code for Windows&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Download &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; for Windows. Install the software. This is same as installing a software to your Windows PC. During installing the VS Code, it will ask you to "&lt;em&gt;Select Additional Tasks"&lt;/em&gt;. Make sure you check the "Add to PATH" option. This way you can open a folder in WSL by just using the &lt;code&gt;code&lt;/code&gt; command.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⚙️ Install the Remote Development Extension Pack&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://aka.ms/vscode-remote/download/extension" rel="noopener noreferrer"&gt;Remote Development&lt;/a&gt; extension pack lets you use WSL as your Linux-based full-time development environment without leaving VS Code. You can use Linux based utilities, and run apps, and much more without leaving your Windows machine.&lt;/p&gt;

&lt;p&gt;Open VS code, and install the &lt;a href="https://aka.ms/vscode-remote/download/extension" rel="noopener noreferrer"&gt;Remote Development&lt;/a&gt; extension pack. If you have never installed an extension before, press CNTRL+SHIFT+X button simultaneously using your keyboard. This will bring up the Extensions view in the Left/Right side of the Code Editor. Search for "Remote Development". Click on the first search result, and click on Install.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🛠️ Set up VS Code Server&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once you install the extension, you will see a Remote Development extension icon at the bottom left corner of the VS Code editor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe820sk0ljn3nfkwzdimv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe820sk0ljn3nfkwzdimv.png" alt="Remote Development VS Code Extension Icon"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the icon, you will get a pop up with a list of options. Click on the first option "&lt;strong&gt;Remote-WSL: New Window&lt;/strong&gt;" for the default distro or select the "&lt;strong&gt;Remote-WSL: New Window using Distro&lt;/strong&gt;" for a specific distro.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9f46ljr1obrvir5vocgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9f46ljr1obrvir5vocgq.png" alt="Start VS Code Server"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see a notification "Starting VS Code in WSL...". &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3667py1lgpqwwl1ijafz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3667py1lgpqwwl1ijafz.png" alt="Starting VS code in WSL for the first time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means VS Code is setting up a server inside WSL for the first time. Once installed, the VS Code of your Windows machine/desktop will communicate with VS Code server on the Linux side.&lt;/p&gt;

&lt;p&gt;The main purpose of this server is to install and host extensions in WSL. This means extension, such as Python, will run against the Python installed inside WSL. Python extension will not run against what you will install on the Windows side.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhs0ox4brmuoeruqbbepf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhs0ox4brmuoeruqbbepf.png" alt="VS Code Server"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once finished, you will see the following view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj4emq1mlc6hgvdw4s9pn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj4emq1mlc6hgvdw4s9pn.png" alt="VS Code in WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means we have opened a terminal in WSL. Now, whenever you open a terminal window in this VS Code by going to &lt;em&gt;terminal &amp;gt; New terminal&lt;/em&gt;, it will automatically run in WSL. This means every time we open a new terminal in VS Code, we start a new instance of the bash shell in WSL, from VS Code editor running on Windows (not inside WSL). &lt;/p&gt;

&lt;p&gt;Let's run a command in terminal. Just after "ajeet@Ajeet-Lenovo:~$ " , type &lt;code&gt;code --help&lt;/code&gt; and press Enter. Here is the output you would see.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fukl4m83ezy1dih0j5mrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fukl4m83ezy1dih0j5mrl.png" alt="Run code in VS Code in WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;📂 Create a folder in WSL using VS Code&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Let's run some more commands to convince us we are connected to the Linux subsystem. In &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;my previous blog post&lt;/a&gt;, I had created a folder inside the home directory of Linux (or WSL) by running a command in WSL terminal. Now, let's create a project directory using VS Code, without running any command in WSL terminal.&lt;/p&gt;

&lt;p&gt;Close your WSL terminal if you have opened. In the already opened VS Code terminal, run &lt;code&gt;ls&lt;/code&gt; command to see all the files and folders. Currently there will be none. Now, just after "ajeet@Ajeet-Lenovo:~$ " , type &lt;code&gt;mkdir ajeet&lt;/code&gt; and press Enter. This will create a folder "ajeet" inside WSL. Run &lt;code&gt;ls&lt;/code&gt; command again, and you will see the newly created folder "ajeet". &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F46bw7dx8vu9x0k4u971c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F46bw7dx8vu9x0k4u971c.png" alt="Create project directory in WSL using VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you can see this folder "ajeet" when you open the home directory of Linux by running this command in VS Code terminal: &lt;code&gt;explorer.exe .&lt;/code&gt;  Do not forget the space and dot after the word explorer.&lt;/p&gt;

&lt;p&gt;So, we can see the Ubuntu commands are running in the VS Code as well. Going forward we will use WSL terminal integrated into VS Code instead of Ubuntu/WSL terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;💘 Ways to Connect with WSL - Remote Window&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;There may be several ways to connect with VS Code server. Let us explore a couple of ways to open a Remote WSL. First close both the WSL terminal and VS Code editor.&lt;/p&gt;

&lt;p&gt;First, As we know from the previous section, we can open a &lt;strong&gt;Remote - WSL: New Window&lt;/strong&gt; by clicking on the Remote Development extension icon of the VS Code. Do that and we will be connected to WSL in another VS Code editor? In the VS Code terminal, run this command: &lt;code&gt;code .&lt;/code&gt;(the dot "." argument tells VS Code editor to open the current folder). This will open another VS Code editor. We will see files and folders. You will see the newly created folder "ajeet".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg6in6w5sd4ccy6qok4qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg6in6w5sd4ccy6qok4qp.png" alt="VS Code Editor View of Remote WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A little problem with this approach is we have now 3 VS Code editors opened.&lt;/p&gt;

&lt;p&gt;Second, the second approach is faster. Close all the VS Code editors. Open WSL terminal. Run this command to open a project folder in VS Code: &lt;code&gt;code .&lt;/code&gt; The dot "." tells editor to open the current folder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5tlg5xfbczj77pboph6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5tlg5xfbczj77pboph6w.png" alt="Open remote wsl using ubuntu command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will open VS Code editor automatically, and you will be connected to the Remote WSL.  Now, you can close your WSL terminal and run all the commands as usual using VS Code integrated terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2l6lnwnyeaoy9ie8ixlm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2l6lnwnyeaoy9ie8ixlm.png" alt="VS Code Editor View of Remote WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I prefer the second approach. We can easily create a folder (as we did in the previous section) by running commands in the VS Code terminal. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5wufzfh8s1z3opahrh9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5wufzfh8s1z3opahrh9j.png" alt="Create folder in WSL VS Code editor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note that we can open another VS Code terminal by going to &lt;em&gt;terminal &amp;gt; New terminal&lt;/em&gt;. Alternatively, using keyboard press CNTRL+` (using the backtick character). &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🖹 Create a File in WSL using VS Code&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Creating a file in the home directory of Linux subsystem is easy. Make sure you are connected to Linux Subsystem and using integrated terminal. To create a new file, go to &lt;em&gt;File &amp;gt; New File&lt;/em&gt;. Alternatively, click on the editor section present just above the terminal, and press CNTRL+N button simultaneously using your keyboard. Write something in it, and press CNTRL+S button simultaneously to save the new file. You will get an option to rename the newly created file. Rename it as "demo" and Click "OK".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fri2sff9t4eoazys8sxpk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fri2sff9t4eoazys8sxpk.png" alt="Create a file in WSL using VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see the "demo" file in the left sidebar of VS Code UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fazj675d13nt76c45x5ur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fazj675d13nt76c45x5ur.png" alt="File created by VS Code inside WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let us create a new file "python_file" in a new project directory "python". In the already opened VS Code terminal, run &lt;code&gt;mkdir python&lt;/code&gt; to create a new project directory "python", &lt;code&gt;cd python&lt;/code&gt; to go to directory, and run &lt;code&gt;ls&lt;/code&gt; to view the file in this folder. Currently there will be none. Right click on "python" folder in the left sidebar of the VS Code UI. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fymdo2t9jz3d2nmickl9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fymdo2t9jz3d2nmickl9n.png" alt="Create a file in a project directory in WSL using VS Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will get an option to rename the file. Rename it to "python_file". Run &lt;code&gt;ls&lt;/code&gt; command again in the terminal to see that file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwcv2dnszu0z0m7yu5qe7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwcv2dnszu0z0m7yu5qe7.png" alt="Create a file in a project directory in WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Write something in it, and press CNTRL+S button simultaneously to save the new file. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🧰 Manage Extensions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Let's see how Extensions work in WSL and or Locally. Open VS Code, and press CNTRL+SHIFT+X button simultaneously using your keyboard to bring up the Extension view. If you install an extension from here, you can see where that extension is installed. In the left sidebar, you will see two category: &lt;strong&gt;Local - Installed&lt;/strong&gt; and &lt;strong&gt;WSL:Ubuntu-18.04 - Installed&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Local - Installed&lt;/strong&gt; category, you will also see some extensions labelled as "Install in WSL:Ubuntu-18.04". These are the extensions that you can install to run on your remote host (WSL). Select Install to install these extensions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fy9jgtikpp4wm4xzeg1lr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fy9jgtikpp4wm4xzeg1lr.png" alt="Extension lists in WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;💡 What's Next&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In my next blog, I am also going to write on &lt;a href="https://ajeet.dev/newbie-in-python/" rel="noopener noreferrer"&gt;how to use Python with VS code inside WSL&lt;/a&gt;. Stay Tuned!&lt;/p&gt;

&lt;p&gt;Happy Coding! 🤓&lt;/p&gt;




&lt;p&gt;Credits 🙏 :&lt;br&gt;
&lt;a href="https://code.visualstudio.com/docs/remote/wsl" rel="noopener noreferrer"&gt;Official Microsoft Docs on WSL&lt;/a&gt;&lt;br&gt;
Emojis taken from &lt;a href="https://emojipedia.org/" rel="noopener noreferrer"&gt;Emojipedia&lt;/a&gt;&lt;br&gt;
Cover image by &lt;a href="//undraw.co/"&gt;Undraw&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>So, you have installed Windows Subsystem for Linux? Let's learn how to move files inside of Linux Root System</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Mon, 10 Feb 2020 09:41:32 +0000</pubDate>
      <link>https://dev.to/ajeet/so-you-have-installed-windows-subsystem-for-linux-let-s-learn-how-to-move-files-inside-of-linux-root-system-4kbo</link>
      <guid>https://dev.to/ajeet/so-you-have-installed-windows-subsystem-for-linux-let-s-learn-how-to-move-files-inside-of-linux-root-system-4kbo</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/"&gt;&lt;em&gt;ajeet&lt;/em&gt;.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;In this blog, we will learn how to create or move files and folders to Linux root system from Windows. Familiarity with &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;Windows Subsystem for Linux (WLS)&lt;/a&gt; is required.&lt;/p&gt;

&lt;p&gt;This is part 4 of our 5 part series. You can find the &lt;a href="https://ajeet.dev/newbie-in-tech/"&gt;full series here&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;a href="https://ajeet.dev/linux-vs-windows-os/"&gt;Linux Vs Windows - Why Linux Is Better For Programming &amp;amp; Web Dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://ajeet.dev/switching-from-windows-to-linux/"&gt;Switching From Windows to Linux? Read This First&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;Windows Subsystem For Linux - Run Linux on Windows (It's FAST)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/"&gt;A Beginner's Guide To Use Windows Subsystem For Linux&lt;/a&gt; 👇&lt;/li&gt;
&lt;li&gt; How to Use Visual Studio Code Editor and Github with WSL (Blog coming tomorrow)&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;This blog post is written purely for beginners who wants to get into programming or web development.&lt;/p&gt;




&lt;p&gt;In my previous blog post where I introduced an overview of Windows Subsystem for Linux (WSL), we learnt the newer version of WSL architecture (WSL 2)is faster than the previous (WSL 1). We also learnt there are a couple of key changes in the new architecture. The key changes are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Your files need to be moved in the Linux file system instead of Windows system.&lt;/li&gt;
&lt;li&gt;  For now, an IP address is needed to access network applications.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let's cover this one by one.&lt;/p&gt;

&lt;h3&gt;
  
  
  📁 Move all files inside of Linux Root System
&lt;/h3&gt;

&lt;p&gt;We will move our files into Linux system. Before that, let's find the home directory in Linux.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Launch Ubuntu 18.04 command line. Do read my &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/"&gt;previous blog&lt;/a&gt; to better understand Ubuntu command line in WSL&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run this command: &lt;code&gt;explorer.exe .&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don't skip the &lt;em&gt;space after exe&lt;/em&gt; and &lt;em&gt;dot&lt;/em&gt; at the end of the command.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A folder will be automatically open up once the command executes. The network path to that folder will be like this: &lt;code&gt;\\wsl$\Ubuntu-18.04\home\ajeet&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can see all the files, such as .bash files and .wsl config file, created inside this folder automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--clKep8iS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/knhkxgj1vbgen46y9w61.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--clKep8iS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/knhkxgj1vbgen46y9w61.png" alt="Files created by WSL" width="768" height="325"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These are the system files. To understand, consider these files and folder &lt;br&gt;
similar to C-Drive files/folder in Windows. You can create a folder &lt;br&gt;
here. Let's create a new folder "ajeet".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This folder "ajeet" can also be seen using Linux command. Run &lt;code&gt;ls&lt;/code&gt; in the Ubuntu terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uFBjjKkB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jt2ql5cfufupyex37ijn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uFBjjKkB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jt2ql5cfufupyex37ijn.png" alt="see files and folder in Ubuntu using command" width="512" height="234"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can now move files and folders into this networked folder, and work independently with Linux distro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We can also install Python in this folder and learn coding Here is &lt;a href="https://docs.microsoft.com/en-us//windows/python/beginners#install-python"&gt;how to install Python&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
   🖧 Access network applications
&lt;/h3&gt;

&lt;p&gt;For now in WSL architecture, we need to use an IP to access network apps since Linux is inside a virtual machine. This IP can be see if you run a local server. In the newly created networked folder, you can install nvm, node.js and npm, and run a local server for an app. &lt;a href="https://docs.microsoft.com/en-us//windows/nodejs/setup-on-wsl2#install-nvm-nodejs-and-npm"&gt;Learn how to install nvm, node.js, and npm&lt;/a&gt;. Once the app is created, you can use an IP like this &lt;code&gt;192.168.28.2:3000&lt;/code&gt; to access your app. &lt;/p&gt;

&lt;p&gt;This section is beyond the scope of this blog post as it will need an advance knowledge of command line tools and concepts. For beginners, the previous section is enough to start learning web development and programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 What's Next
&lt;/h3&gt;

&lt;p&gt;In my next blog, I will write a post on &lt;strong&gt;How to Install and Use Git and Visual Studio Code Editor with WSL on any Linux Project&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Happy Coding ! 🤓&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Credits 🙏 : &lt;/em&gt; &lt;br&gt;
&lt;em&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/wsl/about"&gt;Official Microsoft Docs on WSL&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Windows and Linux logos taken from &lt;a href="http://simpleicons.org"&gt;SimpleIcons&lt;/a&gt;. &lt;/em&gt; &lt;br&gt;
&lt;em&gt;Emojis taken from &lt;a href="https://emojipedia.org/"&gt;Emojipedia&lt;/a&gt;. &lt;/em&gt; &lt;br&gt;
&lt;em&gt;Blog cover by &lt;a href="https://blogcover.now.sh/"&gt;BlogCover&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wsl</category>
      <category>codenewbie</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hello Newbies in Tech! Try This Powerful Tool by Microsoft to use Linux Effortlessly with Windows OS</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Tue, 04 Feb 2020 09:47:54 +0000</pubDate>
      <link>https://dev.to/ajeet/hello-newbies-in-tech-try-this-powerful-tool-by-microsoft-to-use-linux-effortlessly-with-windows-os-4klp</link>
      <guid>https://dev.to/ajeet/hello-newbies-in-tech-try-this-powerful-tool-by-microsoft-to-use-linux-effortlessly-with-windows-os-4klp</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;I am a newbie in tech. I have been using Linux and Windows side by side for quite some time now. This blog post is based on my personal experience. Feedback Welcome. Would really appreciate your time 🙏&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;I have been documenting my tech journey on my blogging site &lt;a href="https://ajeet.dev/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt; . It helps me organize my thoughts and adds value to my learning process. &lt;br&gt;
In my earlier blog post &lt;a href="https://ajeet.dev/linux-vs-windows-os/" rel="noopener noreferrer"&gt;Linux Vs Windows - Why Linux Is Better for Programming &amp;amp; Web Dev&lt;/a&gt;, I quickly compared some key features of both the Linux and Windows OS based on my experience. I found Linux Operating System quite developer friendly and the community is huge.  So, I switched to Linux (uninstalled Windows OS) to learn coding and web development. Being a Windows user and a newbie in tech, I started noticing some difficulties after I switched to Linux. I have documented my experience in this post &lt;a href="https://ajeet.dev/switching-from-windows-to-linux/" rel="noopener noreferrer"&gt;Hello Newbies in Tech! Switching From Windows to Linux? Read This First&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this post, I will explain how to get started with a Linux distro on Windows machine &lt;strong&gt;without actually installing any Virtual Machine software&lt;/strong&gt;. For this, we will install a tool called &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;Windows Subsystem for Linux (WSL)&lt;/a&gt;. Installing this will be almost similar to installing a software on Windows (with a little extra effort).&lt;br&gt;
There are several ways to use Linux but why did I install this tool in the first place?  I wrote about this in my &lt;a href="https://ajeet.dev/switching-from-windows-to-linux/" rel="noopener noreferrer"&gt;blog post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*Note: This blog post is written purely for beginners who want to get into the programming or web development. &lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Windows Subsystem for Linux (WSL)
&lt;/h2&gt;

&lt;p&gt;Windows Subsystem for Linux (WSL) is a handy and fast tool &lt;a href="https://blogs.windows.com/windowsdeveloper/2016/03/30/run-bash-on-ubuntu-on-windows/" rel="noopener noreferrer"&gt;announced by Microsoft&lt;/a&gt; to get a full GNU/Linux system inside of Windows. According to Windows,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With WSL, we can run a GNU/Linux environment natively on a Windows machine without using any Virtual Machine&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjntbag7dpo5xzpa4sib6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjntbag7dpo5xzpa4sib6.png" alt="Windows Loves Linux"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Running and using a Linux distro on Windows will be as easy as using a software on Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  WSL 1 Vs WSL 2 - Two Versions of WSL
&lt;/h2&gt;

&lt;p&gt;There are two versions of WSL - WSL 1 and WSL 2. The former was the first version and WSL 2 is the newer version of the architecture. In the newer version, the Linux distros interact with Windows in a different way. To enable new features in WSL 2, the architecture uses &lt;a href="https://www.redhat.com/en/topics/virtualization/what-is-virtualization" rel="noopener noreferrer"&gt;virtualization technology&lt;/a&gt;and a &lt;a href="https://www.redhat.com/en/topics/linux/what-is-the-linux-kernel" rel="noopener noreferrer"&gt;Linux kernel&lt;/a&gt;. To enable virtualization, it uses &lt;a href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture" rel="noopener noreferrer"&gt;Hyper-V architecture&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages of WSL 2
&lt;/h2&gt;

&lt;p&gt;WSL 2 is faster than its previous version. The two main advantages of using WSL 2 are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-about#increased-file-io-performance" rel="noopener noreferrer"&gt;Faster system file performance speed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-about#full-system-call-compatibility" rel="noopener noreferrer"&gt;Full System Call Compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;According to &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#what-will-happen-to-wsl-1-will-it-be-abandoned" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt;,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Adding WSL 2 as a new architecture presents a better platform for the WSL team to deliver features that make WSL an amazing way to run a Linux environment in Windows&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Please note that the speed will also depend on which app a user is running, but operations such as &lt;code&gt;git clone&lt;/code&gt;, &lt;code&gt;npm install&lt;/code&gt;, &lt;code&gt;apt update&lt;/code&gt;, and &lt;code&gt;apt upgrade&lt;/code&gt; will be faster in WSL 2. Overall, the newest version is said to be 2-5x faster.&lt;/p&gt;

&lt;p&gt;It is worth mentioning that &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#what-will-happen-to-wsl-1-will-it-be-abandoned" rel="noopener noreferrer"&gt;WSL 1 won't be abandoned.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Important Changes in WSL 2
&lt;/h2&gt;

&lt;p&gt;There are two important changes in the current version.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  In WSL 1, you need to put the files, you wish to access with Linux applications, in the C Drive of Windows. But in WSL 2, the files must be kept inside of Linux root system to reap the benefit of file performance.&lt;/li&gt;
&lt;li&gt;  As WSL 2 runs on a virtual machine ( no additional software need though), to access Linux network applications from Windows machine you need to use the IP address of that virtual machine. Similarly, to access Windows networking applications from Linux distro, you need to use the IP address of that Windows host. &lt;a href="https://devblogs.microsoft.com/commandline/wsl-2-is-now-available-in-windows-insiders/" rel="noopener noreferrer"&gt;More here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes" rel="noopener noreferrer"&gt;Here is the list of other changes in WSL 2&lt;/a&gt;. You can also go through &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq" rel="noopener noreferrer"&gt;this article&lt;/a&gt; to read more about WSL 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⏳ How to install the Windows Subsystem for Linux
&lt;/h2&gt;

&lt;p&gt;Let's get into the real thing now. Here is a step by step guide to install WSL.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Prerequisites&lt;/li&gt;
&lt;li&gt; Enable WSL 1&lt;/li&gt;
&lt;li&gt; Install a Linux distribution&lt;/li&gt;
&lt;li&gt; Complete initialization of your distro&lt;/li&gt;
&lt;li&gt; Enable WSL 2&lt;/li&gt;
&lt;li&gt; Set WSL 2 as your default architecture&lt;/li&gt;
&lt;li&gt; WSL Version Check&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let's get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 1: Prerequisites&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Windows OS build 18917 or higher is required&lt;/strong&gt;.  To check Windows build number, open Windows PowerShell as Administrator. To open it, press CNTRL + X buttons simultaneously using your keyboard and then click on “&lt;em&gt;Windows PowerShell (Admin)&lt;/em&gt;”. Click &lt;em&gt;Yes&lt;/em&gt; when prompted by User Account Control. Run the following command in PowerShell. This will give you the OS build number.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;systeminfo | Select-String "^OS Name","^OS Version"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5vi9vbu7picsi4xn030f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5vi9vbu7picsi4xn030f.png" alt=" 1Command to find Windows OS Build Number"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the build is not 18917 or higher, you need to join the &lt;a href="https://insider.windows.com/en-us/" rel="noopener noreferrer"&gt;Windows Insider Program&lt;/a&gt; and select the '&lt;strong&gt;Slow&lt;/strong&gt;' ring update type.&lt;/p&gt;

&lt;p&gt;Caution: Before moving ahead, I strongly encourage beginners to read about &lt;a href="https://insider.windows.com/en-us/how-to-overview/" rel="noopener noreferrer"&gt;Microsoft Insider Program&lt;/a&gt;&lt;em&gt;.&lt;/em&gt; This talks about different types of Windows updates. Focus on the update type &lt;strong&gt;Slow&lt;/strong&gt;. Once you have understood the risk, please proceed.&lt;/p&gt;

&lt;p&gt;Open &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Update and Security&lt;/strong&gt;. Look for &lt;em&gt;Windows Insider Program&lt;/em&gt; and register your account.  Once registered and enabled, you will see 3 options for &lt;strong&gt;Insider Settings&lt;/strong&gt;. Select &lt;strong&gt;Slow (Recommended)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now, update your Windows. Open &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Update and Security&lt;/strong&gt; &amp;gt; &lt;strong&gt;Windows Update&lt;/strong&gt;. Restart computer if asked. Check the build number again using the PowerShell command. This will fulfill the requirement to go ahead.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 2: Enable WSL 1&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Open PowerShell as Administrator. Run the following commands one by one&lt;/p&gt;

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

Enable-WindowsOptionalFeature &lt;span class="nt"&gt;-Online&lt;/span&gt; &lt;span class="nt"&gt;-FeatureName&lt;/span&gt; Microsoft-Windows-Subsystem-Linux


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

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

Enable-WindowsOptionalFeature &lt;span class="nt"&gt;-Online&lt;/span&gt; &lt;span class="nt"&gt;-FeatureName&lt;/span&gt; VirtualMachinePlatform


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

&lt;/div&gt;

&lt;p&gt;Running the above commands will install Virtual Machine Platform and Windows Subsystem for Linux. Restart your computer. To confirm if &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/troubleshooting#confirm-wsl-is-enabled" rel="noopener noreferrer"&gt;WSL is enabled&lt;/a&gt;, run this command in PowerShell as Administrator.&lt;/p&gt;

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

Get-WindowsOptionalFeature &lt;span class="nt"&gt;-Online&lt;/span&gt; &lt;span class="nt"&gt;-FeatureName&lt;/span&gt; Microsoft-Windows-Subsystem-Linux


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

&lt;/div&gt;

&lt;p&gt;If you get the similar output as shown in the image below, you are good to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkyjsqamqmg5pyf12zzhx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkyjsqamqmg5pyf12zzhx.png" alt=" 2Windows Command to Check WSL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 3: Install a Linux distribution&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now you can install your preferred distro(s), I recommend installing a distro from the Microsoft Store. In this article, I will install &lt;a href="https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6" rel="noopener noreferrer"&gt;Ubuntu&lt;/a&gt;. Open Store and Search for Ubuntu. Always choose the &lt;a href="https://wiki.ubuntu.com/LTS" rel="noopener noreferrer"&gt;LTS&lt;/a&gt; version. LTS means Long Term Support which receives five years of support without any charge. Click on the LTS version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F028rfanmgol1o5rmvzrk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F028rfanmgol1o5rmvzrk.png" alt=" 3Search a distro using MS Store dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A new page will open. Select "Get" and the distro will start downloading, and then it will be installed. If you want to install a different distro, please use this official &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10#windows-10-fall-creators-update-and-later-install-from-the-microsoft-store" rel="noopener noreferrer"&gt;Microsoft guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 4: Complete initialization of your distro&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once you have downloaded and installed a Linux distro, you need to complete initialization of this new distro. This is similar to what we do (such as set your username, password, etc.) during installing a Windows OS. Click on "Launch" button as shown in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fka5rzr1avefn89lifw05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fka5rzr1avefn89lifw05.png" alt=" 4Launch a distro using MS Store dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A pop screen will appear. You will set username and password there. You can also follow &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/initialize-distro" rel="noopener noreferrer"&gt;this step by step guide to initialize a newly installed distro.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moving ahead. Run &lt;code&gt;wsl -l&lt;/code&gt; in PowerShell to check your installed distro. You will see the name of your distro.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcpa7np4pjwybcsyt7p1v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcpa7np4pjwybcsyt7p1v.png" alt=" 5Find distro using wsl - l command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here I have installed Ubuntu-18.04 and this is the default distro. To check which version of WSL is installed, run &lt;code&gt;wsl -l -v&lt;/code&gt; . It will display a '1' under the 'version' column.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 5: Enable WSL 2&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In this step, we will set our distro Ubuntu to be backed by the newer version of WSL architecture - WSL 2. For this, you need to find your distro name. You can find this by running &lt;code&gt;wsl -l&lt;/code&gt; command. It is Ubuntu-18.04 in my case. To enable WSL2, enter the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;wsl --set-version Ubuntu-18.04 2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will see "&lt;em&gt;Conversion in progress, this may take a few minutes...."&lt;/em&gt;. Wait for sometime.&lt;/p&gt;

&lt;p&gt;In the above command, you can always replace the word &lt;code&gt;Ubuntu-18.04&lt;/code&gt; with the name of your installed distro. The 2 in the command means we are going to change architecture to WSL 2.&lt;/p&gt;

&lt;p&gt;You can always go back to WSL 1 by running the above command and replace the '2' with a '1'.&lt;br&gt;&lt;br&gt;
Note: In my case, during conversion from WSL 1 to 2, I got a error, which says, "&lt;em&gt;Exporting the distribution failed. bsdtar: Write error".&lt;/em&gt; Here is the screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fag32chvbyx27c9v04nmg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fag32chvbyx27c9v04nmg.png" alt=" 6Conversion Error from WSL 1 to 2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many people have found the same &lt;a href="https://github.com/microsoft/WSL/issues/4394" rel="noopener noreferrer"&gt;issue while converting version 1 to 2&lt;/a&gt;. To fix this issue, "&lt;a href="https://support.microsoft.com/en-us/help/4027187/windows-10-turn-off-antivirus-protection-windows-security" rel="noopener noreferrer"&gt;Turn Off Windows Real Time Protection&lt;/a&gt;". Run the conversion command again. This worked for me.&lt;/p&gt;

&lt;p&gt;Check the &lt;a href="https://github.com/microsoft/WSL/issues/4394" rel="noopener noreferrer"&gt;GitHub thread&lt;/a&gt; to find the other fixes if the above did not work for you. Please note that you may need to run the conversion command twice if the conversion throws error during the process.&lt;/p&gt;

&lt;p&gt;Do not forget to "Turn On Windows Real Time Protection" once the conversion is done.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 6: How to set WSL 2 as your default architecture&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you wish to always use WSL 2, make sure you make this architecture as the default. Meaning whenever you will install any distro from Microsoft Store, the newer version WSL 2 will be installed. Run this command in PowerShell as Admin.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;wsl --set-default-version 2&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 7: Check which version of WSL is Installed&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To check which version of WSL is installed, run &lt;code&gt;wsl -l -v&lt;/code&gt; . It will now display a '2' under the 'version' column.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3jswiibhkvpmrcy6zfu3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3jswiibhkvpmrcy6zfu3.png" alt=" 7Ubuntu distro with WSL 2 Running"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;⚒️ Troubleshooting&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Microsoft has a &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/troubleshooting" rel="noopener noreferrer"&gt;dedicated page&lt;/a&gt; for the WSL related errors and fixes. For WSL 2 related issues, click &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-install#troubleshooting" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🏃 Running WSL&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that we have installed Windows Subsystem for Linux, you need to update Ubuntu. From the Windows Start Menu, find Ubuntu 18.04 LTS (that is what we have installed). Run the program as Admin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9nh1ivjvl5mss26a2pob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9nh1ivjvl5mss26a2pob.png" alt=" 8Run Ubuntu from Start Menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see a pop up command shell. To update the local database of available packages and upgrade the installed packages of Ubuntu, run this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;More about the above command is explained &lt;a href="https://explainshell.com/explain?cmd=apt-get+update+%26%26+apt-get+upgrade" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You would need to enter your password that you set during the initialization of your distro. During this process, it will ask your permission to download and install updates. Type Y.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9dngli9160ohy4y1ais8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9dngli9160ohy4y1ais8.png" alt=" 9Give permission to ubuntu to install update"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the update finishes, the set up is complete.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;💡 What's Next&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once you are comfortable with the WSL installation, please read my next post &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;A Beginner's Guide To Use Windows Subsystem For Linux&lt;/a&gt;. My next post will be about how to use Microsoft VS Code and Git inside WSL. Meanwhile, keep Googleing 🤓&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/" rel="noopener noreferrer"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;







&lt;p&gt;*Credits 🙏 : * &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/wsl/about" rel="noopener noreferrer"&gt;Official Microsoft Docs on WSL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Windows and Linux logos taken from &lt;a href="http://simpleicons.org" rel="noopener noreferrer"&gt;SimpleIcons&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Emojis taken from &lt;a href="https://emojipedia.org/" rel="noopener noreferrer"&gt;Emojipedia&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Cover image built with &lt;a href="https://blogcover.now.sh/" rel="noopener noreferrer"&gt;BlogCover&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>codenewbie</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>wsl</category>
    </item>
    <item>
      <title>Hello Newbies in Tech! Switching From Windows to Linux? Read This First</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Thu, 30 Jan 2020 07:53:04 +0000</pubDate>
      <link>https://dev.to/ajeet/hello-newbies-in-tech-switching-from-windows-to-linux-read-this-first-2anh</link>
      <guid>https://dev.to/ajeet/hello-newbies-in-tech-switching-from-windows-to-linux-read-this-first-2anh</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/switching-from-windows-to-linux/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Disclaimer: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I am a newbie in tech. I have been using Linux and Windows side by side for quite sometime now. This blog post is based on my personal experience. &lt;/li&gt;
&lt;li&gt;This post is an extension to my one of the earlier posts. Here is the &lt;a href="https://dev.to/ajeet/linux-vs-windows-why-linux-is-better-for-programming-web-dev-a-newbie-experience-5eg1"&gt;link&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please share your experiences if you have moved from Windows to Linux&lt;/p&gt;




&lt;p&gt;I love Windows. I have used Windows all my life. Once, I thought of trying out a Linux distribution. I installed Ubuntu, but then I uninstalled it very soon. Why did I do this? This blog post will answer this.&lt;/p&gt;

&lt;p&gt;Being a newbie in tech, my experience with Linux was not good for the first time. But every distribution gives you some things to love and some to hate.&lt;/p&gt;

&lt;p&gt;From a Windows user's perspective, this post outlines some key issues that absolute beginners in tech face while using Linux for the first time in their lives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do I love Windows ?
&lt;/h2&gt;

&lt;p&gt;I won't go into the details on this. We know it already. Most of the laptops and personal computers comes with pre-installed Windows Operating Systems (OS). So, the first OS we try out is the Windows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjfu4uy4qiyrceq6soqpm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjfu4uy4qiyrceq6soqpm.png" alt=" Welcome Image by Undraw.co"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the beginners, it is exciting.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Windows is for everyone (even the developers use it for several reasons)&lt;/li&gt;
&lt;li&gt;  You don't need to learn command lines to perform tasks&lt;/li&gt;
&lt;li&gt;  You can do multiple tasks with ease with a few clicks&lt;/li&gt;
&lt;li&gt;  Windows' User Interface (UI) is well designed and convenient&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's look at the market share.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0phf6w39osud8zd2nm5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0phf6w39osud8zd2nm5j.png" alt=" Statista.com - Operating systems market share of desktop PCs 2013-2019"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything looks well with Windows. Then why do I hate it?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do I hate Windows, sometimes ?
&lt;/h2&gt;

&lt;p&gt;I am a total noob when it comes to web development and programming. This &lt;br&gt;
is my personal experience. A few months ago, I thought of learning &lt;a href="https://clojure.org/" rel="noopener noreferrer"&gt;Clojure&lt;/a&gt; programming language for various reasons.&lt;/p&gt;

&lt;p&gt;Initially, I started learning Clojure on Windows machine, but honestly the support is not good. I ended up googling several commands specific to Windows OS for even simple tasks in Clojure. Most of the Clojure developers are either using a Linux distro or a MacOS. The questions and queries in the support groups and forums are mostly based on either a Linux distro or aMacOS. That's when I thought of using a Linux distro for the first time. I uninstalled Windows and installed Ubuntu - a popular Linux distro. But after a few days, I switched back to Windows. Why? Keep reading please.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤔 Downside of using Linux (for the newbies in tech)
&lt;/h2&gt;

&lt;p&gt;Being a Windows user all my life, I would definitely say my experience with Linux, initially, was not smooth at all.&lt;/p&gt;

&lt;p&gt;But it should be considered on a case-by-case basis. Some absolute beginners who are never exposed to a Linux environment might find Linux a bit uncomfortable while using it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqi760rfj4qmgqlqik4td.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqi760rfj4qmgqlqik4td.png" alt=" Windows Users Trying Linux. Pic Credit: https://bit.ly/2qpYluK"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Consider a case where you have installed only Linux OS. You have been using Windows since the beginning, and have never used a Linux distro before (similar to my case). Here are a few problems I had faced.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Windows OS is for everyone, Linux is not. There is a steep learning curve for the Windows users who switch to a Linux distro for the first time.&lt;/li&gt;
&lt;li&gt; Installing Linux for the first time was actually a pain for me. During my first attempt, I got a screen with several technical errors, so I had 
to modify some settings in the Windows Boot Menu (in Lenovo i5). Google did help. But it took hours. You need to check your system hardware before considering switching to Linux.&lt;/li&gt;
&lt;li&gt; A computer with only a Linux distro installed means newbies might end up Googling several commands to do even simple tasks. You are not familiar even with the Start Menu. The same task could have done with a few clicks of buttons in Windows. I googled several command lines on how to use Ubuntu effectively, noted them down, and started using Ubuntu.&lt;/li&gt;
&lt;li&gt; You cannot run Microsoft products (such as Excel, Word, and PowerPoint) in Linux. That was a big disappointment to me. I was an Excel-person, and even now I use it every day. Though you can use open source alternatives to Excel, but they are not advanced and mature enough. I used Google Sheet for some hours and it was a frustrating experience, as it was slow.&lt;/li&gt;
&lt;li&gt; I am a big fan of &lt;a href="https://www.tableau.com/" rel="noopener noreferrer"&gt;Tableau&lt;/a&gt; - a &lt;a href="https://www.tableau.com/solutions/gallery" rel="noopener noreferrer"&gt;data visualisation&lt;/a&gt; software. I use it at least twice a week to create charts and running some quick analysis. The problem is Tableau Desktop is not available for &lt;a href="https://www.tableau.com/products/desktop/download#system-requirements" rel="noopener noreferrer"&gt;Linux, but only for Windows and Mac&lt;/a&gt; (as of January 2020).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🛠️ A Solution ? Yes, more than One 😍
&lt;/h2&gt;

&lt;p&gt;Use Windows and Linux side by side. Two ways we can use both the OS side by side are: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;a href="https://www.google.com/search?q=Install+Ubuntu+On+Windows+10+Using+Virtualbox" rel="noopener noreferrer"&gt;Install Ubuntu on Windows 10 using Virtualbox&lt;/a&gt; - This is the most common approach. Google and you will find several free resources on this topic.

&lt;ul&gt;
&lt;li&gt;  Disadvantage:
The biggest problem with this approach is the performance of the Linux machines inside Windows. Virtual Machines take a lot of resources and you will have a disconnected experience when using VMs with Windows. If you have good amount of &lt;a href="https://en.wikipedia.org/wiki/Random-access_memory" rel="noopener noreferrer"&gt;RAM&lt;/a&gt;, video graphics and a good processor, you can optimize the Linux       machine. However, that might be costly, time taking and overwhelming fornewbies. So, what now.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://ajeet.dev/category/wsl/" rel="noopener noreferrer"&gt;Windows Subsystem for Linux (WSL)&lt;/a&gt;- WSL is a powerful tool introduced by Microsoft in 2016 to get a full Linux environment inside of Windows. You do not need to use VirtualBox anymore. WSL is fast, and you can use Windows and Linux side by side. I have been using this for some time now. I have not felt disconnected experience yet. I am quite satisfied. If you would like to try out WSL, here is a comprehensive guide to &lt;strong&gt;&lt;a href="https://ajeet.dev/category/wsl/" rel="noopener noreferrer"&gt;Install Windows Subsystem for Linux&lt;/a&gt;&lt;/strong&gt;.

&lt;ul&gt;
&lt;li&gt;  Disadvantage:
 This feature is still in its early stage of development. WSL might not be ready yet for gaming purposes. Tooling for Java development is not good for now. It may be a hit and miss experience for the hardcore developers but for the newbies, this tool is good to go.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  💡 What Next ?
&lt;/h2&gt;

&lt;p&gt;If you are a &lt;a href="https://ajeet.dev/newbie-in-tech/" rel="noopener noreferrer"&gt;newbie in tech&lt;/a&gt;, I recommend you should learn Linux and use it as your full-time development environment. In my previous blog post, &lt;a href="https://ajeet.dev/linux-vs-windows-os/" rel="noopener noreferrer"&gt;Linux Vs Windows - Why Linux Is Better For Programming &amp;amp; Web Dev&lt;/a&gt;, I compared the features of Linux and Windows OS. It has a tons of free resources to get you started with a Linux distro Ubuntu.&lt;br&gt;
Once you are convinced to use a Linux distro, do read this step by step guide to &lt;strong&gt;&lt;a href="https://ajeet.dev/category/wsl/" rel="noopener noreferrer"&gt;Install Windows Subsystem for Linux&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/" rel="noopener noreferrer"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Credits 🙏:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Cover image taken from &lt;a href="https://undraw.co/search" rel="noopener noreferrer"&gt;Undraw.co&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Emojis taken from &lt;a href="https://emojipedia.org/" rel="noopener noreferrer"&gt;Emojipedia&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>linux</category>
    </item>
    <item>
      <title>The Ultimate Beginner’s Guide to Static Website Hosting With Google Firebase (for FREE)</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Wed, 29 Jan 2020 10:16:06 +0000</pubDate>
      <link>https://dev.to/ajeet/the-ultimate-beginner-s-guide-to-static-website-hosting-with-google-firebase-for-free-5g32</link>
      <guid>https://dev.to/ajeet/the-ultimate-beginner-s-guide-to-static-website-hosting-with-google-firebase-for-free-5g32</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Disclaimer: I am a total noob when it comes to web development but I am improving my tech skills everyday. I have tried to keep this post as simple as I can so that it could help beginners like me. I have taken a very care of all the steps and codes I mentioned in this blog post, but if you find any errors or would like to suggest something, please feel free to comment. I would be grateful 🙏 *&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Static sites are &lt;strong&gt;fast, secure, flexible, and reliable&lt;/strong&gt;. You don't need to worry much about malicious code being injected into your site. The hosting cost of static sites are significantly cheaper. I won't go into the details on this topic but here is &lt;a href="https://scotch.io/bar-talk/5-reasons-static-sites-rock"&gt;a great article on static sites by Scotch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In this blog post, I am going to deploy a static site on Google Firebase, and that too for FREE. The post is a step by step guide, and will be helpful especially for &lt;strong&gt;newbies in tech&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDjw1cZi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yywr4rujvpdz72z80p3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZDjw1cZi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yywr4rujvpdz72z80p3m.png" alt="Google Firebase Logo" width="880" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Firebase was acquired by Google in 2014. It is built on Google infrastructure, and helps you build high-quality apps quickly, and that too without managing infrastructure. &lt;a href="https://firebase.google.com/"&gt;Google Firebase&lt;/a&gt; lets you host your static contents for free under its Spark plan. &lt;a href="https://firebase.google.com/docs/hosting/"&gt;Read more about Firebase hosting&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;As I said, this how-to guide is &lt;strong&gt;purely for beginners&lt;/strong&gt;. So, to host your static site, you only need&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; A Google account&lt;/li&gt;
&lt;li&gt; A laptop or desktop with Windows OS running&lt;/li&gt;
&lt;li&gt; Familiarity with basic keyboard functions of your laptop or desktop&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. Let's get started.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Create a Project in Google Firebase
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://firebase.google.com"&gt;Register&lt;/a&gt; your account with Google Firebase. Create a Google account if you don't have. In the &lt;a href="https://console.firebase.google.com"&gt;Firebase console&lt;/a&gt;, click &lt;strong&gt;Add project&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q7frLAv2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/siu59yraoaeiq6zajwu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q7frLAv2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/siu59yraoaeiq6zajwu7.png" alt=" Create your first project in firebase console" width="480" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter a &lt;strong&gt;Project name&lt;/strong&gt;, &lt;strong&gt;Project ID&lt;/strong&gt; (Optional as Firebase automatically assigns a unique ID to your Firebase project). Use the &lt;strong&gt;Default settings&lt;/strong&gt; for now, and click on &lt;strong&gt;Create Project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2qSwHNcn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0qh9peg40uicy2r8q8va.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2qSwHNcn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0qh9peg40uicy2r8q8va.png" alt=" Add a project in Firebase console" width="480" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the Project is created, click on Continue button, and you will be directed to your Firebase Dashboard. You will find a few details here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ikbbSluL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a9ezrxhgopr98b1f7pbn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ikbbSluL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a9ezrxhgopr98b1f7pbn.png" alt=" Google Firebase Dashboard or Console" width="768" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The current project is "thenewspaper-tech-demo". Click on the dropdown to  see all your projects, if you have created more than one.&lt;/li&gt;
&lt;li&gt; The current project is set to "thenewspaper-tech-demo"&lt;/li&gt;
&lt;li&gt; You can configure the settings for the current project by clicking on the project settings icon. For now, leave as it is.&lt;/li&gt;
&lt;li&gt; We will use this Hosting tab to deploy our static site.&lt;/li&gt;
&lt;li&gt; Your Firebase plan is Spark which is Free. &lt;a href="https://firebase.google.com/pricing"&gt;See all the Firebase Plans and Pricing&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 2: Set up the Necessary Tools
&lt;/h4&gt;

&lt;p&gt;To host your site, you need to install Firebase command line tools.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://nodejs.org/en/download"&gt;Download and install Node.js&lt;/a&gt; for Mac/Linux/Windows. I am using Windows10 64-bit. Make sure you download the LTS version recommended for most of the users.&lt;/li&gt;
&lt;li&gt;  Open
 Windows PowerShell. To open, press Windows+X buttons simultaneously using your keyboard and then click “Windows PowerShell Admin”. Click Yes when prompted by User Account Control.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NOPuwK3x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tn4o2j69osqf11loxjq1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NOPuwK3x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tn4o2j69osqf11loxjq1.png" alt=" How to Launch Windows PowerShell" width="300" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Install Firebase command line tools by running the following command in the PowerShell:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ npm install -g firebase-tools&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jd9oj4oQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7r05vig1wftj4v6iz79.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jd9oj4oQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7r05vig1wftj4v6iz79.PNG" alt=" Install Firebase command line tools&amp;lt;br&amp;gt;
" width="768" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This command installs the globally available &lt;code&gt;firebase&lt;/code&gt; command. If the above command does not work, then &lt;a href="https://docs.npmjs.com/getting-started/fixing-npm-permissions"&gt;change npm permissions&lt;/a&gt;,  and run the command again. To make sure you have the latest version of Firebase CLI (command line interface), re-run the above command even if you have installed the command lines tools previously.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Build your site Locally with Firebase
&lt;/h4&gt;

&lt;p&gt;Now, let's start the deploying process. In the already opened terminal, run the following command to sign in to Google. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase login&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Running this command will open your default browser window and ask you to give Gmail access to Firebase. Click on Allow button and connect with your email. If you don't have Gmail account, create one. You might get a pop of Windows Firewall to for access. Just Allow or Click on Yes. &lt;/p&gt;

&lt;p&gt;This command connects your local machine to Firebase and grants you access to your Firebase projects. You will see a "success: logged in as.." message in the shell.&lt;/p&gt;

&lt;p&gt;To test that authentication worked (and to list all of your Firebase projects), run the next command. The displayed list should be the same as the Firebase projects listed in the &lt;a href="https://console.firebase.google.com/"&gt;Firebase console&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oZXVULyQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hnensgcs05u7r2vxczf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oZXVULyQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hnensgcs05u7r2vxczf0.png" alt=" Login to Firebase&amp;lt;br&amp;gt;
" width="880" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, to connect your local project to your Firebase project, run the following command from the root of your local project directory.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once you run the above command, you will see your project directory. The project directory will be located in a folder at this path "&lt;em&gt;C:\Windows\System32&lt;/em&gt;". The name of the working folder will be whatever you will name it. By default, Firebase names it as "&lt;em&gt;public&lt;/em&gt;". We will see this in a bit. For now, type Y or Yes and press Enter button to proceed with the steps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2SLB_uXZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mmuo4m5m2oat60rfp7wd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2SLB_uXZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mmuo4m5m2oat60rfp7wd.png" alt=" firebase init command&amp;lt;br&amp;gt;
" width="880" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;firebase init&lt;/code&gt; command presents with you a series of configuration options. You need to choose Hosting. Go down by pressing &lt;em&gt;Down Arrow Key&lt;/em&gt; using your keyboard, and then press &lt;em&gt;Space Bar&lt;/em&gt; to select Hosting feature. Press Enter button to continue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p-bUnSrH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w9uxgbnw57131nej3vwk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p-bUnSrH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w9uxgbnw57131nej3vwk.png" alt=" Firebase Hosting Config&amp;lt;br&amp;gt;
" width="880" height="97"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8BFIsIwK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nhoqicxqokjczupqm39y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8BFIsIwK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nhoqicxqokjczupqm39y.png" alt=" Firebase Hosting Config" width="880" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will be presented with Project Setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ETlSZIqH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aswghhq23xqfjaldocfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ETlSZIqH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/aswghhq23xqfjaldocfq.png" alt=" Firebase Project Set Up&amp;lt;br&amp;gt;
" width="880" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select your project, which you created earlier in Firebase console. The project name I created was "thenewspaper-tech-demo". You can create a new project from here as well.&lt;/p&gt;

&lt;p&gt;Moving ahead, you will be presented with Hosting Setup. You will need to choose your project directory. Specify a directory to use as your public root directory. To specify, type &lt;em&gt;public&lt;/em&gt; and press Enter. Note that you can enter a different name (such as "my_first_project') instead of "public". At this point, specify your public root directory, but you can also &lt;a href="https://firebase.google.com/docs/hosting/full-config#public"&gt;specify it later&lt;/a&gt; by editing your &lt;code&gt;firebase.json&lt;/code&gt; config file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mcXpZtsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/opm99syxn0lwm3q4yxva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mcXpZtsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/opm99syxn0lwm3q4yxva.png" alt=" Firebase Hosting SetUp&amp;lt;br&amp;gt;
" width="880" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To set up more Firebase products, you can run &lt;code&gt;firebase init&lt;/code&gt; later. The default for the public root directory is called &lt;em&gt;public&lt;/em&gt; which is located here "&lt;em&gt;C:\Windows\System32\public&lt;/em&gt;". It is interesting to note that Firebase does a couple of smart things automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It creates a &lt;code&gt;public&lt;/code&gt; directory if you don't create it&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It creates an &lt;code&gt;index.html&lt;/code&gt; file and &lt;code&gt;404.html&lt;/code&gt; file in the directory. Open the &lt;code&gt;public&lt;/code&gt; folder to see both the files&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jqrydP6E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1pajzxiszx7b89eh9gdx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jqrydP6E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1pajzxiszx7b89eh9gdx.png" alt=" Location of Firebase Public Folder&amp;lt;br&amp;gt;
" width="768" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, you will need to choose a configuration for your site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6IShsEGy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vxqk6prjhgu47c2b18jh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6IShsEGy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vxqk6prjhgu47c2b18jh.png" alt=" Firebase Site Config&amp;lt;br&amp;gt;
 " width="880" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you select to make a &lt;a href="https://dzone.com/articles/what-is-a-single-page-application"&gt;one-page app&lt;/a&gt;, then Firebase automatically adds &lt;a href="https://firebase.google.com/docs/hosting/full-config#rewrites"&gt;rewrite configurations&lt;/a&gt; for you. Since I don't want to re-write urls, I choose N, and press Enter button. &lt;/p&gt;

&lt;p&gt;This will complete the Firebase initialization process. Note that the &lt;code&gt;firebse init&lt;/code&gt; command adds a couple of files to the root of local site directory:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A json file, &lt;code&gt;firebase.json&lt;/code&gt; , that shows the&lt;a href="https://firebase.google.com/docs/hosting/full-config"&gt; project configuration&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A &lt;code&gt;.firebaserc&lt;/code&gt; file which provides information on &lt;a href="https://firebase.google.com/docs/cli/#project_aliases"&gt;project aliases&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t-tKR_u8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3x1ocaf88r0pffaozqdg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t-tKR_u8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3x1ocaf88r0pffaozqdg.png" alt=" Firebase init command add two files " width="880" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's &lt;a href="https://firebase.google.com/docs/cli/#test-locally"&gt;Start the local server&lt;/a&gt; for development. Run the following command from the root of your local app directory: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase serve&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will serve hosting files from the public directory, and will start a local server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NF0SsbiT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hl1vtcua9s11m7ri4v3o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NF0SsbiT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hl1vtcua9s11m7ri4v3o.png" alt=" Locally deployed files&amp;lt;br&amp;gt;
" width="768" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open your browser and type: &lt;code&gt;http://localhost:5000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zXw3d5n1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5nkxhkav01ik9hq2b0ew.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zXw3d5n1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5nkxhkav01ik9hq2b0ew.png" alt=" open firebase deployed site locally&amp;lt;br&amp;gt;
 " width="768" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, you have built your site locally, which contains the content as you see in the above screenshot.&lt;/p&gt;

&lt;p&gt;Now, let's change the content of the site and re-built the site to view the updated contents. First, go to Windows PowerShell pop-up that is already opened. Shut down the local server. To do this, click anywhere in the pop up area, and press CNTRL+C button. It will shut down.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RxFeq1gq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rj509bc3drjond5lrcp7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RxFeq1gq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rj509bc3drjond5lrcp7.png" alt=" Shut down local server&amp;lt;br&amp;gt;
" width="768" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I had shown earlier, the html files are located here "&lt;em&gt;C:\Windows\System32\public&lt;/em&gt;". Go to the folder, copy the index html file and paste the file at your desktop. Now, right click and open the index html file with any &lt;a href="https://www.google.com/search?q=best+text+editor"&gt;Text Editor&lt;/a&gt;. I am using &lt;a href="https://code.visualstudio.com/"&gt; Visual Studio Code&lt;/a&gt;.&lt;br&gt;
By default, you will see Notepad in your right click pop up. If you don't see notepad, choose another app option, and scroll down at the end, and select More apps. From there, select Notepad.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YyZqkEye--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwa0y70y15p73cb5p5k3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YyZqkEye--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwa0y70y15p73cb5p5k3.png" alt=" How to use a text editor in Windows&amp;lt;br&amp;gt;
 " width="768" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the html index file is opened, change the word "Welcome" to "Hello World." &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JsjUaf8q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/693gwtczjoygghisyb9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JsjUaf8q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/693gwtczjoygghisyb9w.png" alt=" Edit index files&amp;lt;br&amp;gt;
" width="768" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save the File. Simply press CNTRL+S to save.The output will look like this:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7E5ntujt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wnmgultv0z9kjr4esmuv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7E5ntujt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wnmgultv0z9kjr4esmuv.png" alt=" Edit index files&amp;lt;br&amp;gt;
" width="768" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, copy the modified index file, and paste in the &lt;em&gt;public&lt;/em&gt; folder. To do this, you need to be the Admin of the computer. Give the permission to paste. Run the following command to start the local server&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase serve&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will serve hosting files from the public directory, and will start a local server. Open your browser and type: &lt;a href="http://localhost:5000"&gt;http://localhost:5000&lt;/a&gt; . You will see your changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VAJtdzn9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ph97nk632hx4hvzoqlwo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VAJtdzn9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ph97nk632hx4hvzoqlwo.png" alt=" Hello World&amp;lt;br&amp;gt;
" width="768" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4: Deploy your site
&lt;/h4&gt;

&lt;p&gt;Now we will deploy this project. But first shut down the local server as I instructed before. &lt;br&gt;
To deploy to our Firebase project "thenewspaper-tech-demo", run the following command from your project directory:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ firebase deploy&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This &lt;code&gt;firebase deploy&lt;/code&gt; command deploys a release to your Firebase project's default hosting sites:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;project-id.web.app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;project-id.firebaseapp.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n1Z0SxJ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3n5qkg1a1w60htsp8thi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n1Z0SxJ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3n5qkg1a1w60htsp8thi.png" alt=" Firebase deploy command&amp;lt;br&amp;gt;
" width="880" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, you will view your sites that will look like similar to these URLs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thenewspaper-tech-demo.web.app"&gt;https://thenewspaper-tech-demo.web.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thenewspaper-tech-demo.firebaseapp.com"&gt;https://thenewspaper-tech-demo.firebaseapp.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tLgs0_QF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2kp1yqzyd080h7h4e21w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tLgs0_QF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2kp1yqzyd080h7h4e21w.png" alt=" View deployed site in firebase&amp;lt;br&amp;gt;
" width="768" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D3yUuQX0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bh38gxwfv3x9qr6ltifa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D3yUuQX0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bh38gxwfv3x9qr6ltifa.png" alt=" View deployed site in firebase&amp;lt;br&amp;gt;
 " width="768" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also see these URLs when you go to Hosting section of your Firebase Console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W5p4caeH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jty9yrou4580nl3s5oih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W5p4caeH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jty9yrou4580nl3s5oih.png" alt=" Hosting section of Firebase Console&amp;lt;br&amp;gt;
 " width="768" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congrats 🎉🎉! You have deployed your first static site with firebase, and that too for free.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Credits: *&lt;br&gt;
Cover image built with &lt;a href="https://blogcover.now.sh/"&gt;BlogCover&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Linux Vs Windows - Why Linux Is Better For Programming &amp; Web Dev (A newbie experience)</title>
      <dc:creator>Ajeet Yadav</dc:creator>
      <pubDate>Thu, 23 Jan 2020 07:09:27 +0000</pubDate>
      <link>https://dev.to/ajeet/linux-vs-windows-why-linux-is-better-for-programming-web-dev-a-newbie-experience-5eg1</link>
      <guid>https://dev.to/ajeet/linux-vs-windows-why-linux-is-better-for-programming-web-dev-a-newbie-experience-5eg1</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on my blogging site &lt;a href="https://ajeet.dev/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Disclaimer: &lt;br&gt;
&lt;strong&gt;I am new to the blogging world. This is my first post at Dev.to platform.&lt;/strong&gt;&lt;br&gt;
Please feel free to suggest how can I improve my tech blogging skills.&lt;/p&gt;

&lt;p&gt;At Dev.to, I aim to share my tech-learning, and my writings will be dedicated to  the absolute beginners who are new to the tech world. I don't have a Tech degree, but always wanted to get into tech domain. I started teaching myself, I learnt Excel and mySQL by myself, then data visualization software Tableau.&lt;/p&gt;

&lt;p&gt;This post will help the newbies choose the right OS to start their journey in programming or web dev. Let's start.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fu0n3j21scpd9yxo0vyh7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fu0n3j21scpd9yxo0vyh7.png" alt="Web developer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article, I will quickly compare some key features of both the Linux and Windows Operating Systems. We will see the advantages of Linux over Windows, which will help you choose the right OS for programming or web development purposes.&lt;/p&gt;

&lt;p&gt;I am a big fan of Windows OS, and have been using it for years. It is super user-friendly, well-designed, and convenient. However, if you are thinking of getting into programming or web development, a &lt;a href="https://en.wikipedia.org/wiki/Linux_distribution" rel="noopener noreferrer"&gt;Linux distro&lt;/a&gt; (such as Ubuntu, CentOS, and Debian) is the best Operating System to start with.&lt;/p&gt;

&lt;p&gt;Since this article is mostly focused on using a Linux distro, I will share with you lots of free learning resources related to Linux. This will help newbie coders to get comfortable with a Linux distro.&lt;/p&gt;

&lt;p&gt;Linux is a kind-of-descendent of &lt;a href="https://opensource.com/article/18/5/differences-between-linux-and-unix" rel="noopener noreferrer"&gt;Unix&lt;/a&gt;, which means it is similar to other &lt;a href="https://www.google.com/search?q=unix+os+list&amp;amp;oq=Unix-based+system" rel="noopener noreferrer"&gt;Unix-based system&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linux Vs Windows ⚔️ Feature Comparison
&lt;/h2&gt;

&lt;p&gt;Let's compare the features of Linux and Windows Os.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1b4rrkp11tlwaemedls6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1b4rrkp11tlwaemedls6.png" alt="Windows and Linux Logos"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🧡 Open Source
&lt;/h4&gt;

&lt;p&gt;Unlike Windows OS which is commercial, Linux is an &lt;a href="https://en.wikipedia.org/wiki/Open-source_software" rel="noopener noreferrer"&gt;open source software&lt;/a&gt; that is freely available to download. There are hundreds of &lt;a href="https://en.wikipedia.org/wiki/List_of_Linux_distributions" rel="noopener noreferrer"&gt;Linux distributions&lt;/a&gt; available out of which almost five-hundred distro are in active development. One of the most popular desktop Linux distributions is &lt;a href="https://ubuntu.com/" rel="noopener noreferrer"&gt;Ubuntu&lt;/a&gt;. I am currently using it. &lt;/p&gt;

&lt;h4&gt;
  
  
  🛡️ Secure
&lt;/h4&gt;

&lt;p&gt;Linux is considered to be more secure than Windows. No antivirus is needed. Since it is open source, several developers are working on it and everyone can contribute code. It is likely that someone will find a vulnerability long before hackers can target a Linux distro. &lt;/p&gt;

&lt;h4&gt;
  
  
  🚀 Faster Software Updates
&lt;/h4&gt;

&lt;p&gt;You will get faster software updates. If the bugs are found by someone, the users get updates immediately, they don't have to wait for long. Development tools and libraries are available for free. &lt;/p&gt;

&lt;h4&gt;
  
  
  ⚡ Performance
&lt;/h4&gt;

&lt;p&gt;Linux is more powerful and versatile than Windows. It is light-weight, which makes Linux faster than Windows. You will notice a significant improvement in speed on a Linux distro when you start working on this OS.&lt;/p&gt;

&lt;h4&gt;
  
  
  👨‍💻 Programming Friendly
&lt;/h4&gt;

&lt;p&gt;As I said in the beginning of this article, a Linux distro is the best OS for a budding programmer to start with. Developers ❤ Linux. Let's see some key features of Linux&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Linux supports almost all of the programming languages such as &lt;a href="https://clojure.org" rel="noopener noreferrer"&gt;Clojure&lt;/a&gt;, &lt;a href="https://www.python.org/" rel="noopener noreferrer"&gt;Python&lt;/a&gt;, &lt;a href="https://julialang.org" rel="noopener noreferrer"&gt;Julia&lt;/a&gt;, Ruby, C, and C++ to name a few.&lt;/li&gt;
&lt;li&gt; The &lt;a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal" rel="noopener noreferrer"&gt;Linux terminal&lt;/a&gt; is better than Window’s command line. If you want to learn command line basics quick and super fast, you will find &lt;a href="https://learnpythonthehardway.org/book/appendixa.html" rel="noopener noreferrer"&gt;this course helpful&lt;/a&gt;. Here is a &lt;a href="https://tutorials.ubuntu.com/tutorial/command-line-for-beginners" rel="noopener noreferrer"&gt;comprehensive guide to learn Linux command line for beginners&lt;/a&gt;. You can also use &lt;a href="https://www.taniarascia.com/how-to-use-the-command-line-for-apple-macos-and-linux" rel="noopener noreferrer"&gt;this guide to learn command line for iOS and Linux&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt; Bash scripting - Bash is extremely useful for developers and it is available by default on Linux. Learn &lt;a href="https://www.taniarascia.com/how-to-create-and-use-bash-scripts" rel="noopener noreferrer"&gt;how to create and use bash scripts&lt;/a&gt;. Here is a &lt;a href="https://devhints.io/bash" rel="noopener noreferrer"&gt;cheat sheet on bash scripting&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt; Linux has inbuilt support for &lt;a href="https://www.ssh.com/ssh/protocol" rel="noopener noreferrer"&gt;SSH&lt;/a&gt;. With this, you can easily manage your servers. Learn &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-use-ssh-to-connect-to-a-remote-server-in-ubuntu" rel="noopener noreferrer"&gt;how to use SSH using this DigitalOcean guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt; You can easily customize and personalize your Linux distribution.&lt;/li&gt;
&lt;li&gt; It also supports several efficient tools for developers that makes the life of developers a lot easier.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  💯 Great Community Support
&lt;/h4&gt;

&lt;p&gt;Since hundreds of Linux distros are in active development and they are open source, the community is big. All newcomers can find help on &lt;a href="https://askubuntu.com/" rel="noopener noreferrer"&gt;any of the Linux forums&lt;/a&gt;. If you are stuck somewhere in your development process or need help in your coding process, just Google it. You can find several Linux based helpful resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏳ How to install and use a Linux distro
&lt;/h3&gt;

&lt;p&gt;There are many ways to install and use. A few ways to install &lt;a href="https://ubuntu.com/download/desktop" rel="noopener noreferrer"&gt;Ubuntu&lt;/a&gt; (a popular Linux distro) are mentioned below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; You can &lt;a href="https://ubuntu.com/download/desktop" rel="noopener noreferrer"&gt;download Ubuntu&lt;/a&gt; and freshly install on your system. Also, &lt;a href="https://www.google.com/search?q=how+to+install+ubuntu+on+a+computer+without+operating+system" rel="noopener noreferrer"&gt;google it&lt;/a&gt; and you will find several free resources on how to install this OS.&lt;/li&gt;
&lt;li&gt; &lt;a href="https://www.google.com/search?q=install+ubuntu+alongside+windows+10+dual+boot" rel="noopener noreferrer"&gt;Install Ubuntu alongside Windows 10 dual boot&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href="https://www.google.com/search?q=Install+Ubuntu+On+Windows+10+Using+Virtualbox" rel="noopener noreferrer"&gt;Install Ubuntu on Windows 10 using Virtualbox&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🤔 Downside of using Linux (for the absolute beginners)
&lt;/h3&gt;

&lt;p&gt;Is there really a problem switching to Linux ? I think, yes but for the absolute beginners, and it should be considered on a case-by-case basis. &lt;del&gt;While there is absolutely no downside of switching to Linux&lt;/del&gt;, some absolute beginners might find Linux a bit uncomfortable while using it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhk7fvlc4hpqg4fikj4x0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhk7fvlc4hpqg4fikj4x0.png" alt="Windows Users Trying Linux"&gt;&lt;/a&gt;&lt;br&gt;
Image Credit: &lt;a href="https://bit.ly/2qpYluK" rel="noopener noreferrer"&gt;https://bit.ly/2qpYluK&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Consider a case where your computer is only running Linux (using installation approach 1 and 2 mentioned above). You have been using Windows since the beginning. You have never used a Linux distro before (similar to my case). Here are a few problems I had faced.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; A computer with only a Linux distro installed means newbies might end up googling several commands to do simple tasks. Even you are not familiar with Start Menu. The same task could have done with a few clicks of buttons in Windows.&lt;/li&gt;
&lt;li&gt; Running Microsoft products (such as Excel, Word, and PowerPoint) in Linux is not an easy task. That was a big disappointment to me. I was an Excel-person, and even now I use it everyday. Though you can use open source alternatives to Excel, but they are not advanced and mature enough. &lt;/li&gt;
&lt;li&gt; I am a big fan of &lt;a href="https://www.tableau.com/" rel="noopener noreferrer"&gt;Tableau&lt;/a&gt; - a &lt;a href="https://www.tableau.com/solutions/gallery" rel="noopener noreferrer"&gt;data visualisation&lt;/a&gt; software, and I use it create charts and running some quick analysis. The problem is Tableau Desktop is not available for &lt;a href="https://www.tableau.com/products/desktop/download#system-requirements" rel="noopener noreferrer"&gt;Linux, but only for Windows and Mac&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The problem could be fixed by using installation approach 3 (&lt;a href="https://www.google.com/search?q=Install+Ubuntu+On+Windows+10+Using+Virtualbox" rel="noopener noreferrer"&gt;install Ubuntu on Windows 10 using Virtualbox&lt;/a&gt;). You can use Windows and Linux side by side. However, the biggest problem with this approach is the performance of the Linux machines inside Windows. Virtual Machines take a lot of resources and you will have a disconnected experience when using VMs with Windows.&lt;/p&gt;

&lt;p&gt;If you have good amount of &lt;a href="https://en.wikipedia.org/wiki/Random-access_memory" rel="noopener noreferrer"&gt;RAM&lt;/a&gt;, video graphics and a good processor, you can optimize the Linux machine. However, that might be costly, time taking and overwhelming for newbies. So, what now.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 What's Next
&lt;/h2&gt;

&lt;p&gt;One of the best solutions of the problem I explained in the previous section is to use &lt;strong&gt;Windows Subsystem for Linux (WSL)&lt;/strong&gt;. I have written a step by step guide on WSL on my blogging site &lt;a href="https://ajeet.dev/" rel="noopener noreferrer"&gt;ajeet.dev&lt;/a&gt;&lt;br&gt;
Part 1: &lt;a href="https://ajeet.dev/windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;How to Install Windows Subsystem for Linux&lt;/a&gt;&lt;br&gt;
Part 2: &lt;a href="https://ajeet.dev/how-to-use-windows-subsystem-for-linux/" rel="noopener noreferrer"&gt;A Beginner's Guide to Use Windows Subsystem For Linux&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do read it. Thank you for your time. Feedback welcome :)&lt;/p&gt;

&lt;h4&gt;
  
  
  Edited on 25 Jan 2020: Based on several comments and a little research, I find this sentence "While there is absolutely no downside of switching to Linux.." too extreme. That's why the strikethrough :)
&lt;/h4&gt;




&lt;p&gt;&lt;strong&gt;Don't forget to subscribe to my weekly &lt;a href="https://ajeet.dev/subscribe/" rel="noopener noreferrer"&gt;Newsletter&lt;/a&gt; 📧&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Credits 🙏:&lt;/em&gt; &lt;br&gt;
*Image Credit: &lt;a href="https://www.manypixels.co/" rel="noopener noreferrer"&gt;ManyPixels&lt;/a&gt;&lt;br&gt;
*Image Edit with &lt;a href="https://blogcover.now.sh/" rel="noopener noreferrer"&gt;BlogCover&lt;/a&gt;&lt;br&gt;
*Windows and Linux logos taken from &lt;a href="http://simpleicons.org" rel="noopener noreferrer"&gt;SimpleIcons&lt;/a&gt; &lt;br&gt;
*Emojis taken from &lt;a href="https://emojipedia.org/" rel="noopener noreferrer"&gt;Emojipedia&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>linux</category>
      <category>beginners</category>
      <category>ubuntu</category>
    </item>
  </channel>
</rss>
