<?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: Sharu</title>
    <description>The latest articles on DEV Community by Sharu (@sharu24).</description>
    <link>https://dev.to/sharu24</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%2F440470%2F2c865170-c7e5-4572-a63b-1c90b5b2b5b5.jpeg</url>
      <title>DEV Community: Sharu</title>
      <link>https://dev.to/sharu24</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sharu24"/>
    <language>en</language>
    <item>
      <title>Arrays and Objects in JS</title>
      <dc:creator>Sharu</dc:creator>
      <pubDate>Mon, 23 Jan 2023 07:31:39 +0000</pubDate>
      <link>https://dev.to/sharu24/arrays-and-objects-in-js-28bn</link>
      <guid>https://dev.to/sharu24/arrays-and-objects-in-js-28bn</guid>
      <description>&lt;p&gt;Given an input array which stores names and respective age as an object, how can one group these objects into respective age groups.&lt;/p&gt;

&lt;p&gt;Problem Statement&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Example Input : 
let people = [
  { name: "sumit", age: 17 },
  { name: "rajesh", age: 24 },
  { name: "akbar", age: 44 },
  { name: "ali", age: 44 },
];
//Expected Output:
[
  { '17': [ { name: "sumit", age: 17 } ] },
  { '24': [ { name: "rajesh", age: 24 } ] },
  { '44': [ { name: "akbar", age: 44 }, 
            { name: "ali", age: 44 }, ] }
] 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Highlights / Explanation: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First task here is to identify the structural pattern of the result set - Clearly these Objects are enclosed in an array for every age group and the age group is an object enclosed in the resultant array.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secondly, we need to loop through the objects in the input array to group individuals by age group by looking up the result array&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let people = [
  { name: "sumit", age: 17 },
  { name: "rajesh", age: 24 },
  { name: "akbar", age: 44 },
  { name: "ali", age: 44 },
];

let index = -1,
  age;

let result = people.reduce((acc, ele) =&amp;gt; {
  age = ele.age;
  index = acc.findIndex((ele) =&amp;gt; Object.keys(ele).toString() == age);
  if (index == -1) {
    acc.push({ [age]: [].concat(ele) });
  } else {
    acc[index][age].push(ele);
  }
  return acc;
}, []);

console.log(result);

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

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Chaining in Javascript</title>
      <dc:creator>Sharu</dc:creator>
      <pubDate>Sat, 21 Jan 2023 07:11:20 +0000</pubDate>
      <link>https://dev.to/sharu24/chaining-in-javascript-jmm</link>
      <guid>https://dev.to/sharu24/chaining-in-javascript-jmm</guid>
      <description>&lt;p&gt;Chaining is a means of simplifying the process to map, filter, extrapolate or reduce the data in a effective and user friendly manner.&lt;/p&gt;

&lt;p&gt;Being widely utilized in Javascript libraries in the early days with Jquery and Underscore.js, its usage even in the present highly benefits many modern Javascript Libraries and Frameworks like React,  Vue and Angular in making applications which are simple to design, keeping data abstract and code more modular.&lt;/p&gt;

&lt;p&gt;Though the terminology might not be frequently used, one would have come across this to filter or map data sets. Backbone of Data Analytical and streaming applications is based out of this concept ( Eg: MapReduce in distributed file system processing)&lt;/p&gt;

&lt;p&gt;One can build custom libraries based on its ease of implementing one using Javascript Objects. In fact all the inbuilt functions from Prototype Inheritance that Javascript Arrays and Objects provide is based out of Chaining. Example is as shown below&lt;/p&gt;

&lt;p&gt;Snap a: Chaining process using Javascript Object&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let chain = {
  result: 0,
  sum: function (param) {
    this.result = this.result + param;
    return this;
  },
  sub: function (param) {
    this.result = this.result - param;
    return this;
  },
  mul: function (param) {
    this.result = this.result * param;
    return this;
  },
  print: function () {
    console.log(`Result = ${this.result}`);
  },
};

