<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: whybe</title>
    <description>The latest articles on Forem by whybe (@vvhybe).</description>
    <link>https://forem.com/vvhybe</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%2F1034125%2Fd56b277d-704c-401d-907e-15fab897eaf1.jpg</url>
      <title>Forem: whybe</title>
      <link>https://forem.com/vvhybe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/vvhybe"/>
    <language>en</language>
    <item>
      <title>Firebase &amp; PowerShell Execution Policy</title>
      <dc:creator>whybe</dc:creator>
      <pubDate>Mon, 25 Sep 2023 22:47:00 +0000</pubDate>
      <link>https://forem.com/vvhybe/firebase-powershell-execution-policy-20ko</link>
      <guid>https://forem.com/vvhybe/firebase-powershell-execution-policy-20ko</guid>
      <description>&lt;p&gt;when you install the &lt;strong&gt;Firebase&lt;/strong&gt; via npm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; firebase firebase-tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and try to run:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;it throws an error into your terminal that says that the execution policy of Powershell is preventing you from running this script or any unsigned script certificate, which is quite fair making your system secure from malicious scripts. Still, why is Firebase not a signed and white-listed script 🤷‍♂️?&lt;/p&gt;

&lt;p&gt;will I get you covered, instead of dropping the security layer of your ExecutionPolicy in Powershell by this command ⛔?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Set-ExecutionPolicy &lt;span class="nt"&gt;-ExecutionPolicy&lt;/span&gt; Unrestricted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;which will make your machine vulnerable to malicious scripts,&lt;br&gt;
we will create a &lt;strong&gt;signed certificate&lt;/strong&gt; for the &lt;code&gt;firebase.psl&lt;/code&gt; script and we will install it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Create A Signed Certificate
&lt;/h2&gt;

&lt;p&gt;first, make sure your terminal is in elevated privileges (Run as Administrator)&lt;/p&gt;

&lt;p&gt;Then let's make our certificate for our &lt;code&gt;firebase script&lt;/code&gt; using this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;New-SelfSignedCertificate &lt;span class="nt"&gt;-CertStoreLocation&lt;/span&gt; Cert:&lt;span class="se"&gt;\C&lt;/span&gt;urrentUser&lt;span class="se"&gt;\M&lt;/span&gt;y &lt;span class="nt"&gt;-Subject&lt;/span&gt; &lt;span class="s2"&gt;"CN=Firebase"&lt;/span&gt; &lt;span class="nt"&gt;-TextExtension&lt;/span&gt; @&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"2.5.29.37={text}1.3.6.1.5.5.7.3.3"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;-FriendlyName&lt;/span&gt; &lt;span class="s2"&gt;"Firebase Script"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AsrOmKfc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kugvqf6ofi2lekbxg5hm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AsrOmKfc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kugvqf6ofi2lekbxg5hm.png" alt="screenshot of runnig the Script in the terminal" width="800" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this will generate our certificate in the directory &lt;code&gt;C:\Users\{username}\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates&lt;/code&gt; script using &lt;a href="https://learn.microsoft.com/en-us/powershell/module/pki/new-selfsignedcertificate?view=windowsserver2019-ps"&gt;New-SelfSignedCertificate&lt;/a&gt;, you will see the &lt;code&gt;Thumbprint&lt;/code&gt; which is the also the name of the certificate file in the listed directory, you can always verified using this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Get-ChildItem &lt;span class="nt"&gt;-Path&lt;/span&gt; Cert:&lt;span class="se"&gt;\C&lt;/span&gt;urrentUser&lt;span class="se"&gt;\M&lt;/span&gt;y &lt;span class="nt"&gt;-CodeSigningCert&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;will now the certificate is been initialized now we need to install it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Certificate
&lt;/h2&gt;

&lt;p&gt;follow these steps to install the certificate:&lt;/p&gt;

&lt;p&gt;click: &lt;code&gt;win+R&lt;/code&gt; and write &lt;code&gt;control&lt;/code&gt;, or open the control panel&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LRz53j59--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xt4a65e7l81x2ub7d7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LRz53j59--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xt4a65e7l81x2ub7d7b.png" alt="Window Screenshot" width="407" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the search for &lt;code&gt;certificates&lt;/code&gt; in the control panel:&lt;/p&gt;

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

