https://www.pankajtanwar.in/

Submitted URL:
https://pankajtanwar.in/Redirected
Report Finished:

The outgoing links identified from the page

LinkText
https://github.com/pankajtanwarbanna/github
https://www.linkedin.com/in/pankajtanwarbanna/linkedin
https://twitter.com/the2ndfloorguytwitter
https://pankajtanwar.in/feed.xmlrss

JavaScript Variables · 22 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

NameType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
webpackChunk_N_Eobject
regeneratorRuntimeobject
__NEXT_DATA__object
__SSG_MANIFEST_CBfunction
__NEXT_Pobject
nextobject
_N_Eobject

Console log messages · 0 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en" class="light" style="color-scheme: light;"><head><link rel="apple-touch-icon" sizes="76x76" href="/static/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/static/favicons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/static/favicons/favicon-16x16.png"><link rel="manifest" href="/static/favicons/site.webmanifest"><link rel="mask-icon" href="/static/favicons/safari-pinned-tab.svg" color="#5bbad5"><meta name="msapplication-TileColor" content="#000000"><meta name="theme-color" content="#000000"><link rel="alternate" type="application/rss+xml" href="/feed.xml"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"><link rel="stylesheet" data-href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&amp;display=swap"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-Um5gpz1odJg5Z4HAmzPtgZKdTBHZdw8S29IecapCSB31ligYPhHQZMIlWLYQGVoc" crossorigin="anonymous"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><meta charset="utf-8"><script>!function(){try {var d=document.documentElement.classList;d.remove('light','dark');var e=localStorage.getItem('theme');if("system"===e||(!e&&true)){var t="(prefers-color-scheme: dark)",m=window.matchMedia(t);m.media!==t||m.matches?d.add('dark'):d.add('light')}else if(e) d.add(e)}catch(e){}}()</script><meta content="width=device-width, initial-scale=1" name="viewport"><title>Pankaj Tanwar - CS Engineer, writer &amp; creator.</title><meta name="robots" content="follow, index"><meta name="description" content="Pankaj Tanwar : A self-taught developer, writer &amp; creator who loves to read, write and learn about tech."><meta property="og:url" content="https://pankajtanwar.in/"><meta property="og:type" content="website"><meta property="og:site_name" content="Pankaj Tanwar - CS Engineer, writer &amp; creator."><meta property="og:description" content="Pankaj Tanwar : A self-taught developer, writer &amp; creator who loves to read, write and learn about tech."><meta property="og:title" content="Pankaj Tanwar - CS Engineer, writer &amp; creator."><meta property="og:image" content="https://pankajtanwar.in/static/images/twitter-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="https://twitter.com/the2ndfloorguy"><meta name="twitter:title" content="Pankaj Tanwar - CS Engineer, writer &amp; creator."><meta name="twitter:description" content="Pankaj Tanwar : A self-taught developer, writer &amp; creator who loves to read, write and learn about tech."><meta name="twitter:image" content="https://pankajtanwar.in/static/images/twitter-card.png"><meta name="next-head-count" content="17"><link rel="preload" href="/_next/static/css/bf8a357b56220145cc85.css" as="style"><link rel="stylesheet" href="/_next/static/css/bf8a357b56220145cc85.css" data-n-g=""><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js"></script><script src="/_next/static/chunks/webpack-89aab03afa911f0cf37b.js" defer=""></script><script src="/_next/static/chunks/main-0349d0ce3f21f49c8de7.js" defer=""></script><script src="/_next/static/chunks/pages/_app-a51777a2b8ef235ff3fd.js" defer=""></script><script src="/_next/static/chunks/870-6f7bb236ef58843ebe88.js" defer=""></script><script src="/_next/static/chunks/pages/index-778029602e133cebb51d.js" defer=""></script><script src="/_next/static/hxEh22otdZmRlVLjTl25J/_buildManifest.js" defer=""></script><script src="/_next/static/hxEh22otdZmRlVLjTl25J/_ssgManifest.js" defer=""></script><style data-href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&amp;display=swap">@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZs.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZs.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZs.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><link as="script" rel="prefetch" href="/_next/static/chunks/870-6f7bb236ef58843ebe88.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/index-778029602e133cebb51d.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/blogs-eec333155b477269de94.js"><link as="script" rel="prefetch" href="/_next/static/chunks/75fc9c18-540a544002197f33b2ea.js"><link as="script" rel="prefetch" href="/_next/static/chunks/752-e6ec6d773e074dd5c37f.js"><link as="script" rel="prefetch" href="/_next/static/chunks/722-22f9964a68117c755579.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/open-dashboard-5cb22a9925b752f4e688.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/side-hustles-7293724c28df7d87adc5.js"><link as="script" rel="prefetch" href="/_next/static/chunks/framework-c73ba5496de9f26a8fc9.js"><link as="script" rel="prefetch" href="/_next/static/chunks/41-ea62b6e9ca4368115296.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/about-9d090bc05b006b312541.js"><link as="script" rel="prefetch" href="/_next/static/chunks/pages/blog/%5B...slug%5D-43a246b3c6cff1dc68bf.js"></head><body class="antialiased text-black bg-white dark:bg-gray-900 dark:text-white"><div id="__next"><div class="max-w-3xl px-4 mx-auto sm:px-6 xl:max-w-5xl xl:px-0"><div class="flex flex-col justify-between h-screen"><header class="flex items-center justify-between py-10"><div><a aria-label="Pankaj Tanwar's Blog" href="/"><div class="flex items-center justify-between"><div class="h-6 text-2xl font-semibold sm:block">Pankaj Tanwar</div></div></a></div><div class="flex items-center text-base leading-5"><div class="hidden sm:block"><a class="p-1 font-medium text-gray-900 sm:p-4 dark:text-gray-100" href="/blogs">Blogs</a><a class="p-1 font-medium text-gray-900 sm:p-4 dark:text-gray-100" href="/open-dashboard">Open Dashboard</a><a class="p-1 font-medium text-gray-900 sm:p-4 dark:text-gray-100" href="/side-hustles">Side Hustles</a><a class="p-1 font-medium text-gray-900 sm:p-4 dark:text-gray-100" href="/about">About</a></div><button aria-label="Toggle Dark Mode" type="button" class="w-8 h-8 p-1 ml-1 mr-1 rounded sm:ml-4"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg></button><div class="sm:hidden"><button type="button" class="w-8 h-8 ml-1 mr-1 rounded" aria-label="Toggle Menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"></path></svg></button><div class="fixed w-full h-full top-24 right-0 bg-gray-200 dark:bg-gray-800 opacity-95 z-10 transform ease-in-out duration-300 translate-x-full"><button type="button" aria-label="toggle modal" class="fixed w-full h-full cursor-auto focus:outline-none"></button><nav class="fixed h-full mt-8"><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/blogs">Blogs</a></div><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/open-dashboard">Open Dashboard</a></div><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/side-hustles">Side Hustles</a></div><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/about">About</a></div></nav></div></div></div></header><main class="mb-auto"><div><div class="pt-6 text-center"><h1 class="pb-6 text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14">Hi<span role="img" aria-label="hey">👋</span>, I’m <span class="text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-pink-600">Pankaj</span>.</h1><h2 class="mb-16 text-lg prose max-w-screen-2xl text-gray-600 dark:text-gray-400">A developer, writer, and creator. Welcome to my little, personal slice of the internet.<br>Explore <a href="/blogs">my blogs</a> and <a href="/open-dashboard">an open dashboard of my life</a> while you are here.</h2></div><ul class=""><div class="py-4 pl-4 mb-4 border border-gray-200 dark:border-gray-800 rounded-lg"><div class="xl:items-baseline xl:space-y-0"><div class="grid grid-cols-2 gap-3 md:grid-cols-2 text-navy-green float-root"><div class="flex space-x-2"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap"><time datetime="2021-06-20T00:00:00.000Z">June 20, 2021</time></dd></dl></div><div class="flex space-x-2 right-0"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap">17,702 views</dd></dl></div></div><div class="space-y-5"><div class="space-y-2"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/what-is-the-sorting-algorithm-behind-order-by-query-in-mysql">What is the sorting algorithm behind ORDER BY query in MySQL?</a></h2></div><div class="prose text-gray-500 max-w-none dark:text-gray-400">Since the last couple of weeks, I have been working on MySQL more closely. MySQL is a brilliant piece of software. I remember reading about all the sorting algorithms in college so I was curious to know which algorithm MySQL uses and how ORDER BY query works internally in such an efficient manner.</div></div><div class="text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;What is the sorting algorithm behind ORDER BY query in MySQL?&quot;" href="/blog/what-is-the-sorting-algorithm-behind-order-by-query-in-mysql">Read more →</a></div></div></div></div><div class="py-4 pl-4 mb-4 border border-gray-200 dark:border-gray-800 rounded-lg"><div class="xl:items-baseline xl:space-y-0"><div class="grid grid-cols-2 gap-3 md:grid-cols-2 text-navy-green float-root"><div class="flex space-x-2"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap"><time datetime="2021-05-21T00:00:00.000Z">May 21, 2021</time></dd></dl></div><div class="flex space-x-2 right-0"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap">3,057 views</dd></dl></div></div><div class="space-y-5"><div class="space-y-2"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/do-you-know-01-02-03-in-javascript-here-is-why">Do you know 0.1 + 0.2 ≠ 0.3 in JavaScript? Here is why!</a></h2></div><div class="prose text-gray-500 max-w-none dark:text-gray-400">It’s been a while since I have been working with JavaScript. Yesterday, I experienced a very strange behaviour - console.log(0.2 + 0.1) // 0.30000000000000004</div></div><div class="text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;Do you know 0.1 + 0.2 ≠ 0.3 in JavaScript? Here is why!&quot;" href="/blog/do-you-know-01-02-03-in-javascript-here-is-why">Read more →</a></div></div></div></div><div class="py-4 pl-4 mb-4 border border-gray-200 dark:border-gray-800 rounded-lg"><div class="xl:items-baseline xl:space-y-0"><div class="grid grid-cols-2 gap-3 md:grid-cols-2 text-navy-green float-root"><div class="flex space-x-2"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap"><time datetime="2021-04-10T00:00:00.000Z">April 10, 2021</time></dd></dl></div><div class="flex space-x-2 right-0"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap">28,426 views</dd></dl></div></div><div class="space-y-5"><div class="space-y-2"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/system-design-how-to-design-google-drive-dropbox-a-cloud-file-storage-service">System Design - How to design Google Drive / Dropbox (a cloud file storage service)?</a></h2></div><div class="prose text-gray-500 max-w-none dark:text-gray-400">Let's design a highly scalable file upload &amp; sharing service.</div></div><div class="text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;System Design - How to design Google Drive / Dropbox (a cloud file storage service)?&quot;" href="/blog/system-design-how-to-design-google-drive-dropbox-a-cloud-file-storage-service">Read more →</a></div></div></div></div><div class="py-4 pl-4 mb-4 border border-gray-200 dark:border-gray-800 rounded-lg"><div class="xl:items-baseline xl:space-y-0"><div class="grid grid-cols-2 gap-3 md:grid-cols-2 text-navy-green float-root"><div class="flex space-x-2"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap"><time datetime="2021-03-31T00:00:00.000Z">March 31, 2021</time></dd></dl></div><div class="flex space-x-2 right-0"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap">––– views</dd></dl></div></div><div class="space-y-5"><div class="space-y-2"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/how-database-indexing-actually-works-internally">How database indexing actually works internally?</a></h2></div><div class="prose text-gray-500 max-w-none dark:text-gray-400">An illustrated guide, to help you understand how exactly database indexing works internally!</div></div><div class="text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;How database indexing actually works internally?&quot;" href="/blog/how-database-indexing-actually-works-internally">Read more →</a></div></div></div></div><div class="py-4 pl-4 mb-4 border border-gray-200 dark:border-gray-800 rounded-lg"><div class="xl:items-baseline xl:space-y-0"><div class="grid grid-cols-2 gap-3 md:grid-cols-2 text-navy-green float-root"><div class="flex space-x-2"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap"><time datetime="2021-02-26T00:00:00.000Z">February 26, 2021</time></dd></dl></div><div class="flex space-x-2 right-0"><dl class="mb-2"><dd class="text-sm leading-6 text-gray-600 dark:text-slate-400 lg:right-full lg:mr-8 lg:whitespace-nowrap">––– views</dd></dl></div></div><div class="space-y-5"><div class="space-y-2"><div><h2 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/how-twitter-stores-500m-tweets-a-day">How Twitter stores 500M tweets a day?</a></h2></div><div class="prose text-gray-500 max-w-none dark:text-gray-400">Twitter handles close to 500M tweets per day. Let's deep dive into the architecture behind storage engines at twitter.</div></div><div class="text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="Read &quot;How Twitter stores 500M tweets a day?&quot;" href="/blog/how-twitter-stores-500m-tweets-a-day">Read more →</a></div></div></div></div></ul></div><div class="flex justify-end text-base font-medium leading-6"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" aria-label="all posts" href="/blogs">All Posts →</a></div></main><footer class="text-center lg:text-left text-gray-600 dark:text-gray-400 mt-2"><div class="mx-6 py-4 text-center md:text-left"><div class="grid grid-1 md:grid-cols-2 lg:grid-cols-3 gap-8"><div class=""><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/blogs">Blogs</a></p><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/404"> 404 - Page not found</a></p></div><div class=""><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/newsletter">Pankaj's Newsletter</a></p><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/coding-diary"> My Coding Diary</a></p></div><div class=""><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/about">About</a></p><p class="mb-1"><a class="text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/side-hustles">My Projects</a></p></div></div></div><div class="flex flex-col items-center mt-2"><div class="flex mb-3 space-x-4"><a class="text-sm text-gray-500 transition hover:text-gray-600 ml-6" target="_blank" rel="noopener noreferrer" href="https://github.com/pankajtanwarbanna/"><span class="sr-only">github</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 dark:text-gray-200 hover:text-blue-500 dark:hover:text-blue-400 h-6 w-6"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600 ml-6" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/in/pankajtanwarbanna/"><span class="sr-only">linkedin</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 dark:text-gray-200 hover:text-blue-500 dark:hover:text-blue-400 h-6 w-6"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600 ml-6" target="_blank" rel="noopener noreferrer" href="https://twitter.com/the2ndfloorguy"><span class="sr-only">twitter</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 dark:text-gray-200 hover:text-blue-500 dark:hover:text-blue-400 h-6 w-6"><path d="M23.953 4.57a10 10 0 0 1-2.825.775 4.958 4.958 0 0 0 2.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 0 0-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 0 0-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 0 1-2.228-.616v.06a4.923 4.923 0 0 0 3.946 4.827 4.996 4.996 0 0 1-2.212.085 4.936 4.936 0 0 0 4.604 3.417 9.867 9.867 0 0 1-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 0 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0 0 24 4.59z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600 ml-6" target="_blank" rel="noopener noreferrer" href="mailto:[email protected]"><span class="sr-only">mail</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="fill-current text-gray-700 dark:text-gray-200 hover:text-blue-500 dark:hover:text-blue-400 h-6 w-6"><path d="M2.003 5.884 10 9.882l7.997-3.998A2 2 0 0 0 16 4H4a2 2 0 0 0-1.997 1.884"></path><path d="m18 8.118-8 4-8-4V14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600 ml-6" target="_blank" rel="noopener noreferrer" href="https://pankajtanwar.in/feed.xml"><span class="sr-only">rss</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="fill-current text-gray-700 dark:text-gray-200 hover:text-blue-500 dark:hover:text-blue-400 h-6 w-6"><path d="M19 0H5a5 5 0 0 0-5 5v14a5 5 0 0 0 5 5h14a5 5 0 0 0 5-5V5a5 5 0 0 0-5-5M6.168 20C4.971 20 4 19.031 4 17.835s.971-2.165 2.168-2.165a2.166 2.166 0 1 1 0 4.33m5.18 0c-.041-4.029-3.314-7.298-7.348-7.339V9.454C9.814 9.495 14.518 14.193 14.561 20zm5.441 0C16.768 12.937 11.053 7.239 4 7.208V4c8.83.031 15.98 7.179 16 16z"></path></svg></a></div><div class="flex mb-2 space-x-2 text-sm text-gray-500 dark:text-gray-400"><a href="/">Pankaj Tanwar</a><div> • </div><div>© 2024</div></div><div class="mb-8 text-sm text-gray-500 dark:text-gray-400"><a href="/">Pankaj Tanwar - CS Engineer, writer &amp; creator.</a></div></div></footer></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"posts":[{"title":"What is the sorting algorithm behind ORDER BY query in MySQL?","date":"2021-06-20T00:00:00.000Z","tags":["database","internals","mysql"],"draft":false,"summary":"Since the last couple of weeks, I have been working on MySQL more closely. MySQL is a brilliant piece of software. I remember reading about all the sorting algorithms in college so I was curious to know which algorithm MySQL uses and how ORDER BY query works internally in such an efficient manner.","author":"the2ndfloorguy","popularity":1,"slug":"what-is-the-sorting-algorithm-behind-order-by-query-in-mysql"},{"title":"Do you know 0.1 + 0.2 ≠ 0.3 in JavaScript? Here is why!","date":"2021-05-21T00:00:00.000Z","tags":["javascript"],"draft":false,"summary":"It’s been a while since I have been working with JavaScript. Yesterday, I experienced a very strange behaviour - console.log(0.2 + 0.1) // 0.30000000000000004","author":"the2ndfloorguy","popularity":1,"slug":"do-you-know-01-02-03-in-javascript-here-is-why"},{"title":"System Design - How to design Google Drive / Dropbox (a cloud file storage service)?","date":"2021-04-10T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Let's design a highly scalable file upload \u0026 sharing service.","author":"the2ndfloorguy","popularity":1,"slug":"system-design-how-to-design-google-drive-dropbox-a-cloud-file-storage-service"},{"title":"How database indexing actually works internally?","date":"2021-03-31T00:00:00.000Z","tags":["database","internals"],"draft":false,"summary":"An illustrated guide, to help you understand how exactly database indexing works internally!","author":"the2ndfloorguy","popularity":1,"slug":"how-database-indexing-actually-works-internally"},{"title":"How Twitter stores 500M tweets a day?","date":"2021-02-26T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Twitter handles close to 500M tweets per day. Let's deep dive into the architecture behind storage engines at twitter.","author":"the2ndfloorguy","popularity":1,"slug":"how-twitter-stores-500m-tweets-a-day"},{"title":"I turned my 10 year old tablet into a digital photo frame, displaying google photos album. 🌴","date":"2024-07-15T00:00:00.000Z","tags":["fun"],"draft":false,"summary":"Last weekend, I built a digital photo frame, from my a-decade-old tablet. It cycles through photos from a shared Google Photos album, switching up the display every hour.","author":"the2ndfloorguy","slug":"i-turned-my-10-year-old-tablet-into-a-digital-photo-frame-displaying-google-photos-album"},{"title":"I built a gnome shell extension to show how much my day, month, year and life has passed.","date":"2023-12-17T00:00:00.000Z","tags":["linux","gnome"],"draft":false,"summary":"last night, Inspired by the concept of \"Memento Mori\", I built a Linux gnome shell extension which shows how much day, month, year,my life has passed, in menu bar.","author":"the2ndfloorguy","slug":"i-built-a-gnome-shell-extension-to-show-how-much-my-day-month-year-and-life-has-passed"},{"title":"Top 3 USELESS JavaScript interview questions 🤮","date":"2022-08-22T00:00:00.000Z","tags":["javascript"],"draft":false,"summary":"I recently went through the roller-coaster trip that every corporate buddy goes through, THE JOB HUNTING. I'm going to list down the top 3 WORST Javascript real interview questions that that made me just walk out of the interview.","author":"the2ndfloorguy","slug":"top-3-useless-javascript-interview-questions"},{"title":"How redis expires keys? A dive into how TTL works internally in Redis. 🌊","date":"2022-06-12T00:00:00.000Z","tags":["Redis","Internals"],"draft":false,"summary":"Redis is one of the super-cool pieces of software that I've always admired. Recently, I got curious about the algorithm behind expiring keys in Redis. I've used the TTL feature in Redis, quite a lot but never digged deeper to understand the concept behind it.","author":"the2ndfloorguy","slug":"how-redis-expires-keys-a-deep-dive-into-how-ttl-works-internally-in-redis"},{"title":"I quit my job, built 8 freelance projects at a time, and made good money but… lost happiness💡","date":"2022-04-08T00:00:00.000Z","tags":["personal"],"draft":false,"summary":"3 months back, I quit my job, without much of a plan on what to do next. So, here is my experience so far.","author":"the2ndfloorguy","slug":"i-quit-my-job-built-8-freelance-projects-at-a-time-and-made-good-money-but-lost-happiness"},{"title":"I built a file upload service without any external library, just pure JavaScript 🤖","date":"2022-03-09T00:00:00.000Z","tags":["javascript"],"draft":false,"summary":"Build a file upload service with vanilla JavaScript from scratch with a method that requires no npms and no dependencies.","canonical":"https://blog.logrocket.com/how-to-build-file-upload-service-vanilla-javascript/","author":"the2ndfloorguy","slug":"i-built-a-file-upload-service-without-any-external-library-using-pure-javascript"},{"title":"How I built a real-time blog view counter with NextJs and Firebase 👨‍💻","date":"2022-02-05T00:00:00.000Z","tags":["blog","next"],"draft":false,"summary":"I wanted to build a simple, free solution for tracking blog post views (with lazyload) on my website for better accuracy and privacy for the readers. This blog is a documentation of my journey to build this solution using NextJs + firebase and deploy it for absolutely free.","author":"the2ndfloorguy","slug":"how-i-built-a-real-time-blog-view-counter-with-nextjs-and-firebase"},{"title":"Pagination with Cassandra - let’s deal with paging large queries in python 🐍","date":"2022-01-22T00:00:00.000Z","tags":["cassandra"],"draft":false,"summary":"Pagination in Cassandra is one of the hair-pulling problems. Sometime back, I encountered a use case where I had to implement pagination in Cassandra. But my happiness got vanished when I found, there is no such thing as LIMIT, OFFSET and BETWEEN in Cassandra at all.","author":"the2ndfloorguy","slug":"pagination-with-cassandra-lets-deal-with-paging-large-queries-in-python"},{"title":"Counting my contributions to a git repo 💻","date":"2022-01-07T00:00:00.000Z","tags":["git"],"draft":false,"summary":"Recently, I resigned from my position as a software engineer to try out a different path. My crooked mind didn't let me enjoy the notice period and started wondering, exactly how many commits or lines of code I contributed while working here for the last 1 year.","author":"the2ndfloorguy","popularity":0,"slug":"counting-my-contributions-to-a-git-repo"},{"title":"I resigned.... what's next? 🚀","date":"2022-01-07T00:00:00.000Z","tags":["personal"],"draft":false,"summary":"Recently, I resigned from my position as a Software engineer at Paisabazaar.com without much of a plan on what to do next. Figured out, the new year is a good time to talk about this.","author":"the2ndfloorguy","popularity":0,"slug":"i-resigned-whats-next"},{"title":"A directory is not a folder.","date":"2021-12-29T00:00:00.000Z","tags":["linux"],"draft":false,"summary":"I started using computers with Windows and later switched to Linux. I didn't even realize my transition from using the term folder to directory. Yesterday, my crooked mind tricked me to research why folders are called directories in Linux.","author":"the2ndfloorguy","slug":"a-directory-is-not-a-folder"},{"title":"Prevent duplicate cron job running.","date":"2021-08-31T00:00:00.000Z","tags":["notes"],"draft":false,"summary":"Today, while working on an in-house project, I encountered a really interesting concurrency problem. I have scheduled a cron job to run every 30 minutes, but if the script takes more than 30 minutes to finish, another cron job started and these jobs started stacking up over each other. This essay discusses my approach to get rid of this interesting issue.","author":"the2ndfloorguy","slug":"prevent-duplicate-cron-job-running"},{"title":"3% Formula to invest in yourself.","date":"2021-08-29T00:00:00.000Z","tags":["personal"],"draft":false,"summary":"If you want to grow, you need to invest in yourself","author":"the2ndfloorguy","slug":"3-percent-formula-to-invest-in-yourself"},{"title":"What is latency? Let’s deep dive \u0026 understand possible ways to optimise it.","date":"2021-07-16T00:00:00.000Z","tags":["performance"],"draft":false,"summary":"Latency is yet another, a very important topic when we talk about backend engineering or networking. In this article, we will be discussing latency, it's importance and ways to optimise it in order to improve application performance.","author":"the2ndfloorguy","slug":"what-is-latency-lets-deep-dive-and-understand-possible-ways-to-optimise-it"},{"title":"Introducing Bestresources.co - Share \u0026 explore personal resources at one place!","date":"2021-06-30T00:00:00.000Z","tags":["personal","side hustles"],"draft":false,"summary":"The Web is crowded. So, I asked engineers from Google, Facebook, Uber etc to share their personal resources and built Bestresources.co","author":"the2ndfloorguy","slug":"introducing-bestresourcesco-share-and-explore-personal-resources-at-one-place"},{"title":"Have you ever thought, how ‘nodemon’ works internally? Let’s build our own ‘nodemon’ in under 10 minutes!","date":"2021-05-30T00:00:00.000Z","tags":["nodemon","javascript"],"draft":false,"summary":"If you have ever worked with Node.Js, you must have used a package called nodemon for development.But, have you ever thought about how it works internally? How would you proceed if you are asked to build a nodemon clone?","author":"the2ndfloorguy","slug":"have-you-ever-thought-how-nodemon-works-internally-lets-build-our-own-nodemon-in-under-10-minutes"},{"title":"The basics you need to know about Kafka [Graphic Explanation Ahead 🖥️]","date":"2021-05-15T00:00:00.000Z","tags":["apache kafka"],"draft":false,"summary":"Welcome to my Apache Kafka series. In this series, we will be, one by one covering, (with the help of interactive \u0026 friendly graphics) from the basic terminology to deep diving into the brilliant architecture behind the wonderful piece of software, Kafka.","author":"the2ndfloorguy","slug":"the-basics-you-need-to-know-about-kafka-graphic-explanation-ahead"},{"title":"How to implement WhatsApp like End-to-end encryption?","date":"2021-04-29T00:00:00.000Z","tags":["encryption"],"draft":false,"summary":"One of the WhatsApp key feature is end to end encryption of messages. In this article, we will quickly understand a simple implementation of WhatsApp like end to end message encryption.","author":"the2ndfloorguy","slug":"how-to-implement-whatsapp-like-end-to-end-encryption"},{"title":"Interesting analogy to understand synchronous, callback, and async-await (promises) approach like I am 10 Y Kid 🧒","date":"2021-04-23T00:00:00.000Z","tags":["javascript"],"draft":false,"summary":"Let's quickly understand the difference between synchronous, callback, and async-await (promises) approach like a 10 Year old Kid.","author":"the2ndfloorguy","slug":"interesting-analogy-to-understand-synchronous-callback-and-async-await-promises-approach-like-i-am-10-y-kid"},{"title":"How does Github store millions of repo and billions of files?","date":"2021-04-20T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Let's find out the architecture behind Github - world's largest code hosting platforms for collaboration and version control, storing millions of repo and billions of files.","author":"the2ndfloorguy","slug":"how-does-github-store-millions-of-repo-and-billions-of-files"},{"title":"How Instagram computes real-time trending hashtags ?","date":"2021-04-17T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Instagram has built a brilliant system in-house, to parse ~85M new photos and 700M hashtags everyday from over 500M users to compute realtime trending content. In this article, we will deep dive into how Instagram approached identifying, ranking and presenting the best trending hashtags realtime in the Instagram app.","author":"the2ndfloorguy","slug":"how-instagram-computes-real-time-trending-hashtags"},{"title":"Proxy vs Reverse Proxy - using a real life example!","date":"2021-03-24T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"I am sure, you must have heard of Proxy and reverse proxy server. This is a very important topic, when we talk about backend engineering \u0026 computer networking. Some times it's very confusing to find the exact difference between both of them.","author":"the2ndfloorguy","slug":"proxy-vs-reverse-proxy-using-a-real-life-example"},{"title":"System Design - Is client side load balancing a good idea?","date":"2021-03-15T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Client side load balancing is a barely touched area while designing systems. Is client side load balancing, a good idea?","author":"the2ndfloorguy","slug":"system-design-is-client-side-load-balancing-a-good-idea"},{"title":"Scalability Challenge - How to remove duplicates in a large data set (~100M) ?","date":"2021-03-08T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"Dealing with large datasets is often daunting. With limited computing resources, particularly memory, it can be challenging to perform even basic tasks like counting distinct elements, membership check, \u0026 filtering duplicate elements.","author":"the2ndfloorguy","slug":"scalability-challenge-how-to-remove-duplicates-in-a-large-data-set-100m"},{"title":"Generating unique IDs in a distributed environment at high scale.","date":"2021-02-18T00:00:00.000Z","tags":["system design"],"draft":false,"summary":"At a high scale, generating unique IDs is a really intresting system design problem to solve. Let's deep dive into possible methods with their pros and cons.","author":"the2ndfloorguy","slug":"generating-unique-ids-in-a-distributed-environment-at-high-scale"},{"title":"My journey - from python scripts to 20+ freelance full stack projects.","date":"2021-02-13T00:00:00.000Z","tags":["personal"],"draft":false,"summary":"Here is my journey from writing python scripts to a freelance full stack developer.","author":"the2ndfloorguy","slug":"my-journey-from-python-scripts-to-20-freelance-full-stack-projects"},{"title":"Convert number to Indian format number using Javascript.","date":"2021-01-12T00:00:00.000Z","tags":["javascript"],"draft":false,"summary":"Different countries have different conventions to display monetary values. Likewise, India follow Indian numbering convention. Let's checkout quickly, how to convert number to indian format number.","author":"the2ndfloorguy","slug":"convert-number-to-indian-format-number-using-javascript"},{"title":"Advantages \u0026 disadvantages of declaring JavaScript functions inside objects.","date":"2021-01-10T00:00:00.000Z","tags":["javaScript"],"draft":false,"summary":"Few days back, one of my friends was asked this question in his JS developer interview. There are several methods \u0026 coding techniques to write JavaScript functions.","author":"the2ndfloorguy","slug":"advantages-and-disadvantages-of-declaring-javascript-functions-inside-objects"},{"title":"Explain Microservices like I am 10.","date":"2021-01-10T00:00:00.000Z","tags":["microservices"],"draft":false,"summary":"Microservice architecture explained in the simplest way possible to understand by a 10 year kid","author":"the2ndfloorguy","slug":"explain-microservices-like-i-am-10"},{"title":"Possible ways to iterate a string in JavaScript.","date":"2021-01-10T00:00:00.000Z","tags":["javaScript"],"draft":false,"summary":"JavaScript is a commonly used language. Let's see some really intresting methods to iterate a string in JavaScript.","author":"the2ndfloorguy","slug":"possible-ways-to-iterate-a-string-in-javascript"}]},"__N_SSG":true},"page":"/","query":{},"buildId":"hxEh22otdZmRlVLjTl25J","isFallback":false,"gsp":true,"scriptLoader":[]}</script><next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap; overflow-wrap: normal;"></p></next-route-announcer><script src="https://www.googletagmanager.com/gtag/js?id=UA-205481997-1" data-nscript="lazyOnload"></script><script data-nscript="lazyOnload">
            window.dataLayer = window.dataLayer || [];
            function gtag(){dataLayer.push(arguments);}
            gtag('js', new Date());
            gtag('config', 'UA-205481997-1', {
              page_path: window.location.pathname,
            });
        </script><script src="/_next/static/chunks/framework-c73ba5496de9f26a8fc9.js"></script><script src="/_next/static/chunks/752-e6ec6d773e074dd5c37f.js"></script><script src="/_next/static/chunks/41-ea62b6e9ca4368115296.js"></script><script src="/_next/static/chunks/pages/blog/%5B...slug%5D-43a246b3c6cff1dc68bf.js"></script><script src="/_next/static/chunks/pages/blogs-eec333155b477269de94.js"></script><script src="/_next/static/chunks/pages/about-9d090bc05b006b312541.js"></script><script src="/_next/static/chunks/75fc9c18-540a544002197f33b2ea.js"></script><script src="/_next/static/chunks/722-22f9964a68117c755579.js"></script><script src="/_next/static/chunks/pages/open-dashboard-5cb22a9925b752f4e688.js"></script><script src="/_next/static/chunks/pages/side-hustles-7293724c28df7d87adc5.js"></script></body></html>