<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Crypt(iq) - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Crypt(iq) - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 22:37:17 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/Iqma/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Get Started With Cybersecurity ]]>
                </title>
                <description>
                    <![CDATA[ From design to coding to data science, there are many areas in the IT sector to explore. Because it's such a wealthy and alluring profession, you might be unsure of which one is ideal for you. This is where cybersecurity comes in, one of the most fas... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/getting-started-in-cybersecurity/</link>
                <guid isPermaLink="false">66bccb1f10af5b9403eb6aa8</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Crypt(iq) ]]>
                </dc:creator>
                <pubDate>Tue, 16 Jul 2024 11:13:19 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/07/Cybersec.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>From design to coding to data science, there are many areas in the IT sector to explore. Because it's such a wealthy and alluring profession, you might be unsure of which one is ideal for you. This is where <a target="_blank" href="https://iqmacodes.hashnode.dev/an-introduction-to-cybersecurity">cybersecurity</a> comes in, one of the most fascinating fields of them all.  </p>
<p>There is a place for everyone in this profession, whether it's protecting a business from threat actors, attacking the business yourself (legally, of course), or raising awareness of the risks associated with technology and the internet.  </p>
<p>You will gain a thorough understanding of cybersecurity in this article, along with information on its subfields, how to choose one, and how to get started.</p>
<p>Lets go!</p>
<h2 id="heading-what-is-cybersecurity">What is Cybersecurity?</h2>
<p>As the name suggests, cybersecurity quite literally means securing the cyber world. It is a field that deals with the safety of individuals and their data on the internet.</p>
<p>The internet is the foundation of all technological advancements, and it would be terrible if it isn't properly secured.</p>
<h2 id="heading-getting-started-with-cybersecurity">Getting Started With Cybersecurity</h2>
<p>To become a cybersecurity professional, there are a couple of boxes to be ticked to aid in the transition to the field and a whole lot of options available to help with filling them.</p>
<h3 id="heading-step-1-understanding-the-basics">Step 1 - Understanding the Basics</h3>
<p>As with any other field, prior to specialization, you must have a thorough understanding of the field, learn basic terminologies, and real-world scenarios where knowledge of the field can be applied.</p>
<p>For cybersecurity, this means understanding fundamental concepts like security best practices, networking, operating systems, the CIA triad, and so on.</p>
<h3 id="heading-step-2-career-path-research">Step 2 - Career path Research</h3>
<p>Next, it would be good to understand the various career paths in cybersecurity. Research each career path, perhaps watch '<a target="_blank" href="https://youtu.be/PNcqD52hs7Y?si=nVKx68FpumbP14La">a day in the life videos</a>' to learn what it's like to work in each field and what skills are needed, then choose whichever appeals you the most.</p>
<p>To aid your decision, explore technical fields like threat intelligence, penetration testing, cloud security, as well as non technical fields like GRC (Governance, Risk and Compliance), or security education.</p>
<p>Keep in mind that you're still a beginner and you're allowed to change this decision after learning a little more about your chosen career path.</p>
<p>You can check out this <a target="_blank" href="https://tryhackme.com/r/careers/quiz">career quiz</a> on <a target="_blank" href="https://tryhackme.com/">TryHackMe</a> to help you out.</p>
<h3 id="heading-step-3-choose-your-own-route">Step 3 - Choose your Own Route</h3>
<p>Once you've decided on your preferred field of interest, you should carry out some further research on the entry criteria of the field and the specific skill requirements needed to successfully pursue a career in it.</p>
<p>Check out the skill requirement of your chosen career path on Google, read articles and watch videos that explain how you can go about learning the required skills and follow a <a target="_blank" href="https://roadmap.sh/cyber-security">roadmap</a>. There are a lot of quality resources available online, with both free and paid options that cater for whatever your needs may be.</p>
<h3 id="heading-step-4-gain-practical-knowledge">Step 4 - Gain Practical Knowledge</h3>
<p>You should test your skills to see if you're prepared for the work force and start applying for job opportunities. Sites like <a target="_blank" href="https://www.hackthebox.com/">HackTheBox</a>, <a target="_blank" href="https://pentesterlab.com/">Pentesterla</a>b, <a target="_blank" href="https://overthewire.org/wargames/bandit/">OverTheWire</a> will help with this.</p>
<p>Do this for a while and start applying for jobs once you're good to go.</p>
<h3 id="heading-step-5-additional-tips">Step 5 - Additional Tips</h3>
<p>Here are a few pointers to make your time in the field more enjoyable and straightforward.</p>
<ul>
<li><strong>Join communities and be actively involved</strong>: You will inevitably encounter a lot of setbacks when pursuing any dream. A wonderful way to overcome this is to have a community of people to keep you motivated when things are tough and to help you out is a great method to get over these obstacles.</li>
</ul>
<p>I've received free access to a couple of paid resources simply because I was a part of a community or simply by being active on social media.</p>
<ul>
<li><strong>Start a blog</strong>: Though I might be a bit biased here, I've realized that teaching others (either in written or video form) is a great method to assess and validate your own understanding. Furthermore, it helps to reinforce your talents like a resume.</li>
<li><strong>Build in public</strong>: If starting a blog sounds a little too daunting for you, it's also fine to just build in public. By doing this, you're sharing your journey and growth with others and inspiring others to follow suit, all in addition to creating a public portfolio of your work.</li>
<li><strong>Network with others in the industry</strong>: You know what they say right?, "your network is your net-worth". It is helpful to network with more people in the field and possibly beyond it, as possibilities can arise just as often through the people you know.</li>
</ul>
<h2 id="heading-conclusion">Conclusion</h2>
<p>This article explains cybersecurity and its significance for daily life. It also walks you through the procedures to follow if you want to pursue a career in the sector and provides links to <a target="_blank" href="https://github.com/Iqmaa/A_Collection_Of_Free_Tech_Resources/blob/main/Cybersec/general.md">resources</a> that can help.</p>
<p>Check out <a target="_blank" href="https://www.freecodecamp.org/news/tag/cybersecurity/">freeCodeCamp's</a> extensive collection of write-ups and materials, and subscribe to my <a target="_blank" href="https://iqmacodes.hashnode.dev/">blog</a> to get more articles like this.</p>
<p>Well, that's all the advice I have for now.</p>
<p>Happy learning!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ NLP Tutorial – Text Pre-Processing Techniques for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ Natural Language Processing (NLP) is a branch of Machine learning (ML) that is focused on making computers understand the human language. It is used to create language models, language translation apps like Google translate, and virtual assistants, a... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/natural-language-processing-techniques-for-beginners/</link>
                <guid isPermaLink="false">66bccb244a4c0beb784641d4</guid>
                
                    <category>
                        <![CDATA[ Machine Learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ nlp ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Crypt(iq) ]]>
                </dc:creator>
                <pubDate>Wed, 12 Jul 2023 14:31:24 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/07/NLP-6.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Natural Language Processing (NLP) is a branch of Machine learning (ML) that is focused on making computers understand the human language. It is used to create language models, language translation apps like Google translate, and virtual assistants, among other things.</p>
