<?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: Omkar Ajnadkar</title>
    <description>The latest articles on Forem by Omkar Ajnadkar (@blackbird).</description>
    <link>https://forem.com/blackbird</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%2F49307%2F92fdbc4c-6fff-4a37-8d9b-c0a8a1e1f2fb.png</url>
      <title>Forem: Omkar Ajnadkar</title>
      <link>https://forem.com/blackbird</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/blackbird"/>
    <language>en</language>
    <item>
      <title>(Part-2) Guide to Protect your Online-Self in 2021! 💻</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Fri, 01 Jan 2021 00:00:00 +0000</pubDate>
      <link>https://forem.com/blackbird/guide-to-protect-your-online-self-in-2021-part-2-88d</link>
      <guid>https://forem.com/blackbird/guide-to-protect-your-online-self-in-2021-part-2-88d</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Dz8jcMQF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hsrxchdl5n3rn82qsbgo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Dz8jcMQF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hsrxchdl5n3rn82qsbgo.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@dtopkin1"&gt;Dayne Topkin&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/u5Zt-HoocrM"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my last blog post &lt;a href="https://blackbird71sr.github.io/blog/tech/Guide-To-Protect-Your-Online-Self-in-2021/"&gt;&lt;strong&gt;Guide to Protect your Online-Self in 2021! 💻&lt;/strong&gt;&lt;/a&gt;, I covered top 5 things you should do be safe online. Today we are going to extend that list so that you are more protected and secure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use an Ad-Blocker 🎁
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sFSfXoQR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.contentful.com/82kv66k4hmlh/6YZkantFtuoQy4yIWacOa2/4c857e1fc8cc85394ef7ee30470965e7/Ad-blocker-diagram.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sFSfXoQR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.contentful.com/82kv66k4hmlh/6YZkantFtuoQy4yIWacOa2/4c857e1fc8cc85394ef7ee30470965e7/Ad-blocker-diagram.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Credits: &lt;a href="https://strikesocial.com/blog/adblock-mobile-social-media/"&gt;StrikeSocial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will agree with me that internet is messed a lot in past few years. Although it is good that we can try many things for free, thanks to ads, but now many cyber crimes use ads as major middleware. Attackers buy advertising positions on major websites, and can execute malicious code on your computer.&lt;/p&gt;

&lt;p&gt;An ad blocker&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Will try to remove such ads and try to protect you from the malware.&lt;/li&gt;
&lt;li&gt;Will also load web pages faster as ad blocker will stop all the extra code and images from loading.&lt;/li&gt;
&lt;li&gt;Will stop various trackers from tracking you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But an ad blocker can also&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce functionality of some websites in the parts like cart and payment. You can whitelist that website in your ad blocker.&lt;/li&gt;
&lt;li&gt;Consume ma lot of memory. You may need to reduce no. of privacy filters blocker is applying if you are using less powerful computer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/edge"&gt;&lt;strong&gt;Microsoft’s new Chromium&lt;/strong&gt;&lt;/a&gt; based Edge provides tracking protection on both mobile and desktop browser without adding extension. If you rather like Chrome, you can use CPU and memory efficient &lt;a href="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=en"&gt;&lt;strong&gt;uBlock Origin&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also beware of the fake ad blockers on both play store and chrome extensions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don’t eat all Cookies 🍪
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3Cr8o8oh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2020/10/shutterstock_1295870983.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3Cr8o8oh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.elegantthemes.com/blog/wp-content/uploads/2020/10/shutterstock_1295870983.png" alt=""&gt;&lt;/a&gt;Credits: &lt;a href="https://www.elegantthemes.com/blog/wordpress/what-are-cookies-and-how-do-they-work"&gt;Elegant Themes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just like ads, cookies is another thing that has completely changed the web. So what are cookies?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Cookies are files created by websites that you visit. They make your online experience easier by saving browsing information. With cookies, sites can keep you signed in, remember your site preferences and give you locally relevant content.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is Cookie definition according &lt;a href="https://support.google.com/chrome/answer/95647"&gt;&lt;strong&gt;Google Support Page&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So far so good, right? Looks like they are useful, buy wait! This coin too has another side. Not all cookies are good and some are used to track user and show advertisement. Watch this:&lt;/p&gt;

&lt;p&gt;Credits: &lt;a href="https://www.cookiesandyou.com/"&gt;Privacy Monitor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, when you click think you don’t need your information to be saved on the website like this, just like my website on &lt;strong&gt;Deny&lt;/strong&gt; , and according to GDPR(General Data Protection Regulation), you will not be tracked!&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Privacy Focused Search Browser 🌐
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AdVjU0O---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://techcrunch.com/wp-content/uploads/2019/03/Screenshot-2019-03-13-at-15.32.54.png%3Fw%3D990%26crop%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AdVjU0O---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://techcrunch.com/wp-content/uploads/2019/03/Screenshot-2019-03-13-at-15.32.54.png%3Fw%3D990%26crop%3D1" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whether you agree it or not, Google knows lot about you! And best part is you have given permission for it. If you want to know, all about it, visit &lt;a href="https://myactivity.google.com/myactivity"&gt;&lt;strong&gt;My Activity&lt;/strong&gt;&lt;/a&gt; with your Google account logged in. You can also turn this activity controls to off, if you want.&lt;/p&gt;

&lt;p&gt;On the other hand, there are may privacy focused search browsers, that will not save and use data. Some of the notable are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://duckduckgo.com/"&gt;&lt;strong&gt;Duck Duck Go&lt;/strong&gt;&lt;/a&gt; - One of the most successful alternative to Google&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.qwant.com/"&gt;&lt;strong&gt;Qwant&lt;/strong&gt;&lt;/a&gt; -Provides trending topics as well as recent news stories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s all for today. You can read Part 1 of this blog, ➡ &lt;a href="https://blackbird71sr.github.io/blog/tech/Guide-To-Protect-Your-Online-Self-in-2021/"&gt;&lt;strong&gt;Guide to Protect your Online-Self in 2021! 💻&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See you next week with some new topic. Happy New Year!&lt;/p&gt;

