-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
4 lines (2 loc) · 36.3 KB
/
index.html
1
2
3
4
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.e1dc30a3601f3f545267.css" id="gatsby-global-css">@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:100;src:local("Montserrat Thin "),local("Montserrat-Thin"),url(/static/montserrat-latin-100-8d7d79679b70dbe27172b6460e7a7910.woff2) format("woff2"),url(/static/montserrat-latin-100-ec38980a9e0119a379e2a9b3dbb1901a.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:100;src:local("Montserrat Thin italic"),local("Montserrat-Thinitalic"),url(/static/montserrat-latin-100italic-e279051046ba1286706adc886cf1c96b.woff2) format("woff2"),url(/static/montserrat-latin-100italic-3b325a3173c8207435cd1b76e19bf501.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:200;src:local("Montserrat Extra Light "),local("Montserrat-Extra Light"),url(/static/montserrat-latin-200-9d266fbbfa6cab7009bd56003b1eeb67.woff2) format("woff2"),url(/static/montserrat-latin-200-2d8ba08717110d27122e54c34b8a5798.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:200;src:local("Montserrat Extra Light italic"),local("Montserrat-Extra Lightitalic"),url(/static/montserrat-latin-200italic-6e5b3756583bb2263eb062eae992735e.woff2) format("woff2"),url(/static/montserrat-latin-200italic-a0d6f343e4b536c582926255367a57da.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:local("Montserrat Light "),local("Montserrat-Light"),url(/static/montserrat-latin-300-00b3e893aab5a8fd632d6342eb72551a.woff2) format("woff2"),url(/static/montserrat-latin-300-ea303695ceab35f17e7d062f30e0173b.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:300;src:local("Montserrat Light italic"),local("Montserrat-Lightitalic"),url(/static/montserrat-latin-300italic-56f34ea368f6aedf89583d444bbcb227.woff2) format("woff2"),url(/static/montserrat-latin-300italic-54b0bf2c8c4c12ffafd803be2466a790.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:local("Montserrat Regular "),local("Montserrat-Regular"),url(/static/montserrat-latin-400-b71748ae4f80ec8c014def4c5fa8688b.woff2) format("woff2"),url(/static/montserrat-latin-400-0659a9f4e90db5cf51b50d005bff1e41.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:400;src:local("Montserrat Regular italic"),local("Montserrat-Regularitalic"),url(/static/montserrat-latin-400italic-6eed6b4cbb809c6efc7aa7ddad6dbe3e.woff2) format("woff2"),url(/static/montserrat-latin-400italic-7583622cfde30ae49086d18447ab28e7.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:local("Montserrat Medium "),local("Montserrat-Medium"),url(/static/montserrat-latin-500-091b209546e16313fd4f4fc36090c757.woff2) format("woff2"),url(/static/montserrat-latin-500-edd311588712a96bbf435fad264fff62.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:500;src:local("Montserrat Medium italic"),local("Montserrat-Mediumitalic"),url(/static/montserrat-latin-500italic-c90ced68b46050061d1a41842d6dfb43.woff2) format("woff2"),url(/static/montserrat-latin-500italic-5146cbfe02b1deea5dffea27a5f2f998.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:local("Montserrat SemiBold "),local("Montserrat-SemiBold"),url(/static/montserrat-latin-600-0480d2f8a71f38db8633b84d8722e0c2.woff2) format("woff2"),url(/static/montserrat-latin-600-b77863a375260a05dd13f86a1cee598f.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:600;src:local("Montserrat SemiBold italic"),local("Montserrat-SemiBolditalic"),url(/static/montserrat-latin-600italic-cf46ffb11f3a60d7df0567f8851a1d00.woff2) format("woff2"),url(/static/montserrat-latin-600italic-c4fcfeeb057724724097167e57bd7801.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:local("Montserrat Bold "),local("Montserrat-Bold"),url(/static/montserrat-latin-700-7dbcc8a5ea2289d83f657c25b4be6193.woff2) format("woff2"),url(/static/montserrat-latin-700-99271a835e1cae8c76ef8bba99a8cc4e.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:700;src:local("Montserrat Bold italic"),local("Montserrat-Bolditalic"),url(/static/montserrat-latin-700italic-c41ad6bdb4bd504a843d546d0a47958d.woff2) format("woff2"),url(/static/montserrat-latin-700italic-6779372f04095051c62ed36bc1dcc142.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:local("Montserrat ExtraBold "),local("Montserrat-ExtraBold"),url(/static/montserrat-latin-800-db9a3e0ba7eaea32e5f55328ace6cf23.woff2) format("woff2"),url(/static/montserrat-latin-800-4e3c615967a2360f5db87d2f0fd2456f.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:local("Montserrat ExtraBold italic"),local("Montserrat-ExtraBolditalic"),url(/static/montserrat-latin-800italic-bf45bfa14805969eda318973947bc42b.woff2) format("woff2"),url(/static/montserrat-latin-800italic-fe82abb0bcede51bf724254878e0c374.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:local("Montserrat Black "),local("Montserrat-Black"),url(/static/montserrat-latin-900-e66c7edc609e24bacbb705175669d814.woff2) format("woff2"),url(/static/montserrat-latin-900-8211f418baeb8ec880b80ba3c682f957.woff) format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:local("Montserrat Black italic"),local("Montserrat-Blackitalic"),url(/static/montserrat-latin-900italic-4454c775e48152c1a72510ceed3603e2.woff2) format("woff2"),url(/static/montserrat-latin-900italic-efcaa0f6a82ee0640b83a0916e6e8d68.woff) format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:local("Merriweather Light "),local("Merriweather-Light"),url(/static/merriweather-latin-300-fc117160c69a8ea0851b26dd14748ee4.woff2) format("woff2"),url(/static/merriweather-latin-300-58b18067ebbd21fda77b67e73c241d3b.woff) format("woff")}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:local("Merriweather Light italic"),local("Merriweather-Lightitalic"),url(/static/merriweather-latin-300italic-fe29961474f8dbf77c0aa7b9a629e4bc.woff2) format("woff2"),url(/static/merriweather-latin-300italic-23c3f1f88683618a4fb8d265d33d383a.woff) format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:local("Merriweather Regular "),local("Merriweather-Regular"),url(/static/merriweather-latin-400-d9479e8023bef9cbd9bf8d6eabd6bf36.woff2) format("woff2"),url(/static/merriweather-latin-400-040426f99ff6e00b86506452e0d1f10b.woff) format("woff")}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:400;src:local("Merriweather Regular italic"),local("Merriweather-Regularitalic"),url(/static/merriweather-latin-400italic-2de7bfeaf08fb03d4315d49947f062f7.woff2) format("woff2"),url(/static/merriweather-latin-400italic-79db67aca65f5285964ab332bd65f451.woff) format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:700;src:local("Merriweather Bold "),local("Merriweather-Bold"),url(/static/merriweather-latin-700-4b08e01d805fa35d7bf777f1b24314ae.woff2) format("woff2"),url(/static/merriweather-latin-700-22fb8afba4ab1f093b6ef9e28a9b6e92.woff) format("woff")}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:700;src:local("Merriweather Bold italic"),local("Merriweather-Bolditalic"),url(/static/merriweather-latin-700italic-cd92541b177652fffb6e3b952f1c33f1.woff2) format("woff2"),url(/static/merriweather-latin-700italic-f87f3d87cea0dd0979bfc8ac9ea90243.woff) format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:900;src:local("Merriweather Black "),local("Merriweather-Black"),url(/static/merriweather-latin-900-f813fc6a4bee46eda5224ac7ebf1b7be.woff2) format("woff2"),url(/static/merriweather-latin-900-5d4e42cb44410674acd99153d57df032.woff) format("woff")}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:900;src:local("Merriweather Black italic"),local("Merriweather-Blackitalic"),url(/static/merriweather-latin-900italic-b7901d85486871c1779c0e93ddd85656.woff2) format("woff2"),url(/static/merriweather-latin-900italic-9647f9fdab98756989a8a5550eb205c3.woff) format("woff")}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden]{display:none}:root{--maxWidth-none:"none";--maxWidth-xs:20rem;--maxWidth-sm:24rem;--maxWidth-md:28rem;--maxWidth-lg:32rem;--maxWidth-xl:36rem;--maxWidth-2xl:42rem;--maxWidth-3xl:48rem;--maxWidth-4xl:56rem;--maxWidth-full:"100%";--maxWidth-wrapper:var(--maxWidth-2xl);--spacing-px:"1px";--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--fontFamily-sans:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--fontFamily-serif:"Merriweather","Georgia",Cambria,"Times New Roman",Times,serif;--font-body:var(--fontFamily-serif);--font-heading:var(--fontFamily-sans);--fontWeight-normal:400;--fontWeight-medium:500;--fontWeight-semibold:600;--fontWeight-bold:700;--fontWeight-extrabold:800;--fontWeight-black:900;--fontSize-root:16px;--lineHeight-none:1;--lineHeight-tight:1.1;--lineHeight-normal:1.5;--lineHeight-relaxed:1.625;--fontSize-0:0.833rem;--fontSize-1:1rem;--fontSize-2:1.2rem;--fontSize-3:1.44rem;--fontSize-4:1.728rem;--fontSize-5:2.074rem;--fontSize-6:2.488rem;--fontSize-7:2.986rem;--color-primary:#005b99;--color-text:#2e353f;--color-text-light:#4f5969;--color-heading:#1a202c;--color-heading-black:#000;--color-accent:#d1dce5}*,:after,:before{box-sizing:border-box}html{line-height:var(--lineHeight-normal);font-size:var(--fontSize-root);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--fontSize-1);color:var(--color-text)}footer{padding:var(--spacing-6) var(--spacing-0)}hr{background:var(--color-accent);height:1px;border:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-top:var(--spacing-12);margin-bottom:var(--spacing-6);line-height:var(--lineHeight-tight);letter-spacing:-.025em}h2,h3,h4,h5,h6{font-weight:var(--fontWeight-bold);color:var(--color-heading)}h1{font-weight:var(--fontWeight-black);font-size:var(--fontSize-6);color:var(--color-heading-black)}h2{font-size:var(--fontSize-5)}h3{font-size:var(--fontSize-4)}h4{font-size:var(--fontSize-3)}h5{font-size:var(--fontSize-2)}h6{font-size:var(--fontSize-1)}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{color:inherit;text-decoration:none}p{line-height:var(--lineHeight-relaxed);--baseline-multiplier:0.179;--x-height-multiplier:0.35;margin:var(--spacing-0) var(--spacing-0) var(--spacing-8) var(--spacing-0)}ol,p,ul{padding:var(--spacing-0)}ol,ul{margin-left:var(--spacing-0);margin-right:var(--spacing-0);margin-bottom:var(--spacing-8);list-style-position:outside;list-style-image:none}ol li,ul li{padding-left:var(--spacing-0)}li>p,ol li,ul li{margin-bottom:calc(var(--spacing-8)/2)}li :last-child{margin-bottom:var(--spacing-0)}li>ul{margin-left:var(--spacing-8);margin-top:calc(var(--spacing-8)/2)}blockquote{color:var(--color-text-light);margin-left:calc(var(--spacing-6)*-1);margin-right:var(--spacing-8);padding:var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-6);border-left:var(--spacing-1) solid var(--color-primary);font-size:var(--fontSize-2);font-style:italic;margin-bottom:var(--spacing-8)}blockquote>:last-child{margin-bottom:var(--spacing-0)}blockquote>ol,blockquote>ul{list-style-position:inside}table{width:100%;margin-bottom:var(--spacing-8);border-collapse:collapse;border-spacing:.25rem}table thead tr th{border-bottom:1px solid var(--color-accent)}a{color:var(--color-primary)}a:focus,a:hover{text-decoration:none}.global-wrapper{margin:var(--spacing-0) auto;max-width:var(--maxWidth-wrapper);padding:var(--spacing-10) var(--spacing-5)}.global-wrapper[data-is-root-path=true] .bio{margin-bottom:var(--spacing-20)}.global-header{margin-bottom:var(--spacing-12)}.main-heading{font-size:var(--fontSize-7);margin:0}.post-list-item{margin-bottom:var(--spacing-8);margin-top:var(--spacing-8)}.post-list-item p{margin-bottom:var(--spacing-0)}.post-list-item h2{font-size:var(--fontSize-4);color:var(--color-primary);margin-bottom:var(--spacing-2);margin-top:var(--spacing-0)}.post-list-item header{margin-bottom:var(--spacing-4)}.header-link-home{font-weight:var(--fontWeight-bold);font-family:var(--font-heading);text-decoration:none;font-size:var(--fontSize-2)}.bio{display:flex;margin-bottom:var(--spacing-16)}.bio-avatar,.bio p{margin-bottom:var(--spacing-0)}.bio-avatar{margin-right:var(--spacing-4);min-width:50px;border-radius:100%}.blog-post header h1{margin:var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0)}.blog-post header p{font-size:var(--fontSize-2);font-family:var(--font-heading)}.blog-post-nav ul{margin:var(--spacing-0)}.gatsby-highlight{margin-bottom:var(--spacing-8)}@media (max-width:42rem){blockquote{padding:var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-4);margin-left:var(--spacing-0)}ol,ul{list-style-position:inside}}code[class*=language-],pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}</style><meta name="generator" content="Gatsby 3.0.1"/><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper img{all:inherit;bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){if(void 0===e.target.dataset.mainImage)return;if(void 0===e.target.dataset.gatsbyImageSsr)return;const t=e.target;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><link rel="alternate" type="application/rss+xml" href="/rss.xml"/><link rel="icon" href="/favicon-32x32.png?v=77726945cc670b3850178cfb247d9b32" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><meta name="theme-color" content="#663399"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=77726945cc670b3850178cfb247d9b32"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=77726945cc670b3850178cfb247d9b32"/><title data-react-helmet="true">All posts | bwake blog</title><meta data-react-helmet="true" name="description" content="Technical Blogs and Portfolio Projects by Davis Bwake"/><meta data-react-helmet="true" property="og:title" content="All posts"/><meta data-react-helmet="true" property="og:description" content="Technical Blogs and Portfolio Projects by Davis Bwake"/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:creator" content="bwakedavis"/><meta data-react-helmet="true" name="twitter:title" content="All posts"/><meta data-react-helmet="true" name="twitter:description" content="Technical Blogs and Portfolio Projects by Davis Bwake"/><link as="script" rel="preload" href="/webpack-runtime-c224cb8b1a6dfa945e64.js"/><link as="script" rel="preload" href="/framework-c4b9952841844d9091bc.js"/><link as="script" rel="preload" href="/app-fc27099c19fdcfa95e47.js"/><link as="script" rel="preload" href="/1943edf48358ec375759a10206b57d36c98a5e6d-adc141fb1b337618cf0f.js"/><link as="script" rel="preload" href="/component---src-pages-index-js-f89823b3184a939f1c2a.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/2841359383.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/3257411868.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="global-wrapper" data-is-root-path="true"><header class="global-header"><div><h1 class="main-heading"><a aria-current="page" class="" href="/">bwake blog</a></h1></div></header><main><div><div class="bio"><div data-gatsby-image-wrapper="" style="width:50px;height:50px" class="gatsby-image-wrapper bio-avatar"><div aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear;background-color:#484808;width:50px;height:50px;position:relative"></div><picture><source type="image/avif" srcSet="/static/d2b642998f369ddb421b88e0bce1a5d0/d4bf4/profile-pic.avif 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/ee81f/profile-pic.avif 100w" sizes="50px"/><source type="image/webp" srcSet="/static/d2b642998f369ddb421b88e0bce1a5d0/3faea/profile-pic.webp 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/6a679/profile-pic.webp 100w" sizes="50px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="50px" decoding="async" loading="lazy" data-src="/static/d2b642998f369ddb421b88e0bce1a5d0/e5610/profile-pic.png" data-srcset="/static/d2b642998f369ddb421b88e0bce1a5d0/e5610/profile-pic.png 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/e9b55/profile-pic.png 100w" alt="Profile picture"/></picture><noscript><picture><source type="image/avif" srcSet="/static/d2b642998f369ddb421b88e0bce1a5d0/d4bf4/profile-pic.avif 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/ee81f/profile-pic.avif 100w" sizes="50px"/><source type="image/webp" srcSet="/static/d2b642998f369ddb421b88e0bce1a5d0/3faea/profile-pic.webp 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/6a679/profile-pic.webp 100w" sizes="50px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="50px" decoding="async" loading="lazy" src="/static/d2b642998f369ddb421b88e0bce1a5d0/e5610/profile-pic.png" srcSet="/static/d2b642998f369ddb421b88e0bce1a5d0/e5610/profile-pic.png 50w,/static/d2b642998f369ddb421b88e0bce1a5d0/e9b55/profile-pic.png 100w" alt="Profile picture"/></picture></noscript><script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t)e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset")),e.complete&&(e.style.opacity=1)}</script></div><p>Written by <strong>Davis Bwake</strong> <!-- -->A fullstack developer who likes JavaScript and everything web 3.0(BlockChain..)<!-- --> <a href="https://twitter.com/bwakedavis">follow me on twitter</a></p></div><div><p>My tech stack is HTML, CSS,JavaScript, ReactJS, NodeJS, Solidity</p><p>Am currently open to remote job oppurtunities.</p><p>Checkout my <a href="/projects">projects</a></p><p><a href="https://www.youtube.com/c/DavisBwake">YouTube</a></p></div></div><ol style="list-style:none"><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/python/"><span itemProp="headline">python</span></a></h2><small>May 27, 2022</small></header><section><p itemProp="description">python programming and scripting</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/project_management/"><span itemProp="headline">Program management</span></a></h2><small>May 20, 2022</small></header><section><p itemProp="description">what am learning on project management</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/it_support/"><span itemProp="headline">IT Support</span></a></h2><small>May 20, 2022</small></header><section><p itemProp="description">what am learning on IT support</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/shell_scripting/"><span itemProp="headline">shell scripting</span></a></h2><small>May 12, 2022</small></header><section><p itemProp="description">scripting</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/webrtc/"><span itemProp="headline">understanding webRTC</span></a></h2><small>February 10, 2021</small></header><section><p itemProp="description">WEBRTC Browser API</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/typescript/"><span itemProp="headline">learn TypeScript</span></a></h2><small>January 03, 2021</small></header><section><p itemProp="description">TypeScript is a superset of JavaScript that extends JavaScript by adding types. It saves you time by catching the errors before you run the code.It compiles down to JavaScript. Let's dive in and see how this JavaScript with types look like.</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/data-structures-in-js/"><span itemProp="headline">data structures and algorithms in JavaScript</span></a></h2><small>December 10, 2020</small></header><section><p itemProp="description">Data Structures and Algorithms are important concepts in Computer Science and often come up in software development and related roles interview questions.Let's dive and start learning using javaScript</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/solidity/"><span itemProp="headline">learn Solidity - smart contract oriented language</span></a></h2><small>November 03, 2020</small></header><section><p itemProp="description">Solidity is an object-oriented, high-level language for implementing smart contracts. It's designed to target the Ethereum Virtual Machine to implement Smart Contracts. It's influenced by C++, Python and JavaScript. So it will be easy to pick if you're familiar with any of the languages.</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/pwa/"><span itemProp="headline">progressive web apps(PWA)</span></a></h2><small>September 03, 2020</small></header><section><p itemProp="description">progressive web applications</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/reacthooks/"><span itemProp="headline">a walk through react hooks</span></a></h2><small>September 03, 2020</small></header><section><p itemProp="description">React Hooks</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/reactjs/"><span itemProp="headline">a walk through reactjs</span></a></h2><small>September 03, 2020</small></header><section><p itemProp="description">React JS is a open source frontend JavaScript library that focuses on building reach user interfaces.It was created and maintained by Facebook</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/redux/"><span itemProp="headline">a walk through redux with react</span></a></h2><small>September 03, 2020</small></header><section><p itemProp="description">Redux is state management library</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/mariadb/"><span itemProp="headline">how to install mariadb on linux debian</span></a></h2><small>June 12, 2020</small></header><section><p itemProp="description">Mysql has given me a hard time setting it up everything I have a fresh install on my machine.Lets take a look on how we can set it up and trouble shoot in case you run into errors</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/nodejs/"><span itemProp="headline">learn nodejS</span></a></h2><small>June 12, 2020</small></header><section><p itemProp="description">Learn Nodejs</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/sass/"><span itemProp="headline">learn sass</span></a></h2><small>June 12, 2020</small></header><section><p itemProp="description">Syntactically Awesome Stylesheet</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/devops/"><span itemProp="headline">learn devops</span></a></h2><small>May 12, 2020</small></header><section><p itemProp="description">Devops is an important part of software development that links software development and production</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/regex/"><span itemProp="headline">Regex</span></a></h2><small>May 12, 2020</small></header><section><p itemProp="description">Regular expressions</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/rust/"><span itemProp="headline">learn Rust lang</span></a></h2><small>May 12, 2020</small></header><section><p itemProp="description">Rust programming language is a low level language developed at Mozilla.</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/ui-ux/"><span itemProp="headline">user experience(UX) and user interface design(UI)</span></a></h2><small>May 02, 2020</small></header><section><p itemProp="description">User Experience and User Interface Design are important elements in development of any product</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/ethereum/"><span itemProp="headline">understand ethereum and it's wide ecosystem</span></a></h2><small>May 02, 2020</small></header><section><p itemProp="description">Ethereum is the second most popular blockchain after the one that runs on Bitcoin. It's value token is called Ether</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/bitcoin/"><span itemProp="headline">learn all things bitcoin</span></a></h2><small>April 13, 2020</small></header><section><p itemProp="description">I guess you have heard of Bitcoin almost anywhere.It's all over and has been since it's inception.In this article we're going to dive into it's fundamentals to the advanced tech it's built on</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/blockchain/"><span itemProp="headline">understand blockchain technology</span></a></h2><small>April 12, 2020</small></header><section><p itemProp="description">Blockchain technology brought to the limelight by Bitcoin implementation is a promising tech that will power the important part of Web 3.0. Lets take a look at the confusing parts of the BlockChain Technology.</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/java/"><span itemProp="headline">learn java</span></a></h2><small>May 06, 2019</small></header><section><p itemProp="description">java</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/git-cheat-sheet/"><span itemProp="headline">git cheat sheet</span></a></h2><small>February 21, 2019</small></header><section><p itemProp="description">Git is a free open source distributed version control tool that tracks changes in your file. As a developer believe me you need it more than anything else ('Just kidding 😛'). But its important.</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/vscode_shortcuts/"><span itemProp="headline">vscode shortcuts</span></a></h2><small>February 21, 2019</small></header><section><p itemProp="description">Visual studio code shortcuts</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/webdev_path/"><span itemProp="headline">web development road map</span></a></h2><small>February 21, 2019</small></header><section><p itemProp="description">Visual studio code shortcuts</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/html_css/"><span itemProp="headline">HTML</span></a></h2><small>December 27, 2018</small></header><section><p itemProp="description">HyperText Markup Language</p></section></article></li><li><article class="post-list-item" itemscope="" itemType="http://schema.org/Article"><header><h2><a itemProp="url" href="/javascript/"><span itemProp="headline">learn JavaScript</span></a></h2><small>December 27, 2018</small></header><section><p itemProp="description">JavaScript is a scripting language developed to add functionality in the browser. It's use nowadays extends building mobile apps, creating servers, building desktop apps etc</p></section></article></li></ol></main><footer>copyright <!-- -->2022<!-- --> <a href="https://www.github.com/bwakedavis">Github</a></footer></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-c2e4e94a66c06c4d0f01.js"],"app":["/app-fc27099c19fdcfa95e47.js"],"component---cache-caches-gatsby-plugin-offline-app-shell-js":["/component---cache-caches-gatsby-plugin-offline-app-shell-js-44e6c687a88026cfc124.js"],"component---src-pages-404-js":["/component---src-pages-404-js-97593667e44e4660bc60.js"],"component---src-pages-index-js":["/component---src-pages-index-js-f89823b3184a939f1c2a.js"],"component---src-pages-projects-js":["/component---src-pages-projects-js-d24df7d91dcddc4ecf31.js"],"component---src-pages-using-typescript-tsx":["/component---src-pages-using-typescript-tsx-ec89e82605e2a0c5e9c7.js"],"component---src-templates-blog-post-js":["/component---src-templates-blog-post-js-16a57855615d2289e2b5.js"]};/*]]>*/</script><script src="/polyfill-c2e4e94a66c06c4d0f01.js" nomodule=""></script><script src="/component---src-pages-index-js-f89823b3184a939f1c2a.js" async=""></script><script src="/1943edf48358ec375759a10206b57d36c98a5e6d-adc141fb1b337618cf0f.js" async=""></script><script src="/app-fc27099c19fdcfa95e47.js" async=""></script><script src="/framework-c4b9952841844d9091bc.js" async=""></script><script src="/webpack-runtime-c224cb8b1a6dfa945e64.js" async=""></script></body></html>