<!DOCTYPE html><html lang="en-us"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/css/e83a83866530e6c0dd24.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e83a83866530e6c0dd24.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d09fb21500fbc2907e53.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d09fb21500fbc2907e53.css" data-n-p=""/><noscript data-n-css=""></noscript><link rel="preload" href="/_next/static/chunks/main-90ab2749f3c16d23d688.js" as="script"/><link rel="preload" href="/_next/static/chunks/webpack-37a4e8b6a552f22c2013.js" as="script"/><link rel="preload" href="/_next/static/chunks/framework.2cf68ac8b1972a03b3ba.js" as="script"/><link rel="preload" href="/_next/static/chunks/29107295.ca1ed60b47b20bd60cd1.js" as="script"/><link rel="preload" href="/_next/static/chunks/2cb1909fdf11b7800ac87690e4ca86e9e2b1451c.9242e374fd2eca02c1da.js" as="script"/><link rel="preload" href="/_next/static/chunks/28eee61c7649f3f553e2aaab73ce0b1b9f96c03e.7ca2c3fd00122bcd6f21.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/_app-c42652508cd5fdfd31be.js" as="script"/><link rel="preload" href="/_next/static/chunks/397dacf14b2c7af4152a5b0d8e89402a801c00bc.c3d60b952ee11271376f.js" as="script"/><link rel="preload" href="/_next/static/chunks/d5ea8122a55cbb3ca1e19bab1ebebd0a82823d4e.80464165693de305eebc.js" as="script"/><link rel="preload" href="/_next/static/chunks/c651464ff313818fcde20a5a74fcf40ede9dc3ce.0d8a9af44982c24dc21d.js" as="script"/><link rel="preload" href="/_next/static/chunks/8b4bc019cd276f1d7ca3a5147186a636e57afc0c.8dac9cc9ee9a741365ab.js" as="script"/><link rel="preload" href="/_next/static/chunks/262a9977181b16f4ccb39b2f4f55903bb9ad6e80.6becf7049e73be8311b6.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/blog/%5Bslug%5D-cdf06c724be72c3e1a48.js" as="script"/><style>
      div.notion-topbar > div > div:nth-child(3) { display: none !important; }
      div.notion-topbar > div > div:nth-child(4) { display: none !important; }
      div.notion-topbar > div > div:nth-child(5) { display: none !important; }
      div.notion-topbar > div > div:nth-child(6) { display: none !important; }
      div.notion-topbar-mobile > div:nth-child(3) { display: none !important; }
      div.notion-topbar-mobile > div:nth-child(4) { display: none !important; }
      div.notion-topbar > div > div:nth-child(1n).toggle-mode { display: block !important; }
      div.notion-topbar-mobile > div:nth-child(1n).toggle-mode { display: block !important; }
      </style></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{},"__N_SSG":true},"page":"/blog/[slug]","query":{"slug":"[slug]"},"buildId":"xatUJNjMOPSwCmZD7BBB3","nextExport":false,"isFallback":true,"gsp":true,"locale":"en-us","locales":["en-us","es-es","es-la","fr-fr","ja-jp","ko","ko-kr","pt-br","zh-cn","zh-tw"],"defaultLocale":"en-us"}</script><script nomodule="" src="/_next/static/chunks/polyfills-ce6cd58f67e30ad2f5c8.js"></script><script src="/_next/static/chunks/main-90ab2749f3c16d23d688.js" async=""></script><script src="/_next/static/chunks/webpack-37a4e8b6a552f22c2013.js" async=""></script><script src="/_next/static/chunks/framework.2cf68ac8b1972a03b3ba.js" async=""></script><script src="/_next/static/chunks/29107295.ca1ed60b47b20bd60cd1.js" async=""></script><script src="/_next/static/chunks/2cb1909fdf11b7800ac87690e4ca86e9e2b1451c.9242e374fd2eca02c1da.js" async=""></script><script src="/_next/static/chunks/28eee61c7649f3f553e2aaab73ce0b1b9f96c03e.7ca2c3fd00122bcd6f21.js" async=""></script><script src="/_next/static/chunks/pages/_app-c42652508cd5fdfd31be.js" async=""></script><script src="/_next/static/chunks/397dacf14b2c7af4152a5b0d8e89402a801c00bc.c3d60b952ee11271376f.js" async=""></script><script src="/_next/static/chunks/d5ea8122a55cbb3ca1e19bab1ebebd0a82823d4e.80464165693de305eebc.js" async=""></script><script src="/_next/static/chunks/c651464ff313818fcde20a5a74fcf40ede9dc3ce.0d8a9af44982c24dc21d.js" async=""></script><script src="/_next/static/chunks/8b4bc019cd276f1d7ca3a5147186a636e57afc0c.8dac9cc9ee9a741365ab.js" async=""></script><script src="/_next/static/chunks/262a9977181b16f4ccb39b2f4f55903bb9ad6e80.6becf7049e73be8311b6.js" async=""></script><script src="/_next/static/chunks/pages/blog/%5Bslug%5D-cdf06c724be72c3e1a48.js" async=""></script><script src="/_next/static/xatUJNjMOPSwCmZD7BBB3/_buildManifest.js" async=""></script><script src="/_next/static/xatUJNjMOPSwCmZD7BBB3/_ssgManifest.js" async=""></script><div style="display:none">Powered by <a href="http://fruitionsite.com">Fruition</a></div>
      <script>
      window.CONFIG.domainBaseUrl = 'https://frnong.com';
      const SLUG_TO_PAGE = {"":"F-r-nong-f4e665eb214c4fce9c1f6b63b0f631ab"};
      const PAGE_TO_SLUG = {};
      const slugs = [];
      const pages = [];
      const el = document.createElement('div');
      let redirected = false;
      Object.keys(SLUG_TO_PAGE).forEach(slug => {
        const page = SLUG_TO_PAGE[slug];
        slugs.push(slug);
        pages.push(page);
        PAGE_TO_SLUG[page] = slug;
      });
      function getPage() {
        return location.pathname.slice(-32);
      }
      function getSlug() {
        return location.pathname.slice(1);
      }
      function updateSlug() {
        const slug = PAGE_TO_SLUG[getPage()];
        if (slug != null) {
          history.replaceState(history.state, '', '/' + slug);
        }
      }
      function onDark() {
        el.innerHTML = '<div title="Change to Light Mode" style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgb(46, 170, 220); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(12px) translateY(0px);"></div></div></div></div>';
        document.body.classList.add('dark');
        __console.environment.ThemeStore.setState({ mode: 'dark' });
      };
      function onLight() {
        el.innerHTML = '<div title="Change to Dark Mode" style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgba(135, 131, 120, 0.3); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(0px) translateY(0px);"></div></div></div></div>';
        document.body.classList.remove('dark');
        __console.environment.ThemeStore.setState({ mode: 'light' });
      }
      function toggle() {
        if (document.body.classList.contains('dark')) {
          onLight();
        } else {
          onDark();
        }
      }
      function addDarkModeButton(device) {
        const nav = device === 'web' ? document.querySelector('.notion-topbar').firstChild : document.querySelector('.notion-topbar-mobile');
        el.className = 'toggle-mode';
        el.addEventListener('click', toggle);
        nav.appendChild(el);
        onLight();
      }
      const observer = new MutationObserver(function() {
        if (redirected) return;
        const nav = document.querySelector('.notion-topbar');
        const mobileNav = document.querySelector('.notion-topbar-mobile');
        if (nav && nav.firstChild && nav.firstChild.firstChild
          || mobileNav && mobileNav.firstChild) {
          redirected = true;
          updateSlug();
          addDarkModeButton(nav ? 'web' : 'mobile');
          const onpopstate = window.onpopstate;
          window.onpopstate = function() {
            if (slugs.includes(getSlug())) {
              const page = SLUG_TO_PAGE[getSlug()];
              if (page) {
                history.replaceState(history.state, 'bypass', '/' + page);
              }
            }
            onpopstate.apply(this, [].slice.call(arguments));
            updateSlug();
          };
        }
      });
      observer.observe(document.querySelector('#notion-app'), {
        childList: true,
        subtree: true,
      });
      const replaceState = window.history.replaceState;
      window.history.replaceState = function(state) {
        if (arguments[1] !== 'bypass' && slugs.includes(getSlug())) return;
        return replaceState.apply(window.history, arguments);
      };
      const pushState = window.history.pushState;
      window.history.pushState = function(state) {
        const dest = new URL(location.protocol + location.host + arguments[2]);
        const id = dest.pathname.slice(-32);
        if (pages.includes(id)) {
          arguments[2] = '/' + PAGE_TO_SLUG[id];
        }
        return pushState.apply(window.history, arguments);
      };
      const open = window.XMLHttpRequest.prototype.open;
      window.XMLHttpRequest.prototype.open = function() {
        arguments[1] = arguments[1].replace('frnong.com', 'www.notion.so');
        return open.apply(this, [].slice.call(arguments));
      };
    </script></body></html>