</description>
      <category>tech</category>
      <category>privacy</category>
      <category>ads</category>
      <category>cookies</category>
    </item>
    <item>
      <title>(Part-1) Guide to Protect your Online-Self in 2021! 💻</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Sat, 26 Dec 2020 00:00:00 +0000</pubDate>
      <link>https://forem.com/blackbird/guide-to-protect-your-online-self-in-2021-3aaf</link>
      <guid>https://forem.com/blackbird/guide-to-protect-your-online-self-in-2021-3aaf</guid>
      <description>&lt;p&gt;We are living in a really crazy world! 2020 was the real break to all of our lives. It showed that nothing is certain. Our health systems collapsed, many people were hungry on the climax of the virus outbreak and we lost our friends and families. On the other hand, we saw rapid increase in the technology adoption across the world.&lt;/p&gt;

&lt;p&gt;This was mostly due to office from home and students taking classes online. This was really a good thing. Many people who were not aware of the online tools like Teams, Meet, Zoom got involved online learning something new. But as every coin has two sides, this also caused a huge increase in cyber crime. &lt;a href="https://www.securitymagazine.com/articles/93722-uk-sees-a-31-increase-in-cyber-crime-amid-the-pandemic"&gt;&lt;strong&gt;Security Magazine&lt;/strong&gt;&lt;/a&gt; report shows that there was 31% increase in cyber crimes in UK in pandemic period. Report in &lt;a href="https://www.cnbc.com/2020/07/29/cybercrime-ramps-up-amid-coronavirus-chaos-costing-companies-billions.html"&gt;&lt;strong&gt;CNBC&lt;/strong&gt;&lt;/a&gt; mentions 273% increase in data breaches in the first quarter of 2020.&lt;/p&gt;

&lt;p&gt;This leads us to the aim of this article. Many people argue that they have nothing to hide and protect online. But this is not the case at all! Your data should be yours and I am mentioning some of simple steps you should take to increase your privacy and security online.&lt;/p&gt;

&lt;h2&gt;
  
  
  Change Your Passwords 🔒
&lt;/h2&gt;

&lt;p&gt;Now there are 3 important points about passwords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make it as strong as possible&lt;/strong&gt;. First and foremost, they are the only layer of protection in most of the cases. Consider it as the lock on your door. While creating passwords, many people will suggest you to use random characters so that passwords are difficult to crack. THIS IS NOT THE CASE. Although using random characters make them hard to crack(Just little bit longer!), it has not the same effect as increasing the length of password. If you want to dive deep in this topic, here is the great &lt;a href="https://towardsdatascience.com/why-password-validation-is-garbage-56e0d766c12e"&gt;article&lt;/a&gt; by Jacob Bergdahl where he mentions why &lt;code&gt;jK8v!ge4D&lt;/code&gt; is bad password compared to &lt;code&gt;greenelephantswithtophats&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use different password for each of your account&lt;/strong&gt;. Yes, that’s correct. Would you use same lock on all of your doors which will open with same exact key? Think about it. Somehow if some got hold of your account, he will get it all! Your GMail, Facebook, Twitter, your banks, your medical information and what not!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Don’t use stupid passwords&lt;/strong&gt;. So what are stupid passwords? &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m-1RexmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.safetydetectives.com/wp-content/uploads/2020/05/Top-30Most-Used-Passwords-in-the-world.jpg.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m-1RexmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.safetydetectives.com/wp-content/uploads/2020/05/Top-30Most-Used-Passwords-in-the-world.jpg.webp" alt="Stupid Passwords"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So you must be thinking how can I follow this 3 steps together? The answer is use a &lt;strong&gt;Password Manager&lt;/strong&gt;. There are number of free and secure options available. Pick the one that suits you and start using it. It’s not that hard. In few months, every time you visit the website you already have account with, replace your old password with the strong one and slowly you will be much more secure the you ever was!&lt;/p&gt;

&lt;p&gt;Some of the top choices for Password Manager:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.lastpass.com/"&gt;LastPass&lt;/a&gt; - Most features are free including two-factor authentication and free-sync across all devices. With $2.90/month premium option you get password sharing with your friends and family.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.dashlane.com/"&gt;Dashlane&lt;/a&gt; - 50 passwords with 1 device are free but you will pay $3.99/month for unlimited passwords with sync and two-factor authentication&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://1password.com/"&gt;1Password&lt;/a&gt; - Free 30 days trial and after that $2.99/month or $4.99/month for family plan with 5 accounts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After you decide your provider, you need to create a master password for your account which will encrypt all your other passwords. In short, this is the key to all your keys. So take time, make it strong, remember it because if you forgot there is chance of loosing all your other passwords! This is essential before moving forward&lt;/p&gt;

&lt;p&gt;You can then export your previous passwords from the browser you use like chrome or FireFox and then import them inside this password managers. You an check your security score which depends on how strong or weak your passwords are!&lt;/p&gt;

&lt;p&gt;Each of this password manager has browser extension and mobile app which when installed will autofill your passwords when you will visit the particular website. All you need to do is click on log in button and that’s it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Limit what you share online 🎁
&lt;/h2&gt;

&lt;p&gt;Many people find this very stupid, but without realising we share a lot of information about ourself and our family on Facebook, Twitter and Instagram. This includes the photos you most, information we post daily as well as ‘About Me’ sections. We don’t want anyone to know our birth date or current location right? Even photos we post contain a lot of private information which can be used to exploit or hack your accounts. So be careful about what you post online!&lt;/p&gt;

&lt;h2&gt;
  
  
  Look what you install! 🎮
&lt;/h2&gt;

&lt;p&gt;As our screen time on mobile devices is increasing compared to laptops and computer, privacy issues are also skyrocketing. So next time you want to install a new all on you phone, remember to check the reviews, installs and its creator first. Every week thousands of fake apps which are embedded with viruses are published on Play Store and which can easily stole the data on your phone. So use some caution while installing apps on your phone. This is also includes not downloading apps from the internet as there is much more chance of them being data thieves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Be careful what you click 🖱 or touch 📱
&lt;/h2&gt;

&lt;p&gt;When we visit websites, you can see survey forms, gift enrolls and many such prompts which require you to fill your personal information in return of gits. Please don’t do that! You are not going to get a free gift! You are just being tricked into sharing your most personal information which may be financial.&lt;/p&gt;

