<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rounak Polley</title>
    <description>The latest articles on DEV Community by Rounak Polley (@rounakpolley).</description>
    <link>https://dev.to/rounakpolley</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%2F29863%2F6bc245ab-20ff-45e8-afc7-074fb7692bb7.JPG</url>
      <title>DEV Community: Rounak Polley</title>
      <link>https://dev.to/rounakpolley</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rounakpolley"/>
    <language>en</language>
    <item>
      <title>Building my very first minimum value product</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Thu, 08 Feb 2018 17:34:17 +0000</pubDate>
      <link>https://dev.to/rounakpolley/building-my-very-first-minimum-value-product--dn5</link>
      <guid>https://dev.to/rounakpolley/building-my-very-first-minimum-value-product--dn5</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kMzMrqZU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/mc8cngg13xqgvcnv53al.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kMzMrqZU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/mc8cngg13xqgvcnv53al.png" alt="Dashboard Screenshot"&gt;&lt;/a&gt;&lt;br&gt;
For more technical details regarding the project : &lt;a href="https://hasura.io/hub/project/rounak_polley/Splitwise(MVP)"&gt;Hasura Hub Submission&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Minimum Viable Product is the version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. And the task assigned to us was &lt;strong&gt;App clone of Splitwise&lt;/strong&gt;. This app makes it easy to split bills with friends and family. It allows you to organize all your shared expenses and IOUs in one place, so that everyone can see who they owe.&lt;br&gt;
We had an initial set back as our react-native developer was inactive which left behind only two members in the subgroup myself a ReactJS developer and a Node.js developer at the backend.&lt;/p&gt;

