<?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: mnmartinelli</title>
    <description>The latest articles on DEV Community by mnmartinelli (@mnmartinelli).</description>
    <link>https://dev.to/mnmartinelli</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%2F804778%2F5a4d7f53-b0a5-414a-8c74-6b3f4b449071.png</url>
      <title>DEV Community: mnmartinelli</title>
      <link>https://dev.to/mnmartinelli</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mnmartinelli"/>
    <language>en</language>
    <item>
      <title>Experimenting with API microservices</title>
      <dc:creator>mnmartinelli</dc:creator>
      <pubDate>Mon, 02 May 2022 03:58:54 +0000</pubDate>
      <link>https://dev.to/mnmartinelli/experimenting-with-api-microservices-2dkl</link>
      <guid>https://dev.to/mnmartinelli/experimenting-with-api-microservices-2dkl</guid>
      <description>&lt;h2&gt;
  
  
  Adding Wikipedia's API to my project
&lt;/h2&gt;

&lt;p&gt;Wikipedia is a monolith in terms of knowledge of almost any subject. In my recent project, a user's location is displayed via Google Maps based off their IP address using &lt;a href="https://freegeoip.app/"&gt;Free Geo IP&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since we are able to determine a user's city and state already, the project has expanded to incorporate &lt;a href="https://dev.towikipedia-query%20source"&gt;&lt;strong&gt;wikipedia-query source&lt;/strong&gt;&lt;/a&gt;. This web-component calls the Wikipedia API, receives JSON data back and is able to display information about a user's city or state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install/Setup
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Wikipedia-query needs to be added as a dependency in package.json. 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GiJLabia--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mabopdul69ivyh2phma2.png" alt="dependency" width="447" height="114"&gt;
&lt;/li&gt;
&lt;li&gt;Import into the project: &lt;code&gt;import '@lrnwebcomponents/wikipedia-query';&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Usage of location
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//finding wiki based on city and state
&amp;lt;wikipedia-query search="${this.city}, ${this.state}"&amp;gt;&amp;lt;/wikipedia-query&amp;gt;

//finding wiki based on city
&amp;lt;wikipedia-query search="${this.city}"&amp;gt;&amp;lt;/wikipedia-query&amp;gt;

//finding wiki based on state
&amp;lt;wikipedia-query search="${this.state}"&amp;gt;&amp;lt;/wikipedia-query&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wikipedia-query can display more than location information and can be included in your project today. Please visit &lt;a href="https://github.com/elmsln/lrnwebcomponents/blob/master/elements/wikipedia-query/src/wikipedia-query.js#L82"&gt;wikipedia-query documentation&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/w/api.php"&gt;Wikipedia Offical API documentation&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>microservices</category>
      <category>api</category>
    </item>
    <item>
      <title>Vercel Deployment explained</title>
      <dc:creator>mnmartinelli</dc:creator>
      <pubDate>Mon, 02 May 2022 03:27:20 +0000</pubDate>
      <link>https://dev.to/mnmartinelli/vercel-deployment-explained-1hk7</link>
      <guid>https://dev.to/mnmartinelli/vercel-deployment-explained-1hk7</guid>
      <description>&lt;h2&gt;
  
  
  Vercel who?
&lt;/h2&gt;

&lt;p&gt;Vercel is designed to increase developer efficiency. Allowing teams to develop, preview and ship static sites on the fly. Built with performance in mind, Vercel deploys instantly and scales automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vercel Quickstart
&lt;/h2&gt;

&lt;p&gt;Vercel developed their own &lt;a href="https://vercel.com/cli"&gt;CLI&lt;/a&gt;, however I found it easier to use their &lt;a href="https://vercel.com/"&gt;website&lt;/a&gt;. You'll want to start by creating your own account or by signing up through GitHub.&lt;/p&gt;