&lt;p&gt;Don’t fall for such scams. This scams can be in your email too. Think before click on an unknown link from an unknown sender. Before giving your bank details check whether the page is really of a bank, whether the email is really from the verified bank account and then proceed.&lt;/p&gt;

&lt;p&gt;Also remember that no bank ask credit card passwords by mail or message. They will not ask your credit card number too, because they already know that. So next time you receive such email check with your local branch if there is any problem or call customer-care for more details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use a VPN (virtual private network)
&lt;/h2&gt;

&lt;p&gt;According to &lt;a href="https://en.wikipedia.org/wiki/Virtual_private_network"&gt;Wikipedia&lt;/a&gt;, A virtual private network (VPN) extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network. In simple terms, VPN masks your online identity and makes your online actions almost untraceable.&lt;/p&gt;

&lt;p&gt;Using VPN is even more important if you use public wifi like in library, cafe, railway station or airport. Check this short video from Norton:&lt;/p&gt;

&lt;p&gt;You can find many free VPNs online, but all of them may not be secure! They can even track you more than before. Some of the trusted VPN providers are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nordvpn.com/"&gt;NordVPN&lt;/a&gt; - $2.99/month for three year plan&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.expressvpn.com/"&gt;ExpressVPN&lt;/a&gt; - $6.41/month for a year-long plan&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://protonvpn.com"&gt;Proton VPN&lt;/a&gt; - Free for 1 connection and 3 countries( US, Japan and Netherland), with $4/month you get two connections, high speed and servers in 54 countries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s all from me for this time. In next article, I will try to shade light on some more privacy habits that that you show embrace regularly but those mentioned here are must haves for everybody.&lt;/p&gt;

&lt;p&gt;Happy Holidays! Happy New Year!&lt;/p&gt;

</description>
      <category>tech</category>
      <category>privacy</category>
      <category>security</category>
    </item>
    <item>
      <title>What will it do? What should it do?</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Wed, 24 Jul 2019 07:23:47 +0000</pubDate>
      <link>https://forem.com/blackbird/what-will-it-do-what-should-it-do-3nf2</link>
      <guid>https://forem.com/blackbird/what-will-it-do-what-should-it-do-3nf2</guid>
      <description>&lt;p&gt;Liquid error: internal&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Really?</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Thu, 04 Jul 2019 07:45:05 +0000</pubDate>
      <link>https://forem.com/blackbird/really-2ldc</link>
      <guid>https://forem.com/blackbird/really-2ldc</guid>
      <description>&lt;p&gt;The must-have npm package...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C2xMLSOO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3nf1muxzv1bp06991w4p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C2xMLSOO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3nf1muxzv1bp06991w4p.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>jokes</category>
    </item>
    <item>
      <title>Concurrency is not the parallelism</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Sat, 24 Nov 2018 18:51:09 +0000</pubDate>
      <link>https://forem.com/blackbird/concurrency-is-not-the-parallelism-2efb</link>
      <guid>https://forem.com/blackbird/concurrency-is-not-the-parallelism-2efb</guid>
      <description>&lt;p&gt;This post is inspired by two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/rhymes" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2693%2Fbfd9a4a5-92b3-4ac3-a276-3ccb68d78203.jpg" alt="rhymes"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rhymes/how-to-make-python-code-concurrent-with-3-lines-of-code-2fpe" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to make Python code concurrent with 3 lines&lt;/h2&gt;
      &lt;h3&gt;rhymes ・ Nov 23 '18&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#python&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Recently completed &lt;strong&gt;Operating System&lt;/strong&gt; classes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although you can find complete book chapters on this topic, I will keep this short and simple.&lt;/p&gt;

&lt;h2&gt;
  
  
  Situation 1
&lt;/h2&gt;

&lt;p&gt;This is the situation in say 80-90's when personal computer was a new thing. At that time, computers were very simple. So what was inside them? They used to have only one processor. So what does that mean? That means your computer can run only one process at a time. Good !!! That means if computer is running a process and now it wants to run another process, it has to close that one to start it. So strange...🤨&lt;/p&gt;

&lt;h2&gt;
  
  
  Situation 2
&lt;/h2&gt;

&lt;p&gt;Now how to solve problem in situation 1? Computer has only one processor, so there is no way that it can run more than 1 process at a time. OK, so computer decides to fool the people! How? 😋&lt;/p&gt;

&lt;p&gt;Here comes the concept of &lt;strong&gt;concurrency&lt;/strong&gt;...There will be multiple processes in the background. Processor will give time to each alternatively so that you(and I) think that every process is running. Little confused? Let's assume there are 2 processes P1 and P2. Both the processes want to start at same time. CPU will give first T time to P1 and after that T time to P2, again T to P1 and this goes on...&lt;/p&gt;

&lt;p&gt;Now you are thinking, but can't see the one process stopping and another running. The reason is that this T is very very small(in the order of 10^-9 seconds), so we think that every process is running. &lt;br&gt;
This concept is still valid and there are various algorithms in which processor selects the process to which it wants to give time to. One of the most famous and easy one is &lt;strong&gt;Round Robin Algorithm&lt;/strong&gt; in which processor gives time to each process in sequence until last and then again comes back to first process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Situation 3
&lt;/h2&gt;