<p>This article takes you through one of the most basic steps in NLP which is text-pre-processing. This is a must-know topic for anyone interested in language models and NLP in general which is a core part of the Artificial Intelligence (AI) and ML field.</p>
<h2 id="heading-what-is-text-pre-processing">What is text pre-processing?</h2>
<p>Text pre-processing is the process of transforming unstructured text to structured text to prepare it for analysis.</p>
<p>When you pre-process text before feeding it to algorithms, you increase the accuracy and efficiency of said algorithms by removing noise and other inconsistencies in the text that can make it hard for the computer to understand.</p>
<p>Making the text easier to understand also helps to reduce the time and resources required for the computer to pre-process data.</p>
<h2 id="heading-processes-involved-in-text-pre-processing">Processes involved in text pre-processing</h2>
<p>To properly pre-process your text and get it in the right state to perform further analysis and actions with it, there are quite a few operations that need to be done on the text and a couple of steps to be followed to get a well structured text.</p>
<p>Let's go over these processes in the following sub-sections.</p>
<h3 id="heading-tokenization">Tokenization</h3>
<p>Tokenization is the first stage of the process. </p>
<p>Here your text is analysed and then broken down into chunks called ‘tokens’ which can either be words or phrases. This allows the computer to work on your text token by token rather than working on the entire text in the following stages.</p>
<p>The two main types of tokenisation are word and sentence tokenisation.</p>
<p><strong>Word tokenisation</strong> is the most common kind of tokenisation. </p>
<p>Here, each token is a word, meaning the algorithm breaks down the entire text into individual words:</p>
<pre><code class="lang-python">text = <span class="hljs-string">'Wisdoms daughter walks alone. The mark of Athena burns through rome'</span>