&lt;p&gt;the Click &lt;strong&gt;Manage User Certificates Link&lt;/strong&gt; and you will see a window like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5q1TrWxm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1dwxdybi7j90j87q1xc1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5q1TrWxm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1dwxdybi7j90j87q1xc1.png" alt="Window Screenshot" width="641" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then click on &lt;strong&gt;Trusted Root Certification Authorities&lt;/strong&gt; and then click on &lt;strong&gt;certificates&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4VPYl-fR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5savbgqf90r99nk6m0q8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4VPYl-fR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5savbgqf90r99nk6m0q8.png" alt="Window Screenshot" width="623" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;what you have to do is click on &lt;code&gt;actions&lt;/code&gt; =&amp;gt; &lt;code&gt;all tasks&lt;/code&gt; =&amp;gt; &lt;code&gt;import&lt;/code&gt;, and you will see this window:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9--HbGeQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4aen10zdjg3jyj524lfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9--HbGeQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4aen10zdjg3jyj524lfq.png" alt="Window Screenshot" width="321" height="65"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UD1okokz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dc9oqjmsbtud3lpnn7es.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UD1okokz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dc9oqjmsbtud3lpnn7es.png" alt="Window Screenshot" width="545" height="538"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then click &lt;code&gt;next&lt;/code&gt; and the &lt;code&gt;brows&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q-t2u6Z3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uwqzty4cbfsemcl627df.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q-t2u6Z3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uwqzty4cbfsemcl627df.png" alt="Window Screenshot" width="547" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and head to this path: &lt;code&gt;C:\Users\{username}\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates&lt;/code&gt;, replace the &lt;code&gt;{username}&lt;/code&gt; with your account username folder. then click &lt;code&gt;All files&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;what is left is to choose the created certificate earlier,&lt;br&gt;
verified the name of the file using this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Get-ChildItem &lt;span class="nt"&gt;-Path&lt;/span&gt; Cert:&lt;span class="se"&gt;\C&lt;/span&gt;urrentUser&lt;span class="se"&gt;\M&lt;/span&gt;y &lt;span class="nt"&gt;-CodeSigningCert&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;you will see the &lt;code&gt;Thumbprint&lt;/code&gt; which is also the name of the certificate file in the listed directory, click it and click next then you will see this screen just click next:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JmAhQQg1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlzdybh9fw7526ejjupf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JmAhQQg1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlzdybh9fw7526ejjupf.png" alt="Window Screenshot" width="542" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then click finish and the created certificate will be installed and ready to use:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4y-mXshv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wolahqmhgsi4vt8csq91.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4y-mXshv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wolahqmhgsi4vt8csq91.png" alt="Window Screenshot" width="530" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then what's left is to sign the &lt;code&gt;firebase.psl&lt;/code&gt; certificate with the installed certificate using this command:&lt;/p&gt;

&lt;p&gt;first, we store the certificate in a variable called &lt;code&gt;$cert&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$cert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; Get-ChildItem &lt;span class="nt"&gt;-Path&lt;/span&gt; Cert:&lt;span class="se"&gt;\C&lt;/span&gt;urrentUser&lt;span class="se"&gt;\M&lt;/span&gt;y &lt;span class="nt"&gt;-CodeSigningCert&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then we proceed in the process:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Set-AuthenticodeSignature &lt;span class="nt"&gt;-Certificate&lt;/span&gt;:&lt;span class="nv"&gt;$cert&lt;/span&gt; &lt;span class="nt"&gt;-FilePath&lt;/span&gt;:&lt;span class="s2"&gt;"C:&lt;/span&gt;&lt;span class="se"&gt;\U&lt;/span&gt;&lt;span class="s2"&gt;sers&lt;/span&gt;&lt;span class="se"&gt;\{&lt;/span&gt;&lt;span class="s2"&gt;user}&lt;/span&gt;&lt;span class="se"&gt;\A&lt;/span&gt;&lt;span class="s2"&gt;ppData&lt;/span&gt;&lt;span class="se"&gt;\R&lt;/span&gt;&lt;span class="s2"&gt;oaming&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;pm&lt;/span&gt;&lt;span class="se"&gt;\f&lt;/span&gt;&lt;span class="s2"&gt;irebase.ps1"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;replace the &lt;code&gt;{user}&lt;/code&gt; with your account username and the &lt;code&gt;firebase.psl&lt;/code&gt; is now white-listed and ready to use without any errors&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



</description>
      <category>firebase</category>
      <category>powershell</category>
      <category>security</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Why Is It Important To Comment Your Code ?!</title>
      <dc:creator>whybe</dc:creator>
      <pubDate>Tue, 11 Apr 2023 10:38:57 +0000</pubDate>
      <link>https://forem.com/vvhybe/why-is-it-important-to-comment-your-code--45pm</link>
      <guid>https://forem.com/vvhybe/why-is-it-important-to-comment-your-code--45pm</guid>
      <description>&lt;p&gt;When it comes to programming, writing clean and understandable code is essential. One of the best ways to ensure that your code is easily understood by others (and even by your future self) is by adding comments to your code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Comments?
&lt;/h2&gt;

&lt;p&gt;Comments are pieces of text that are added to your code to explain what it does. They are not executed by the computer and are simply ignored by the programming language. Comments can be used to describe the purpose of a particular piece of code, provide context, or explain complex algorithms.&lt;/p&gt;