chain.sum(5).mul(50).print();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>career</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Currying in Javascript</title>
      <dc:creator>Sharu</dc:creator>
      <pubDate>Fri, 20 Jan 2023 17:30:01 +0000</pubDate>
      <link>https://dev.to/sharu24/currying-in-javascript-55b2</link>
      <guid>https://dev.to/sharu24/currying-in-javascript-55b2</guid>
      <description>&lt;p&gt;Currying in javascript is utilized to process a function with varying parameter list as shown below:&lt;/p&gt;

&lt;p&gt;add(1)(3)&lt;br&gt;
add(7)(29)(41)&lt;br&gt;
add(0)(1)(2)(3)(5)&lt;/p&gt;

&lt;p&gt;Adding two numbers can be achieved as shown in the following code snippet&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Snip a - Function to add 2 numbers&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let add2 = (a) =&amp;gt; (b) =&amp;gt; b ? add2(a + b) : a;
console.log(add2(1)(3)());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But this is not scalable when we have to add more than 2 numbers and becomes cumbersome to create a solution with increasing parameters.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Snip b - Function to accept 4 arguments&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function sum(a) {
  return function (b) {
    return function (c) {
      return function (d) {
        return a + b + c + d;
      };
    };
  };
}

console.log(sum(1)(2)(3)(4));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hence solution here is to come up with a generic way to curry this. As we observe in the above snip b, we return a function (function(b) from function(a)) which can accept a parameter ( the next parameter which is b). The cycle continues, until we have exhausted all the parameters in curried function call stack in the execution context and final value gets returned back to the caller as the function calls gets popped off the stack.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;function(a)(b)(c)....(n)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What we see above is similar to a recursive function call to exhaust (in a way to fetch) the parameters from a curried call &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So to make this task generic we can build a function which can help us consolidate the parameters into an object(array)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function testCurrying(func) {
  let firstArgument = null;
  let innerFunc = (...args) =&amp;gt; {
    firstArgument = args[0];
    console.log(`Build Array : ${args}`);
    return (innerArg) =&amp;gt; {
      if (!innerArg) return func(args);
      console.log(`innerArg = ${innerArg}`);
      return innerFunc(...args, innerArg);
    };
  };
  return innerFunc;
}

let testFunction = (x) =&amp;gt; console.log("final array = ", x);
testCurrying(testFunction)(3)(4)(6)();