&lt;p&gt;After you have created an account, create a new project.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n1EG9hRT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5hjyx7tb2j3sff93fj3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n1EG9hRT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5hjyx7tb2j3sff93fj3.png" alt="New Project Button" width="196" height="75"&gt;&lt;/a&gt;&lt;br&gt;
Then, connect Vercel to your GitHub account and import the repository you'd like to deploy.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eXCRUyyu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hw45ty4qwzjdmd81monu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eXCRUyyu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hw45ty4qwzjdmd81monu.png" alt="Import repo" width="453" height="372"&gt;&lt;/a&gt;&lt;br&gt;
In this guide, I forked my repo from &lt;a href="https://github.com/btopro/ist-vercel-demo"&gt;here&lt;/a&gt;. Also, feel free to view my &lt;a href="https://github.com/mnmartinelli/ist-vercel-demo"&gt;repo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Build &amp;amp; Development Settings
&lt;/h2&gt;

&lt;p&gt;Please save and change your settings to the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Build Command&lt;/strong&gt; change setting to &lt;code&gt;npm run-script build&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output Directory&lt;/strong&gt; change setting to: &lt;code&gt;dist&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Install Command&lt;/strong&gt; change setting to: &lt;code&gt;npm install&lt;/code&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6YU-KnWG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pndaq9nb33drgkr4g8zc.png" alt="Build settings" width="784" height="541"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Additional Settings:
&lt;/h2&gt;

&lt;p&gt;Vercel has many features for developers to take advantage of, including: Environment variables, Integrations, logs, analytics, and Severless functions (premium feature).&lt;br&gt;
If you would like to learn more, please visit the official &lt;a href="https://vercel.com/docs"&gt;documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Time to Deploy
&lt;/h2&gt;

&lt;p&gt;Press the Deploy button and you'll all finished! Congratulations on deploying with Vercel. If you run into any issues, be sure to check the build log.&lt;/p&gt;

</description>
      <category>vercel</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>Open-WC Beginner Guide</title>
      <dc:creator>mnmartinelli</dc:creator>
      <pubDate>Mon, 02 May 2022 00:25:07 +0000</pubDate>
      <link>https://dev.to/mnmartinelli/open-wc-beginner-guide-51l1</link>
      <guid>https://dev.to/mnmartinelli/open-wc-beginner-guide-51l1</guid>
      <description>&lt;h2&gt;
  
  
  Welcome to the world of Web Components!
&lt;/h2&gt;

&lt;p&gt;Open-WC is a powerful tool to develop web-components fast. With some simple JavaScript here, and few installs there, you'll be an experienced developer in no time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I highly recommend using Linux or WSL for web development, however this step is optional and all install links will be provided below. If you would look to install WSL with a customized terminal look and feel, follow my guide &lt;a href="https://dev.to/mnmartinelli/the-ultimate-starter-setup-3gee"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dependencies Required:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nodejs.org/en/"&gt;NodeJS&lt;/a&gt; NodeJS includes &lt;a href="https://www.npmjs.com/package/npm"&gt;NPM&lt;/a&gt; and both can be installed with one command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo apt-get install -y nodejs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Optional Installs:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/download"&gt;VS-Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Recommended VSCode extensions:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O8i2RS55--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xlp234jljbzwfkpq9ne.png" alt="VSCode extensions" width="535" height="510"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open-WC Installation/Setup:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a folder and enter into the directory:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ mkdir open-wc-demo
$ cd open-wc-demo
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NPM install &lt;a href="https://open-wc.org/guides/"&gt;Open-WC&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm init @open-wc
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;"Scaffold a new project"&lt;/strong&gt; using the enter key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;"Web Component"&lt;/strong&gt; using the enter key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select All (Linting, Testing, &amp;amp; Demoing) by pressing &lt;strong&gt;"a"&lt;/strong&gt; and then enter key.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Please select &lt;strong&gt;"No"&lt;/strong&gt; to not use typescript. We will be using Javascript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then give your web-component a name, I will be calling mine "open-wc-test".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HkXFVyed--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxvozl1jfvwef54e7lyp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HkXFVyed--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxvozl1jfvwef54e7lyp.png" alt="Step 7 results" width="880" height="357"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Yes&lt;/strong&gt; to write the file structure to the disk.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then, select "Yes, with npm" to install all dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lastly, to test if everything works run &lt;code&gt;npm start&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DiUzEGAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ckauvpptfzd8a834vbdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DiUzEGAu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ckauvpptfzd8a834vbdq.png" alt="Your local web-sever should look like this" width="424" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Developing with Open-WC
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Learn more from &lt;a href="https://lit.dev/docs/getting-started/"&gt;Lit Documentation&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Learn more from &lt;a href="https://open-wc.org/guides/"&gt;Open-WC Documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Hello World example provided by &lt;a href="https://lit.dev/playground/#sample=examples/full-component"&gt;Lit Playground&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>tutorial</category>
      <category>node</category>
      <category>npm</category>
      <category>lit</category>
    </item>
    <item>
      <title>The ultimate starter setup</title>
      <dc:creator>mnmartinelli</dc:creator>
      <pubDate>Sun, 01 May 2022 23:29:42 +0000</pubDate>
      <link>https://dev.to/mnmartinelli/the-ultimate-starter-setup-3gee</link>
      <guid>https://dev.to/mnmartinelli/the-ultimate-starter-setup-3gee</guid>
      <description>&lt;p&gt;TLDR; This guide will setup WSL2 Ubuntu web development environment with oh-my-posh customization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prequesites
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install Windows Terminal&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/store/productId/9N0DX20HK701" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the latest version of PowerShell&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/store/productId/9MZ1SNWT0N5D" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install VSCode&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Setup WSL2
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Update to the latest version of Windows before proceeding&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to '&lt;strong&gt;Turn Windows features on or off&lt;/strong&gt;' &lt;/p&gt;