&lt;p&gt;In most programming languages, there are two types of comments: &lt;strong&gt;single-line&lt;/strong&gt; comments and &lt;strong&gt;multi-line&lt;/strong&gt; comments. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Single-line comments:&lt;/strong&gt; are denoted by two forward slashes &lt;code&gt;//&lt;/code&gt; or &lt;code&gt;#&lt;/code&gt; in python, and are used to add comments to a single line of code. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-line comments:&lt;/strong&gt; are denoted by a forward slash followed by an asterisk &lt;code&gt;/*&lt;/code&gt; and are used to add comments to multiple lines of code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why Should You Comment Your Code ?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improved Readability:&lt;/strong&gt; Comments help make your code more readable by providing context and explaining what the code is supposed to do. They also make it easier for others (or even your future self) to understand the code, making it easier to modify or debug it later on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Easier Collaboration:&lt;/strong&gt; When working on a project with others, commenting your code becomes even more important. It makes it easier for your collaborators to understand your code, and for you to understand theirs. This can lead to a more efficient workflow and can help ensure that the project is completed on time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Better Maintenance:&lt;/strong&gt; As code ages, it becomes harder to understand, especially if it hasn't been commented. Adding comments to your code makes it easier to maintain in the long run, saving you time and effort in the future.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clearer Logic:&lt;/strong&gt; Comments can help explain the reasoning behind a particular piece of code, making it easier to follow the logic of the code. This can be especially helpful when debugging, as it can help you pinpoint the source of the problem more easily.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Tips for Commenting Your Code
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Be Consistent:&lt;/strong&gt; Use a consistent style for your comments throughout your code. This makes it easier for others to read and understand your code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep It Simple:&lt;/strong&gt; Use simple and clear language when writing comments. Avoid technical jargon or overly complex explanations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Avoid Overcommenting:&lt;/strong&gt; While commenting your code is important, it's also possible to overdo it. Don't comment every single line of code, but instead focus on adding comments to important sections or to explain complex algorithms.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Update Your Comments:&lt;/strong&gt; As you make changes to your code, make sure to update your comments accordingly. This ensures that your comments remain accurate and helpful.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Commenting your code is an essential part of writing clean and understandable code. By adding comments to your code, you can improve its readability, make it easier to collaborate with others, and ensure that it remains maintainable in the long run. Remember to be consistent, keep it simple, and update your comments as you make changes to your code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remember
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Better code is self documenting&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
      <category>community</category>
    </item>
    <item>
      <title>The difference between Spam and Scam</title>
      <dc:creator>whybe</dc:creator>
      <pubDate>Sun, 26 Feb 2023 12:04:20 +0000</pubDate>
      <link>https://forem.com/vvhybe/the-difference-between-spam-and-scam-c07</link>
      <guid>https://forem.com/vvhybe/the-difference-between-spam-and-scam-c07</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Let's take a look at the difference between Spam and Scam:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Spam&lt;/strong&gt; and &lt;strong&gt;Scam&lt;/strong&gt; are two commonly used terms in the digital world, but they have distinct meanings. Many people tend to confuse them, but understanding the difference between spam and scam is essential for protecting oneself from online threats.&lt;/p&gt;

&lt;p&gt;Spam refers to unwanted, unsolicited, and repetitive emails or messages, or advertisements that are sent to a large number of people. Spam messages are sent for various purposes, including marketing, advertising, and phishing. In most cases, spam messages are sent without the user's consent and contain links to malicious websites, fake products, or services. Spam is annoying, and it clutters the user's inbox, but it is not necessarily harmful.&lt;/p&gt;

&lt;p&gt;On the other hand, a scam is a fraudulent activity in which an individual or a group of individuals (cells) attempts to deceive people into giving away their money, sensitive information, or personal details. Scammers use various techniques, such as fake websites, fake emails, or phone calls, to lure people into their traps. They usually act as legitimate businesses, organizations, or government agencies to gain the user's trust. Once the user falls into their trap, scammers can steal their money, identity, or personal information.&lt;/p&gt;

&lt;p&gt;The primary difference between spam and a scam is that spam is an annoying but harmless nuisance, while a scam can cause significant financial and emotional damage. Spam is usually sent in bulk to a large number of people, and their messages can be easily filtered and blocked. while scammers target specific individuals or groups, and they are more sophisticated and require more caution to detect.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;To protect yourself from spam and scams, it is important to take some precautions, such as:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;- Never share personal information, passwords, or credit card details with anyone online.&lt;/li&gt;
&lt;li&gt;- Do not click on links or download attachments from unknown sources, use link checkers for safety like "&lt;a href="https://www.psafe.com/dfndr-lab/" rel="noopener noreferrer"&gt;https://www.psafe.com/dfndr-lab/&lt;/a&gt;".&lt;/li&gt;
&lt;li&gt;- Use anti-spam and anti-virus software to protect your devices from online threats.&lt;/li&gt;
&lt;li&gt;- Be cautious of unsolicited messages, emails, or phone calls, even if they seem to be from a legitimate source.&lt;/li&gt;
&lt;li&gt;- Use strong passwords and two-factor authentication or biometric authentication to secure your online accounts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In conclusion, spam and scams are two different types of online threats that require different levels of caution and protection. While spam is an annoying nuisance, a scam can cause significant financial and emotional damage. By being cautious and following the above precautions, one can protect himself from these threats and enjoy a safe and secure online experience.&lt;/p&gt;

</description>
      <category>welcome</category>
      <category>motivation</category>
    </item>
  </channel>
</rss>
