<?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: Rishav Anand</title>
    <description>The latest articles on Forem by Rishav Anand (@rishavanand).</description>
    <link>https://forem.com/rishavanand</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%2F269050%2Fa9abf4d1-18e6-4faf-bbb5-e10997916370.jpeg</url>
      <title>Forem: Rishav Anand</title>
      <link>https://forem.com/rishavanand</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rishavanand"/>
    <language>en</language>
    <item>
      <title>I made a GitHub Readme Profile Generator</title>
      <dc:creator>Rishav Anand</dc:creator>
      <pubDate>Sun, 09 Aug 2020 06:29:59 +0000</pubDate>
      <link>https://forem.com/rishavanand/i-made-a-github-profile-readme-generator-3fap</link>
      <guid>https://forem.com/rishavanand/i-made-a-github-profile-readme-generator-3fap</guid>
      <description>&lt;p&gt;Ever since I saw GitHub's tweet about Profile readmes, I've had the idea of creating a GUI tool for it. I've seen a couple of generators but I didn't find them exciting enough. Last week I finally got the time to create one. It took me almost 7 days to release the first version and I personally feel very proud of my work.&lt;/p&gt;

&lt;p&gt;Here is a quick demo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LBxrTHXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fbo49v8g1eyolve7uw32.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LBxrTHXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fbo49v8g1eyolve7uw32.gif" alt="Github Profilinator"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So, what it does?
&lt;/h2&gt;

&lt;p&gt;This tool contains small components that you can hook together to create your perfect readme. I've tried to compile many creative components by developers from around the world. It has a very flexible layout that allows you to place your components wherever you want in the readme. &lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Lets you add gifs and provides options to resize and align them&lt;/li&gt;
&lt;li&gt;Provides checkboxes for adding your skills&lt;/li&gt;
&lt;li&gt;By simply adding your social handles, social badges are generated&lt;/li&gt;
&lt;li&gt;Allows to you add your blog posts dynamically&lt;/li&gt;
&lt;li&gt;Provides a visitor counter&lt;/li&gt;
&lt;li&gt;Allows multi-column flexible layout&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Roadmap
&lt;/h2&gt;

&lt;p&gt;If this project gets some heat, I plan on adding dynamic feeds from Twitter and Instagram directly in the readme.&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I use?
&lt;/h2&gt;

