diff options
| author | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2023-07-22 13:37:32 +0000 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2023-07-22 13:37:32 +0000 |
| commit | bdc6e5b4bc0170e6c83bd49555a43eb5f370a32b (patch) | |
| tree | d08a09679f267b341584a7efb051ce2a1f51c16d /public/index.html | |
| parent | 34e861c0b8be72a9d7022193dc0358260d9bc01d (diff) | |
| download | submelon.dev-bdc6e5b4bc0170e6c83bd49555a43eb5f370a32b.tar.gz submelon.dev-bdc6e5b4bc0170e6c83bd49555a43eb5f370a32b.tar.bz2 submelon.dev-bdc6e5b4bc0170e6c83bd49555a43eb5f370a32b.zip | |
chore: autopublish 2023-07-22T13:37:32Z
Diffstat (limited to 'public/index.html')
| -rw-r--r-- | public/index.html | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/public/index.html b/public/index.html index 0309dee..0744de5 100644 --- a/public/index.html +++ b/public/index.html @@ -1,26 +1,26 @@ -<!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"/><meta name="generator" content="Gatsby 5.11.0"/><meta name="theme-color" content="#e1e1e1"/><meta name="twitter:description" content="The official website of Kevin Hoerr, developer of websites." data-gatsby-head="true"/><meta name="twitter:title" content="Kevin J Hoerr <kjhoerr@submelon.tech>" data-gatsby-head="true"/><meta name="twitter:creator" content="Kevin J Hoerr" data-gatsby-head="true"/><meta name="twitter:card" content="summary" data-gatsby-head="true"/><meta name="description" content="The official website of Kevin Hoerr, developer of websites." data-gatsby-head="true"/><style data-href="/styles.d3e43014fff208169f35.css" data-identity="gatsby-global-css">body{background-color:#e1e1e1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXpUWHRUaXRsZQAACNdLSkzOTi/KL81LAQAWSwQhPQTyzQAAABt6VFh0QXV0aG9yAAAI1/NOLcvMU/DITy0qAgAYDwQeUS3vvwAAAZNJREFUeNrt3bFtQ0EMREH5x+q/M3Wi3IJaMGR7yHtbwCWDBY4J+fV4PL5vH879fr9tz/P5/JV3rzAcjI+DhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhDHglxXG/+RdjisMB2N1QyZirAWZirESZDLGOpDpGKtANmCsAdmCsQJkE8Z4kG0Yo0E2YowF2YoxEmQzxjiQ7RijQE7AGANyCsYIkJMweJDTMGiQEzFYkFMxSJCTMTiQ0zEokDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAGTuph/E3e5bjCcDBGNOS03fRXGA4GDXLq1YYrDAeDBDn9nskVhoNBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYTxs7wA+yQwVSKvoHMAAAAASUVORK5CYII=);background-repeat:repeat;font-display:serif;font-family:Merriweather,serif;font-size:16px}::selection{background-color:#999;color:#fff}em,p,q{display:block;text-indent:28px}p{margin:0 0 16px}p>a,p>a:hover,p>a:visited{color:#000;padding:1px 3px;text-decoration:none}p>a,p>a:visited{background-color:#e1e1e1}p>a:hover{background-color:#d5d5d5}</style><style data-styled="" data-styled-version="6.0.3">.diDTNP{padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;}/*!sc*/ -.diDTNP:visited,.diDTNP:active{padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;}/*!sc*/ -data-styled.g1[id="BlockAnchor-sc-49dv1p-0"]{content:"diDTNP,"}/*!sc*/ -.gTsyHW{background-color:#fff;border:1px #000 solid;border-left:3px #000 solid;border-right:3px #000 solid;padding:4px 8px;}/*!sc*/ +<!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"/><meta name="generator" content="Gatsby 5.11.0"/><meta name="theme-color" content="#e1e1e1"/><meta name="twitter:description" content="The official website of Kevin Hoerr, developer of websites." data-gatsby-head="true"/><meta name="twitter:title" content="Kevin J Hoerr <kjhoerr@submelon.tech>" data-gatsby-head="true"/><meta name="twitter:creator" content="Kevin J Hoerr" data-gatsby-head="true"/><meta name="twitter:card" content="summary" data-gatsby-head="true"/><meta name="description" content="The official website of Kevin Hoerr, developer of websites." data-gatsby-head="true"/><style data-href="/styles.d3e43014fff208169f35.css" data-identity="gatsby-global-css">body{background-color:#e1e1e1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXpUWHRUaXRsZQAACNdLSkzOTi/KL81LAQAWSwQhPQTyzQAAABt6VFh0QXV0aG9yAAAI1/NOLcvMU/DITy0qAgAYDwQeUS3vvwAAAZNJREFUeNrt3bFtQ0EMREH5x+q/M3Wi3IJaMGR7yHtbwCWDBY4J+fV4PL5vH879fr9tz/P5/JV3rzAcjI+DhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhAGBhDHglxXG/+RdjisMB2N1QyZirAWZirESZDLGOpDpGKtANmCsAdmCsQJkE8Z4kG0Yo0E2YowF2YoxEmQzxjiQ7RijQE7AGANyCsYIkJMweJDTMGiQEzFYkFMxSJCTMTiQ0zEokDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAgkDAGTuph/E3e5bjCcDBGNOS03fRXGA4GDXLq1YYrDAeDBDn9nskVhoNBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYQBgYTxs7wA+yQwVSKvoHMAAAAASUVORK5CYII=);background-repeat:repeat;font-display:serif;font-family:Merriweather,serif;font-size:16px}::selection{background-color:#999;color:#fff}em,p,q{display:block;text-indent:28px}p{margin:0 0 16px}p>a,p>a:hover,p>a:visited{color:#000;padding:1px 3px;text-decoration:none}p>a,p>a:visited{background-color:#e1e1e1}p>a:hover{background-color:#d5d5d5}</style><style data-styled="" data-styled-version="6.0.5">.ijkEZN{padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;}/*!sc*/ +.ijkEZN:visited,.ijkEZN:active{padding:8px;width:328px;display:block;text-align:center;-webkit-text-decoration:none;text-decoration:none;color:#666;}/*!sc*/ +data-styled.g1[id="BlockAnchor-sc-49dv1p-0"]{content:"ijkEZN,"}/*!sc*/ +.eubdQQ{background-color:#fff;border:1px #000 solid;border-left:3px #000 solid;border-right:3px #000 solid;padding:4px 8px;}/*!sc*/ .BlockBody-sc-13lvm6o-0+.BlockBody-sc-13lvm6o-0{margin-top:3px;}/*!sc*/ -.gTsyHW>.BlockAnchor-sc-49dv1p-0:hover{background-color:#ddd;color:#222;}/*!sc*/ -.gTsyHW:last-child,.gTsyHW:last-child>.BlockAnchor-sc-49dv1p-0{border-bottom-left-radius:18px;border-bottom-right-radius:18px;}/*!sc*/ -.bHguYq{background-color:#fff;border:1px #000 solid;border-left:3px #000 solid;border-right:3px #000 solid;padding:0;}/*!sc*/ +.eubdQQ>.BlockAnchor-sc-49dv1p-0:hover{background-color:#ddd;color:#222;}/*!sc*/ +.eubdQQ:last-child,.eubdQQ:last-child>.BlockAnchor-sc-49dv1p-0{border-bottom-left-radius:18px;border-bottom-right-radius:18px;}/*!sc*/ +.jiLjeE{background-color:#fff;border:1px #000 solid;border-left:3px #000 solid;border-right:3px #000 solid;padding:0;}/*!sc*/ .BlockBody-sc-13lvm6o-0+.BlockBody-sc-13lvm6o-0{margin-top:3px;}/*!sc*/ -.bHguYq>.BlockAnchor-sc-49dv1p-0:hover{background-color:#ddd;color:#222;}/*!sc*/ -.bHguYq:last-child,.bHguYq:last-child>.BlockAnchor-sc-49dv1p-0{border-bottom-left-radius:18px;border-bottom-right-radius:18px;}/*!sc*/ -data-styled.g2[id="BlockBody-sc-13lvm6o-0"]{content:"gTsyHW,bHguYq,"}/*!sc*/ -.kAgIsc{background-color:#000;width:100%;text-align:center;color:#fff;font-size:36px;font-weight:bold;margin-top:3px;padding-top:4px;}/*!sc*/ -data-styled.g3[id="BlockHeader-sc-1tkpfhe-0"]{content:"kAgIsc,"}/*!sc*/ -.iFaByX{width:350px;margin:0px auto;margin-bottom:120px;padding-top:136px;}/*!sc*/ -data-styled.g4[id="Content-sc-1nsqces-0"]{content:"iFaByX,"}/*!sc*/ -.bTXKWq{width:100%;position:fixed;left:0px;bottom:0px;text-align:center;font-size:12px;}/*!sc*/ -.bTXKWq span{background-color:#e1e1e1;}/*!sc*/ -data-styled.g5[id="Footer-sc-1as233t-0"]{content:"bTXKWq,"}/*!sc*/ -</style><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{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;vertical-align:top}</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){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;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="icon" href="/favicon-32x32.png" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/><title data-gatsby-head="true">Kevin J Hoerr <kjhoerr@submelon.tech></title></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><main><div class="Content-sc-1nsqces-0 iFaByX"><div><div data-gatsby-image-wrapper="" style="width:350px;height:350px" class="gatsby-image-wrapper"><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFPUlEQVR42m2Ua0zTVxjG/+jnTfnoFvdFtJmMewCFzTllzswlizGKMouKDJ0DHGC5XwWMXKUVqAXKpcilhdKWlpbe7/dSSrnfwS37rF9t+3+WEllY5pucnJOc8/zynDfnPARxoAAcCs4UCuWT8tKi9KE+Nl80xn2jkEz6ZZNCv1jIf8PnjvKbGp5Rw8LCPg2eraqqOkR8pEL2N7Lu303tYLRsK2VieJ02cs5pg3fGgeU5N9aXvPhzc41c8XowJeBvVZYVpx40ctBZSBBaV1PVNiXkQ6eQkQrpZEApE/tNWiXpMBtgNxngMBtIp9XkX/G4AzvLi6THZgGjpamNIIhD+4x9GFH/tJpu0Wlg1qh9WoWMtOjUcNssmJaIIBUL4LKbYTVoYTfpMO+ww+uwBhYcdt+iy4G2xgb6AWME8UfOI6pcKoZJp/UbNWrSatTD47CjlEZDXGQEEmNjUF5UCJfVBJdZD4/VDIdBA4VESCqlIr9cLEDe48fp+zc+Ojo4sOa0GKHXKAIWow6LXg+6mUzEUE4glhKGqFMncOr4Z6goLsTGghcLditcRj0kgjFw+rsDw8NsVFcXrxEEcYQoKy68Z9VpYTPoAy6rBXMzTrzZ3kJdeSlSEmNwKSkB38XH4kJ8NJKiwyHjc7E578WsyQi5WAje6CD6+ln+V6w2UKk37xDtbS2CeacdTrPR73HasOBx46/dXfS3t+FSfDSuf/8tbqacw/XzSbiRHIey3+9jbdYNr9UM2SQfnH4W6IwGfwerBfkF2eMEm8nYsWjksGhV5KzdCu+MC5sb63tOOgseoOLGVWT/cAGtt65huvYJXjx5CK1KiVW3CzLxBPoHWGC8bAy0M5tRVkGbJQZYTJ9No4Jdq4bdqIPdrMfy4jyMyilo2uswlHUf41kZ6KFSoWgqg7q9EhpWO9a9c1BMiTA60g9WF4PsYDYjn5bzluh52fbeMC1FcBiV0zCp5HA5bHDJRDB11kNbVYINThcsNZVwv3oOb1cd3B3NmHc7oZZNYpw3CCbrBcnoaERO3sO3RGvD0221eAJy/iipkQigmZqEViWHW6/GXHcTTKVFmGl8Bl1JISS5mfBymrDhsGJ1bhZGpQxC/gj6+joDXT1tqKgscBONNRVjeskERtgMv2CEjUneAMaH2NBqFdD1d2I4gwopLQeqknxM5WdgdpyF3fWNvR4aVFII+a8xyGH5Bwe7UFycxyWyMzPuSkY4kI5y/KLhfghHeyHicfb649DKIXv6GBpaLoyl+TDTC7FiVmJ7aQnLLgfMajkkgmHwhnr8nL5O3Eu/tfe4j75qbVhV8EcwwWEHBrsZ6GXRIRaMwSblQ1SeCeavv6D7QRoUL4qw7XFia2EBKzMuWNVyyITcwPQkF/SW+tUga++rPMrIoA6zmRh/3evj9HSQHS+bkPckD7TbV2Gqy8IY7R4EpRlY4LXi741VbHrnsOxywqySkZqpCZ+IO4CMO2nU/2Rg7m+Z9N4uOkqKCt5fvJDiPxVGQSSFggHabRiacyGrfQgjqwoK0QR2V5aw5Z0LuI3a92blFKrLaPSDrJAPKXE4OfksIyoyDuFfRpJRERG+8NPhvpSkBD+3NptcGnlO6npqAz9evuIrpBX7lBIJaVHJ8bymnBHU/ps0+wHL4/EOBxfHjn3xy2nKVztRUXE4k5hEJsSfRcq58+isKQCXUY+frlwjL13+GV+fu7iTlpqaFtR80Ib8L7X3oUQoceT458fTKSdPC2IjYzzRkXHvTp44+S4mIsZzJvEbQUJCcnpoaOiRj8H+AeIEtg7D4aqfAAAAAElFTkSuQmCC" alt=""/><picture><source type="image/webp" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" data-src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture><noscript><picture><source type="image/webp" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></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"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></div><div class="BlockHeader-sc-1tkpfhe-0 kAgIsc">Hello!</div><div class="BlockBody-sc-13lvm6o-0 gTsyHW"><p>I'm a computer science and math graduate from Millersville University. I work as a Solutions Architect and specialize in development operations and systems validation for web applications.</p><p>During my time at Millersville I was the lead Linux admin for the Cyber Defense Organization (CDO). In addition to constructing a new computer lab for our efforts, we participated in NCL and MACCDC.</p><p>Most of my development experience is focused around full stack development. For the front-end I use TypeScript and ReactJS using create-react-app or NextJS. For back-end systems I have used both Java with Spring Boot and rust with actix-web extensively. To mediate APIs I have used Apache Kafka, OpenAPI, and GraphQL.</p><p>My free time is spent engaging in general computing hobbies. When I'm not trying out new application frameworks, I am fiddling around with Guix or NixOS. I run a kubernetes cluster at home to manage, maintain, and secure my personal network as well as experimenting with distributed workloads.</p><em>- Kevin H.</em></div><div class="BlockBody-sc-13lvm6o-0 bHguYq"><a href="https://github.com/kjhoerr" rel="me" aria-label="My GitHub account with my most active personal projects" class="BlockAnchor-sc-49dv1p-0 diDTNP"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" style="margin-bottom:-4px" height="20" width="20" 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"></path></svg> kjhoerr on GitHub</a></div><div class="BlockBody-sc-13lvm6o-0 bHguYq"><a href="https://github.com/kjhoerr/pantry" aria-label="Source code repository of Kevin's current pet project Pantry" class="BlockAnchor-sc-49dv1p-0 diDTNP"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"></path></svg> Pantry (pet project)</a></div><div class="BlockBody-sc-13lvm6o-0 bHguYq"><a href="https://cybr.es/@kjhoerr" rel="me" aria-label="My Mastodon account" class="BlockAnchor-sc-49dv1p-0 diDTNP"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg> @kjhoerr@cybr.es</a></div></div><div class="Footer-sc-1as233t-0 bTXKWq"><span>©2023 kjhoerr@https://submelon.dev/:<!-- -->wD.7.8.j.O-0</span></div></main></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><!-- slice-start id="_gatsby-scripts-1" --> +.jiLjeE>.BlockAnchor-sc-49dv1p-0:hover{background-color:#ddd;color:#222;}/*!sc*/ +.jiLjeE:last-child,.jiLjeE:last-child>.BlockAnchor-sc-49dv1p-0{border-bottom-left-radius:18px;border-bottom-right-radius:18px;}/*!sc*/ +data-styled.g2[id="BlockBody-sc-13lvm6o-0"]{content:"eubdQQ,jiLjeE,"}/*!sc*/ +.iPkCTO{background-color:#000;width:100%;text-align:center;color:#fff;font-size:36px;font-weight:bold;margin-top:3px;padding-top:4px;}/*!sc*/ +data-styled.g3[id="BlockHeader-sc-1tkpfhe-0"]{content:"iPkCTO,"}/*!sc*/ +.gTNuh{width:350px;margin:0px auto;margin-bottom:120px;padding-top:136px;}/*!sc*/ +data-styled.g4[id="Content-sc-1nsqces-0"]{content:"gTNuh,"}/*!sc*/ +.izmDOM{width:100%;position:fixed;left:0px;bottom:0px;text-align:center;font-size:12px;}/*!sc*/ +.izmDOM span{background-color:#e1e1e1;}/*!sc*/ +data-styled.g5[id="Footer-sc-1as233t-0"]{content:"izmDOM,"}/*!sc*/ +</style><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{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;vertical-align:top}</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){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;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="icon" href="/favicon-32x32.png" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/><title data-gatsby-head="true">Kevin J Hoerr <kjhoerr@submelon.tech></title></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><main><div class="Content-sc-1nsqces-0 gTNuh"><div><div data-gatsby-image-wrapper="" style="width:350px;height:350px" class="gatsby-image-wrapper"><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFPUlEQVR42m2Ua0zTVxjG/+jnTfnoFvdFtJmMewCFzTllzswlizGKMouKDJ0DHGC5XwWMXKUVqAXKpcilhdKWlpbe7/dSSrnfwS37rF9t+3+WEllY5pucnJOc8/zynDfnPARxoAAcCs4UCuWT8tKi9KE+Nl80xn2jkEz6ZZNCv1jIf8PnjvKbGp5Rw8LCPg2eraqqOkR8pEL2N7Lu303tYLRsK2VieJ02cs5pg3fGgeU5N9aXvPhzc41c8XowJeBvVZYVpx40ctBZSBBaV1PVNiXkQ6eQkQrpZEApE/tNWiXpMBtgNxngMBtIp9XkX/G4AzvLi6THZgGjpamNIIhD+4x9GFH/tJpu0Wlg1qh9WoWMtOjUcNssmJaIIBUL4LKbYTVoYTfpMO+ww+uwBhYcdt+iy4G2xgb6AWME8UfOI6pcKoZJp/UbNWrSatTD47CjlEZDXGQEEmNjUF5UCJfVBJdZD4/VDIdBA4VESCqlIr9cLEDe48fp+zc+Ojo4sOa0GKHXKAIWow6LXg+6mUzEUE4glhKGqFMncOr4Z6goLsTGghcLditcRj0kgjFw+rsDw8NsVFcXrxEEcYQoKy68Z9VpYTPoAy6rBXMzTrzZ3kJdeSlSEmNwKSkB38XH4kJ8NJKiwyHjc7E578WsyQi5WAje6CD6+ln+V6w2UKk37xDtbS2CeacdTrPR73HasOBx46/dXfS3t+FSfDSuf/8tbqacw/XzSbiRHIey3+9jbdYNr9UM2SQfnH4W6IwGfwerBfkF2eMEm8nYsWjksGhV5KzdCu+MC5sb63tOOgseoOLGVWT/cAGtt65huvYJXjx5CK1KiVW3CzLxBPoHWGC8bAy0M5tRVkGbJQZYTJ9No4Jdq4bdqIPdrMfy4jyMyilo2uswlHUf41kZ6KFSoWgqg7q9EhpWO9a9c1BMiTA60g9WF4PsYDYjn5bzluh52fbeMC1FcBiV0zCp5HA5bHDJRDB11kNbVYINThcsNZVwv3oOb1cd3B3NmHc7oZZNYpw3CCbrBcnoaERO3sO3RGvD0221eAJy/iipkQigmZqEViWHW6/GXHcTTKVFmGl8Bl1JISS5mfBymrDhsGJ1bhZGpQxC/gj6+joDXT1tqKgscBONNRVjeskERtgMv2CEjUneAMaH2NBqFdD1d2I4gwopLQeqknxM5WdgdpyF3fWNvR4aVFII+a8xyGH5Bwe7UFycxyWyMzPuSkY4kI5y/KLhfghHeyHicfb649DKIXv6GBpaLoyl+TDTC7FiVmJ7aQnLLgfMajkkgmHwhnr8nL5O3Eu/tfe4j75qbVhV8EcwwWEHBrsZ6GXRIRaMwSblQ1SeCeavv6D7QRoUL4qw7XFia2EBKzMuWNVyyITcwPQkF/SW+tUga++rPMrIoA6zmRh/3evj9HSQHS+bkPckD7TbV2Gqy8IY7R4EpRlY4LXi741VbHrnsOxywqySkZqpCZ+IO4CMO2nU/2Rg7m+Z9N4uOkqKCt5fvJDiPxVGQSSFggHabRiacyGrfQgjqwoK0QR2V5aw5Z0LuI3a92blFKrLaPSDrJAPKXE4OfksIyoyDuFfRpJRERG+8NPhvpSkBD+3NptcGnlO6npqAz9evuIrpBX7lBIJaVHJ8bymnBHU/ps0+wHL4/EOBxfHjn3xy2nKVztRUXE4k5hEJsSfRcq58+isKQCXUY+frlwjL13+GV+fu7iTlpqaFtR80Ib8L7X3oUQoceT458fTKSdPC2IjYzzRkXHvTp44+S4mIsZzJvEbQUJCcnpoaOiRj8H+AeIEtg7D4aqfAAAAAElFTkSuQmCC" alt=""/><picture><source type="image/webp" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" data-src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture><noscript><picture><source type="image/webp" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></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"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></div><div class="BlockHeader-sc-1tkpfhe-0 iPkCTO">Hello!</div><div class="BlockBody-sc-13lvm6o-0 eubdQQ"><p>I'm a computer science and math graduate from Millersville University. I work as a Solutions Architect and specialize in development operations and systems validation for web applications.</p><p>During my time at Millersville I was the lead Linux admin for the Cyber Defense Organization (CDO). In addition to constructing a new computer lab for our efforts, we participated in NCL and MACCDC.</p><p>Most of my development experience is focused around full stack development. For the front-end I use TypeScript and ReactJS using create-react-app or NextJS. For back-end systems I have used both Java with Spring Boot and rust with actix-web extensively. To mediate APIs I have used Apache Kafka, OpenAPI, and GraphQL.</p><p>My free time is spent engaging in general computing hobbies. When I'm not trying out new application frameworks, I am fiddling around with Guix or NixOS. I run a kubernetes cluster at home to manage, maintain, and secure my personal network as well as experimenting with distributed workloads.</p><em>- Kevin H.</em></div><div class="BlockBody-sc-13lvm6o-0 jiLjeE"><a href="https://github.com/kjhoerr" rel="me" aria-label="My GitHub account with my most active personal projects" class="BlockAnchor-sc-49dv1p-0 ijkEZN"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" style="margin-bottom:-4px" height="20" width="20" 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"></path></svg> kjhoerr on GitHub</a></div><div class="BlockBody-sc-13lvm6o-0 jiLjeE"><a href="https://github.com/kjhoerr/pantry" aria-label="Source code repository of Kevin's current pet project Pantry" class="BlockAnchor-sc-49dv1p-0 ijkEZN"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"></path></svg> Pantry (pet project)</a></div><div class="BlockBody-sc-13lvm6o-0 jiLjeE"><a href="https://cybr.es/@kjhoerr" rel="me" aria-label="My Mastodon account" class="BlockAnchor-sc-49dv1p-0 ijkEZN"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg> @kjhoerr@cybr.es</a></div></div><div class="Footer-sc-1as233t-0 izmDOM"><span>©2023 kjhoerr@https://submelon.dev/:<!-- -->wD.7.8.j.O-0</span></div></main></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><!-- slice-start id="_gatsby-scripts-1" --> <script id="gatsby-chunk-mapping" > - window.___chunkMapping="{\"app\":[\"/app-71ce8fe4dfe6eab1ffb5.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-01d280057775a5d4dc64.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-1cf0b71ca44442a64591.js\"]}"; + window.___chunkMapping="{\"app\":[\"/app-c0f5d1e785deb54fc185.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-01d280057775a5d4dc64.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-1cf0b71ca44442a64591.js\"]}"; </script> - <script>window.___webpackCompilationHash="8cad59bfb08d43fa0558";</script><script src="/webpack-runtime-9c3b6dd2206fd693f807.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-71ce8fe4dfe6eab1ffb5.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html>
\ No newline at end of file + <script>window.___webpackCompilationHash="66e5651c3b0fffb51545";</script><script src="/webpack-runtime-9c3b6dd2206fd693f807.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-c0f5d1e785deb54fc185.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html>
\ No newline at end of file |