$ node function.js 
Build Array : 3
innerArg = 4
Build Array : 3,4
innerArg = 6
Build Array : 3,4,6
final array =  [ 3, 4, 6 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;As shown below, A curry requires&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;tadka : A function which either adds or multiplies or divides etc a given list of array&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;tava : A inner function to consider varying list of parameters to either add or multiply or divide etc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;gravy : An argument list which needs to be built / accumulated into an array overtime with the items(values)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;item : Each parameter thats passed from the parameter list&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Snip c - Currying 'n' parameter list&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let curry = (tadka) =&amp;gt; {
  const tava =
    (...gravy) =&amp;gt;
    (item) =&amp;gt;
      item ? tava(...gravy, item) : tadka(gravy);
  return tava;
};

let sum = (arr) =&amp;gt; arr.reduce((acc, val) =&amp;gt; acc + val, 0);
let curriedSum1 = curry(sum);
console.log(curriedSum1(1)(2)(3)(4)(6)(5)(100)());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Interviewing "Internet"</title>
      <dc:creator>Sharu</dc:creator>
      <pubDate>Sun, 26 Jul 2020 15:39:43 +0000</pubDate>
      <link>https://dev.to/sharu24/interviewing-internet-15fn</link>
      <guid>https://dev.to/sharu24/interviewing-internet-15fn</guid>
      <description>&lt;h3&gt;
  
  
  What is Internet ?
&lt;/h3&gt;

&lt;p&gt;In Simple words, Networks of Networks ([Computer Networks]) forms a Internetwork which is nothing but Internet &lt;/p&gt;




&lt;h3&gt;
  
  
  What are Computer networks ?
&lt;/h3&gt;

&lt;p&gt;A part of Computer network is in-fact the device which you are reading on – Your Personal device (&lt;em&gt;laptop, desktop or a mobile&lt;/em&gt;).  &lt;/p&gt;

&lt;p&gt;Your Laptop/Desktop would be connected to WIFI router or a Modem through Ethernet cable. &lt;/p&gt;

&lt;p&gt;In case you are on a Mobile device, wireless signals are exchanged with a Mobile data transceiver. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Data would then hop across various Intermediary Servers through Networking Hardware(Fibre Optics) and WIFI to  Internet Service Providers (ISP's) and Domain Name Systems (DNS), Root/TLD(Top Level Domain)/Authoritative Servers to fetch from the server where the website is hosted, packet the response back, route through Inter-networks and serve requested content to the user. &lt;/p&gt;

&lt;p&gt;Bunch of hybrid, heterogenous and autonomous  devices connected together forms a Computer Network &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  What's DNS ?
&lt;/h3&gt;

&lt;p&gt;Simply put, it’s a Phonebook for internet. A DNS Server maps  Internet-connected-Device's name (Domain Name) its corresponding Address (IP Address).&lt;/p&gt;

&lt;p&gt;There are wide variety of DNS Servers each having a specific task to perform.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Internet Service Provider (DNS Resolver) takes a web request from a User's machine, looks up its Cache to check if they can resolve it into a IP Address.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If the given Domain Name(&lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt;) was never request/cached before in an ISP/DNS Resolver, the Resolver checks with a Root Server. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Root Servers checks the the extension(.com, .net etc) and provides respective TLD server's details back to Resolver.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Resolver checks with respective TLD server(.COM server or .GOV server) which gets the IP address from Administrative Server and returns the same back to the End User's Machine (Host who requested)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using the Domain's IP Address, the End User's Machine will receive the requested Resource/Website (in Chunks/Packets). Packets, further gets sequenced and gets displayed on to a web browser or receiving module on End User's machine.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  What's Internet Protocol and IP Address ?
&lt;/h3&gt;

&lt;p&gt;Let's take an example where when a person needs to communicate with others we call one another by our Names (Example: Angela/Mathew). But... would a name suffice; to uniquely identify and contact an individual when they are not nearby ? Probably not ! When one needs to contact/communicate, let's say to communicate with Angela, we need something more specific or a Unique Identifier like a Telephone/Mobile Number or a Mailing Address to locate her amongst others ( Or Probably Other Angela's :-) )&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Internet Protocol(IP)&lt;/strong&gt; is a standardised set of rules and guidelines which allows devices to send and receive data over internet. The protocol defines of rules, syntax, handshakes and error handling/recovery methods. IP enables a host to  send packets of Data to a Destination wrapping the IP Address of the Destination System. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IP Address&lt;/strong&gt; is a bunch of numbers which is allocated to each device that’s connected to a Computer Network.  The allocation of these IP addresses are managed by &lt;strong&gt;IANA&lt;/strong&gt; (Internet Assigned Numbers Authority) - Part of &lt;strong&gt;ICANN&lt;/strong&gt; (Internet Corporation for Assigned Names and Numbers). &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are two flavours to represent a host's IP Address –  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IP version 4 (IPv4)&lt;/li&gt;
&lt;li&gt;IP version 6 (IPv6)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  What's IPv4 ?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;IPv4&lt;/strong&gt; is 4th generation or version of Internet Protocol. In its simplicity and human readable form; it forms the backbone of "standardised protocol methods" used to communicate across devices in Internet.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An Address comprises of 32 Bits to represent a host. These 32 bits are divided further into 8 bits with a dot between every 8 bits &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--72ZMv-cA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z6vg36pail9jhwi3thq7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--72ZMv-cA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z6vg36pail9jhwi3thq7.jpg" alt="Alt Text" width="248" height="84"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hence there are 4 Octets in an IPv4 Address. &lt;br&gt;
Each Octet range from a  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimum value of 0 (where every bit is 0) &lt;/li&gt;
&lt;li&gt;Maximum value of 255 (where all 8 bits have a value of 1).
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IPv4 Range : 0.0.0.0 ==&amp;gt; 255.255.255.255 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;11000000.00101010.00000001.10000000 {Binary} 
192.42.1.128 {Decimal} 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Though a Machine reads an IP Address in Binary always, For simplicity we convert this into Decimal most of the times. With each bit occupying 0 or 1, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The total number of IP Addresses that are possible &lt;br&gt;
= 2^32 &lt;br&gt;
= 47 Billion Addresses&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  What's IPv6 and why do we need it ?
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;"We are indeed running out of IPv4 Addresses"&lt;/em&gt;&lt;br&gt;&lt;br&gt;
With ever growing demand for IP addresses and organisations reserving more than what they actually need, Address space of IPv4 will run out soon. &lt;br&gt;
Adding to this, Classification of IP addresses and the way Networks and Hosts are allocated within each class; further, allocates these Networks and &lt;em&gt;thereby IP addresses&lt;/em&gt; to Organisations which goes unutilised. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hence IPv6 was Born.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;IPv6 (Internet Protocol Version 6), in comparison with IPv4 is an Enlarged Address space which stores and identifies an IP Address of a Machine in 128 bits instead of Standard 32 bits with IPv4. The Addresses are Denoted in HexaDecimal. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZUhsYKZy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kneo5jba0dwnvib4osuq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZUhsYKZy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kneo5jba0dwnvib4osuq.jpg" alt="Alt Text" width="313" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With each bit occupying 0 or 1, the total number of IP &amp;gt; Addresses that are possible &lt;br&gt;
= 2^128 &lt;br&gt;
= 340 trillion-trillion-trillion Addresses !!! ( Isn't that a crazy Number !)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And yes, Thats right, One of the reasons why we need IPv6 and it's infact gaining momentum and legacy systems are trying to comply to IPv6 by upgrading their kernel/machines.  &lt;/p&gt;


&lt;h3&gt;
  
  
  Who owns and manages Internet ?
&lt;/h3&gt;

&lt;p&gt;Internet is not governed or managed by any organisation. &lt;/p&gt;

&lt;p&gt;But rather is amalgamation of smaller computer networks. These Autonomous networks, owned by ISP's and Government Organisations are inter-connected (LAN Or WAN) with the help of Wired Ethernet cables or WiFi or Fibre Optics.  &lt;/p&gt;


&lt;h3&gt;
  
  
  Connected systems being Autonomous, who sets the standards ?
&lt;/h3&gt;

&lt;p&gt;There are certain guiding principles or protocols that these Autonomous organisations follow in order for peering systems to exchange data over Internet &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;IETF created Internet Standards and they ensure connected devices function without any data exchange/compatibility issues &lt;/p&gt;

&lt;p&gt;ICANN/IANA manages the task of registering and mapping domain names with IP Addresses &lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  How to fetch my IP Address ?
&lt;/h3&gt;

&lt;p&gt;Command to get IPv4 Address of a machine -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mac Terminal Command: &lt;code&gt;ifconfig | grep inet&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MacBook-Pro:~ Device$ ifconfig | grep "inet " 
inet 127.0.0.1 netmask 0xff000000  
inet &amp;lt;MyDeviceIP&amp;gt; netmask 0xffffff00 broadcast &amp;lt;NetworkBroadCastIP&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MyDeviceIP - is the IP Address of your Machine&lt;br&gt;
127.0.0.1 - This is called localhost !! Used by OS to communicate to itself - Also called Loopback Address&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Windows Command Prompt: &lt;code&gt;ipconfig (check for Ipv4)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  How to get IP Address of a website ?
&lt;/h3&gt;

&lt;p&gt;One can get a IP Address by pinging the respective Domain as shown below&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mac/Windows Terminal Command: &lt;code&gt;ping google.com&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MacBook-Pro:~ Device$ ping google.com 
PING google.com (216.58.203.142): 56 data bytes 
64 bytes from 216.58.203.142: icmp_seq=0 ttl=118 time=26.165 ms  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note that the IP Address of certain web servers keep changing as they keep adding new servers to handle the load.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At the point in time (when this blog was created) the IPv4 Address of google.com from the machine is 216.58.203.142&lt;/p&gt;

</description>
      <category>internet</category>
      <category>dns</category>
      <category>ipaddress</category>
      <category>ipv4</category>
    </item>
  </channel>
</rss>