words = text.split()
print(words)

<span class="hljs-comment">#the output of this is given below</span>
&gt;&gt;&gt;&gt; [<span class="hljs-string">'Wisdoms'</span>, <span class="hljs-string">'daughter'</span>, <span class="hljs-string">'walks'</span>, <span class="hljs-string">'alone.'</span>, <span class="hljs-string">'The'</span>, <span class="hljs-string">'mark'</span>, <span class="hljs-string">'of'</span>, <span class="hljs-string">'Athena'</span>, <span class="hljs-string">'burns'</span>, <span class="hljs-string">'through'</span>, <span class="hljs-string">'rome'</span>]
</code></pre>
<p>On the other hand, <strong>sentence tokenisation</strong> breaks down text into sentences instead of words. It is a less common type of tokenisation only used in few Natural Language Processing (NLP) tasks.</p>
<p>There are various tokenisation algorithms such as the whitespace tokenisation, Regular expression tokenisation (also called Regex), and the statistical tokenisation. </p>
<p>The type of algorithm you use will depend on the particular task you are working on and what you aim to achieve with it.</p>
<h3 id="heading-normalisation">Normalisation</h3>
<p>In normalisation your text is converted to standard form. </p>
<p>An example of this is converting all text to lowercase, removing numbers, or removing punctuations. Normalization helps to make the text more consistent.</p>
<p>There are a couple of different normalisation techniques, but I’ll give you an explanation of some of the most commonly employed normalisation techniques below.</p>
<h4 id="heading-case-normalisation">Case normalisation</h4>
<p>This technique converts all the letters in your text to a single case, either uppercase or lowercase.</p>
<p>Case normalisation ensures that your data is stored in a consistent format and makes it easier to work with the data. </p>
<p>An example would be looking for all the instances of a word and searching for it in your text. Without case normalisation, the result of searching for the word ‘Boy’ would be different from the result of searching for ‘boy’.</p>
<p>You can use the following code to perform case normalisation:</p>
<pre><code class="lang-python">text = <span class="hljs-string">"'To Sleep Or NOT to SLEep, THAT is THe Question'"</span>

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">lower_case</span>(<span class="hljs-params">text</span>):</span>
    text = text.lower()
    <span class="hljs-keyword">return</span> text

lower_case = lower_case(text)<span class="hljs-comment">#converts everthing to lowercase</span>
print(lower_case)

<span class="hljs-comment">#the output of this is given below</span>
&gt;&gt;&gt;&gt; to sleep <span class="hljs-keyword">or</span> <span class="hljs-keyword">not</span> to sleep, that <span class="hljs-keyword">is</span> the question
</code></pre>
<h4 id="heading-stemming">Stemming</h4>
<p>Stemming words like coding, coder, and coded all have the same base word which is <em>code</em>. </p>
<p>ML models most-often-than-not understand that these words are all derived from one base word. They can work with your text without the tenses, prefixes, and suffixes that we as humans would normally need to make sense of it.</p>
<p>Stemming your texts not only helps to reduce the number of words the model has to work with, and by extension improves  the efficiency of the model.</p>
<p>Although the efficiency of a model is increased with this technique, it also removes important information from your text and could cause some words to be wrongly categorised by the model. </p>
<p>An example of this would be the difference between <em>writing</em> and <em>write</em> in the sentences below:</p>
<pre><code>
💡 Writing makes me happy.