&lt;ul&gt;
&lt;li&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%2Fuploads%2Farticles%2Fprba6j4qieaf002zqysu.png" alt="Image description"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable '&lt;strong&gt;Windows Subsystem for Linux&lt;/strong&gt;' and &lt;strong&gt;Virtual Machine Platform&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&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%2Fuploads%2Farticles%2Ff4ifixyr0fjz3mmb6u18.png" alt="Image description"&gt;&lt;/li&gt;
&lt;li&gt;Press '&lt;strong&gt;ok&lt;/strong&gt;', then following the instructions on-screen and restart the system.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the system reboots, Install the latest version of Ubuntu&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/store/productId/9N6SVWS3RX71" rel="noopener noreferrer"&gt;Ubuntu-20.04 Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Launch Windows Terminal, navigate to settings, and change the Default profile to 'PowerShell'&lt;/p&gt;

&lt;ul&gt;
&lt;li&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%2Fuploads%2Farticles%2F3n6sw65ufls32fk9nzmu.png" alt="Image description"&gt;&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Fijizuzlmg463ltzz8j91.png" alt="Image description"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open Ubuntu, setup a username and password&lt;/p&gt;

&lt;ul&gt;
&lt;li&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%2Fuploads%2Farticles%2Fehzi6jigtvsux6o8b6j2.png" alt="Image description"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Switch back to PowerShell and enter the command:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl -l -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&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%2Fuploads%2Farticles%2Fxsgl3m52dblngc45l7p6.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%2Fuploads%2Farticles%2Fxsgl3m52dblngc45l7p6.png" alt="Image description"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If Ubuntu is running on WSL version 1, you'll need to change to version '2', Enter the following command:
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl --set-version Ubuntu-20.04 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;if you're not using another OS:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl --set-version &amp;lt;os-name&amp;gt; 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2F0ckw5a33tvxu7p0o7o8d.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%2Fuploads%2Farticles%2F0ckw5a33tvxu7p0o7o8d.png" alt="Image description"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WSL2 might require a kernel update, if so please follow the link and install. Then run this command again:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl --set-version Ubuntu-20.04 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//aka.ms/wsl2kernel"&gt;Download Linux kernel update from MS&lt;/a&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Ftje8b6wr8whlzqdpx91d.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%2Fuploads%2Farticles%2Ftje8b6wr8whlzqdpx91d.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To make sure everything is running smoothly, restart windows Terminal and run the command:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl -l -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now WSL2 is setup and you can run the linux kernel directly with:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wsl
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Customize PowerShell
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download Caskaydia Cove Nerd Font from nerdfonts.com&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip" rel="noopener noreferrer"&gt;Direct Download&lt;/a&gt;&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2F42k9nsidst71misq4ax7.png" alt="Image description"&gt;&lt;/li&gt;
&lt;li&gt;Extract zip folder and install all fonts.&lt;/li&gt;
&lt;li&gt;Then navigate to Windows Terminal Settings, Under profiles select 'Defaults' and change the font to 'CaskaydiaCove NF'&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Fod2t76cgazr4knrhby5t.png" alt="Image description"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install Oh My Posh and customize profile&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ohmyposh.dev" rel="noopener noreferrer"&gt;Oh My Posh Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In PowerShell enter: &lt;code&gt;winget install JanDeDobbeleer.OhMyPosh&lt;/code&gt;
&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2F0lzwuoro4pdg5crwebsn.png" alt="Image description"&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create PowerShell profile&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo $PROFILE
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Most likely this folder and file does not exist, you will have to create a 'PowerShell' folder and a 'Microsoft.PowerShell_profile.ps1' file in that location.&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Fz848ipxp7d6txexk657v.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%2Fuploads%2Farticles%2Fz848ipxp7d6txexk657v.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#command to create a folder
mkdir PowerShell
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;change directory to insider the 'PowerShell' folder&lt;br&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%2Fuploads%2Farticles%2Fcvdr3phb0ith52s3n0k4.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%2Fuploads%2Farticles%2Fcvdr3phb0ith52s3n0k4.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#creates file
echo $PROFILE &amp;gt;&amp;gt; Microsoft.PowerShell_profile.ps1
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open file in VS code&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;code .
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Trust author and Install recommend extension&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Replace text with:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;save changes and restart shell.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;OR&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the theme I'm using from &lt;a href="https://www.hanselman.com/blog/my-ultimate-powershell-prompt-with-oh-my-posh-and-the-windows-terminal" rel="noopener noreferrer"&gt;Scott Hanselman's Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://gist.github.com/shanselman/1f69b28bfcc4f7716e49eb5bb34d7b2c?WT.mc_id=-blog-scottha" rel="noopener noreferrer"&gt;Download Zip&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extract zip&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Locate oh-my-posh\themes. For example, my theme folder was found here:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\Michael\AppData\Local\Programs\oh-my-posh\themes
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Place ohmyposhv3-v2.json inside themes folder&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Replace text inside Microsoft.PowerShell_profile.ps1 with:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;oh-my-posh --init --shell pwsh --config &amp;lt;add file path to theme here&amp;gt; | Invoke-Expression
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Fej71o6zzyl12v73cem8f.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%2Fuploads%2Farticles%2Fej71o6zzyl12v73cem8f.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Save file and restart shell. Your profile should look something like this:&lt;/p&gt;&lt;/li&gt;
&lt;li&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%2Fuploads%2Farticles%2Fy2ukqieanajvuhnplyc9.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%2Fuploads%2Farticles%2Fy2ukqieanajvuhnplyc9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Optional Plugins:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Terminal-Icons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter into PowerShell:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install-Module -Name Terminal-Icons -Repository PSGallery
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Then add the following to $profile&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Import-Module -Name Terminal-Icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;PSReadLine&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter into PowerShell
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install-Module PSReadLine -AllowPrerelease -Force
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Then add the following to $profile&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.hanselman.com/blog/my-ultimate-powershell-prompt-with-oh-my-posh-and-the-windows-terminal" rel="noopener noreferrer"&gt;Scott Hanselman's guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/VT2L1SXFq9U" rel="noopener noreferrer"&gt;Scott Hanselman's video guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/wsl/install" rel="noopener noreferrer"&gt;WSL2 MS doc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/_fntjriRe48" rel="noopener noreferrer"&gt;WSL2 Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ohmyposh.dev/" rel="noopener noreferrer"&gt;Oh-My-Posh doc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/PowerShell/PSReadLine?WT.mc_id=-blog-scottha" rel="noopener noreferrer"&gt;PSReadLine Doc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>linux</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