&lt;p&gt;I used Gatsby (TypeScript) with AntDesign UI Library. It was my first time using AntDesign and I've already fallen in love with it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://profilinator.rishav.dev/"&gt;Link to live demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sample of Generated Profile
&lt;/h3&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--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/rishavanand"&gt;
        rishavanand
      &lt;/a&gt; / &lt;a href="https://github.com/rishavanand/rishavanand"&gt;
        rishavanand
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      My Github Profile generated using GitHub Profilinator ✨
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b40aa6e0a49e00065a11b3773f9f4d7098be2fed4da538a0a32abb74992a7869/68747470733a2f2f726973686176616e616e642e6769746875622e696f2f7374617469632f696d616765732f6772656574696e67732e676966"&gt;&lt;img src="https://camo.githubusercontent.com/b40aa6e0a49e00065a11b3773f9f4d7098be2fed4da538a0a32abb74992a7869/68747470733a2f2f726973686176616e616e642e6769746875622e696f2f7374617469632f696d616765732f6772656574696e67732e676966"&gt;&lt;/a&gt;
&lt;/div&gt;  
&lt;h3&gt;
&lt;div&gt;I'm Rishav, a full-time full-stack freelance developer 👨‍💻 working remotely since 2013 🚀
&lt;/div&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔭 I’m currently working on &lt;a href="https://github.com/rishavanand/github-profilinator"&gt;Github Profilinator&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌱 I’m currently learning Hyperledger and Kubernetes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;❓ Ask me about anything related to MERN stack and related technologies&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚡ Fun fact: I like to keep my night shift activated 24 x 7&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;  
&lt;h2&gt;
My Skill Set&lt;/h2&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;
&lt;td width="33%"&gt;
&lt;h3&gt;
Frontend&lt;/h3&gt;
&lt;div&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/518977ed5e52020624daf41cf644046368af610f19a7b1220dd1d58377d08288/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f72656163742d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/518977ed5e52020624daf41cf644046368af610f19a7b1220dd1d58377d08288/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f72656163742d6f726967696e616c2d776f72646d61726b2e737667" alt="React" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/3523bd4e344ec5909336e3891b7511da62905e8953381f6fa69c11983e8fd9f6/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f626f6f7473747261702d706c61696e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/3523bd4e344ec5909336e3891b7511da62905e8953381f6fa69c11983e8fd9f6/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f626f6f7473747261702d706c61696e2e737667" alt="Bootstrap" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/1f14c9c472b21cf8790a4fb6914be3a3181e957ecc2b397775f06a989d20cb37/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f637373332d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/1f14c9c472b21cf8790a4fb6914be3a3181e957ecc2b397775f06a989d20cb37/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f637373332d6f726967696e616c2d776f72646d61726b2e737667" alt="CSS3" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/bfa71fe5e1eb3ca57a7e4ef9c6b2ca21414c4fdab27ac6861e211e7cfe8f7d9f/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f68746d6c352d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/bfa71fe5e1eb3ca57a7e4ef9c6b2ca21414c4fdab27ac6861e211e7cfe8f7d9f/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f68746d6c352d6f726967696e616c2d776f72646d61726b2e737667" alt="HTML5" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/00d90c96be8a4ef050fb8e74ac140be3e56e32547f6910e39d47f6197a643686/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f656c656374726f6e2d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/00d90c96be8a4ef050fb8e74ac140be3e56e32547f6910e39d47f6197a643686/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f656c656374726f6e2d6f726967696e616c2e737667" alt="Electron" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/7a2b6137fa6818b1c85f86347a6b4a75ee52681d4a190c506df972e3c5459980/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6a6176617363726970742d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/7a2b6137fa6818b1c85f86347a6b4a75ee52681d4a190c506df972e3c5459980/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6a6176617363726970742d6f726967696e616c2e737667" alt="JavaScript" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/94890eb1b8c3ce19ea73189dade730fa967a8fe08899f25cab17b57a5d4339dc/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f747970657363726970742d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/94890eb1b8c3ce19ea73189dade730fa967a8fe08899f25cab17b57a5d4339dc/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f747970657363726970742d6f726967696e616c2e737667" alt="TypeScript" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/5c76c16ec1147709898d2244362cb011f0665dada05ce65aecc944abb1a73ac4/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f61646f62655f696c6c7573747261746f722d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/5c76c16ec1147709898d2244362cb011f0665dada05ce65aecc944abb1a73ac4/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f61646f62655f696c6c7573747261746f722d69636f6e2e737667" alt="Illustrator" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/5ef323398644d0544cbf5284d118cd027594a32f1ad973d13667f169d245e382/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c6f676f2d7469746c652e737667"&gt;&lt;img src="https://camo.githubusercontent.com/5ef323398644d0544cbf5284d118cd027594a32f1ad973d13667f169d245e382/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c6f676f2d7469746c652e737667" alt="Chart.js" height="50"&gt;&lt;/a&gt;  
&lt;/div&gt;
&lt;/td&gt;
&lt;td width="33%"&gt;
&lt;h3&gt;
Backend&lt;/h3&gt;
&lt;div&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/7a2b6137fa6818b1c85f86347a6b4a75ee52681d4a190c506df972e3c5459980/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6a6176617363726970742d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/7a2b6137fa6818b1c85f86347a6b4a75ee52681d4a190c506df972e3c5459980/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6a6176617363726970742d6f726967696e616c2e737667" alt="JavaScript" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/94890eb1b8c3ce19ea73189dade730fa967a8fe08899f25cab17b57a5d4339dc/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f747970657363726970742d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/94890eb1b8c3ce19ea73189dade730fa967a8fe08899f25cab17b57a5d4339dc/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f747970657363726970742d6f726967696e616c2e737667" alt="TypeScript" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/8cba877c9729b9af2c1e0952ce007c05a4be5bc723d56e50cf2f9f9c384a9d8e/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f7068702d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/8cba877c9729b9af2c1e0952ce007c05a4be5bc723d56e50cf2f9f9c384a9d8e/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f7068702d6f726967696e616c2e737667" alt="PHP" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/e643754982a9dba595811285c08c4667f1062a17d9e7eca8dd16b43995bf372b/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6d6f6e676f64622d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/e643754982a9dba595811285c08c4667f1062a17d9e7eca8dd16b43995bf372b/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6d6f6e676f64622d6f726967696e616c2d776f72646d61726b2e737667" alt="MongoDB" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/48c9507b62d83559dc3aef4f3951293b15ab2f5fa1029bdf6ec42f9fa062e775/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6e6f64656a732d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/48c9507b62d83559dc3aef4f3951293b15ab2f5fa1029bdf6ec42f9fa062e775/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6e6f64656a732d6f726967696e616c2d776f72646d61726b2e737667" alt="Node.js" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/0d57a1013ca687b2df81dc1652bf33293b0d9e43d4745d7e70f33b0c79fef474/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c696e75782d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/0d57a1013ca687b2df81dc1652bf33293b0d9e43d4745d7e70f33b0c79fef474/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c696e75782d6f726967696e616c2e737667" alt="Linux" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/8b9fd4b3da512f7b042a866f2281f950db69a21c6e274089524f2796012bc59f/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6e67696e782d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/8b9fd4b3da512f7b042a866f2281f950db69a21c6e274089524f2796012bc59f/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6e67696e782d6f726967696e616c2e737667" alt="Nginx" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/d10e5aa8ba67f1eb109da4e98cd75adfa42df2e6019f8222cfa14c0088ac674d/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f707974686f6e2d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/d10e5aa8ba67f1eb109da4e98cd75adfa42df2e6019f8222cfa14c0088ac674d/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f707974686f6e2d6f726967696e616c2e737667" alt="Python" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/93acca6a99de2894799bf5e78396c83a682e46a4b1d98aa3127ae7b25c3754b6/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f657870726573732d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/93acca6a99de2894799bf5e78396c83a682e46a4b1d98aa3127ae7b25c3754b6/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f657870726573732d6f726967696e616c2d776f72646d61726b2e737667" alt="Express.js" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b7ea09b0c030ae14623cfc3a52ab3ee0d07e0259a1b230139e65ba00454327c9/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6769742d73636d2d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/b7ea09b0c030ae14623cfc3a52ab3ee0d07e0259a1b230139e65ba00454327c9/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6769742d73636d2d69636f6e2e737667" alt="Git" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b81456c0e15928e93c1e5f4d06b6a6938718d8f106a8169a570cd42b5e32f608/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f72656475782d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/b81456c0e15928e93c1e5f4d06b6a6938718d8f106a8169a570cd42b5e32f608/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f72656475782d6f726967696e616c2e737667" alt="Redux" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/c994f99958731f1dc803e2f9cb5bcd52a6a7cf95322cc7543e0c694abc4bd819/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f676e755f626173682d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/c994f99958731f1dc803e2f9cb5bcd52a6a7cf95322cc7543e0c694abc4bd819/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f676e755f626173682d69636f6e2e737667" alt="Bash" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/716c20f454fef17485712c6bfda0f6343ac75983a673228c59aa3bf4076c9f99/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f63706c7573706c75732d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/716c20f454fef17485712c6bfda0f6343ac75983a673228c59aa3bf4076c9f99/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f63706c7573706c75732d6f726967696e616c2e737667" alt="C++" height="50"&gt;&lt;/a&gt;  
&lt;/div&gt;
&lt;/td&gt;
&lt;td width="33%"&gt;
&lt;h3&gt;
DevOps&lt;/h3&gt;
&lt;div&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/da33ce63f1e78ececdc5f65879560a5e8d3ac805670af8934eea5d1b0cd9a5b7/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f616d617a6f6e77656273657276696365732d6f726967696e616c2d776f72646d61726b2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/da33ce63f1e78ececdc5f65879560a5e8d3ac805670af8934eea5d1b0cd9a5b7/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f616d617a6f6e77656273657276696365732d6f726967696e616c2d776f72646d61726b2e737667" alt="AWS" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/c15662380f5f49777bd8a29c6634eafd5663056ee9daa0e1c1a490dc6a748da5/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6b756265726e657465732d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/c15662380f5f49777bd8a29c6634eafd5663056ee9daa0e1c1a490dc6a748da5/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6b756265726e657465732d69636f6e2e737667" alt="Kubernetes" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/0d57a1013ca687b2df81dc1652bf33293b0d9e43d4745d7e70f33b0c79fef474/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c696e75782d6f726967696e616c2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/0d57a1013ca687b2df81dc1652bf33293b0d9e43d4745d7e70f33b0c79fef474/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6c696e75782d6f726967696e616c2e737667" alt="Linux" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/b7ea09b0c030ae14623cfc3a52ab3ee0d07e0259a1b230139e65ba00454327c9/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6769742d73636d2d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/b7ea09b0c030ae14623cfc3a52ab3ee0d07e0259a1b230139e65ba00454327c9/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f6769742d73636d2d69636f6e2e737667" alt="Git" height="50"&gt;&lt;/a&gt;  
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/c994f99958731f1dc803e2f9cb5bcd52a6a7cf95322cc7543e0c694abc4bd819/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f676e755f626173682d69636f6e2e737667"&gt;&lt;img src="https://camo.githubusercontent.com/c994f99958731f1dc803e2f9cb5bcd52a6a7cf95322cc7543e0c694abc4bd819/68747470733a2f2f70726f66696c696e61746f722e7269736861762e6465762f736b696c6c732d6173736574732f676e755f626173682d69636f6e2e737667" alt="Bash" height="50"&gt;&lt;/a&gt;  
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;  
&lt;br&gt;  
&lt;h2&gt;
Connect with me&lt;/h2&gt;
&lt;div&gt;
&lt;a href="https://github.com/rishavanand"&gt;
&lt;img src="https://camo.githubusercontent.com/b2d1ae072c968dbeaf2232f0e1071ae5a7b218b11caec1ae5c69c10ef370a3cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6769746875622d2532333234323932652e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="github"&gt;
&lt;/a&gt;
&lt;a href="https://twitter.com/RishavAnandDev" rel="nofollow"&gt;
&lt;img src="https://camo.githubusercontent.com/13039975938e719b60e38191d050a182c1615f0e64a87494792c510ee111917a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f747769747465722d2532333030616365652e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d74776974746572266c6f676f436f6c6f723d7768697465" alt="twitter"&gt;
&lt;/a&gt;
&lt;a href="https://dev.to/rishavanand" rel="nofollow"&gt;
&lt;img src="https://camo.githubusercontent.com/881aa5453d66555acceb03d41c02c0dce39fd194e06524989389ebe7ef626a4b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6465762e746f2d2532333038303930412e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d6465762e746f266c6f676f436f6c6f723d7768697465" alt="devto"&gt;
&lt;/a&gt;
&lt;a href="https://linkedin.com/in/rishavanand" rel="nofollow"&gt;
&lt;img src="https://camo.githubusercontent.com/5e3d78e5310a41c0667e07077cf93596229de398b154b83885dc068874ed5365/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c696e6b6564696e2d2532333145373742352e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d6c696e6b6564696e266c6f676f436f6c6f723d7768697465" alt="linkedin"&gt;
&lt;/a&gt;
&lt;a href="https://www.facebook.com/iamrishavanand" rel="nofollow"&gt;
&lt;img src="https://camo.githubusercontent.com/59f500f98d07c8fb5cc38b71662de8f4422ebf7b3dde3e574131a8edd7a0d3f4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f66616365626f6f6b2d2532333245383746422e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d66616365626f6f6b266c6f676f436f6c6f723d7768697465" alt="facebook"&gt;
&lt;/a&gt;
&lt;a href="https://instagram.com/RishavAnandDev" rel="nofollow"&gt;
&lt;img src="https://camo.githubusercontent.com/eff3e7484b1754de8279027247ccec9c3deaeb76b4c4946c5d634a8579c2c1ce/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f696e7374616772616d2d2532333030303030302e7376673f267374796c653d666f722d7468652d6261646765266c6f676f3d696e7374616772616d266c6f676f436f6c6f723d7768697465" alt="instagram"&gt;
&lt;/a&gt;  
&lt;/div&gt;  
&lt;br&gt;  
&lt;h2&gt;
Github Stats&lt;/h2&gt;
&lt;div&gt;&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/759bd6b0bb8c2a7deeab4f648c3999df32b77aa622649106c871a23f422847a2/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d726973686176616e616e642673686f775f69636f6e733d7472756526636f756e745f707269766174653d74727565"&gt;&lt;img src="https://camo.githubusercontent.com/759bd6b0bb8c2a7deeab4f648c3999df32b77aa622649106c871a23f422847a2/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d726973686176616e616e642673686f775f69636f6e733d7472756526636f756e745f707269766174653d74727565"&gt;&lt;/a&gt;&lt;/div&gt;  
&lt;br&gt;  
&lt;div&gt;
&lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/593c47cd54a160c0c60962c82a481b096278eb7f0135b0b3d11c518efe7bf7a1/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d726973686176616e616e6426267374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/593c47cd54a160c0c60962c82a481b096278eb7f0135b0b3d11c518efe7bf7a1/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d726973686176616e616e6426267374796c653d666c61742d737175617265"&gt;&lt;/a&gt;
&lt;/div&gt;  
&lt;br&gt;