&lt;p&gt;So as a react developer I started off by checking out the user interface and features of the original web-app. I made rough designs of the pages on paper then, I decided which of the features to include in the MVP. Also, there were some guidelines provided provided by Hasura.&lt;br&gt;
Up next, was making the action plan which included our deadlines wireframes and database designs. The rest was a journey from  wireframes to MVP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of this MVP
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Users sign up using email, "username - password" based registration (&lt;em&gt;Hasura Auth API&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;Users log in into their accounts, and are authenticated with the help of &lt;strong&gt;Hasura Auth API&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;After logging in, users can select from a list of other registered users on the app and add them to their friend-list.&lt;/li&gt;
&lt;li&gt;Users can create groups of 5 members by selecting friends from their friend-list and can share/split their expenses equally with other members in the group.&lt;/li&gt;
&lt;li&gt;There is also provision of adding notes and uploading an attachment (image/pdf) of the bill with the help of &lt;strong&gt;Hasura Filestore API&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;After a bill is added all the other members of that group owe the user (who paid the bill in physical world and added it in the app).&lt;/li&gt;
&lt;li&gt;The bills are always split equally and groups can't be modified (i.e. adding more friends or changing the group name) because then it would have become tougher to maintain the group history.&lt;/li&gt;
&lt;li&gt;Every logged in user is associated with a randomly generated &lt;strong&gt;Hasura auth-token&lt;/strong&gt; which is unique for every login session and is used to maintain important user credentials in the Auth API.&lt;/li&gt;
&lt;li&gt;For all other purposes we used the &lt;strong&gt;Hasura Data-API&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating the UI using ReactJS and Material-UI
&lt;/h2&gt;

&lt;p&gt;I simply stuck to the wire frames in most cases except one where I had trouble opening two dialog boxes side by side so I ended up merging the contents into one.&lt;br&gt;
I divided up the interface  into several parts so that I had more control over the components.&lt;br&gt;
The UI has two distinct parts the navbar (AppBar) and rest of the body. The login and signup pages are interchangeable and the only other page is the dashboard. Dashboard is the place where all the action takes place : adding friends, groups, bills etc. For adding friends, groups, bills I used three material-UI dialogs and for displaying the friends, groups, expense history I  used material-UI lists and menus. All the displays are dynamic each time user makes some changes the display is&lt;br&gt;
updated in a fraction of second as soon as the api-calls are finished under the hood. It took me some time to use the use the react life-cycle methods to achieve the same.&lt;/p&gt;

&lt;p&gt;Also it was the first time that I had to write a detailed description (Readme) for my project on github. And, also it was the first time I was working with &lt;em&gt;APIs&lt;/em&gt; seriously. So, it was a lot of first timers and I'm glad I could pull through.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L6QPeSFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/5ydnrwyrqm7oq844z9i4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L6QPeSFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/5ydnrwyrqm7oq844z9i4.png" alt="Challenge accepted"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges We Faced
&lt;/h2&gt;

&lt;p&gt;To be honest it's no fun if it isn't difficult. To me the real thrill of programming is solving these problems. This task was challenging in many ways...&lt;br&gt;
we had to deviate from the database design that I had initially though off. We had to add new columns to the tables because of new situations arising like for example in the &lt;code&gt;groups&lt;/code&gt; table we added &lt;code&gt;no_of_members&lt;/code&gt; because otherwise I would have had to write more code in ReactJS each time I handled the groups.&lt;br&gt;
I got some logical errors that I couldn't understand and after being stuck for days I finally got rid of those portions and rewrote with a different approach altogether.&lt;br&gt;
But, the biggest challenge was not actually implementing these features it was  communicating with other group members. Because, to convey your ideas to a random person takes a bit to patience if not communication skills. Most of our communication was no &lt;strong&gt;Slack&lt;/strong&gt; as it's very convenient in-terms of code sharing adding comments to images etc. Fortunately, my teammate was active on slack so even we faced errors we resolved it together.&lt;/p&gt;

&lt;h4&gt;
  
  
  Overall it was a great learning experience for me.
&lt;/h4&gt;

&lt;p&gt;For the next task we are going to extend the MVP by adding some more features such as selecting user-avatars currently the user avatar is randomly picked out of 5 choices. Also, I plan on refining the UI and UX etc.&lt;/p&gt;

</description>
      <category>hasura</category>
      <category>mvp</category>
      <category>react</category>
      <category>webapp</category>
    </item>
    <item>
      <title>Learning ReactJS and using Material-ui for HPDF Task 1</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Thu, 28 Dec 2017 21:22:23 +0000</pubDate>
      <link>https://dev.to/rounakpolley/learning-reactjs-and-using-material-ui-for-hpdf-task-1-2d7d</link>
      <guid>https://dev.to/rounakpolley/learning-reactjs-and-using-material-ui-for-hpdf-task-1-2d7d</guid>
      <description>&lt;h4&gt;
  
  
  &lt;a href="https://ui.deserve26.hasura-app.io/" rel="noopener noreferrer"&gt;My project on the hasura cluster&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;So, here I'm at my first internship and this is a summary of week 1...&lt;br&gt;
Before that I have to mention that all interns were divided into four groups!&lt;br&gt;
&lt;strong&gt;ReactJS&lt;/strong&gt;, &lt;strong&gt;React-Native&lt;/strong&gt;, &lt;strong&gt;NodeJs-express&lt;/strong&gt; &amp;amp; &lt;strong&gt;Python-Flask&lt;/strong&gt;.&lt;br&gt;
And according to my preferences I got frontend NodeJS.&lt;/p&gt;

&lt;h3&gt;
  
  
  HPDF Task 1
&lt;/h3&gt;

&lt;p&gt;The task of week 1 was simple (even though I struggled with it here and there).&lt;br&gt;
I had to clone (make copies or imitate) two twitter pages using ReactJS and material-ui. Before I get into any detail I will like to show you the outcome.&lt;/p&gt;

&lt;p&gt;You can check-out the code here &lt;strong&gt;GitHub Link&lt;/strong&gt; : &lt;a href="https://github.com/rounakpolley/twitter-hpdf" rel="noopener noreferrer"&gt;Twitter Pages&lt;/a&gt; it's clean and understandable. And, here are the screenshots.&lt;/p&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F47ctkply003u97hpp4lr.JPG" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F47ctkply003u97hpp4lr.JPG" alt="Twitter-homepage"&gt;&lt;/a&gt;&lt;/p&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fntsjtq0w7iui09tyjv8a.JPG" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fntsjtq0w7iui09tyjv8a.JPG" alt="Twitter-searchpage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Learning Phase
&lt;/h3&gt;

&lt;p&gt;I started learning new skills from the internet exactly an year ago because the semesters were delayed and I was already done with my studying. And since then I have been learning new and wonderful things whenever I feel like. But, learning through all these things the one this that stuck was front-end web development. Because I like to design things and will waste extra time adjusting the colour codes the sizes making the pages responsive and checking for all possible screen orientation.&lt;br&gt;
In front-end I started from HTML5, CSS3, JS6 then Bootstrap, jQuery I even did a course on web design in Photoshop. I was planning on learning React and then it happened I ended up learning it. &lt;/p&gt;

&lt;p&gt;At first I tried out &lt;strong&gt;edx&lt;/strong&gt; then &lt;strong&gt;udemy&lt;/strong&gt; because these are the places I had learned from previously. But, finally finished up with &lt;strong&gt;Egghead&lt;/strong&gt; learning react was fun the virtual DOM, single page applications and all that. Then I moved on to &lt;a href="http://www.material-ui.com/" rel="noopener noreferrer"&gt;Material-ui&lt;/a&gt; now here there are no tutorials I just had to read the documentation and experiment with it. Took 2-3 days with each of it..&lt;br&gt;
I tried out almost all the components of material-ui.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloning Twitter
&lt;/h3&gt;

&lt;p&gt;I actually had to open an account on twitter as I previously didn't had one. I used twitter for a while to familiarise with it or may be because it felt nice to join a new social media / micro-blogging platform.&lt;/p&gt;

&lt;h4&gt;
  
  
  And now comes coding
&lt;/h4&gt;

&lt;p&gt;As the code is already there on GitHub here I will tell you how I approached this task. I decided to make break down the pages into common part and then assembly them together. I used a simple &lt;strong&gt;Lifting State Up&lt;/strong&gt; to navigate between the pages.&lt;br&gt;
&lt;em&gt;So if you type 'Aadhaar' in the search box you are taken to the Aadhar page and then when you click the Home button on the tab you land on my twitter page again&lt;/em&gt;&lt;br&gt;
(Pressing the browser back button will not help as it is not on a different url instead it is a single page react application)&lt;/p&gt;

&lt;p&gt;Here, how I broke it down..&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;App.js&lt;/code&gt; rendered one of the two pages depending on its state (&lt;code&gt;this.state.page&lt;/code&gt;) and it simply passed on the state as a props to the next stage down the line &lt;code&gt;twitter_base.js&lt;/code&gt; here is where all the assembling takes place based on the props.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;theme.js&lt;/code&gt; it had separate &lt;code&gt;muiTheme&lt;/code&gt; that I customized for the whole app as well as it contained the specific style attributes that were common across the react elements of this project (kind of global variables) like &lt;code&gt;muiTheme.palette.primaryTextColor: grey50&lt;/code&gt;. And I imported in into all other ReactJS components.&lt;/p&gt;

&lt;p&gt;I made a separate components folder that contained the parts of pages like..&lt;br&gt;
&lt;code&gt;AppBar.js&lt;/code&gt;, &lt;code&gt;Follow.js&lt;/code&gt;, &lt;code&gt;Related.js&lt;/code&gt;, &lt;code&gt;Trends.js&lt;/code&gt;, &lt;code&gt;User.js&lt;/code&gt; so on..&lt;br&gt;
Each of these files exported one react element by default which I then imported into the &lt;code&gt;twitter_base.js&lt;/code&gt;.&lt;br&gt;
I didn't use any explicit stylesheets I used only &lt;strong&gt;inline styles&lt;/strong&gt; in almost all cases I used the colours from material-ui itself and I refrained from using colour codes like I usually do.&lt;/p&gt;

&lt;p&gt;And, this project it's designed to be responsive because material-ui doesn't have a responsive feature and I didn't wanted to use bootstrap or write media-queries. In fact the actual desktop version of twitter isn't much responsive either.&lt;/p&gt;

&lt;p&gt;Actually using material-ui for the first time was not a smooth experience because a lot of things were not working as expect in other cases mostly &lt;strong&gt;stackoverflow&lt;/strong&gt; would answer my queries but this time I got most of the help from the GitHub issues of the ReactJS. And, when none of it helped I would go to the &lt;strong&gt;Hasura Slack Community&lt;/strong&gt; to get help.&lt;/p&gt;

&lt;p&gt;I completed the task comfortably within the deadline (I didn't had to stay awake all night like I had to for some of my previous projects. &lt;/p&gt;

&lt;h3&gt;
  
  
  Bad Things happen
&lt;/h3&gt;

&lt;p&gt;Already, due to semester I was running late but then I had the festive season on my cards as well. But, the worst was about to come..&lt;br&gt;
I have used &lt;strong&gt;windows OS&lt;/strong&gt; all my life and hence I though that I should get working with Linux this time. Because, it's quite embarrassing for me as a computer science student not to be familiar with &lt;strong&gt;Linux&lt;/strong&gt;. Hence, I installed the latest version of &lt;strong&gt;Ubuntu&lt;/strong&gt; on my old laptop and because of my sheer carelessness I ended up deleting the partition-tables and all my data ..&lt;/p&gt;

&lt;p&gt;Actually I had no idea that the data on my D , E dives would also be affected. I'm still looking for a way to recover my stuff because it had some pretty important things on it. I couldn't find any way to recover it yet&lt;/p&gt;

&lt;h4&gt;
  
  
  If someone knows a solution to my data-recovery problem please let me know in the comments section.
&lt;/h4&gt;

&lt;p&gt;I will write a separate blog about it later...&lt;/p&gt;

&lt;h4&gt;
  
  
  Horror of a Windows user on Linux
&lt;/h4&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F73gns0eykjw7qoojtmvj.gif" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F73gns0eykjw7qoojtmvj.gif" alt="Hell broke loose"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>materialui</category>
      <category>frontend</category>
      <category>hasura</category>
    </item>
    <item>
      <title>Discovering IMAD and road to HPDF</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Thu, 28 Dec 2017 16:58:27 +0000</pubDate>
      <link>https://dev.to/rounakpolley/discovering-imad-and-road-to-hpdf-1f94</link>
      <guid>https://dev.to/rounakpolley/discovering-imad-and-road-to-hpdf-1f94</guid>
      <description>&lt;h3&gt;
  
  
  Computer Science Love at First Sight
&lt;/h3&gt;

&lt;p&gt;I will start by saying a little something about myself I come from a non IT background. What I mean by that is I had no relation to computer science (no family or relations were in that field). My father didn't got me a computer because he though it would spoil me. But, I finally got a laptop in class 7 or 8. And surprisingly all I used my laptop in my teenage years was for playing games, watching movies and surfing the web. Then I took computer science in senior secondary because even though biology was a great subject because I had this preconceived notion it took a lot of mugging up! Not to mention that I studied in &lt;strong&gt;Kendriya Vidayalaya&lt;/strong&gt; and there was not much of a &lt;em&gt;computer education&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So, in class 11th I learned &lt;strong&gt;C++&lt;/strong&gt; and the &lt;strong&gt;CBSE&lt;/strong&gt; syllabus was easy! Until then I always had found physics fascinating (still do). But, then I felt that this thing &lt;strong&gt;computer science&lt;/strong&gt; (I describe it as a 'thing' because I didn't know its actual meaning then) there is a world of possibilities here. And therefore I'm now perusing a BTech in Computer Science and Engineering. In college I learnt many things but as in most cases programming attracted. So, I learnt various things on the internet this was probably me using internet for productive purpose for the first time.. just kidding!&lt;/p&gt;

&lt;h3&gt;
  
  
  Discovering IMAD
&lt;/h3&gt;

&lt;p&gt;One fine day I was looking for some online courses to learn some new things because clearly I had nothing better to do. I had done free as well as paid online courses already by that time. I had heard about &lt;strong&gt;NPTEL&lt;/strong&gt; : National Programme on Technology Enhanced Learning, I didn't knew the full-form. So anyways I came across this course &lt;strong&gt;IMAD : Introduction to Modern Application Development&lt;/strong&gt; I read some reviews saw introductory videos and registered right away. IMAD is a course offered by IITM and Hasura and the instructors are &lt;em&gt;Dr Gaurav Raina&lt;/em&gt; a faculty in the Department of Electrical Engineering at IITM, &lt;em&gt;Tanmai Gopal&lt;/em&gt; the CTO &amp;amp; co-founder of Hasura.&lt;br&gt;
Here is link for those of you may be interested &lt;a href="https://www.imad.tech/" rel="noopener noreferrer"&gt;Introduction to Modern Application Development&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  IMAD journey
&lt;/h3&gt;

&lt;p&gt;The lecture videos were all top notch, it covered basics of application development we did live projects. Lots of &lt;strong&gt;coding sessions&lt;/strong&gt; and interesting &lt;strong&gt;MCQ assignments&lt;/strong&gt;. But, the way the &lt;strong&gt;theoretical aspect&lt;/strong&gt; of application development was nothing I had seen before I realised that as a computer science student I actually didn't know some of these concepts. &lt;br&gt;
They have a discussion forum for the students where we resolved our queries. After a few weeks I came to know about the internship (HPDF) that would be given to top 5% in the exams what more there was a appear from home exam in addition to the NPTEL exam (I took both of them).&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting my very first internship
&lt;/h3&gt;

&lt;p&gt;For those of you who don't know.. &lt;a href="https://hasura.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Hasura&lt;/strong&gt;&lt;/a&gt; is a platform that helps any developer build, develop and scale their apps. It has instant APIs for rapid development, and it helps create a to-do app in within three minutes.&lt;/p&gt;

&lt;p&gt;Then, after some time the results of both the exams were out. And guess what? I got in &lt;strong&gt;top 1%&lt;/strong&gt; of the students. And, some time later I got the offer letter and I was secretly celebrating!&lt;br&gt;
I think about 500 people have got this internship this time.&lt;/p&gt;

&lt;p&gt;The product development fellowship is an 8 weeks internship. Interns are assigned application development that we need to implement them using &lt;strong&gt;Hasura&lt;/strong&gt; as part of a team. There are individual tasks as well. This is my first internship hence I didn't know what to expect but..&lt;br&gt;
  Damn, no one told me it will be this awesome!!! The Hasura slack community is super amazing so many people helping each other out makes me feel there is still goodness left in the world.&lt;/p&gt;

&lt;h4&gt;
  
  
  I will like to thank &lt;strong&gt;Hasura&lt;/strong&gt; for giving the students extensions because of semester exams
&lt;/h4&gt;

&lt;p&gt;I will be writing more blogs about the learning experience and collaborating with my fellow interns.&lt;/p&gt;

&lt;h4&gt;
  
  
  I'm having a great time working as an intern at Hasura.
&lt;/h4&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhk07zcy5wha1wsbgfq04.gif" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhk07zcy5wha1wsbgfq04.gif" alt="Enjoying #dev life"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hasura</category>
      <category>hpdf</category>
      <category>internship</category>
      <category>imad</category>
    </item>
    <item>
      <title>Making landing page with background video</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Sun, 20 Aug 2017 18:06:17 +0000</pubDate>
      <link>https://dev.to/rounakpolley/making-landing-page-with-background-video</link>
      <guid>https://dev.to/rounakpolley/making-landing-page-with-background-video</guid>
      <description>&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/oeEVpK/" rel="noopener noreferrer"&gt;A landing page with background video&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Focts96e108zo66tqs9k6.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Focts96e108zo66tqs9k6.PNG" alt="Preview of the Landing Page"&gt;&lt;/a&gt;&lt;br&gt;
This pen I have created only to showcase how to effectively embedded youtube videos as backgrounds. Heads up ! while we can use any video for experimental purposes for actual webpages always use videos with copyrights.&lt;/p&gt;

&lt;p&gt;Lucky for me I used a video from my own youtube channel (&lt;a href="https://www.youtube.com/channel/UCsjUxvNRuHkExvenByLVZ4Q" rel="noopener noreferrer"&gt;My channel&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;A landing page is the first thing the &lt;code&gt;user&lt;/code&gt; lands on when visiting a website which makes is extremely important to leave a positive impression at first sight. Perhaps you want to showcase your brand or products or add a content relating to your website.&lt;br&gt;
There are many ways of creating it but I think that creating one with underlying video is more challenging than other ones.&lt;/p&gt;

&lt;p&gt;Here's what I found out...&lt;/p&gt;

&lt;p&gt;If we just copy and paste the embedded code and set the &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; to take up the entire screen we are going to end up with lots of black space around the video which adjusts itself as we resize the browser window obviously nobody wants that! (not specially on a landing page). &lt;br&gt;
So, I tried another way I tried adding the background as an &lt;em&gt;animated gif&lt;/em&gt; (compromising on the sound &amp;amp; I haven't seen landing pages with audio actually but I wanted audio as well).&lt;br&gt;
Alas, I couldn't get any online resource to create a gif of longer than a minute and even my photoshop got upset in converting a 2min 32sec video into gif.&lt;br&gt;
I tried some other things like styling the &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; element created within the &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; until I realized that I needed to make my embedded iframe responsive.&lt;br&gt;
But, it too breaks down at extremely narrow browser size revealing white background underneath so I added a fixed positioned bottom centred gradient as background.&lt;br&gt;
One thing that beats me is that I can't get the youtube video to loop (which user will probably find-out if he/she stays on the page for long enough) I did what the official sources said &lt;a href="https://developers.google.com/youtube/player_parameters" rel="noopener noreferrer"&gt;YouTube Embedded Players and Player Parameters &lt;/a&gt; (other sources give same info.) which is &lt;code&gt;loop=1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Further more colour or gradient overlays can be added on top of the background video like I added a curtain for framing.&lt;br&gt;
I also added some simple text (with text shadow to improve readability) on the page with &lt;strong&gt;Log in&lt;/strong&gt; &amp;amp; &lt;strong&gt;Sign up&lt;/strong&gt; buttons with complimentary button styles.&lt;br&gt;
And adding the usual Bootstrap classes to the required foreground components wraps up the thing.&lt;/p&gt;

&lt;p&gt;And, as usual for complete code ...&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/oeEVpK/" rel="noopener noreferrer"&gt;A landing page with background video&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>landingpage</category>
      <category>backgroundvideo</category>
      <category>responsiveiframe</category>
      <category>youtubeembedded</category>
    </item>
    <item>
      <title>Creating an Article Page.</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Sun, 20 Aug 2017 16:17:07 +0000</pubDate>
      <link>https://dev.to/rounakpolley/creating-an-article-page</link>
      <guid>https://dev.to/rounakpolley/creating-an-article-page</guid>
      <description>&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/OjQzZw/" rel="noopener noreferrer"&gt;Semantically correct Responsive Design of an Interactive Article Page&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Foiceybajo3jv8zns14ao.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Foiceybajo3jv8zns14ao.PNG" alt="Preview of the design"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sometimes we forget the importance of writing correct html&lt;/em&gt;&lt;br&gt;
Though almost every thing can be achieved by using &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; tags but it doesn't tell us what the content is actually on the page and where it is.&lt;br&gt;
Semantic html is using html to reinforce structural meaning. It’s about using tags, class names, and ids that reinforce the meaning of the content within the tags. By adding semantic tags to our document, we provide additional information about that document, which aids in communication. Specifically, semantic tags make it clear to the browser what the meaning of a page and its content is. This clarity is also communicated to the search  engines, ensuring that the right pages are delivered for the right queries.&lt;br&gt;
(Now, that's really important everybody wants their website to rank higher in search engine results.)&lt;/p&gt;

&lt;p&gt;Read more at &lt;a href="https://www.w3schools.com/html/html5_semantic_elements.asp" rel="noopener noreferrer"&gt;HTML5 Semantic Elements&lt;/a&gt; .&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.w3schools.com%2Fhtml%2Fimg_sem_elements.gif" 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%2Fwww.w3schools.com%2Fhtml%2Fimg_sem_elements.gif" alt="A pictorial representation of html5 semantics"&gt;&lt;/a&gt;&lt;br&gt;
(Here, in this example I haven't added the &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; as they can be separately designed).&lt;/p&gt;

&lt;p&gt;Now, actually getting in the making of the article page. Article pages have been extremely common on the internet since the beginning and continue to do so weather in form of blogs, news etc. &lt;br&gt;
When the article in itself is big it must be broken down into sections using &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; tags with individual &lt;code&gt;&amp;lt;headers&amp;gt;&lt;/code&gt; and the &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; itself needs an &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;. Placing the images in &lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; with optional &lt;code&gt;&amp;lt;figcaption&amp;gt;&lt;/code&gt; is a good practice and of course, &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; must have an &lt;code&gt;alt&lt;/code&gt; attribute.&lt;/p&gt;

&lt;p&gt;But, we can do much more, because for web design &lt;strong&gt;magic is in the details&lt;/strong&gt;.&lt;br&gt;
We can facilitate the user in finding the right content within our article it can be done by adding an in-page navigation a way to do that is using &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; with &lt;code&gt;role="navigation"&lt;/code&gt; (simplifies things for assistive technologies). Again instead of using simple anchors with links we can use &lt;strong&gt;jQuery&lt;/strong&gt; to indicate the part of article the user is currently on and scroll smoothly through individual parts.&lt;/p&gt;

&lt;p&gt;Next, a responsive design (using &lt;strong&gt;Bootstrap&lt;/strong&gt;) is always great !&lt;/p&gt;

&lt;p&gt;If you are still using table layout it's time you learn Bootstrap because using table to layout pages is an extremely bad practice.&lt;br&gt;
&lt;em&gt;(Why the web-developer walked out of the café ? Because he didn't like the table-layout !)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When using Bootstrap instead explicitly specifying the width and/or height of images we can just add another 'row' in the present column (or group of columns) and specify how much width we want the image to take within that (adding appropriate Bootstrap call to the &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag) and by default aspect ratio is maintained.&lt;br&gt;
&lt;em&gt;It's like nesting Bootstrap rows (rows within rows).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We should always check our design in the developer tools emulator and by resizing the browser in every way possible. Also, among Chrome, Mozila, Edge and IE I have found that IE gives more troubles (no doubt folks hate it creating all the memes &amp;amp; posts on IE). So, check on IE as well (because people out there still use it and it's not that bad actually).&lt;br&gt;
So, I found that the fixed positioned &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt; was actually getting partially hidden so I had to add an &lt;code&gt;overflow-y : auto&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Simple design is sometimes more elegant and appropriate. Instead of using lot of colours and fancy fonts simple and clear fonts and various shades of well matched grey usually does the trick.&lt;/p&gt;

&lt;p&gt;Last, but not the least we can add &lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; here, I have put some quotes (using &lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt; instead of regular &lt;code&gt;" "&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;For more details ...&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/OjQzZw/" rel="noopener noreferrer"&gt;Semantically correct Responsive Design of an Interactive Article Page&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>articlepage</category>
      <category>responsivedesign</category>
      <category>interactivepage</category>
      <category>semantichtml</category>
    </item>
    <item>
      <title>Designing a simple Home Page</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Thu, 17 Aug 2017 20:54:24 +0000</pubDate>
      <link>https://dev.to/rounakpolley/designing-of-a-simple-home-page</link>
      <guid>https://dev.to/rounakpolley/designing-of-a-simple-home-page</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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F20o6mrz0t1783qb63mgd.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F20o6mrz0t1783qb63mgd.PNG" alt="Preview of design"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/xLpJax/" rel="noopener noreferrer"&gt;Simple Home Page&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Firstly, there is no specific way a homepage should look it all depends on personal taste and the purpose of making the website. Even though some features tend to remain more or less constant. Like all home pages have a navigation bar, a hero area, call to action buttons, gorgeous background image and perhaps a tag line.&lt;/p&gt;

&lt;p&gt;So, we first need to decide how much content we want on our home-page. According to that we can determine how many tabs we need in the navigation bar do we need a search box or perhaps a drop-down list etc. Other deciding factors are the call to action buttons (like Log-in, Sign-up, Explore etc).&lt;/p&gt;

&lt;p&gt;After deciding on all the 'primary requirements' there are still some simple yet cool effects that we can use to make our &lt;strong&gt;Home Page&lt;/strong&gt; look great and can be incorporated in almost all design scenarios. A few of these I will describe here.&lt;/p&gt;

&lt;h1&gt;
  
  
  Navbar
&lt;/h1&gt;

&lt;p&gt;The most important part of our home page. Sometimes we want the nav-bar to stick on top of our page or maybe change the font size of nav-bar links (For example - the font size is bigger initial at the top of the and as the user scrolls down it gradually becomes smaller etc).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;scroll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
    &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;scroll_position&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;scrollTop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//current vertical position of the scroll bar &lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;scroll_position&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;   
                &lt;span class="c1"&gt;//style of navbar after crossing 'threshold'&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; 
            &lt;span class="k"&gt;else&lt;/span&gt; 
            &lt;span class="p"&gt;{&lt;/span&gt;   
                &lt;span class="c1"&gt;//style of navbar before crossing 'threshold'&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
     &lt;span class="p"&gt;});&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, the &lt;code&gt;threshold&lt;/code&gt; can be a value in pixels or something like &lt;code&gt;$('#threshold__element_id').offset().top&lt;/code&gt; such that crossing a particular element triggers the change in style.&lt;br&gt;
Using the &lt;em&gt;Bootstrap&lt;/em&gt; frame work makes the life a lot more easier because we can easily resize the nav-bar to a &lt;em&gt;Hamburger menu&lt;/em&gt; button for mobile devices.&lt;br&gt;
Note : for a more gradual effect we can use &lt;code&gt;if&lt;/code&gt; &lt;code&gt;else if&lt;/code&gt; .. &lt;code&gt;else&lt;/code&gt; ladder andd change the styling step by step.&lt;/p&gt;

&lt;h1&gt;
  
  
  Background
&lt;/h1&gt;

&lt;p&gt;Certainly a beautiful and appropriate background image or graphics works nicely be adding a subtle effect like &lt;em&gt;parallax effect&lt;/em&gt;. Parallax effect when the background image moves at a different speed than the foreground content while scrolling and the background image smoothly transforms.&lt;br&gt;
The trick is to keep the foreground content's height much smaller than the actual viewpoint height.&lt;/p&gt;

&lt;h1&gt;
  
  
  Scroll Assist or Auto Scroll
&lt;/h1&gt;

&lt;p&gt;Again this is very common because most of the webpages features some sort of  buttons or icons like 'Top' or 'Back to Top'. This can be done easily be using an anchor element &lt;code&gt;&amp;lt;a href="#target_id"&amp;gt;Auto Scroll&amp;lt;/a&amp;gt;&lt;/code&gt;.&lt;br&gt;
But this makes the scroll abrupt what we can do to make it more elegant is by adding a simple animation to the click event handler of the desired element.&lt;br&gt;
&lt;code&gt;$('html, body').animate({ scrollTop: $('#scroll_to_id').offset().top }, 1000);&lt;/code&gt;&lt;br&gt;
1000 is nothing but the time period of animation in miliseconds (i.e. 1s).&lt;/p&gt;

&lt;p&gt;For the entire code and explanation...&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/cfjr/pen/xLpJax/" rel="noopener noreferrer"&gt;Simple Home Page&lt;/a&gt; by Rounak Polley (&lt;a href="https://codepen.io/cfjr" rel="noopener noreferrer"&gt;@cfjr&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>homepage</category>
      <category>autoscroll</category>
      <category>parallaxscroll</category>
      <category>parallaxeffect</category>
    </item>
    <item>
      <title>Finding Path of Packets</title>
      <dc:creator>Rounak Polley</dc:creator>
      <pubDate>Mon, 14 Aug 2017 12:31:19 +0000</pubDate>
      <link>https://dev.to/rounakpolley/finding-path-of-packets</link>
      <guid>https://dev.to/rounakpolley/finding-path-of-packets</guid>
      <description>&lt;p&gt;We know data travels across the internet in small packets. But it does not fly from one computer to another computer instead it passes through various network devices. But, can we determine an approximate path through which the packets travel ?&lt;br&gt;
The answer is yes!&lt;/p&gt;

&lt;p&gt;For example the path of accessing &lt;code&gt;www.facebook.com&lt;/code&gt; form Kolkata (India) looks like this.&lt;br&gt;
(Note : Here I have joined server locations with straight lines for simplicity)&lt;br&gt;
&lt;a href="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%2Farticles%2Fhmgornv2en9ktzugw5jg.jpg" class="article-body-image-wrapper"&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%2Farticles%2Fhmgornv2en9ktzugw5jg.jpg" alt="Reaching facebook.com from Kolkata" width="679" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can be done by using &lt;code&gt;tracert&lt;/code&gt; command on Windows which is equivalent to &lt;code&gt;traceroute&lt;/code&gt; command on Mac and Linux.&lt;br&gt;
&lt;strong&gt;Note :&lt;/strong&gt; These commands take some time to execute so be patient or to cancel mid-way press &lt;code&gt;ctrl+c&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tracert&lt;/code&gt; or &lt;code&gt;traceroute&lt;/code&gt; displays the route taken by packets from a local system to reach a remote server/host over an IP network (network that uses IP to send and receive messages between one or more computers).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tracert&lt;/code&gt; sends &lt;strong&gt;ICMP&lt;/strong&gt; (Internet Control Message Protocol) echo packets to the destination and listens for the reply. &lt;br&gt;
Trace route sets the TTL to 1 and increments it for every hop. The routers receiving the message decrement this value and when it reaches 0 they reply a message that the TTL has reached zero. This reply then tells client (which executed the command) from where it has returned. This process continues until the Destination is reached.&lt;/p&gt;

&lt;p&gt;Following is a &lt;code&gt;tracert&lt;/code&gt; on &lt;code&gt;www.facebook.com&lt;/code&gt;. That I have used to plot the map shown above.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\ROUNAK POLLEY&amp;gt;tracert www.facebook.com

Tracing route to star-mini.c10r.facebook.com [157.240.13.35]
over a maximum of 30 hops:

  1     2 ms     1 ms     1 ms  192.168.0.1
  2     4 ms     3 ms     3 ms  172.17.149.1
  3     7 ms    21 ms    13 ms  node-203-171-243-1.alliancebroadband.in [203.171.243.1]
  4     7 ms     7 ms     8 ms  192.168.199.109
  5     4 ms     4 ms     4 ms  node-203-171-240-1.alliancebroadband.in [203.171.240.1]
  6    42 ms    45 ms    46 ms  172.31.180.57
  7    42 ms    43 ms    42 ms  ix-ae-4-2.tcore1.CXR-Chennai.as6453.net [180.87.36.9]
  8    84 ms    77 ms    78 ms  if-ae-3-3.tcore2.CXR-Chennai.as6453.net [180.87.36.6]
  9    74 ms    75 ms    75 ms  if-ae-6-2.tcore2.SVW-Singapore.as6453.net [180.87.37.14]
 10    94 ms    81 ms    77 ms  180.87.15.246
 11    77 ms    78 ms    77 ms  po121.asw02.sin1.tfbnw.net [173.252.64.50]
 12    78 ms    77 ms    78 ms  po224.psw04.sin6.tfbnw.net [157.240.34.51]
 13    77 ms    76 ms    79 ms  157.240.36.117
 14    78 ms    76 ms    76 ms  edge-star-mini-shv-02-sin6.facebook.com [157.240.13.35]

Trace complete.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output of the command :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The output is divided into columns which are&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;hop Number&lt;/strong&gt;, &lt;strong&gt;RTT 1&lt;/strong&gt;, &lt;strong&gt;RTT 2&lt;/strong&gt;, &lt;strong&gt;RTT 3&lt;/strong&gt; &lt;strong&gt;Domain Name and IP Address&lt;/strong&gt;&lt;br&gt;
RTT stands for Round Trip Time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Here &lt;code&gt;192.168.0.1&lt;/code&gt; is the IP address of my router. And &lt;em&gt;alliancebroadband.in&lt;/em&gt; is my &lt;strong&gt;ISP&lt;/strong&gt; (Internet Service Provider) etc.&lt;/li&gt;
&lt;li&gt;If a router does not respond within a timeout (TTL) then asterisk is printed. For example :
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; 3     *        *        *     Request timed out. 
 4     5 ms     *        *     node-203-171-243-1.alliancebroadband.in[203.171.243.1]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Generally when we use a IP location finder on the IP addresses returned by &lt;code&gt;tracert&lt;/code&gt; we see that some of the IP(s) are private. This is due to the fact that these are the internal IP(s) of servers/gateways of some organizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;'Hops' are nothing but the computers, routers, or any devices between the source and the destination.&lt;br&gt;
For using different options with &lt;code&gt;tracert&lt;/code&gt; type 'tracert' and press 'enter' (In the command prompt). It will show all the available syntax.&lt;/p&gt;

&lt;p&gt;To visualize the physical locations we just use any IP Geolocation service like &lt;a href="https://www.iplocation.net" rel="noopener noreferrer"&gt;https://www.iplocation.net&lt;/a&gt; . And then simply plot them on the map.&lt;/p&gt;

</description>
      <category>tracert</category>
      <category>traceroute</category>
      <category>packets</category>
      <category>networking</category>
    </item>
  </channel>
</rss>
