<?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: Emmanuel Jerry</title>
    <description>The latest articles on DEV Community by Emmanuel Jerry (@emmzy17).</description>
    <link>https://dev.to/emmzy17</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F687472%2F0f80b238-ac1d-4284-9e9b-0237618920d7.jpeg</url>
      <title>DEV Community: Emmanuel Jerry</title>
      <link>https://dev.to/emmzy17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emmzy17"/>
    <language>en</language>
    <item>
      <title>My 2022 Year in Review</title>
      <dc:creator>Emmanuel Jerry</dc:creator>
      <pubDate>Fri, 30 Dec 2022 04:40:11 +0000</pubDate>
      <link>https://dev.to/emmzy17/my-2022-year-in-review-1p3k</link>
      <guid>https://dev.to/emmzy17/my-2022-year-in-review-1p3k</guid>
      <description>&lt;p&gt;Well...2022 was kind of a weird year, there were ups and down. The downs latter had good advantages and some ups came with their own disadvantages. But for what it's worth 2022 was a really good year ngl.&lt;br&gt;
I started by getting a good laptop(My friend got it for me :)...one of my biggest wins), i improved drastically in my work ethics and damn i learnt alot in 2022. I would say it was my 'eureka' moment and alot of massive mindset shifts. I achieved some of my goals and the rest i didn't.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wins
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I got a good PC this yea, improve my coding productivity &lt;/li&gt;
&lt;li&gt;I achieved some of my goals(not all) concerning development in my skills, career and network &lt;/li&gt;
&lt;li&gt;Found love and it's working really well for me (my first non toxic relationship...lolz) &lt;/li&gt;
&lt;li&gt;I had better understanding of who i really was, discovered alot about myself and it has helped to really know how to work with myself better &lt;/li&gt;
&lt;li&gt;Gained confidence in myself and my ability to figure shit out&lt;/li&gt;
&lt;li&gt;Read alot of books that changed my views on alot things, i didn't keep count (; . Here are my top 3:

&lt;ul&gt;
&lt;li&gt;Incerto - Nassim Taleb (I think its a compilation of some of his work)&lt;/li&gt;
&lt;li&gt;Mastery - Robert Greene &lt;/li&gt;
&lt;li&gt;Laws of Human Nature - Robert Greene &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Implemented some ideas i had (before i hardly implemented any thing i thought of)...thanks to learning tinkering. I wasn't scared of picking of challenges i knew close to nothing about &lt;/li&gt;
&lt;li&gt;Got free from sociail media bondage, also i was able to think more clearly.&lt;/li&gt;
&lt;li&gt;Got more accountable to myself. Next year will try and get a team of accountability partners &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Losses
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Didn't really achieve any of my financial goals ): &lt;/li&gt;
&lt;li&gt;I burnt out at the middle of the year &lt;/li&gt;
&lt;li&gt;Got into a few debts &lt;/li&gt;
&lt;li&gt;Failed to start any business yet &lt;/li&gt;
&lt;li&gt;Looked for external validation...it later stopped sha &lt;/li&gt;
&lt;li&gt;Lost some money to crypto investments and trading &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Nothing beats working on yourself and growing, all those things you seek you can get easily if you become a higher version of yourself. The money, fame, girls ..whatever were year 3 years ago, they will till be year 10 years from now.. but time is a limited resource&lt;/li&gt;
&lt;li&gt;Become a no-nonsense implementer of your ideas, things you learn, you hypothesis or whatever you wanna try out...you will gain a wide range of understanding from doing than you ever will from reading a book. We humans learn and understand better by doing...its from practice to theory school and society mixed it up &lt;/li&gt;
&lt;li&gt;If you are young, buy experiences life is short. you will be grateful to yourself, life is short make the best of it. Don't be too bent on doing only one thing that you miss out the big picture &lt;/li&gt;
&lt;li&gt;You need to have above 1000 iq points to beat trial and error ( tinkering  ). This understand alone would greatly improve your problem solving skills. The less knowledge you have about something the more you are able to come up with unique ways to solve it. Knowledge is a two edge sword... well its good news and bad news depends on the amount of experience you've had &lt;/li&gt;
&lt;li&gt;People are one of your greatest asset and their value can't even be measured...the non-linearity is very big &lt;/li&gt;
&lt;li&gt;Trying out different things is never as bad as it seems don't be in a rush to specialize 
*Joining a group or lemme tribe of like minds would help you grow immensely (like pottershouse help me grow musically)&lt;/li&gt;
&lt;li&gt;Never loose yourself trying to please someone or a group of people &lt;/li&gt;
&lt;li&gt;I learnt how to be a better decision maker even in the face of uncertainty 
### People I would Like to Appreciate For Their Immense Contribution to Me 
Alot of people contributed heavily to me i wouldn't be able to mention all of them. But here are the few that i'll give shout out to&lt;/li&gt;
&lt;li&gt;Fred (offered help to me in various ways(they are much can't write all in this article)  really grateful man) &lt;/li&gt;
&lt;li&gt;My parents ( have always been supporting me :) supported alot of my ideas that failed lolz )&lt;/li&gt;
&lt;li&gt;My Cousins (Steven has been always coming through for me, Egwu and Aunty Chemi most especially financially ) &lt;/li&gt;
&lt;li&gt;My roomies : Orka, man has really been of great help i can even call him my accountability partner we have been learning together from the start although even different domains and despite having different philosophy towars life...Gospel has been a source of immense encouragement and inspiration, always supported me in ways he can&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Well meet y'all in 2023...We will contnue building off from where we stopped in 2022 &lt;/p&gt;

</description>
      <category>endofyear</category>
      <category>eoyreview</category>
    </item>
    <item>
      <title>A Brief Introduction To Images</title>
      <dc:creator>Emmanuel Jerry</dc:creator>
      <pubDate>Mon, 05 Sep 2022 02:02:26 +0000</pubDate>
      <link>https://dev.to/emmzy17/a-brief-introduction-to-images-3mfl</link>
      <guid>https://dev.to/emmzy17/a-brief-introduction-to-images-3mfl</guid>
      <description>&lt;h2&gt;
  
  
  What are Images?
&lt;/h2&gt;

&lt;p&gt;Images are the representations of the external form of objects or person...well that's true but they are much more than that. They are 3-Dimensional representations that consist of pixels(the smallest unit). The three dimensions are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Width &lt;/li&gt;
&lt;li&gt;The Height&lt;/li&gt;
&lt;li&gt;The Channel / Depth&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are two ways images are compressed: &lt;/p&gt;

&lt;h3&gt;
  
  
  Lossless Compression
&lt;/h3&gt;

&lt;p&gt;Lossless Compression is a type of compression that allows the original data(images) to be perfectly reconstructed from compressed data with no loss of data(pixels). Examples of images that use lossless compression are PNG, SVGs. No single data is lost in lossless compression, all pixels of the image are reconstructed back. It's a garbage in, garbage out process. This type of compression is good for image quality but it does not filter out the noise(unwanted data). Images that use lossless compression are usually large in size. Huffman and LZ77 are some of the algorithm used for lossless &lt;/p&gt;

&lt;h3&gt;
  
  
  Lossy Compression
&lt;/h3&gt;

&lt;p&gt;In this type of compression the data(pixels) in the images is removed and not restore to its original form after decompression. An example is JPEG, which is one of the most used image format. &lt;a href="!https://www.geeksforgeeks.org/discrete-cosine-transform-algorithm-program/"&gt;Discrete Cosine Transform&lt;/a&gt; is a very popular way of compressing and filtering images. &lt;/p&gt;

&lt;p&gt;This article is just a brief introduction about Images and doesn't have enough information about the topic but if you wish to research further here are some articles that might help &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/discrete-cosine-transform-algorithm-program/"&gt;Discrete Cosine Transform&lt;/a&gt;&lt;br&gt;
&lt;a href="!https://en.wikipedia.org/wiki/Lossless_compression"&gt;Lossless Compression&lt;/a&gt;&lt;/p&gt;

</description>
      <category>images</category>
      <category>pixel</category>
      <category>color</category>
    </item>
    <item>
      <title>#How to create a PASSWORD checker</title>
      <dc:creator>Emmanuel Jerry</dc:creator>
      <pubDate>Fri, 25 Feb 2022 13:01:11 +0000</pubDate>
      <link>https://dev.to/emmzy17/how-to-create-a-password-checker-d63</link>
      <guid>https://dev.to/emmzy17/how-to-create-a-password-checker-d63</guid>
      <description>&lt;p&gt;In a world where our privacy is now at risk, where they have been alot of data breaches, knowing if your password is leaked on the internet is more than essential. In this article we are going to creating a password checker with python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import requests
from hashlib import sha1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First we are going to import the request module, and sha1 from the hashlib which we will use to &lt;a href="https://searchsqlserver.techtarget.com/definition/hashing#:~:text=Hashing%20is%20the%20process%20of,the%20implementation%20of%20hash%20tables."&gt;hash&lt;/a&gt;. We need to hash our password to be able to securely send it over the internet, and also the api we are working only accept our password request as hash&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def request_api(query):
   url = 'https://api.pwnedpasswords.com/range/' + str(query)
   res = requests.get(url)
   if res.status_code != 200:
      raise RuntimeError(f'Error fectching: {res.status_code}, 
                         check your api and try again')
   return res
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The function above will send request to pwnedpasswords.com to check if the password we passed in their database.&lt;/p&gt;

&lt;p&gt;But before that we have to hash our password, and pass only the first five letters of our hash.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def pwned_api_check(password):
    sha1pswd = sha1(password.encode('utf-8')).hexdigest().upper()
    first5_char, tail = sha1pswd[:5], sha1pswd[5:]
    response = request_data(first5_char)
    return get_password_check(response, tail)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above function first hashes the password, then divide the hash into two parts the head(first5_char and tail), we can now pass the head of the hash password to our request_data func.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def get_password_check(hashes, hash_tail):
    hashes = (line.split(':') for line in hashes.text.splitlines())
    for h, count in hashes:
        if h == hash_tail:
            return count
    return 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When we send the request it will return all hash_password that start with our first5_char, so we have to check for our exact password, &lt;br&gt;
now we remove the first5_char from all the hash_password we got from our request, now we are left with only the hash_tail we compare all the hash_tail with that of the password we passed in, this function will return the number of times the password appears&lt;br&gt;
&lt;code&gt;if h == hash_tail: return count&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def main(args):
    for password in args:
        count = pwned_api_check(password)
        if count:
            print(f'{password} was found {count} times ... you shoupld probably change your password ')
        else:
            print(f'{password} was not found ...carry on')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;main(sys.argv[1:])&lt;/code&gt;&lt;br&gt;
Our program is a CLI tool so the last function helps us check all the password we passed on our command-line interface. &lt;/p&gt;

&lt;p&gt;Hopefully you learnt a few interesting things, follow me for more of this type of content.&lt;/p&gt;

&lt;h1&gt;
  
  
  python #security #hash
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Creating a contact API with flask </title>
      <dc:creator>Emmanuel Jerry</dc:creator>
      <pubDate>Mon, 31 Jan 2022 07:30:18 +0000</pubDate>
      <link>https://dev.to/emmzy17/creating-a-contact-api-with-flask-4d3g</link>
      <guid>https://dev.to/emmzy17/creating-a-contact-api-with-flask-4d3g</guid>
      <description></description>
    </item>
  </channel>
</rss>