&lt;div&gt;Generated using &lt;a href="https://profilinator.rishav.dev/" rel="nofollow"&gt;Github Profilinator&lt;/a&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/rishavanand/rishavanand"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  GitHub Repo
&lt;/h3&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--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/rishavanand"&gt;
        rishavanand
      &lt;/a&gt; / &lt;a href="https://github.com/rishavanand/github-profilinator"&gt;
        github-profilinator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🚀  This tool contains mini GUI components that you can hook together to automatically generate markdown code for a perfect readme.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>github</category>
      <category>javascript</category>
      <category>markdown</category>
      <category>showdev</category>
    </item>
    <item>
      <title>One License - Degree Project [WIP]</title>
      <dc:creator>Rishav Anand</dc:creator>
      <pubDate>Wed, 20 May 2020 10:08:44 +0000</pubDate>
      <link>https://forem.com/rishavanand/one-license-degree-project-wip-5dc3</link>
      <guid>https://forem.com/rishavanand/one-license-degree-project-wip-5dc3</guid>
      <description>&lt;h2&gt;
  
  
  My Final Project
&lt;/h2&gt;

&lt;p&gt;For my degree final project I was assigned to make a generic licensing solution for offline software deliveries. I've name this project &lt;code&gt;One License&lt;/code&gt; as it is meant to be generic. &lt;/p&gt;