💡 He writes regularly.
</code></pre><p>In the first sentence the word <em>writing</em> represents a noun, while <em>writes</em> in the second sentence represents a verb. </p>
<p>If your ML models stems both <em>writing</em> and <em>writes</em> to the base <em>write</em> the difference in their respective parts of speech is overlooked causing some information to be lost in the process of analysing the text.</p>
<h4 id="heading-lemmatisation">Lemmatisation</h4>
<p>This method is very similar to stemming in that it is also used to identify the base of words. It is however a more complex and accurate technique than stemming.</p>
<p>Unlike stemming, lemmatisation takes in the structure of words before identifying a base word. </p>
<p>Due to the complexity of this technique it has high computational requirements and is therefore more expensive than stemming.</p>
<h4 id="heading-punctuation-removal">Punctuation removal</h4>
<p>During human conversations, punctuation marks like <code>‘’</code>, <code>!</code> , <code>[</code>, <code>}</code>, <code>*</code>, <code>#</code>, <code>/</code>, <code>?</code>, and  <code>‘’</code> are incredibly relevant and necessary to have a proper conversation.  Thelp to fully convey the message of the writer. </p>
<p>ML models on the other hand find punctuations distracting. </p>
<p>Their presence could interfere with text analysis and the natural language processing (NLP) process.</p>
<p>By removing punctuation marks from our text we allow the model to focus on the text alone rather than distracting it with symbols. This makes it easier for the text to be analysed.</p>
<p>To perform punctuation removal on text the following code can be used:</p>
<pre><code class="lang-python"><span class="hljs-keyword">import</span> re

text = <span class="hljs-string">' (to love is to destroy, and to be loved, is to be "the" one &lt;destroyed&gt;} '</span>

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">remove_punctuations</span>(<span class="hljs-params">text</span>):</span>
    punctuation = re.compile(<span class="hljs-string">r'[{};():,."/&lt;&gt;-]'</span>)
    text = punctuation.sub(<span class="hljs-string">' '</span>, text)
    <span class="hljs-keyword">return</span> text

clean_text = remove_punctuations(text)
print(clean_text)

<span class="hljs-comment">#the output of this is given below</span>
&gt;&gt;&gt;&gt; to love <span class="hljs-keyword">is</span> to destroy  <span class="hljs-keyword">and</span> to be loved  <span class="hljs-keyword">is</span> to be  the  one  destroyed
</code></pre>
<h4 id="heading-accent-removal">Accent removal</h4>
<p>This process is about removing language specific character symbols from text. </p>
<p>Some characters are written with specific accents or symbols to either imply a different pronunciation or to signify that words containing such accented texts have a different meaning.</p>
<p>An example of this would be the difference in both meaning and pronunciation between the words <em>résumé</em> and <em>resume</em>.</p>
<p>The former refers to a document that highlights your professional skills and achievements, whereas the latter means ‘to take on something again, or to continue a previous task or action’.</p>
<p>You can use the code below to perform accent removal on your text: </p>
<pre><code class="lang-python"><span class="hljs-keyword">import</span> re

text = <span class="hljs-string">"her fiancé's résumé is beautiful"</span>

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">remove_accents</span>(<span class="hljs-params">text</span>):</span>
    accents = re.compile(<span class="hljs-string">u"[\u0300-\u036F]|é|è"</span>)
    text = accents.sub(<span class="hljs-string">u"e"</span>, text)
    <span class="hljs-keyword">return</span> text

cleaned_text = remove_accents(text)
print(cleaned_text)

<span class="hljs-comment">#the output of this is given below</span>
&gt;&gt;&gt;&gt; her fiance<span class="hljs-string">'s resume is beautiful</span>
</code></pre>
<h4 id="heading-stop-word-removal">Stop-word removal</h4>
<p>Stop-words are words with no meaning. They don't add any additional value to data. </p>
<p>Words like <em>A, the, and, of</em> and so on are called stop-words.</p>
<p>Like all the previous processes, stop-word removal also helps to increase the efficiency of your model. </p>
<p>Since it reduces the size of our dataset, it makes it more manageable and increases the accuracy of NLP tasks.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article you learned the basics of NLP.  </p>
<p>You are now familiar with the proper procedure to follow when pre-processing your text for NLP tasks. Feel free to go ahead and practice this on your own and work on a few NLP projects.</p>
<p>Note that choosing the right pre-processing technique / techniques to use on your text will depend largely on the type of text you’re working with, the source of your data, and whatever goal you aim to achieve with it.</p>
<p>To learn more about NLP, you can check out <a target="_blank" href="https://www.freecodecamp.org/news/tag/nlp/">FreeCodeCamp</a> for more articles and courses on NLP and ML in general.</p>
<p>Connect with me on twitter <a target="_blank" href="https://twitter.com/Iqma__">@Iqma</a> and follow <a target="_blank" href="https://iqmacodes.hashnode.dev/">my hashnode blog</a> to read more content like this and to learn more about all things AI and Machine Learning.</p>
<p>Happy learning !</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
