<!doctype html><htmllang="en"><head><metacharset="utf-8"/><linkrel="icon"href="/favicon.ico"/><metaname="viewport"content="width=device-width,initial-scale=1"/><metaname="theme-color"content="#000000"/><metaname="description"content="Jake Cover's Personal Website"/><linkrel="apple-touch-icon"href="/logo192.png"/><linkrel="manifest"href="/manifest.json"/><title>Jake Cover</title><scriptasyncdefer="defer"data-website-id="7b846b7f-e368-441b-9663-0436eabec402"src="https://umami.cobular.com/umami.js"></script><linkhref="/static/css/2.85610714.chunk.css"rel="stylesheet"><linkhref="/static/css/main.77918299.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><divid="root"></div><script>!function(e){functiont(t){for(varn,i,a=t[0],c=t[1],l=t[2],f=0,p=[];f<a.length;f++)i=a[f],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(ninc)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(s&&s(t);p.length;)p.shift()();returnu.push.apply(u,l||[]),r()}functionr(){for(vare,t=0;t<u.length;t++){for(varr=u[t],n=!0,a=1;a<r.length;a++){varc=r[a];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=i(i.s=r[0]))}returne}varn={},o={1:0},u=[];functioni(t){if(n[t])returnn[t].exports;varr=n[t]={i:t,l:!1,exports:{}};returne[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){vart=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{varn=newPromise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);varu,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){returni.p+"static/js/"+({}[e]||e)+"."+{3:"dd242330"}[e]+".chunk.js"}(e);varc=newError;u=function(t){a.onerror=a.onload=null,clearTimeout(l);varr=o[e];if(0!==r){if(r){varn=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]=void0}};varl=setTimeout((function(){u({type:"timeout",target:a})}),12e4);a.onerror=a.onload=u,document.head.appendChild(a)}returnPromise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeofSymbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)returne;if(4&t&&"object"==typeofe&&e&&e.__esModule)returne;varr=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeofe)for(varnine)i.d(r,n,function(t){returne[t]}.bind(null,n));returnr},i.n=function(e){vart=e&&e.__esModule?function(){returne.default}:function(){returne};returni.d(t,"a",t),t},i.o=function(e,t){returnObject.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throwconsole.error(e),e};vara=this["webpackJsonppersonal-website-static"]=this["webpackJsonppersonal-website-static"]||[],c=a.push.bind(a);a.push=t,a=a.slice();for(varl=0;l<a.length;l++)t(a[l]);vars=c;r()}([])</script><scriptsrc="/static/js/2.18e12b66.chunk.js"></script><scriptsrc="/static/js/main.e8d31809.chunk.js"></script></body></html>
<!doctype html><htmllang="en"><head><metacharset="utf-8"/><linkrel="icon"href="/favicon.ico"/><metaname="viewport"content="width=device-width,initial-scale=1"/><metaname="theme-color"content="#000000"/><metaname="description"content="Jake Cover's Personal Website"/><linkrel="apple-touch-icon"href="/logo192.png"/><linkrel="manifest"href="/manifest.json"/><title>Jake Cover</title><scriptasyncdefer="defer"data-website-id="7b846b7f-e368-441b-9663-0436eabec402"src="https://umami.cobular.com/umami.js"></script><linkhref="/static/css/2.85610714.chunk.css"rel="stylesheet"><linkhref="/static/css/main.ebf1373e.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><divid="root"></div><script>!function(e){functiont(t){for(varn,i,a=t[0],c=t[1],l=t[2],f=0,p=[];f<a.length;f++)i=a[f],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(ninc)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(s&&s(t);p.length;)p.shift()();returnu.push.apply(u,l||[]),r()}functionr(){for(vare,t=0;t<u.length;t++){for(varr=u[t],n=!0,a=1;a<r.length;a++){varc=r[a];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=i(i.s=r[0]))}returne}varn={},o={1:0},u=[];functioni(t){if(n[t])returnn[t].exports;varr=n[t]={i:t,l:!1,exports:{}};returne[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){vart=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{varn=newPromise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);varu,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){returni.p+"static/js/"+({}[e]||e)+"."+{3:"dd242330"}[e]+".chunk.js"}(e);varc=newError;u=function(t){a.onerror=a.onload=null,clearTimeout(l);varr=o[e];if(0!==r){if(r){varn=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]=void0}};varl=setTimeout((function(){u({type:"timeout",target:a})}),12e4);a.onerror=a.onload=u,document.head.appendChild(a)}returnPromise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeofSymbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)returne;if(4&t&&"object"==typeofe&&e&&e.__esModule)returne;varr=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeofe)for(varnine)i.d(r,n,function(t){returne[t]}.bind(null,n));returnr},i.n=function(e){vart=e&&e.__esModule?function(){returne.default}:function(){returne};returni.d(t,"a",t),t},i.o=function(e,t){returnObject.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throwconsole.error(e),e};vara=this["webpackJsonppersonal-website-static"]=this["webpackJsonppersonal-website-static"]||[],c=a.push.bind(a);a.push=t,a=a.slice();for(varl=0;l<a.length;l++)t(a[l]);vars=c;r()}([])</script><scriptsrc="/static/js/2.18e12b66.chunk.js"></script><scriptsrc="/static/js/main.a7d5696e.chunk.js"></script></body></html>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><linkrel="icon"href="/favicon.ico"><metaname="viewport"content="width=device-width,initial-scale=1"><metaname="theme-color"content="#000000"><metaname="description"content="Jake Cover's Personal Website"><linkrel="apple-touch-icon"href="/logo192.png"><linkrel="manifest"href="/manifest.json"><title>Jake Cover</title><scriptasync=""defer="defer"data-website-id="7b846b7f-e368-441b-9663-0436eabec402"src="https://umami.cobular.com/umami.js"></script><linkhref="/static/css/2.85610714.chunk.css"rel="stylesheet"><linkhref="/static/css/main.77918299.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><divid="root"><divclass="App"data-reactroot=""><main><divid="home"><divid="about-me-parent"><divid="about-me"class="about-me-card"><h1>Hi! I'm Jake!</h1><divid="info-parent"><divid="specific-info"><h2> A bit about me:</h2><ul><li><b>Occupation:</b> Student</li><li><b>Location:</b> Southern California</li><li><b>Pronouns</b>: They/Them</li><li>19 and 16/49<!----> years old</li><li>not listening to anything right now.</li></ul></div><divid="fun-info"><h2>Find Me:</h2><ul><li>Email: <button>Click This</button></li><li>Twitter:<!----><ahref="https://github.com/JakeCover"target="_blank"rel="noreferrer">@cobular_</a></li><li>GitHub:<!----><ahref="https://github.com/JakeCover"target="_blank"rel="noreferrer">JakeCover</a></li><li>Telegram:<!----><ahref="https://t.me/cobular"target="_blank"rel="noreferrer">@cobular</a></li><li>Elsewhere: Probably @cobular</li></ul></div></div></div></div><divid="project-grid-background"style="padding-bottom:20px"><divid="project-grid-parent"><divid="project-header"><h2></> My Projects</h2><p>A gallery of some of my most interesting projects. Look for<!----><spanrole="img"aria-label="link"class="anticon anticon-link"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span>, click those projects for more information!</p></div><divid="project-grid"><divclass="GridSizer"></div><aclass="OneWide GridElement Link"href="https://github.com/codeday/labs-elastic-match"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>ElaticMatch</h2><h3>CodeDay</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>A set of tools, including a custom suggestion and weighting system, as well as a custom matching
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><linkrel="icon"href="/favicon.ico"><metaname="viewport"content="width=device-width,initial-scale=1"><metaname="theme-color"content="#000000"><metaname="description"content="Jake Cover's Personal Website"><linkrel="apple-touch-icon"href="/logo192.png"><linkrel="manifest"href="/manifest.json"><title>Jake Cover</title><scriptasync=""defer="defer"data-website-id="7b846b7f-e368-441b-9663-0436eabec402"src="https://umami.cobular.com/umami.js"></script><linkhref="/static/css/2.85610714.chunk.css"rel="stylesheet"><linkhref="/static/css/main.ebf1373e.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><divid="root"><divclass="App"data-reactroot=""><main><divid="home"><divid="about-me-parent"><divid="about-me"class="about-me-card"><h1>Hi! I'm Jake!</h1><divid="info-parent"><divid="specific-info"><h2> A bit about me:</h2><ul><li><b>Occupation:</b> Student</li><li><b>Location:</b> Southern California</li><li><b>Pronouns</b>: They/Them</li><li>19 and 17/52<!----> years old</li><li>not listening to anything right now.</li></ul></div><divid="fun-info"><h2>Find Me:</h2><ul><li>Email: <button>Click This</button></li><li>Twitter:<!----><ahref="https://github.com/JakeCover"target="_blank"rel="noreferrer">@cobular_</a></li><li>GitHub:<!----><ahref="https://github.com/JakeCover"target="_blank"rel="noreferrer">JakeCover</a></li><li>Telegram:<!----><ahref="https://t.me/cobular"target="_blank"rel="noreferrer">@cobular</a></li><li>Elsewhere: Probably @cobular</li></ul></div></div></div></div><divid="project-grid-background"style="padding-bottom:20px"><divid="project-grid-parent"><divid="project-header"><h2></> My Projects</h2><p>A gallery of some of my most interesting projects. Look for<!----><spanrole="img"aria-label="link"class="anticon anticon-link"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span>, click those projects for more information!</p></div><divid="project-grid"><divclass="GridSizer"></div><aclass="OneWide GridElement Link"href="https://github.com/codeday/labs-elastic-match"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>ElaticMatch</h2><h3>CodeDay</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>A set of tools, including a custom suggestion and weighting system, as well as a custom matching
algorithm that I wrote and used to match around 350 students to the best-fitting mentors in the CodeDay
Labs summer internship program in 2020.</p></div></div></a><aclass="OneWide GridElement Link"href="https://github.com/codeday/johnpeter-discord"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>John Peter</h2><h3>CodeDay</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>John Peter is a Discord bot used for moderation and server management for Virtual CodeDay. It has a very
extensive featureset with a number of custom moderation and authentication tools and has been used for
@ -14,9 +14,10 @@
nowadays, others like DiscordChannelMirror just do simple things for my own use, and many more have been
lost to time and past me's lack of understanding of the importance of backup. I digress, however I really
do love writing these sorts of applications!</p></div></div></div><divclass="Medium GridElement"><divclass="GridElementInternal"><divclass="image"><imgsrc="/static/media/HashiCorp_Logo_no_text.344aecaa.png"alt="HashiCorp Logo"></div><divclass="description"><h2>Hashicorp Stack Sysadmin</h2><h3>CodeDay, Random Projects</h3><p>I've setup and used a stack consisting of Nomad, Consul, and Vault along with Traefik both at CodeDay,
where it runs almost every service we have, as well as at home, where I use it to run a number of
assorted services on a few old machines. I strongly recommend it, it's very powerful and not all that
complex to get started with at any scale, from one personal server to large corporate backends.</p></div></div></div><aclass="OneWide GridElement Link"href="https://github.com/JakeCover/PersonalWebsite_Static"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>Personal Website</h2><h3>Random Projects</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>You're looking at it! There's not a whole lot to this, it's just a React site hosted on GitHub Pages,
where it runs almost every service we have, as well as at home, where I use it to run over 25 services on
a cluster of old machines. I strongly recommend it as it's a very easy way utilize old hardware, even when
each machine may not be that powerful powerful and not all that complex to get started with at any scale,
from one personal server to large corporate backends.</p></div></div></div><aclass="OneWide GridElement Link"href="https://github.com/JakeCover/PersonalWebsite_Static"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>Personal Website</h2><h3>Random Projects</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>You're looking at it! There's not a whole lot to this, it's just a React site hosted on GitHub Pages,
but I didn't know React before starting on this so I'm pretty proud of it.</p></div></div></a><aclass="OneWide GridElement Link"href="https://github.com/JakeCover/NomadJobTemplatesTool"rel="noreferrer"target="_blank"><divclass="GridElementInternal"><divclass="title"><h2>Nomad Job Templates Tool</h2><h3>Random Projects</h3><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><p>A little custom tool to allow you to use jinga-esque text substitutions in Nomad jobfiles to help
centralize the definition of service traefik tags. This mainly makes it easier to update and change
networking configuration across many jobs easily.</p></div></div></a><aclass="OneWide Pic GridElement Link"href="https://www.shushicate.com/"target="_blank"rel="noreferrer"><divclass="GridElementInternal"><divclass="image"><imgsrc="/static/media/kat-site.d60ec831.png"alt="Kat's Logo"><spanrole="img"aria-label="link"class="anticon anticon-link LinkIcon"><svgviewBox="64 64 896 896"focusable="false"data-icon="link"width="1em"height="1em"fill="currentColor"aria-hidden="true"><pathd="M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"></path></svg></span></div><divclass="description"><h2>Shushicate</h2><h3>Random Projects</h3><p>An art gallery website for my friend, made in svelte. The images are optimized and compressed at
@ -32,4 +33,4 @@
Basically, it's able to reverse 3.1415 to π, but more interestingly reverse 0.385694 to √2 * 3 / 11!
It can't solve all problems and it isn't mathematically provable or anything, but it's optimized to
give you the right answer for most things you'll actually run into and tell you when you've gotten