&lt;p&gt;It is a module for a broader project which deals with auto deployment of machine learning models and makes APIs available in a marketplace. &lt;/p&gt;

&lt;p&gt;The One Licensing solution allows you to license your offline softwares which can be either time bound or limited to number of API calls. It also has some fraud prevention mechanism but I won't say they are completely hack proof(duh!), instead it just more difficult/inefficient for the users to hack it. &lt;/p&gt;

&lt;p&gt;One License Thin Client is software that prevent license misuse using different strategies. One of the ways to do fraud is running the licensed software on VM Clones. One License Thin Client prevents this by detecting VMs. The softwares are allowed to be used inside the VMs but the license validation request is first made to the Thin Client which runs on a real machine and this further makes call to the licensing server. &lt;/p&gt;

&lt;h2&gt;
  
  
  Demo Link
&lt;/h2&gt;

&lt;p&gt;This project is still a work in progress the docs are not ready but you can still check it out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://one-license-dashboard.herokuapp.com/"&gt;https://one-license-dashboard.herokuapp.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Code
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/one-ai/one-license-server"&gt;Licensing server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/one-ai/one-license-dashboard"&gt;Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thin client (Work in progress)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/one-ai/one-license-client"&gt;Integration libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How I built it (what's the stack? did I run into issues or discover something new along the way?)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I built the server using NodeJS + TypeScript.&lt;/li&gt;
&lt;li&gt;Used ReactJS + TypeScript for the dashboard&lt;/li&gt;
&lt;li&gt;Used Python for the client library since it was an immediate requirement. Clients in more languages will come soon. &lt;/li&gt;
&lt;li&gt;For the thin client I'm planning Electron with obfuscation and binarization. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Well the most difficult part was the fraud prevention step. I brainstormed on various cases with a hacker mindset and then wrote cases for prevention. Since it is meant to be run on the client system, I can only make it difficult for the client to hack the software. &lt;/p&gt;

</description>
      <category>octograd2020</category>
      <category>githubsdp</category>
    </item>
  </channel>
</rss>