&lt;p&gt;Now you know, that processor is fooling you and it is actually does not running more than 1 process at a time. It's time for up-gradation. You went to market to buy new computer and asks what's the specification of the CPU. Now you must have heard the name &lt;strong&gt;cores&lt;/strong&gt; which have values form 2 to 4 to 8 to even 16. You have lot of money 🤑 and you think bigger is better(that's actually true here), so you bought 8-core CPU.&lt;/p&gt;

&lt;p&gt;Now essentially your CPU has 8 cores instead of one you previously had. That means each processor is independent of another can do whatever it want. So each CPU can run one process at a time. So simultaneously 8 processes are running, each processor running one. This is true thing, actually more than one processes are running at a time and this is known as &lt;strong&gt;parallelism&lt;/strong&gt;. Here each processor will also use concurrency to further optimize processes running time and you will feel that more than 8 processes are running simultaneously although only 8 are running at a time. &lt;/p&gt;

&lt;p&gt;It is also important to note that GPU's (Graphical Processing Units) which are used for rendering of high quality games or train deep learning models, also use parallelism which allows it to perform multiple calculations or rendering at a time.&lt;/p&gt;

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

&lt;p&gt;Concurrency: Fooling you and running processes alternatively&lt;br&gt;
Parallelism: Actually running processes simultaneously using various cores&lt;/p&gt;

&lt;p&gt;Feel free to discuss doubts and other concepts in comments.&lt;br&gt;
Thanks for reading!!!♥ &lt;br&gt;
Here is my &lt;a href="https://omkar-ajnadkar.github.io/blog" rel="noopener noreferrer"&gt;blog&lt;/a&gt; for some other interesting posts...&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>discuss</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Hello World Rebooted 💡</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Wed, 03 Oct 2018 17:34:58 +0000</pubDate>
      <link>https://forem.com/blackbird/hello-world-rebooted--1kk0</link>
      <guid>https://forem.com/blackbird/hello-world-rebooted--1kk0</guid>
      <description>&lt;p&gt;So, most of us try to remain skilled in more than one language...let's say possibly 4 to 5 languages and the first program we try to write in any language is none other than &lt;strong&gt;Hello World&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In search of how I can learn to write Hello World in as many language possible, I decided to search the web for various languages, but it is really a Herculian Task to search for as many as possible, but then Open-Source come handy. For the currently ongoing &lt;strong&gt;Hacktoberfest&lt;/strong&gt;, I decided let's make newcomer's do it themselves. Created a repo with Hactoberfest tag, and Boom💥💥💥&lt;/p&gt;

&lt;p&gt;In less than 24 hours, repo has 53 Hello Worlds(Yes, You heard it right) in differnet languages. Repo also conatins short information about every language. I know there are still plaenty of languages out there, but 53 by any meance is not a small number.&lt;/p&gt;

&lt;p&gt;It will be great if you can contribute to the project by any of the following ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You can improve code quality by adding comments to already available codes.&lt;/li&gt;
&lt;li&gt;You can add short langauge informations in README file.&lt;/li&gt;
&lt;li&gt;And yes, you can (and must 😎) add any new language you know.&lt;/li&gt;
&lt;/ol&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/blackbird71SR" rel="noopener noreferrer"&gt;
        blackbird71SR
      &lt;/a&gt; / &lt;a href="https://github.com/blackbird71SR/Hello-World" rel="noopener noreferrer"&gt;
        Hello-World
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Hello World in all possible programmnig languages
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;This project was active during Hacktoberfest-2018 and not currently maintained. If you are looking for the Hacktoberfest contribution here is another awesome repo: &lt;a href="https://github.com/blackbird71SR/Code-Portfolios" rel="noopener noreferrer"&gt;https://github.com/blackbird71SR/Code-Portfolios&lt;/a&gt;
&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Hello-World&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Hello World in all possible programming languages&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Aim&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;This repository should eventually contain the famous "Hello World" program in all the programming languages possible...&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How to Contribute to this repository&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Star this repository using 'Star' button on the top.&lt;/li&gt;
&lt;li&gt;Click on Fork Repository using the 'Fork' button on the top.&lt;/li&gt;
&lt;li&gt;Clone the forked repository on your PC. Using this command on your Git bash or any terminal with git support : &lt;code&gt;git clone url&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Now create a new branch with this command: &lt;code&gt;git branch branchname&lt;/code&gt; and then use that branch by this command: &lt;code&gt;git checkout branchname&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Go ahead and make changes.&lt;/li&gt;
&lt;li&gt;After making changes use this command to add the changes: &lt;code&gt;git add filename&lt;/code&gt;, and then &lt;code&gt;git commit -m "message here"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/blackbird71SR/Hello-World" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Be sure to check Hello World in &lt;strong&gt;WhiteSpace&lt;/strong&gt; language (HelloWorld.ws) and comment what do you think...&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Welcome to Hacktoberfest 2018</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Tue, 02 Oct 2018 14:43:55 +0000</pubDate>
      <link>https://forem.com/blackbird/welcome-to-hacktoberfest-2018-cgo</link>
      <guid>https://forem.com/blackbird/welcome-to-hacktoberfest-2018-cgo</guid>
      <description>&lt;h3&gt;
  
  
  What is Hacktoberfest?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Hacktoberfest&lt;/em&gt;&lt;/strong&gt; is a month-long celebration of open source software run by &lt;a href="https://www.digitalocean.com/"&gt;DigitalOcean&lt;/a&gt; in partnership with &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; and &lt;a href="https://www.twilio.com/"&gt;Twilio&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hacktoberfest is open to everyone in our global community!&lt;/li&gt;
&lt;li&gt;Five quality pull requests must be submitted to public GitHub repositories.&lt;/li&gt;
&lt;li&gt;You can sign up anytime between October 1 and October 31.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How do I get started?
&lt;/h3&gt;

&lt;p&gt;It's really simple...you have to follow a few steps to get into the challenge.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://hacktoberfest.digitalocean.com/"&gt;Hacktoberfest website&lt;/a&gt; or just google Hacktoberfest.&lt;/li&gt;
&lt;li&gt;Then make sure that you have a valid GitHub account.&lt;/li&gt;
&lt;li&gt;From the Hacktoberfest website signup for the challenge using your GitHub account.&lt;/li&gt;
&lt;li&gt;Start hacking before the end of October.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  How do I track my progress?
&lt;/h3&gt;

&lt;p&gt;Log in with your GitHub account at &lt;a href="https://hacktoberfest.digitalocean.com/"&gt;https://hacktoberfest.digitalocean.com/&lt;/a&gt; to check your progress and stats.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rules
&lt;/h3&gt;

&lt;p&gt;To get a shirt, you must make five pull requests between October 1–31 in any timezone. Pull requests can be to any public repo on GitHub, not just the ones we’ve highlighted. The pull request must contain commits you made yourself. Pull requests reported by maintainers as spam or that are automated will be marked as invalid and won’t count towards the shirt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tips
&lt;/h3&gt;

&lt;p&gt;When it comes to open source Hacktoberfest labeled projects, You will find a huge variety of projects from beginner level to expert as well as from many different languages. So, you can move with whatever programming language that you are good in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some projects to get you started
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Hello-World&lt;/em&gt;
&lt;/h4&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/blackbird71SR"&gt;
        blackbird71SR
      &lt;/a&gt; / &lt;a href="https://github.com/blackbird71SR/Hello-World"&gt;
        Hello-World
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Hello World in all possible programmnig languages
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Hello-World&lt;/h1&gt;
&lt;p&gt;Hello World in all possible programming languages&lt;/p&gt;
&lt;h2&gt;
Aim&lt;/h2&gt;
&lt;p&gt;This repository should eventually contain the famous "Hello World" program in all the programming languages possible...&lt;/p&gt;
&lt;h2&gt;
How to Contribute to this repository&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Star this repository using 'Star' button on the top.&lt;/li&gt;
&lt;li&gt;Click on Fork Repository using the 'Fork' button on the top.&lt;/li&gt;
&lt;li&gt;Clone the forked repository on your PC. Using this command on your Git bash or any terminal with git support : &lt;code&gt;git clone url&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Now create a new branch with this command: &lt;code&gt;git branch branchname&lt;/code&gt; and then use that branch by this command: &lt;code&gt;git checkout branchname&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Go ahead and make changes.&lt;/li&gt;
&lt;li&gt;After making changes use this command to add the changes: &lt;code&gt;git add filename&lt;/code&gt;, and then &lt;code&gt;git commit -m "message here"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;After that use this command: &lt;code&gt;git push origin branchname&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create a pull request, and wait for Pull Request to get merged.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
How to&lt;/h2&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/blackbird71SR/Hello-World"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;&lt;a href="https://github.com/Omkar-Ajnadkar/Hello-World"&gt;https://github.com/Omkar-Ajnadkar/Hello-World&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Programming-Quotes&lt;/em&gt;
&lt;/h4&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/blackbird71SR"&gt;
        blackbird71SR
      &lt;/a&gt; / &lt;a href="https://github.com/blackbird71SR/Programming-Quotes"&gt;
        Programming-Quotes
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Repository containing various programming quotes
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
Programming-Quotes&lt;/h1&gt;
&lt;p&gt;Repository containing various programming quotes&lt;/p&gt;
&lt;p&gt;&lt;a href="https://omkar-ajnadkar.github.io/Programming-Quotes/quotes.html" rel="nofollow"&gt;Quotes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let's create a list of programming related quotes in this Hacktoberfest...&lt;/p&gt;
&lt;h2&gt;
Rules:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Add quotes to file &lt;code&gt;quotes.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Don't forget to mention name of author of quote in bold&lt;/li&gt;
&lt;li&gt;Quote should start with &lt;code&gt;&amp;gt;&lt;/code&gt; in markdown.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;1. &amp;gt; You might not think that programmers are artists, but programming is an extremely creative profession. It's logic-based creativity. __John Romero__
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here is an example:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;You might not think that programmers are artists, but programming is an extremely creative profession. It's logic-based creativity. &lt;strong&gt;John Romero&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
How to Contribute to this repository&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Star this repository using 'Star' button on the top.&lt;/li&gt;
&lt;li&gt;Click on Fork Repository using the 'Fork' button on the top.&lt;/li&gt;
&lt;li&gt;Clone the forked repository on your PC. Using this command on your Git bash or any terminal with git support :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;git clone https://github.com/YOUR_USERNAME/Programming-Quotes.git&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Now create a new branch with this command:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;git branch branchname &lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/blackbird71SR/Programming-Quotes"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Sign Language and Static-Gesture Recognition</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Thu, 16 Aug 2018 21:29:41 +0000</pubDate>
      <link>https://forem.com/blackbird/sign-language-and-static-gesture-recognition-1k58</link>
      <guid>https://forem.com/blackbird/sign-language-and-static-gesture-recognition-1k58</guid>
      <description>&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%2Fv5gz8764uku0jc9s3st6.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%2Fv5gz8764uku0jc9s3st6.png"&gt;&lt;/a&gt;Sign Language&lt;/p&gt;

&lt;p&gt;Gesture recognition is an open problem in the area of machine vision, a field of computer science that enables systems to emulate human vision. Gesture recognition has many applications in improving human-computer interaction, and one of them is in the field of Sign Language Translation, wherein a video sequence of symbolic hand gestures is translated into natural language.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dataset
&lt;/h3&gt;

&lt;p&gt;The dataset format is patterned to match closely with the classic MNIST. Each training and test case represents a label (0–25) as a one-to-one map for each alphabetic letter A-Z (and no cases for 9=J or 25=Z because of gesture motions). The &lt;strong&gt;training data&lt;/strong&gt; (27,455 cases) and &lt;strong&gt;test data&lt;/strong&gt; (7172 cases) are approximately half the size of the standard MNIST but otherwise similar with a header row of the label, pixel1, pixel2….pixel784 which represent a single 28x28 pixel image with grayscale values between 0–255.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Preprocessing
&lt;/h3&gt;

&lt;p&gt;As the dataset has already given CSV values for images, we don’t need to do much preprocessing. If dataset of the image was in raw format, we have to convert them in CSV format arrays before doing any of the further operations. Still, we perform the following steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate features(784 pixel columns) and output(result label)&lt;/li&gt;
&lt;li&gt;Reshape the features&lt;/li&gt;
&lt;li&gt;One Hot Encoding on the result
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X_train = train.drop(['label'],axis=1)  
X_test = test.drop(['label'], axis=1)  

X_train = np.array(X_train.iloc[:,:])  
X_train = np.array([np.reshape(i, (28,28)) for i in X_train])  
X_test = np.array(X_test.iloc[:,:])  
X_test = np.array([np.reshape(i, (28,28)) for i in X_test])

num_classes = 26  
y_train = np.array(y_train).reshape(-1)  
y_test = np.array(y_test).reshape(-1)  
y_train = np.eye(num_classes)[y_train]  
y_test = np.eye(num_classes)[y_test]

X_train = X_train.reshape((27455, 28, 28, 1))  
X_test = X_test.reshape((7172, 28, 28, 1)) 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Model
&lt;/h3&gt;

&lt;p&gt;We will use Keras to build the simple CNN(Convolutional Neural Network).&lt;/p&gt;

&lt;p&gt;There are total 7 layers in the CNN:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;1st Convolutional Layer with relu&lt;/li&gt;
&lt;li&gt;1st Max Pooling&lt;/li&gt;
&lt;li&gt;2nd Convolutional Layer with relu&lt;/li&gt;
&lt;li&gt;2nd Max Pooling&lt;/li&gt;
&lt;li&gt;Flattening&lt;/li&gt;
&lt;li&gt;First Full Layer with relu&lt;/li&gt;
&lt;li&gt;Output Layer with sigmoid
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def model():  
  classifier = Sequential()  
  classifier.add(Convolution2D(filters=8,   
                               kernel_size=(3,3),  
                               strides (1,1),  
                               padding='same',  
                               input_shape=(28,28,1),  
                               activation='relu',  
                               data_format='channels_last'))  
  classifier.add(MaxPooling2D(pool_size=(2,2)))  
  classifier.add(Convolution2D(filters=16,   
                               kernel_size=(3,3),  
                               strides=(1,1),  
                               padding='same',  
                               activation='relu'))  
  classifier.add(MaxPooling2D(pool_size=(4,4)))  
  classifier.add(Flatten())  
  classifier.add(Dense(128, activation='relu'))  
  classifier.add(Dense(26, activation='sigmoid'))  
  classifier.compile(optimizer='adam',  
                     loss='categorical_crossentropy',   
                     metrics=['accuracy'])  
  return classifier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Then fit the model on the training set and check the accuracy on the test set.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;classifier.fit(X_train, y_train, batch_size = 100, epochs = 100)  
y_pred = classifier.predict(X_test)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Note that the output present in y_pred is in the format of the array with 26 values for each training example. We have to see which one is maximum and then create y_pred again.&lt;/p&gt;
&lt;h3&gt;
  
  
  Result
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Training Set Accuracy: 96.06 %&lt;/li&gt;
&lt;li&gt;Test Set Accuracy: 87.77%&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Complete Code with Dataset
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/blackbird71SR" rel="noopener noreferrer"&gt;
        blackbird71SR
      &lt;/a&gt; / &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects" rel="noopener noreferrer"&gt;
        Small-Deep-Learning-Projects
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Small projects with Deep Learning magic! - Predicting Customer Churn in Banking, Predict tags on Stack Overflow, Sign Language Recognition
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Neural Networks&lt;/h1&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;1. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Predicting%20Customer%20Churn%20In%20Banking" rel="noopener noreferrer"&gt;Predicting Customer Churn In Banking&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;2. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Predict%20tags%20on%20StackOverflow" rel="noopener noreferrer"&gt;Predict tags on StackOverflow&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;3. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Sign%20Language%20and%20Static-Gesture%20Recognition" rel="noopener noreferrer"&gt;Sign Language and Static-Gesture Recognition&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;4. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/You%20Only%20Look%20Once" rel="noopener noreferrer"&gt;You Only Look Once - Photos &amp;amp; Videos&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Send a pull request for any suggestions and errors…&lt;/p&gt;

</description>
      <category>deeplearning</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>keras</category>
    </item>
    <item>
      <title>Predicting customer churn in banking using ANN</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Fri, 03 Aug 2018 10:14:54 +0000</pubDate>
      <link>https://forem.com/blackbird/predicting-customer-churn-in-banking-using-ann-4cmf</link>
      <guid>https://forem.com/blackbird/predicting-customer-churn-in-banking-using-ann-4cmf</guid>
      <description>&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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F0%2ACAnlolK6WNrLQBnz" 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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F0%2ACAnlolK6WNrLQBnz"&gt;&lt;/a&gt;Predicting customer churn in banking using ANN&lt;/p&gt;

&lt;h3&gt;
  
  
  Dataset
&lt;/h3&gt;

&lt;p&gt;The dataset ‘Churn_Modelling.csv’ contains records of 10,000 customers of a bank with following columns:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;RowNumber&lt;/li&gt;
&lt;li&gt;CustomerId&lt;/li&gt;
&lt;li&gt;Surname&lt;/li&gt;
&lt;li&gt;CreditScore&lt;/li&gt;
&lt;li&gt;Geography&lt;/li&gt;
&lt;li&gt;Gender&lt;/li&gt;
&lt;li&gt;Age&lt;/li&gt;
&lt;li&gt;Tenure&lt;/li&gt;
&lt;li&gt;Balance&lt;/li&gt;
&lt;li&gt;NumOfProducts&lt;/li&gt;
&lt;li&gt;HasCrCard&lt;/li&gt;
&lt;li&gt;IsActiveMember&lt;/li&gt;
&lt;li&gt;EstimatedSalary&lt;/li&gt;
&lt;li&gt;Exited&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By using the columns 1 to 13, we want to predict if the customer will exit or not that is column 14.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Preprocessing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Removing unnecessary features&lt;/li&gt;
&lt;li&gt;Label Encoder&lt;/li&gt;
&lt;li&gt;One Hot Encoder&lt;/li&gt;
&lt;li&gt;Train Test Split&lt;/li&gt;
&lt;li&gt;Standard Scaler&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Simple ANN Model using Keras
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Create an ANN with total 4 layers&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One input layer with 11 input features and 6 output features&lt;/li&gt;
&lt;li&gt;Hidden layer with 6 output features&lt;/li&gt;
&lt;li&gt;Final layer with 1 output feature&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Activation Functions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1st layer: Relu&lt;/li&gt;
&lt;li&gt;2nd layer: Relu&lt;/li&gt;
&lt;li&gt;3rd layer: Sigmoid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hyperparameters&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;optimizer: adam&lt;/li&gt;
&lt;li&gt;loss: binary_crossentropy&lt;/li&gt;
&lt;li&gt;metrics: accuracy&lt;/li&gt;
&lt;li&gt;batch_size: 10&lt;/li&gt;
&lt;li&gt;epochs:100&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Accuracy(Subject to change)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Training Set: 0.8610&lt;/li&gt;
&lt;li&gt;Testing Set:0.86&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improving ANN
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;k-fold classifier&lt;/strong&gt; to split training set in say 10 parts and applying training on 9 out of 10 parts and testing on another every time to decrease fluctuation in accuracy every time you run the code.&lt;/li&gt;
&lt;li&gt;Use Dropout technique with a certain threshold to decreases overfitting on the training set. Applying to this dataset gives an accuracy of 0.8321 which means now data is less overfitted to this training set.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;GridSearchCV&lt;/strong&gt; to find best parameters automatically. Enter all the hyperparameters you want to test your network on and after testing everything it will give the best possible accuracy and parameters. I tried with the following parameters:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;batch_size:&lt;/strong&gt; 25, 32&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;epochs:&lt;/strong&gt; 100, 500&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;optimizer:&lt;/strong&gt; adam, rmsprop&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After waking in the morning(yes, it takes a long time…), this is what I found…&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;best_parameters&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;batch_size: 25&lt;/li&gt;
&lt;li&gt;epochs: 500&lt;/li&gt;
&lt;li&gt;optimizer: rmsprop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;accuracy:&lt;/strong&gt; 0.8545&lt;/p&gt;

&lt;h3&gt;
  
  
  Further Improvements
&lt;/h3&gt;

&lt;p&gt;You can further improve this model by changing hyperparameters and trying other range of values in GridSearchCV. But it is important to note that, as you will increase the number of parameters in GridSearchCV, your time for training will also increase.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/blackbird71SR" rel="noopener noreferrer"&gt;
        blackbird71SR
      &lt;/a&gt; / &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects" rel="noopener noreferrer"&gt;
        Small-Deep-Learning-Projects
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Small projects with Deep Learning magic! - Predicting Customer Churn in Banking, Predict tags on Stack Overflow, Sign Language Recognition
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Neural Networks&lt;/h1&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;1. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Predicting%20Customer%20Churn%20In%20Banking" rel="noopener noreferrer"&gt;Predicting Customer Churn In Banking&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;2. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Predict%20tags%20on%20StackOverflow" rel="noopener noreferrer"&gt;Predict tags on StackOverflow&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;3. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/Sign%20Language%20and%20Static-Gesture%20Recognition" rel="noopener noreferrer"&gt;Sign Language and Static-Gesture Recognition&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;4. &lt;a href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects/tree/master/You%20Only%20Look%20Once" rel="noopener noreferrer"&gt;You Only Look Once - Photos &amp;amp; Videos&lt;/a&gt;
&lt;/h2&gt;

&lt;/div&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/blackbird71SR/Small-Deep-Learning-Projects" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Send a pull request for any suggestions and errors…&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>keras</category>
      <category>neuralnetworks</category>
    </item>
    <item>
      <title>WDS16 - HTML Forms</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Thu, 21 Dec 2017 18:31:00 +0000</pubDate>
      <link>https://forem.com/blackbird/wds16---html-forms-44kj</link>
      <guid>https://forem.com/blackbird/wds16---html-forms-44kj</guid>
      <description>&lt;p&gt;In the &lt;a href="https://thecodingexpress.blogspot.in/2017/12/wds15-handle-your-metadata.html"&gt;last article&lt;/a&gt; we learned:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML &lt;strong&gt;&amp;lt;meta&amp;gt;&lt;/strong&gt; tag need&lt;/li&gt;
&lt;li&gt;All the attributes of &lt;strong&gt;&amp;lt;meta&amp;gt;&lt;/strong&gt; tag including charset&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I said in the last article, today we are going to study something that we see on every website and that is forms. Yes, we see forms everywhere for the purpose of contact, submitting user information, online polls and many other places. So let's see how we can create the form with the help of HTML...  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;HTML &amp;lt;form&amp;gt; element&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;HTML &lt;strong&gt;&amp;lt;form&amp;gt;&lt;/strong&gt; element defines a form. All the other form related tags/ form elements will be nested inside it.&lt;br&gt;&lt;br&gt;
There are different types of form elements in HTML which we can use inside &lt;strong&gt;&amp;lt;form&amp;gt;&lt;/strong&gt; element. Let's see one by one:  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&amp;lt;input&amp;gt; Element&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;It is the most important form element. &lt;strong&gt;&amp;lt;input&amp;gt;&lt;/strong&gt; element has attribute &lt;strong&gt;type&lt;/strong&gt; which desides what type of input you are taking.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;type="text"&lt;/strong&gt; : Defines one-line text input field&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="password"&lt;/strong&gt; : Defines password list&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="submit"&lt;/strong&gt; : Defines submit button&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="reset"&lt;/strong&gt; : Defines reset button&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="radio"&lt;/strong&gt; : Defines radio button&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="checkbox"&lt;/strong&gt; : Defines checkbox&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="button"&lt;/strong&gt; : Defines button customisable by Javascript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="color"&lt;/strong&gt; : Defines color input by using default color picker&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="email"&lt;/strong&gt; : Defines email input&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;type="number"&lt;/strong&gt; : Defines number input&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and much more...&lt;/p&gt;

&lt;p&gt;We are going to see almost all of this one by one. Forms are one of the most important and long concepts in HTML. Every &lt;strong&gt;input&lt;/strong&gt; element has &lt;strong&gt;name&lt;/strong&gt; attribute so that differentiate one input from other and also easily send information to the server. &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;&lt;u&gt;Text Input&lt;/u&gt;&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Default width of text width is 20 characters. We will see later how we can modify this. &lt;/li&gt;
&lt;li&gt;It is usually used to take the input of name, organization name, and other single lines short text.

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

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;Radio Button Input&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;It enables the user to select one of given number of options.  To have this functionality, all the input fields must have same &lt;strong&gt;name&lt;/strong&gt; attribute value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;value&lt;/strong&gt; attribute of each input will decide what information to pass when that option is selected.

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

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt; The Submit Button&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;It is used to submit the form data to &lt;strong&gt;form-handler&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Here form-handler means a server page which we accept this form data to store or process it.&lt;/li&gt;
&lt;li&gt;To decide this form-handler we have to specify &lt;strong&gt;action attribute&lt;/strong&gt; in a &lt;strong&gt;&amp;lt;form&amp;gt;&lt;/strong&gt; tag whose value will decide server page. If not mentioned, server page is same as the current page. In our examples, we will not mention it, as we are not saving this data which requires using backend technology.&lt;/li&gt;
&lt;li&gt;Another important attribute to &lt;strong&gt;&amp;lt;form&amp;gt;&lt;/strong&gt; tag is a &lt;strong&gt;target&lt;/strong&gt;. This specifies where the form will be submitted that is in the same window, new browser tab or new window. The default is same page window. To open in new browser tab, use &lt;strong&gt;target="_blank".&lt;/strong&gt;
That's all for this article. We will continue HTML Forms in next article. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Till then _ &lt;strong&gt;#keepCoding&lt;/strong&gt; _. &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>wds</category>
    </item>
    <item>
      <title>WDS15 - Handle your Metadata</title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Wed, 20 Dec 2017 17:30:00 +0000</pubDate>
      <link>https://forem.com/blackbird/wds15---handle-your-metadata-5g15</link>
      <guid>https://forem.com/blackbird/wds15---handle-your-metadata-5g15</guid>
      <description>&lt;p&gt;In the last short article we learned about:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML &lt;strong&gt;iframe&lt;/strong&gt; element to display webpage inside webpage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now in this article, we are going to see something which will not make the direct impact on how you are seeing your webpage but will do a lot of background work. So let's get started...&lt;br&gt;&lt;br&gt;
In the very first article on HTML, while learning basic HTML page structure we divided HTML document into two main parts: head and body. This head contains metadata about HTML document which we write in the body of HTML. Ler's see how to write this metadata...&lt;br&gt;&lt;br&gt;
HTML &lt;strong&gt;&amp;lt;meta&amp;gt;&lt;/strong&gt; element  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&amp;lt;meta&amp;gt;&lt;/strong&gt; element is used to specify about author of webpage, various tags for article, page description and many other things.&lt;/li&gt;
&lt;li&gt;Metadata is used by browsers to decide how to display content and search engines to classify web pages according to tags and keywords.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;HTML Character set&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;A defined list of characters recognized by the computer hardware and software. Each character is represented by a number.&lt;br&gt;&lt;br&gt;
To display an HTML page correctly, a web browser must know which character set (character encoding) to use.&lt;br&gt;&lt;br&gt;
Examples: ASCII, UTF-8&lt;br&gt;&lt;br&gt;
Most of the times UTF-8 should work perfectly.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta charset="UTF-8"&amp;gt;&lt;/strong&gt;   &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;Description&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://3.bp.blogspot.com/-24_Blrxs_c8/WjljU90s7pI/AAAAAAAAHLE/qcCcQiHfYuMmg52pSo2o-8_7QA_pjGDwgCLcBGAs/s1600/Capture8.PNG" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2F3.bp.blogspot.com%2F-24_Blrxs_c8%2FWjljU90s7pI%2FAAAAAAAAHLE%2FqcCcQiHfYuMmg52pSo2o-8_7QA_pjGDwgCLcBGAs%2Fs320%2FCapture8.PNG" title="Descriptions in Search Engines" alt="Descriptions in Search Engines"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;It is used by search engines to show relevant information to users below link to your site so that user can decide which link to click.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta name="description" content="This is HTML Tutorial"&amp;gt;&lt;/strong&gt;   &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;Keywords&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;Keywords act just like tags to your document which help search engine easily search millions of documents on the internet. You can add as many keywords as you want to be separated by commas.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta name="keywords" content="HTML, WebDevelopment, WDS, Coding"&amp;gt; &lt;/strong&gt;   &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;Author&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;Of course, the author should get his/her credits!&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta name="author" content="The Coding Express"&amp;gt; &lt;/strong&gt;   &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;Refresh rate&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;You must have seen "Live Sports Scores" website. They always show correct scores without you need to refresh it again and again. It is used by following attributes where content is the time in seconds after which you want to refresh your page.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta http-equiv="refresh" content="10"&amp;gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;u&gt;&lt;span&gt;&lt;span&gt;Viewport&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;
&lt;/h4&gt;

&lt;p&gt;This part is introduced in HTML5 which helps the creator of webpage decide the visible area of the webpage. This visible area varies according to the device.&lt;br&gt;&lt;br&gt;
The best choice is to set the width to &lt;strong&gt;device-width&lt;/strong&gt; so that page will be adjusted to small devices like smartphones to big screens like laptop or desktops.&lt;br&gt;&lt;br&gt;
We can also set &lt;strong&gt;initial-scale&lt;/strong&gt; which decides zoom level of the page when it loads initially on any screen.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;u&gt;&lt;b&gt;Note: &lt;/b&gt;&lt;/u&gt;It is possible to create the HTML5 document without writing the &amp;lt;head&amp;gt; tag and everything inside it, but is not recommended as it can have random output on various screens and browsers. It will also not be search engine optimised and it is even possible that your page will not be easily searchable on search engines.&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;That's all for today. What we learned today, is the very important part that you should always remember while creating actual web pages. In the next article, we are going to see a new HTML concept that you see on 99% websites in the world. Yes, really! Think which is it and _ &lt;strong&gt;#keepCoding.&lt;/strong&gt; _  &lt;/p&gt;

&lt;p&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>wds</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Which backend stack will be good to learn now and will be futuristic also? </title>
      <dc:creator>Omkar Ajnadkar</dc:creator>
      <pubDate>Tue, 19 Dec 2017 20:04:54 +0000</pubDate>
      <link>https://forem.com/blackbird/which-backend-stack-will-be-good-to-learn-now-and-will-be-futuristic-also-1blc</link>
      <guid>https://forem.com/blackbird/which-backend-stack-will-be-good-to-learn-now-and-will-be-futuristic-also-1blc</guid>
      <description>&lt;p&gt;I am new to back-end web development and I am really confused between learning &lt;strong&gt;Django&lt;/strong&gt; (due to &lt;em&gt;Python&lt;/em&gt;) and &lt;strong&gt;NodeJs&lt;/strong&gt; (due to lot of good things heard about &lt;em&gt;MEAN&lt;/em&gt; stack).&lt;br&gt;
Please Guide...&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>python</category>
      <category>node</category>
    </item>
  </channel>
</rss>
