Several amends

This commit is contained in:
Logan 2024-04-28 18:19:41 -05:00
parent 72b700daef
commit 1466b5db32
20 changed files with 282 additions and 240 deletions

View file

@ -1,3 +1,3 @@
<div class="header"><h1> Page does not exist </h1><h2> Error 404 </h2></div><a href="/home" class="link"><button class="pure-button pure-button-primary button-xlarge">
<div class="header"><h1> Page does not exist </h1><h2> Error 404 </h2></div><a class="link" href="/home"><button class="pure-button pure-button-primary button-xlarge">
Return Home
</button></a>

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" type="image/x-icon" rel="icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" rel="icon" type="image/x-icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,14 +321,14 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> Fishbowl <a target="_blank" href="https://github.com/Xterminate1818/fishbowl"><svg viewBox="0 0 128 128" style="width: 1em; padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path clip-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z" fill-rule="evenodd"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Vector Math - Standard Library </h2></div><div class="content"><h2 class="distinct"> Gallery </h2><div class="pure-g"><div class="pure-u-1-3"><img title="Mona Lisa - Leonardo da Vinci" src="/resources/mona_lisa.gif" class="pure-img"/></div><div class="pure-u-1-3"><img class="pure-img" src="/resources/wanderer.gif" title="Wanderer above the Sea of Fog - Caspar David Friederich"/></div><div class="pure-u-1-3"><img src="/resources/starry_night.gif" title="The Starry Night - Vincent van Gogh" class="pure-img"/></div></div><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header><h1> Fishbowl <a target="_blank" href="https://github.com/Xterminate1818/fishbowl"><svg style="padding-bottom: 0.2em;" viewBox="0 0 128 128"><title> View source on GitHub </title><g fill="#181616"><path clip-rule="evenodd" fill-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Vector Math - Standard Library </h2></header><div class="content"><h2 class="distinct"> Gallery </h2><div class="pure-g"><div class="pure-u-1-3"><img class="pure-img" src="/resources/mona_lisa.gif" title="Mona Lisa - Leonardo da Vinci"/></div><div class="pure-u-1-3"><img title="Wanderer above the Sea of Fog - Caspar David Friederich" class="pure-img" src="/resources/wanderer.gif"/></div><div class="pure-u-1-3"><img class="pure-img" title="The Starry Night - Vincent van Gogh" src="/resources/starry_night.gif"/></div></div><h2 class="distinct"> Motivation </h2>
Physics solvers tend to be very complex software. In the
past, I toyed around with physics solvers for different kinds of geometries, but
struggled to implement these algorithms in a way that was both convincing
and performant. The idea for Fishbowl came from a video by the creator
Pezzza. They describe the high-level implementation details of a Verlet
Integration solver. This approach caught my interest.
<div class="video"><iframe title="YouTube video player" src="https://www.youtube-nocookie.com/embed/lS_qeBy3aQI?si=gLrHCWO-XUSP0T0j" frameborder="0" allowfullscreen allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
<div class="video"><iframe referrerpolicy="strict-origin-when-cross-origin" frameborder="0" allowfullscreen title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" src="https://www.youtube-nocookie.com/embed/lS_qeBy3aQI?si=gLrHCWO-XUSP0T0j"></iframe></div>
Pezza's work is very impressive, particularly the demonstration at the end
which proves the program is deterministic. However, the focus of Pezzza's
project was to create a performant real-time application. I was instead
@ -374,7 +376,7 @@ code {
Keep in mind the web version below will be slower and generate lower quality
results than the native application, as it is being run on my home server with
limited resources.
<br/><br/><img class="pure-img centered" width="512" height="512" id="result_image" hidden/><form class="pure-form-stacked" style="justify-content: center;" enctype="multipart/form-data" method="post" id="fishForm"><fieldset><label for="file"> Select an image </label><input accept="image/bmp,image/gif,image/vnd.microsoft.icon,image/jpeg,image/png,image/tiff,image/webp" id="file" type="file" name="image" required/><br/><input type="submit" class="pure-button pure-button-primary" value="Run Fishbowl"/></fieldset></form><!----><script>
<br/><br/><img hidden id="result_image" height="512" class="pure-img centered" width="512"/><form id="fishForm" style="justify-content: center;" method="post" class="pure-form-stacked" enctype="multipart/form-data"><fieldset><label for="file"> Select an image </label><input accept="image/bmp,image/gif,image/vnd.microsoft.icon,image/jpeg,image/png,image/tiff,image/webp" id="file" type="file" name="image" required/><br/><input class="pure-button pure-button-primary" type="submit" value="Run Fishbowl"/></fieldset></form><!----><script>
const form = document.getElementById("fishForm");
const image = document.getElementById("result_image");

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link rel="icon" type="image/x-icon" href="resources/favicon.svg"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link type="image/x-icon" rel="icon" href="resources/favicon.svg"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,7 +321,7 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> Forte <a href="https://github.com/Xterminate1818/forte" target="_blank"><svg viewBox="0 0 128 128" style="width: 1em; padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path fill-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z" clip-rule="evenodd"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Programming Language - Hackathon </h2></div><div class="content"><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header class="header"><h1> Forte <a href="https://github.com/Xterminate1818/forte" target="_blank"><svg style="padding-bottom: 0.2em;" viewBox="0 0 128 128"><title> View source on GitHub </title><g fill="#181616"><path clip-rule="evenodd" fill-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Programming Language - Hackathon </h2></header><div class="content"><h2 class="distinct"> Motivation </h2>
In February of 2024, I competed at RowdyHacks during the 9th
annual Hackathon. This was my second time attending, having
<a href="/projects/fractal-viewer" class="link">

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link type="image/x-icon" rel="icon" href="resources/favicon.svg"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" type="image/x-icon" rel="icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,7 +321,7 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> Fractal Explorer <a href="https://github.com/Xterminate1818/rowdyhacks-2023" target="_blank"><svg style="width: 1em; padding-bottom: 0.2em;" viewBox="0 0 128 128"><title> View source on GitHub </title><g fill="#181616"><path fill-rule="evenodd" clip-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Parallel Algorithms - Optimization - Hackathon Finalist </h2></div><div class="content"><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header class="header"><h1> Fractal Explorer <a target="_blank" href="https://github.com/Xterminate1818/rowdyhacks-2023"><svg viewBox="0 0 128 128" style="padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path clip-rule="evenodd" fill-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Parallel Algorithms - Optimization - Hackathon Finalist </h2></header><div class="content"><h2 class="distinct"> Motivation </h2>
In March of 2023 I attended RowdyHacks 8, my first hackathon. I was
in the middle of my Calculus II class, which I was enjoying a lot. With
Math at the front of my mind, I decided to write a program to visualize

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" type="image/x-icon" rel="icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" type="image/x-icon" rel="icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,7 +321,7 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> HTML Templating Engine <a target="_blank" href="https://github.com/Xterminate1818/html"><svg viewBox="0 0 128 128" style="width: 1em; padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path fill-rule="evenodd" clip-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Front End - Parser Design </h2></div><div class="content"><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header class="header"><h1> HTML Templating Engine <a target="_blank" href="https://github.com/Xterminate1818/html"><svg viewBox="0 0 128 128" style="padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z" fill-rule="evenodd" clip-rule="evenodd"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Front End - Parser Design </h2></header><div class="content"><h2 class="distinct"> Motivation </h2>
HTML is a powerful tool for creating static web pages, but
is not easily modular or scalable. Front end frameworks like
React provide reusable components. I want to use components

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link type="image/x-icon" href="resources/favicon.svg" rel="icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link rel="icon" href="resources/favicon.svg" type="image/x-icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,7 +321,7 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> Rust HTTP Server </h1><h2> Keywords: Back End - TCP - SSL </h2></div><div class="content"><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header class="header"><h1> Rust HTTP Server <a target="_blank" href="https://github.com/Xterminate1818/server"><svg viewBox="0 0 128 128" style="padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path clip-rule="evenodd" fill-rule="evenodd" d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Keywords: Back End - TCP - SSL </h2></header><div class="content"><h2 class="distinct"> Motivation </h2>
As a systems programmer, I want to understand the technologies
I use at a very low level. Modern web stacks abstract away the
process of handling TCP connections, serving SSL certificates,

View file

@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link rel="icon" href="resources/favicon.svg" type="image/x-icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" rel="icon" type="image/x-icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,7 +321,7 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> nd-range </h1><h2> Vector Math - Standard Library </h2></div><div class="content"><h2 class="distinct"> Motivation </h2>
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><header class="header"><h1> nd-range <a target="_blank" href="https://github.com/Xterminate1818/nd-range"><svg viewBox="0 0 128 128" style="padding-bottom: 0.2em;"><title> View source on GitHub </title><g fill="#181616"><path d="M64 5.103c-33.347 0-60.388 27.035-60.388 60.388 0 26.682 17.303 49.317 41.297 57.303 3.017.56 4.125-1.31 4.125-2.905 0-1.44-.056-6.197-.082-11.243-16.8 3.653-20.345-7.125-20.345-7.125-2.747-6.98-6.705-8.836-6.705-8.836-5.48-3.748.413-3.67.413-3.67 6.063.425 9.257 6.223 9.257 6.223 5.386 9.23 14.127 6.562 17.573 5.02.542-3.903 2.107-6.568 3.834-8.076-13.413-1.525-27.514-6.704-27.514-29.843 0-6.593 2.36-11.98 6.223-16.21-.628-1.52-2.695-7.662.584-15.98 0 0 5.07-1.623 16.61 6.19C53.7 35 58.867 34.327 64 34.304c5.13.023 10.3.694 15.127 2.033 11.526-7.813 16.59-6.19 16.59-6.19 3.287 8.317 1.22 14.46.593 15.98 3.872 4.23 6.215 9.617 6.215 16.21 0 23.194-14.127 28.3-27.574 29.796 2.167 1.874 4.097 5.55 4.097 11.183 0 8.08-.07 14.583-.07 16.572 0 1.607 1.088 3.49 4.148 2.897 23.98-7.994 41.263-30.622 41.263-57.294C124.388 32.14 97.35 5.104 64 5.104z" clip-rule="evenodd" fill-rule="evenodd"></path><path d="M26.484 91.806c-.133.3-.605.39-1.035.185-.44-.196-.685-.605-.543-.906.13-.31.603-.395 1.04-.188.44.197.69.61.537.91zm2.446 2.729c-.287.267-.85.143-1.232-.28-.396-.42-.47-.983-.177-1.254.298-.266.844-.14 1.24.28.394.426.472.984.17 1.255zM31.312 98.012c-.37.258-.976.017-1.35-.52-.37-.538-.37-1.183.01-1.44.373-.258.97-.025 1.35.507.368.545.368 1.19-.01 1.452zm3.261 3.361c-.33.365-1.036.267-1.552-.23-.527-.487-.674-1.18-.343-1.544.336-.366 1.045-.264 1.564.23.527.486.686 1.18.333 1.543zm4.5 1.951c-.147.473-.825.688-1.51.486-.683-.207-1.13-.76-.99-1.238.14-.477.823-.7 1.512-.485.683.206 1.13.756.988 1.237zm4.943.361c.017.498-.563.91-1.28.92-.723.017-1.308-.387-1.315-.877 0-.503.568-.91 1.29-.924.717-.013 1.306.387 1.306.88zm4.598-.782c.086.485-.413.984-1.126 1.117-.7.13-1.35-.172-1.44-.653-.086-.498.422-.997 1.122-1.126.714-.123 1.354.17 1.444.663zm0 0"></path></g></svg></a></h1><h2> Vector Math - Standard Library </h2></header><div class="content"><h2 class="distinct"> Motivation </h2>
The Rust standard library provides several 'Range' types which
represent integers inside a given bounds (i.e. 1 &#8804; n &#8804; 100).
Ranges can be iterated over, and used for bounds testing of numbers.
@ -364,7 +366,7 @@ code {
vector, we can apply the cartesian product algorithm to find every
position within the bounded space. Below is a diagram from Wikipedia
(CC BY-SA 3.0).
<img class="centered" src="https://upload.wikimedia.org/wikipedia/commons/4/4e/Cartesian_Product_qtl1.svg"/>
<img src="https://upload.wikimedia.org/wikipedia/commons/4/4e/Cartesian_Product_qtl1.svg" class="centered"/>
Because a range is contiguous by definition, generating a cartesian
product is simple and performant. The iterator object has a space
complexity of O(N), where n is the number of dimensions. Rust's const generics

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1" name="viewport"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" rel="icon" type="image/x-icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link rel="icon" href="resources/favicon.svg" type="image/x-icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,6 +321,6 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> This page is under construction </h1><h2> Check back later </h2><a href="/home" class="link"><button class="pure-button pure-button-primary button-xlarge">
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> This page is under construction </h1><h2> Check back later </h2><a class="link" href="/home"><button class="pure-button pure-button-primary button-xlarge">
Return Home
</button></a></div></div></div></body></html>

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link type="image/x-icon" href="resources/favicon.svg" rel="icon"/><style>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title> &#60loganGatlin/&#62 </title><link href="resources/favicon.svg" rel="icon" type="image/x-icon"/><style>
/*!
Pure v3.0.0
Copyright 2013 Yahoo!
@ -80,6 +80,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -169,19 +170,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -194,19 +195,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -217,7 +219,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -225,10 +227,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;
@ -319,6 +321,6 @@ code {
.property {
color: #586e75;
}
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> This page is under construction </h1><h2> Check back later </h2><a href="/home" class="link"><button class="pure-button pure-button-primary button-xlarge">
</style></head><body><div class="pure-g"><div class="pure-u-1-1"><div class="header"><h1> This page is under construction </h1><h2> Check back later </h2><a class="link" href="/home"><button class="pure-button pure-button-primary button-xlarge">
Return Home
</button></a></div></div></div></body></html>

View file

@ -1,15 +1,17 @@
<Container>
<div class="header">
<header class="header">
<h1 id="title" />
<h2>
<a class="link" href="/resume.pdf"> My Resume </a> -
<a class="link" href="http://github.com/Xterminate1818"> GitHub </a> -
<h2>
<a class="link" href="/resume.pdf"> My Resume </a>
-
<a class="link" href="http://github.com/Xterminate1818"> GitHub </a>
-
<a class="link" href="mailto:logan@gatlintc.com"> Email Me </a>
</h2>
</div>
</header>
<script>
var i = 0;
var txt = 'Welcome to my lgatlin.dev';
var txt = "Logan's Home Page";
var speed = 30;
function typeWriter() {
@ -24,80 +26,98 @@
<div class="content">
<h2 class="distinct"> Dev Posts </h2>
<Card href="/projects/http-server">
<Card>
<RustIcon />
<CloudflareIcon />
<h1> Web Server </h1>
<a class="link" href="/projects/http-server">
<h1> Web Server </h1>
</a>
<h3> Back End - TCP - SSL </h3>
<h2>
Currently serving you this website!
</h2>
</Card>
<Card href="/projects/html-templating">
<Card>
<RustIcon />
<HtmlIcon />
<h1> HTML Templating Engine </h1>
<a class="link" href="/projects/html-templating">
<h1> HTML Templating Engine </h1>
</a>
<h3> Front End - Parser Design </h3>
<h2>
Used to generate this page!
</h2>
</Card>
<Card href="/projects/forte">
<Card>
<RustIcon />
<WasmIcon />
<h1> Forte Assembly Language </h1>
<a class="link" href="/projects/forte">
<h1> Forte Assembly Language </h1>
</a>
<h3> Programming Language - Hackathon </h3>
<h2>
Radically different machine code. A creative-coding endeavor
</h2>
</Card>
<Card href="/projects/fishbowl">
<Card>
<RustIcon />
<WgpuIcon />
<h1> Fishbowl </h1>
<a class="link" href="/projects/fishbowl">
<h1> Fishbowl </h1>
</a>
<h3> Image Encoding - Hardware Rendering </h3>
<h2> Kinematic image processing with GPU acceleration </h2>
</Card>
<Card href="/projects/math-interpreter">
<Card>
<RustIcon />
<WasmIcon />
<h1> Math Interpreter </h1>
<a class="link" href="/projects/math-interpreter">
<h1> Math Interpreter </h1>
</a>
<h3> Parser Design </h3>
<h2>
Interpret and evaluate plain-text math expressions
</h2>
</Card>
<Card href="/projects/nd-range">
<Card>
<RustIcon />
<h1> nd-range </h1>
<a class="link" href="/projects/nd-range">
<h1> nd-range </h1>
</a>
<h3> Vector Math - Standard Library </h3>
<h2>
An extension of Rust's 'Range' type
using the Cartesian Product Algorithm
</h2>
</Card>
<Card href="/projects/fractal-explorer">
<Card>
<RustIcon />
<RaylibIcon />
<h1> Fractal Explorer </h1>
<a class="link" href="projects/fractal-explorer">
<h1> Fractal Explorer </h1>
</a>
<h3> Parallel Algorithms - Optimization - Hackathon </h3>
<h2>
A Mandelbrot Fractal viewer using CPU parallelism
and the derivative bail algorithm
</h2>
</Card>
<Card href="/projects/pokedex">
<Card>
<PythonIcon />
<h1> Pokédex </h1>
<a class="link" href="/projects/pokedex">
<h1> Pokédex </h1>
</a>
<h3> TKinter - Web APIs - Native UI </h3>
<h2>
A TKinter app for viewing the original Pokédex, with
stats scraped from online sources
</h2>
</Card>
<Card href="/projects/stock-trading">
<Card>
<PythonIcon />
<h1> Stock Trading A.I. </h1>
<a class="link" href="/projects/stock-trading">
<h1> Stock Trading A.I. </h1>
</a>
<h3> Command Line App - Web APIs </h3>
<h2>
A simple heuristic trading algorithm

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<header>
<h1> Fishbowl <GithubIcon href="https://github.com/Xterminate1818/fishbowl"/> </h1>
<h2> Vector Math - Standard Library </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Gallery </h2>
@ -82,8 +82,7 @@ self.clock += 1;
<label for="file"> Select an image </label>
<input id="file" type="file" name="image" required
accept="image/bmp,image/gif,image/vnd.microsoft.icon,image/jpeg,image/png,image/tiff,image/webp"/>
<br/>
<input class="pure-button pure-button-primary" type="submit" value="Run Fishbowl"/>
<br/> <input class="pure-button pure-button-primary" type="submit" value="Run Fishbowl"/>
</fieldset>
</form>
<!-- Handle displaying image -->

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<header class="header">
<h1> Forte <GithubIcon href="https://github.com/Xterminate1818/forte"/> </h1>
<h2> Programming Language - Hackathon </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Motivation </h2>
In February of 2024, I competed at RowdyHacks during the 9th

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<header class="header">
<h1> Fractal Explorer <GithubIcon href="https://github.com/Xterminate1818/rowdyhacks-2023"/> </h1>
<h2> Parallel Algorithms - Optimization - Hackathon Finalist </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Motivation </h2>
In March of 2023 I attended RowdyHacks 8, my first hackathon. I was

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<header class="header">
<h1> HTML Templating Engine <GithubIcon href="https://github.com/Xterminate1818/html"/> </h1>
<h2> Front End - Parser Design </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Motivation </h2>
HTML is a powerful tool for creating static web pages, but

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<h1> Rust HTTP Server </h1>
<header class="header">
<h1> Rust HTTP Server <GithubIcon href="https://github.com/Xterminate1818/server"/></h1>
<h2> Keywords: Back End - TCP - SSL </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Motivation </h2>
As a systems programmer, I want to understand the technologies

View file

@ -1,8 +1,8 @@
<Container>
<div class="header">
<h1> nd-range </h1>
<header class="header">
<h1> nd-range <GithubIcon href="https://github.com/Xterminate1818/nd-range"/> </h1>
<h2> Vector Math - Standard Library </h2>
</div>
</header>
<div class="content">
<h2 class="distinct"> Motivation </h2>
The Rust standard library provides several 'Range' types which

View file

@ -67,6 +67,7 @@ td {
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
justify-content: center;
width: 50%;
}
@ -156,19 +157,19 @@ The content `<div>` is where all your content goes.
text-align: justify;
}
.header {
header {
margin: 0;
color: #444;
text-align: center;
padding: 2.5em 4em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
header h1 {
margin: 0.2em 0;
font-size: 2.5em;
font-weight: bold;
}
.header h2 {
header h2 {
font-weight: 300;
color: #888;
padding: 0;
@ -181,19 +182,20 @@ The content `<div>` is where all your content goes.
padding: 0.5em 0.5em 0.5em 0.5em;
}
@keyframes card-hover-anim {
to {background-color: #ccc;}
}
@keyframes card-text-hover-anim {
to {color: #222;}
}
/* @keyframes card-hover-anim { */
/* to {background-color: #ccc;} */
/* } */
/* @keyframes card-text-hover-anim { */
/* to {color: #222;} */
/* } */
.spaced {
padding: 0.5em 0.5em 0.5em 0.5em;
margin: 1em 0em 1em 0em;
}
h1 a svg {
svg {
width: 1em;
vertical-align: middle;
}
@ -204,7 +206,7 @@ h1 a svg {
}
.card h1 {
color: #444;
/* color: #444; */
}
.card h2 {
color: #777;
@ -212,10 +214,10 @@ h1 a svg {
.card h3 {
color: #999;
}
.card a {
text-decoration: none;
display: block;
}
/* .card a { */
/* text-decoration: none; */
/* display: block; */
/* } */
.card:hover {
animation: card-hover-anim 0.25s ease-out;

View file

@ -18,7 +18,6 @@
</div>
</div>
</body>
</html>
</Container>
@ -234,7 +233,7 @@
<GithubIcon>
<a href=@href target="_blank">
<svg viewBox="0 0 128 128" style="width: 1em; padding-bottom: 0.2em;">
<svg viewBox="0 0 128 128" style="padding-bottom: 0.2em;">
<title> View source on GitHub </title>
<g fill="#181616">
<path fill-rule="evenodd" clip-rule="evenodd"