1<!DOCTYPE html><html itemscope itemtype="http://schema.org/WebPage" lang="en"><head><meta content="text/html;charset=utf-8" http-equiv="content-type"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="width=device-width,initial-scale=1" name="viewport" id="viewport"><style type="text/css">svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}
1.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}</style><link href="/images/favicon/apple-icon-57x57.png" rel="apple-touch-icon" sizes="57x57"><link href="/images/favicon/apple-icon-60x60.png" rel="apple-touch-icon" sizes="60x60"><link href="/images/favicon/apple-icon-72x72.png" rel="apple-touch-icon" sizes="72x72"><link href="/images/favicon/apple-icon-76x76.png" rel="apple-touch-icon" sizes="76x76"><link href="/images/favicon/apple-icon-114x114.png" rel="apple-touch-icon" sizes="114x114"><link href="/images/favicon/apple-icon-120x120.png" rel="apple-touch-icon" sizes="120x120"><link href="/images/favicon/apple-icon-144x144.png" rel="apple-touch-icon" sizes="144x144"><link href="/images/favicon/apple-icon-152x152.png" rel="apple-touch-icon" sizes="152x152"><link href="/images/favicon/apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"><link href="/images/favicon/android-icon-192x192.png" rel="icon" sizes="192x192" type="image/png"><link href="/images/favicon/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"><link href="/images/favicon/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"><link href="/images/favicon/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"><link href="/images/favicon/manifest.json" rel="manifest"><meta content="#ffffff" name="msapplication-TileColor"><meta content="/images/favicon/ms-icon-144x144.png" name="msapplication-TileImage"><meta content="#ffffff" name="theme-color"><link href="/" rel="canonical"><link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900" rel="stylesheet" async><link href="/static/css/main.28570286.chunk.css" rel="stylesheet"><link href="http://fonts.googleapis.com" rel="preconnect">
1<script src="/static/js/7.3fc59088.chunk.js" charset="utf-8"></script>
1<script src="/static/js/5.af677885.chunk.js" charset="utf-8"></script>
1<title>Projects | Long Nguyen</title><link href="https://www.google-analytics.com" rel="preconnect"><link href="http://fonts.gstatic.com" rel="preconnect"><meta content="Learn about Long Nguyen's projects." name="description" data-react-helmet="true"></head><body><div id="root"><div id="wrapper"><header id="header"><h1 class="index-link"><a href="/">Long Nguyen</a></h1><nav class="links"><ul><li><a href="/about">About</a></li><li><a href="/resume">Resume</a></li><li><a href="/projects">Projects</a></li><li><a href="/contact">Contact</a></li></ul></nav><div class="hamburger-container"><nav class="main" id="hambuger-nav"><ul><li class="menu open-menu"><div class="menu-hover">â°</div></li></ul></nav><div><div class="bm-overlay" style="position:fixed;z-index:1000;width:100%;height:100%;background:rgba(0,0,0,.3);opacity:0;transform:translate3d(100%,0,0);transition:opacity .3s ease 0s,transform 0s ease .3s"></div><div><div class="bm-burger-button" style="z-index:1000"><button id="react-burger-menu-btn" style="position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:none;font-size:0;background:0 0;cursor:pointer">Open Menu</button><span><span style="position:absolute;height:20%;left:0;right:0;top:0;opacity:1" class="bm-burger-bars"></span><span style="position:absolute;height:20%;left:0;right:0;top:40%;opacity:1" class="bm-burger-bars"></span><span style="position:absolute;height:20%;left:0;right:0;top:80%;opacity:1" class="bm-burger-bars"></span></span></div></div><div class="bm-menu-wrap" style="position:fixed;right:0;z-index:1100;width:300px;height:100%;transform:translate3d(100%,0,0);transition:all .5s ease 0s" aria-hidden="true" id=""><div class="bm-menu" style="height:100%;box-sizing:border-box;overflow:auto"><nav class="bm-item-list" style="height:100%"><ul class="bm-item hamburger-ul" style="display:block" tabindex="-1"><li><a href="/"><h3 class="index-li">Long Nguyen</h3></a></li><li><a href="/about"><h3>About</h3></a></li><li><a href="/resume"><h3>Resume</h3></a></li><li><a href="/projects"><h3>Projects</h3></a></li><li><a href="/contact"><h3>Contact</h3></a></li></ul></nav></div><div><div class="bm-cross-button" style="position:absolute;width:24px;height:24px;right:8px;top:8px"><button id="react-burger-cross-btn" style="position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:none;font-size:0;background:0 0;cursor:pointer" tabindex="-1">Close Menu</button><span style="position:absolute;top:6px;right:14px"><span style="position:absolute;width:3px;height:14px;transform:rotate(45deg)" class="bm-cross"></span><span style="position:absolute;width:3px;height:14px;transform:rotate(-45deg)" class="bm-cross"></span></span></div></div></div></div></div></header><div id="main"><article class="post" id="projects"><header><div class="title"><h2 data-testid="heading"><a href="/projects">Projects</a></h2><p>A selection of projects that I'm not too ashamed of</p></div></header><div class="cell-container"><article class="mini-post"><header><h3><a href="https://nlhlong01.github.io/playground">2D Random Forest Playground</a></h3><time class="published">August, 2020</time></header><a href="https://nlhlong01.github.io/playground" class="image"><img alt="2D Random Forest Playground" src="/images/projects/randomforest2d.jpg"></a><div class="description"><p>A web-based playground for visualizing classification and regression result of Random Forest and Decision Tree with small (300-point, 2-dimensional) datasets. The app is built on the Tensorflow Playground. Its UI design is inspired by the Gradient Boosting Playground. It is deployed on my universityâs domain and serve as an educative tool for professors in my department who want to quickly demonstrate these Machine Learning algorithms.</p></div></article></div><div class="cell-container"><article class="mini-post"><header><h3><a href="https://nlhlong01.github.io/playground/rf1d.html">1D Random Forest Playground</a></h3><time class="published">October, 2020</time></header><a href="https://nlhlong01.github.io/playground/rf1d.html" class="image"><img alt="1D Random Forest Playground" src="/images/projects/randomforest1d.jpg"></a><div class="description"><p>An application which is part of the above project except its input data has only 1 dimension, which makes regression concepts easier to understand.</p></div></article></div><div class="cell-container"><article class="mini-post"><header><h3><a href="https://nlhlong01.github.io/playground/dt.html">Decision Tree Playground</a></h3><time class="published">December, 2020</time></header><a href="https://nlhlong01.github.io/playground/dt.html" class="image"><img alt="Decision Tree Playground" src="/images/projects/decisiontree.jpg"></a><div class="description"><p>An application which is part of the above project. However, it visualizes the results of Decision Tree Classification/Regression and draw a beautiful tree.</p></div></article></div><div class="cell-container"><article class="mini-post"><header><h3><a href="https://drive.google.com/file/d/10GP5M7pS8DR3apNNJgFSb8cGJrN5ahW9">Comparisons between V8 and SpiderMonkeyâs JavaScript performance</a></h3><time class="published">July, 2019</time></header><a href="https://drive.google.com/file/d/10GP5M7pS8DR3apNNJgFSb8cGJrN5ahW9" class="image"><img alt="Comparisons between V8 and SpiderMonkeyâs JavaScript performance" src="/images/projects/jsengineresearchproject.
1jpg"></a><div class="description"><p>Provided fundamental knowledge on JavaScript including its history, the event loop, JIT compilation, an overview of the JavaScript engine, the architecture of V8, and simple performance benchmarks between two JS engines V8 and SpiderMonkey. I learned a lot about the JavaScript language by working on this project.</p></div></article></div><div class="cell-container"><article class="mini-post"><header><h3><a href="https://github.com/nlhlong01/cli-facebook">CLI Facebook</a></h3><time class="published">March, 2020</time></header><a href="https://github.com/nlhlong01/cli-facebook" class="image"><img alt="CLI Facebook" src="undefined"></a><div class="description"><p>A CLI app which imitates the functions of a social network such as user login, friends, groups</p></div></article></div></article></div><section id="sidebar"><section id="intro"><header><h2>Long Nguyen</h2><p><a href="mailto:[email protected]">[email protected]</a></p></header></section><section class="blurb"><h2>About</h2><p>Hi, I'm Long ð. I'm an ex-Autodesk software engineer intern, now aspired Front-end Software Engineer ð¨âð». I like making interactive visual client-side applications using ReactJS, or maintaining large-scale projects using TypeScript â. I have a dream of architecting a complex performant application which has a positive impact on the lives of many people ð±âð.</p><ul class="actions"><li><a href="/resume" class="button">Learn More</a></li></ul></section><section id="footer"><ul class="icons"><li><a href="https://github.com/nlhlong01"><svg aria-hidden="true" class="svg-inline--fa fa-github fa-w-16" data-icon="github" data-prefix="fab" focusable="false" role="img" viewBox="0 0 496 512" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" fill="currentColor"></path></svg></a></li><li><a href="https://www.linkedin.com/in/longnlh"><svg aria-hidden="true" class="svg-inline--fa fa-linkedin-in fa-w-14" data-icon="linkedin-in" data-prefix="fab" focusable="false" role="img" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z" fill="currentColor"></path></svg></a></li><li><a href="https://www.freecodecamp.org/nlhlong"><svg aria-hidden="true" class="svg-inline--fa fa-free-code-camp fa-w-18" data-icon="free-code-camp" data-prefix="fab" focusable="false" role="img" viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z" fill="currentColor"></path></svg></a></li><li><a href="https://www.hackerrank.com/nlhlong"><svg aria-hidden="true" class="svg-inline--fa fa-hackerrank fa-w-16" data-icon="hackerrank" data-prefix="fab" focusable="false" role="img" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
1<path d="M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z" fill="currentColor"></path></svg></a></li><li><a href="mailto:[email protected]"><svg aria-hidden="true" class="svg-inline--fa fa-envelope fa-w-16" data-icon="envelope" data-prefix="far" focusable="false" role="img" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z" fill="currentColor"></path></svg></a></li></ul><p class="copyright">© Michael D'Angelo <a href="https://mldangelo.com/">mldangelo.com</a>.</p></section></section></div></div>
1<script src="https://www.google-analytics.com/analytics.js" async></script>
1<script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{2:"86311ba4",4:"b487738e",5:"af677885",6:"93d2939f",7:"3fc59088",8:"4d3ea097",9:"f10ceeab",10:"d7b8c85c",11:"105140af",12:"b85000cd"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpnlhlong01.github.io"]=this["webpackJsonpnlhlong01.github.io"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script>
1<script src="/static/js/3.0080ed5c.chunk.js"></script>
1<script src="/static/js/main.63eac845.chunk.js"></script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.