pages/garden/opti-speech/index.html

313 lines
No EOL
44 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Opti-Speech | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot Personal Website">
<meta name="generator" content="VitePress v1.2.2">
<link rel="preload stylesheet" href="/assets/style.DZitj0Al.css" as="style">
<script type="module" src="/assets/app.fRTEzOm5.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.D8PMdl4T.js">
<link rel="modulepreload" href="/assets/chunks/theme.g7q6KECo.js">
<link rel="modulepreload" href="/assets/garden_opti-speech_index.md.BxpJ0YGs.lean.js">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Pacifico&amp;family=Roboto+Mono:ital,wght@0,400;0,600;1,400&amp;display=swap">
<link rel="manifest" href="/site.webmanifest">
<link rel="alternate" type="text/mf2+html" href="/changelog">
<meta name="og:description" content="The Paper Pilot portfolio site">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--[--><!--]--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><span class="DocSearch-Button-Key">Meta</span><span class="DocSearch-Button-Key">K</span></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://incremental.social" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Incremental Social</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="1.1" viewBox="0 0 27.9 32" style="background-color:white">
<g xmlns="http://www.w3.org/2000/svg" transform="translate(-.095 .005)" fill="#040404">
<path d="m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z"/>
<path d="m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z"/>
<path d="m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z"/>
</g>
</svg></a><a class="VPSocialLink no-icon" href="https://incremental.social/u/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="0 0 334.73599 334.736"
id="svg40"
sodipodi:docname="logo_condensed.svg"
inkscape:version="1.3.1 (5ab75fa947, 2023-11-03)"
width="334.73599"
height="334.73599"
inkscape:export-filename="logo_condensed_forgejo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs44" />
<sodipodi:namedview
id="namedview42"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="87.327687"
inkscape:cy="132.40574"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g4"
inkscape:showpageshadow="0"
inkscape:deskcolor="#d1d1d1"
showguides="true">
<sodipodi:guide
position="264.97068,-61.5051"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="93.001002,77.044749"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="109.56249,95.005809"
orientation="1,0"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="163.99999,77.505809"
orientation="1,0"
id="guide4"
inkscape:locked="false" />
<sodipodi:guide
position="179,1.5058096"
orientation="1,0"
id="guide5"
inkscape:locked="false" />
</sodipodi:namedview>
<g
id="g1"
transform="translate(-1,84.932692)">
<path
fill="#6b438b"
d="m 271.24983,105.65061 q -0.36,4.08 -0.31,8.47 0.05,4.56 -4.49,8.19 -9.11,7.28 -17.84,-0.35 c -5.3,-4.65 -3.99,-10.34 -4.42,-16.25 -11.33,-3.3 -21.65,-12.470005 -22.8,-24.590005 q -0.53,-5.59 -0.95,-11.21 -0.04,-0.52 -0.53,-0.64 c -4.87,-1.23 -7.99,-2.08 -10.29,-6.94 -3.9,-8.23 0.79,-15.35 8.92,-18.12 a 0.39,0.4 77.9 0 0 0.27,-0.41 c -0.74,-8.02 -1.4,-15.08 1.56,-22.79 3.11,-8.09 9.57,-14.2599996 17.53,-17.6199996 q 4.11,-1.73 10.44,-2.07 8.68,-0.46000001 17.4,-0.26 16.85,0.37 26.28,13.5899996 c 6.43,9.02 5.96,18.48 5.03,29.16 q -0.05,0.51 0.45,0.64 c 13.7,3.61 12.56,22.82 -1.42,24.78 a 0.71,0.71 0 0 0 -0.61,0.65 c -0.38,5.39 -0.17,11.34 -2.1,16.46 q -5.7,15.160005 -22.12,19.310005 z"
id="path28"
style="display:inline" />
<path
fill="#eceff4"
d="m 142.39,41.700605 -31,11.57 a 0.62,0.61 79.8 0 1 -0.83,-0.58 l 0.01,-19.31 q 0,-0.55 0.51,-0.74 23.03,-8.68 46.02,-17.25 c 2.57,-0.96 4.78,-0.76 7.42,-0.75 a 0.49,0.49 0 0 1 0.49,0.49 V 147.45061 a 0.79,0.79 0 0 1 -0.8,0.79 l -19.99,-0.01 q -1.17,0 -1.17,-1.16 V 42.160605 a 0.49,0.49 0 0 0 -0.66,-0.46 z"
id="path30"
style="display:inline" />
<path
fill="#eceff4"
d="m 59.21,74.480605 h 33.95 a 0.84,0.84 0 0 1 0.84,0.84 l -0.01,18.96 a 0.84,0.84 0 0 1 -0.84,0.84 l -33.88,0.03 a 0.84,0.84 0 0 0 -0.84,0.84 l -0.08,38.580005 a 0.84,0.84 0 0 1 -0.84,0.84 l -20.11,-0.01 a 0.84,0.84 0 0 1 -0.84,-0.84 L 36.55,95.980605 a 0.84,0.84 0 0 0 -0.84,-0.84 H 1.84 a 0.84,0.84 0 0 1 -0.84,-0.84 l 0.02,-19.02 a 0.84,0.84 0 0 1 0.84,-0.84 l 33.86,0.02 a 0.84,0.84 0 0 0 0.84,-0.84 v -35.79 a 0.84,0.84 0 0 1 0.84,-0.84 l 20.13,-0.02 a 0.84,0.84 0 0 1 0.84,0.84 v 35.83 a 0.84,0.84 0 0 0 0.84,0.84 z"
id="path32"
style="display:inline" />
<path
fill="#533566"
d="m 244.18983,105.71061 c 0.43,5.91 -0.88,11.6 4.42,16.25 q 8.73,7.63 17.84,0.35 4.54,-3.63 4.49,-8.19 -0.05,-4.39 0.31,-8.47 24.6,4 42.34,20.72 l -0.18,37.49 -110.93,0.01 -0.09,-37.61 q 17.53,-16.43 41.8,-20.55 z"
id="path34"
style="display:inline" />
<path
fill="#6b438b"
d="m 202.38983,126.26061 0.09,37.61 -21.38,-0.49 a 1.13,1.13 0 0 1 -1.04,-1.49 q 7.21,-21.29 22.33,-35.63 z"
id="path36"
style="display:inline" />
<path
fill="#6b438b"
d="m 313.58983,126.37061 q 12.71,12.03 19.9,29.52 1.79,4.36 2.23,6.86 0.11,0.61 -0.51,0.62 l -21.8,0.49 z"
id="path38"
style="display:inline" />
<g
transform="matrix(0.77226665,0,0,0.77226665,154.89692,5.2164554)"
id="g4"
style="display:none">
<path
d="M 58,168 V 70 a 50,50 0 0 1 50,-50 h 20"
class="orange"
id="path1"
style="fill:none;stroke:#ff6600;stroke-width:25" />
<path
d="m 58,168 v -30 a 50,50 0 0 1 50,-50 h 20"
class="red"
id="path2-3"
style="fill:none;stroke:#d40000;stroke-width:25" />
<circle
cx="142"
cy="20"
r="18"
class="orange"
id="circle2"
style="fill:none;stroke:#ff6600;stroke-width:15" />
<circle
cx="142"
cy="88"
r="18"
class="red"
id="circle3"
style="fill:none;stroke:#d40000;stroke-width:15" />
<circle
cx="58"
cy="180"
r="18"
class="red"
id="circle4"
style="fill:none;stroke:#d40000;stroke-width:15" />
</g>
</g>
</svg>
</a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="1.1" viewBox="0 0 27.9 32" style="background-color:white">
<g xmlns="http://www.w3.org/2000/svg" transform="translate(-.095 .005)" fill="#040404">
<path d="m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z"/>
<path d="m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z"/>
<path d="m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z"/>
</g>
</svg></a><a class="VPSocialLink no-icon" href="https://incremental.social/u/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="0 0 334.73599 334.736"
id="svg40"
sodipodi:docname="logo_condensed.svg"
inkscape:version="1.3.1 (5ab75fa947, 2023-11-03)"
width="334.73599"
height="334.73599"
inkscape:export-filename="logo_condensed_forgejo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs44" />
<sodipodi:namedview
id="namedview42"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="87.327687"
inkscape:cy="132.40574"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g4"
inkscape:showpageshadow="0"
inkscape:deskcolor="#d1d1d1"
showguides="true">
<sodipodi:guide
position="264.97068,-61.5051"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="93.001002,77.044749"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="109.56249,95.005809"
orientation="1,0"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="163.99999,77.505809"
orientation="1,0"
id="guide4"
inkscape:locked="false" />
<sodipodi:guide
position="179,1.5058096"
orientation="1,0"
id="guide5"
inkscape:locked="false" />
</sodipodi:namedview>
<g
id="g1"
transform="translate(-1,84.932692)">
<path
fill="#6b438b"
d="m 271.24983,105.65061 q -0.36,4.08 -0.31,8.47 0.05,4.56 -4.49,8.19 -9.11,7.28 -17.84,-0.35 c -5.3,-4.65 -3.99,-10.34 -4.42,-16.25 -11.33,-3.3 -21.65,-12.470005 -22.8,-24.590005 q -0.53,-5.59 -0.95,-11.21 -0.04,-0.52 -0.53,-0.64 c -4.87,-1.23 -7.99,-2.08 -10.29,-6.94 -3.9,-8.23 0.79,-15.35 8.92,-18.12 a 0.39,0.4 77.9 0 0 0.27,-0.41 c -0.74,-8.02 -1.4,-15.08 1.56,-22.79 3.11,-8.09 9.57,-14.2599996 17.53,-17.6199996 q 4.11,-1.73 10.44,-2.07 8.68,-0.46000001 17.4,-0.26 16.85,0.37 26.28,13.5899996 c 6.43,9.02 5.96,18.48 5.03,29.16 q -0.05,0.51 0.45,0.64 c 13.7,3.61 12.56,22.82 -1.42,24.78 a 0.71,0.71 0 0 0 -0.61,0.65 c -0.38,5.39 -0.17,11.34 -2.1,16.46 q -5.7,15.160005 -22.12,19.310005 z"
id="path28"
style="display:inline" />
<path
fill="#eceff4"
d="m 142.39,41.700605 -31,11.57 a 0.62,0.61 79.8 0 1 -0.83,-0.58 l 0.01,-19.31 q 0,-0.55 0.51,-0.74 23.03,-8.68 46.02,-17.25 c 2.57,-0.96 4.78,-0.76 7.42,-0.75 a 0.49,0.49 0 0 1 0.49,0.49 V 147.45061 a 0.79,0.79 0 0 1 -0.8,0.79 l -19.99,-0.01 q -1.17,0 -1.17,-1.16 V 42.160605 a 0.49,0.49 0 0 0 -0.66,-0.46 z"
id="path30"
style="display:inline" />
<path
fill="#eceff4"
d="m 59.21,74.480605 h 33.95 a 0.84,0.84 0 0 1 0.84,0.84 l -0.01,18.96 a 0.84,0.84 0 0 1 -0.84,0.84 l -33.88,0.03 a 0.84,0.84 0 0 0 -0.84,0.84 l -0.08,38.580005 a 0.84,0.84 0 0 1 -0.84,0.84 l -20.11,-0.01 a 0.84,0.84 0 0 1 -0.84,-0.84 L 36.55,95.980605 a 0.84,0.84 0 0 0 -0.84,-0.84 H 1.84 a 0.84,0.84 0 0 1 -0.84,-0.84 l 0.02,-19.02 a 0.84,0.84 0 0 1 0.84,-0.84 l 33.86,0.02 a 0.84,0.84 0 0 0 0.84,-0.84 v -35.79 a 0.84,0.84 0 0 1 0.84,-0.84 l 20.13,-0.02 a 0.84,0.84 0 0 1 0.84,0.84 v 35.83 a 0.84,0.84 0 0 0 0.84,0.84 z"
id="path32"
style="display:inline" />
<path
fill="#533566"
d="m 244.18983,105.71061 c 0.43,5.91 -0.88,11.6 4.42,16.25 q 8.73,7.63 17.84,0.35 4.54,-3.63 4.49,-8.19 -0.05,-4.39 0.31,-8.47 24.6,4 42.34,20.72 l -0.18,37.49 -110.93,0.01 -0.09,-37.61 q 17.53,-16.43 41.8,-20.55 z"
id="path34"
style="display:inline" />
<path
fill="#6b438b"
d="m 202.38983,126.26061 0.09,37.61 -21.38,-0.49 a 1.13,1.13 0 0 1 -1.04,-1.49 q 7.21,-21.29 22.33,-35.63 z"
id="path36"
style="display:inline" />
<path
fill="#6b438b"
d="m 313.58983,126.37061 q 12.71,12.03 19.9,29.52 1.79,4.36 2.23,6.86 0.11,0.61 -0.51,0.62 l -21.8,0.49 z"
id="path38"
style="display:inline" />
<g
transform="matrix(0.77226665,0,0,0.77226665,154.89692,5.2164554)"
id="g4"
style="display:none">
<path
d="M 58,168 V 70 a 50,50 0 0 1 50,-50 h 20"
class="orange"
id="path1"
style="fill:none;stroke:#ff6600;stroke-width:25" />
<path
d="m 58,168 v -30 a 50,50 0 0 1 50,-50 h 20"
class="red"
id="path2-3"
style="fill:none;stroke:#d40000;stroke-width:25" />
<circle
cx="142"
cy="20"
r="18"
class="orange"
id="circle2"
style="fill:none;stroke:#ff6600;stroke-width:15" />
<circle
cx="142"
cy="88"
r="18"
class="red"
id="circle3"
style="fill:none;stroke:#d40000;stroke-width:15" />
<circle
cx="58"
cy="180"
r="18"
class="red"
id="circle4"
style="fill:none;stroke:#d40000;stroke-width:15" />
</g>
</g>
</svg>
</a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-ccf7ddec data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-ccf7ddec><div class="divider-line" data-v-ccf7ddec></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-575e6a36><div class="curtain" data-v-575e6a36></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-575e6a36><span class="visually-hidden" id="sidebar-aria-label" data-v-575e6a36> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>Recommended Pages</h2><!----></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/my-projects" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>My Projects</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/guide-to-incrementals" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Guide to Incrementals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/the-small-web" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>The Small Web</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/fedi-v2" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Fedi v2</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><!----><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/changelog" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Changelog</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _garden_opti-speech_" data-v-39a288b8><div><h1 id="opti-speech" tabindex="-1">Opti-Speech <a class="header-anchor" href="#opti-speech" aria-label="Permalink to &quot;Opti-Speech&quot;"></a></h1><blockquote><p>Tags: <a href="/garden/my-projects/">My Projects</a></p></blockquote><p>In college I continued development on the Opti-Speech project, originally built alongside the scientific paper <a href="https://www.researchgate.net/profile/Thomas-Campbell-11/publication/354182612_Opti-speech_a_real-time_3d_visual_feedback_system_for_speech_training/links/6424679ca1b72772e4360fa2/Opti-speech-a-real-time-3d-visual-feedback-system-for-speech-training.pdf" target="_blank" rel="noreferrer">Opti-speech: a real-time, 3d visual feedback system for speech training</a></p><h2 id="the-original-project" tabindex="-1">The Original Project <a class="header-anchor" href="#the-original-project" aria-label="Permalink to &quot;The Original Project&quot;"></a></h2><p>The Optispeech project involves designing and testing a real-time tongue model that can be viewed in a transparent head while a subject talks — for the purposes of treating speech errors and teaching foreign language sounds. This work has been conducted in partnership with Vulintus and with support from the National Institutes of Health (NIH).</p><p><img src="/garden/system-architecture-600_1717384793933_0.jpg" alt="system-architecture-600.jpg"></p><iframe width="560" height="315" src="https://www.youtube.com/embed/9uHqIRs7ZjM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style="display:block;margin:auto;"></iframe><p>This video shows a talker with WAVE sensors placed on the tongue hitting a virtual target sphere located at the alveolar ridge. When an alveolar consonant is hit (e.g., /s/, /n/, /d/) the sphere changes color from red to green.</p><iframe width="560" height="315" src="https://www.youtube.com/embed/Oz42mKvlzqI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style="display:block;margin:auto;"></iframe><p>This video shows an American talker learning a novel sound not found in English. When the post-alveolar consonant is hit, the target sphere changes color from red to green. Here, the NDI WAVE system serves as input.</p><h2 id="my-work" tabindex="-1">My Work <a class="header-anchor" href="#my-work" aria-label="Permalink to &quot;My Work&quot;"></a></h2><p>As the sole programmer at UT Dallas Speech Production Lab at the time, my changes involved updating to a more modern version of Unity, improving the interface, in general cleaning up tech debt so it can more easily support new features, and added support for additional EMA systems, namely the Carstens AG501.</p><p><img src="/garden/new-interface_1717384734845_0.png" alt="new-interface.png"></p><p>In addition, the program now includes documentation and unit tests to improve program stability and maintainability going forward.</p><p><img src="/garden/documentation_1717384823218_0.png" alt="documentation.png"></p><p><img src="/garden/unittests_1717384825666_0.png" alt="unittests.png"></p></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><div class="edit-info" data-v-d4a0bba5><!----><div class="last-updated" data-v-d4a0bba5><p class="VPLastUpdated" data-v-d4a0bba5 data-v-7e05ebdb>Last updated: <time datetime="2024-06-11T01:24:22.000Z" data-v-7e05ebdb></time></p></div></div><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"garden_freeform-vs-chronological-dichotomy_index.md\":\"Dd75toL7\",\"garden_guide-to-incrementals_appeal-to-developers_index.md\":\"TuQPd3Rm\",\"garden_guide-to-incrementals_what-is-content_index.md\":\"CPcgg6ty\",\"garden_activitypub_index.md\":\"DanMaaUt\",\"garden_ivy-road_index.md\":\"CQXyVNns\",\"garden_wanderstop_index.md\":\"DTpdMyo5\",\"garden_babble-buds_index.md\":\"DsQ-ysRz\",\"garden_federated-identity_index.md\":\"Bla680qg\",\"garden_fedi-v2_index.md\":\"BgcweGyn\",\"garden_commune_index.md\":\"M75DLEO4\",\"garden_freeform_index.md\":\"-KWtdFru\",\"garden_logseq_index.md\":\"D6vggIQN\",\"garden_matrix_index.md\":\"LNPgVpGv\",\"garden_my-personal-website_index.md\":\"DM_r0_4y\",\"garden_weird_index.md\":\"BLaFDJC6\",\"garden_synapse_index.md\":\"DgiE1qG4\",\"garden_my-projects_index.md\":\"COjF407h\",\"garden_guide-to-incrementals_navigating-criticism_index.md\":\"CNMRuwlX\",\"public_gamedevtree_docs_infoboxes.md\":\"u7lbf1fe\",\"garden_the-beginner-s-guide_index.md\":\"XLZaxzi-\",\"public_gamedevtree_docs_custom-tab-layouts.md\":\"DXFeTlpj\",\"public_kronos_docs_buyables.md\":\"DApk6nw5\",\"public_lit_docs_subtabs-and-microtabs.md\":\"CICoMMMb\",\"public_lit_docs_challenges.md\":\"FvqZDXVG\",\"public_kronos_docs_layer-features.md\":\"Bz9OYgri\",\"garden_opti-speech_index.md\":\"BxpJ0YGs\",\"garden_guide-to-incrementals_appeal-to-players_index.md\":\"BXCmSfkY\",\"garden_game-dev-tree_index.md\":\"DHDOIZdt\",\"garden_kronos_index.md\":\"DHd61a4u\",\"garden_fediverse_index.md\":\"DV7pCe4h\",\"public_kronos_docs_subtabs-and-microtabs.md\":\"Bqm7YUXh\",\"garden_garden-rss_index.md\":\"GBMUkoRO\",\"garden_profectus_index.md\":\"BSPMUH2E\",\"garden_cinny_index.md\":\"B3J4-EIr\",\"garden_capture-the-citadel_index.md\":\"BUHJ6rXI\",\"garden_guide-to-incrementals_index.md\":\"BLT12LIo\",\"garden_v-ecs_index.md\":\"DJJi6du9\",\"garden_forgejo_index.md\":\"DPYsTNsY\",\"garden_advent-incremental_index.md\":\"p5RrJS7f\",\"garden_social-media_index.md\":\"DP14BUn3\",\"garden_decentralized_index.md\":\"CEHxkhUr\",\"garden_chat-glue_index.md\":\"GqpWspsb\",\"garden_incremental-social_index.md\":\"3WO3QvHs\",\"garden_digital-gardens_index.md\":\"BuqDyDTZ\",\"public_lit_docs_trees-and-tree-customization.md\":\"CWsN4p6Q\",\"garden_mbin_index.md\":\"GY_oPyY9\",\"garden_the-small-web_index.md\":\"CuXptpgo\",\"garden_chronological_index.md\":\"ChIwCT8E\",\"guide-to-incrementals_index.md\":\"DKlWf0lO\",\"public_gamedevtree_docs_updating-tmt.md\":\"Cym0rRYz\",\"garden_davey-wreden_index.md\":\"0uk6tkMa\",\"public_gamedevtree_readme.md\":\"BcJ-DaYW\",\"public_kronos_old things_2.0-format-changes.md\":\"B6DTr0jJ\",\"garden_nostr_index.md\":\"Bj0gHaYO\",\"public_kronos_readme.md\":\"DOcyAoHv\",\"guide-to-incrementals_ludology_content_index.md\":\"DrX3RUub\",\"public_lit_readme.md\":\"pVsJJuH2\",\"garden_the-cozy-web_index.md\":\"BNzQg6VV\",\"public_kronos_docs_grids.md\":\"3_YSBuDO\",\"public_kronos_docs_infoboxes.md\":\"DpZxLNRR\",\"index.md\":\"9F__5BK6\",\"public_kronos_docs_updating-tmt.md\":\"B2tZSHuA\",\"public_gamedevtree_docs_!general-info.md\":\"60si-HlW\",\"public_kronos_docs_clickables.md\":\"BzXBLTUl\",\"public_gamedevtree_docs_bars.md\":\"BOkZNfjK\",\"public_gamedevtree_docs_buyables.md\":\"Bdb3l1uw\",\"public_lit_docs_updating-tmt.md\":\"K90Uh1tC\",\"public_kronos_docs_milestones.md\":\"D2as2Rdw\",\"public_gamedevtree_docs_achievements.md\":\"Byb7DjwU\",\"public_lit_docs_main-mod-info.md\":\"CUo3Y8ir\",\"guide-to-incrementals_ludology_definition_index.md\":\"DKOCC4rn\",\"guide-to-incrementals_ludology_appeal-developers_index.md\":\"B3Lh8HIP\",\"public_lit_changelog.md\":\"Dj7fgFUm\",\"guide-to-incrementals_ludology_appeal-gamers_index.md\":\"CjswzOO0\",\"guide-to-incrementals_design_criticism_index.md\":\"f96IunmV\",\"garden_planar-pioneers_index.md\":\"C2tqrMsQ\",\"public_lit_old things_2.0-format-changes.md\":\"y8RAczqh\",\"garden_vitepress_index.md\":\"H4_D67q2\",\"public_kronos_docs_!general-info.md\":\"DvOjN6Rt\",\"public_lit_docs_milestones.md\":\"DKpEd4GK\",\"public_gamedevtree_docs_getting-started.md\":\"53r6S_jZ\",\"public_gamedevtree_2.0-format-changes.md\":\"BJWVbIw2\",\"garden_this-knowledge-hub_index.md\":\"0kSOQcYg\",\"garden_atproto_index.md\":\"CiHxa0oR\",\"public_gamedevtree_docs_upgrades.md\":\"hegmaS21\",\"public_gamedevtree_docs_layer-features.md\":\"BBomRnin\",\"public_gamedevtree_docs_main-mod-info.md\":\"CzntOXuT\",\"public_gamedevtree_changelog.md\":\"yaSdB86a\",\"public_gamedevtree_docs_clickables.md\":\"CYP_r85U\",\"public_kronos_changelog.md\":\"paCgtsXh\",\"garden_dice-armor_index.md\":\"C0j8r9U5\",\"public_lit_docs_getting-started.md\":\"MYuuOf2Q\",\"garden_guide-to-incrementals_defining-the-genre_index.md\":\"CiiOiMfK\",\"public_kronos_docs_achievements.md\":\"B2ZLvQuE\",\"changelog_index.md\":\"Bq0zUXhk\",\"public_kronos_docs_upgrades.md\":\"5OAqntPP\",\"public_kronos_docs_getting-started.md\":\"CQfW9cEX\",\"public_lit_docs_clickables.md\":\"D9eesbmM\",\"public_kronos_docs_basic-layer-breakdown.md\":\"MMKYyoj1\",\"public_kronos_docs_trees-and-tree-customization.md\":\"DZzDglty\",\"public_kronos_docs_particles.md\":\"DkE7U5GT\",\"public_lit_docs_upgrades.md\":\"DnP9Av1u\",\"public_gamedevtree_docs_basic-layer-breakdown.md\":\"Lt_Kak5C\",\"public_lit_docs_achievements.md\":\"z7uTtaPO\",\"garden_open-source_index.md\":\"Ct6LFmg2\",\"public_gamedevtree_docs_subtabs-and-microtabs.md\":\"D3v8JvXX\",\"public_lit_docs_buyables.md\":\"DilfnDIO\",\"garden_webrings_index.md\":\"CcdnNwag\",\"public_kronos_docs_main-mod-info.md\":\"ByNe_g0w\",\"public_lit_docs_infoboxes.md\":\"Be2LqzDD\",\"public_gamedevtree_docs_challenges.md\":\"BsXIWoTI\",\"public_lit_docs_basic-layer-breakdown.md\":\"CqbgegVm\",\"public_kronos_docs_challenges.md\":\"Cn9Xc7xE\",\"public_lit_docs_!general-info.md\":\"CDTQvlu3\",\"public_lit_docs_custom-tab-layouts.md\":\"BYNeuJZ1\",\"public_kronos_docs_custom-tab-layouts.md\":\"BbyIoWME\",\"public_gamedevtree_docs_milestones.md\":\"Phzy1O6H\",\"public_lit_docs_layer-features.md\":\"BSLdBpI-\",\"public_kronos_docs_bars.md\":\"JgNsk6mY\",\"public_lit_docs_bars.md\":\"hc6LT70W\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"The Paper Pilot\",\"description\":\"The Paper Pilot Personal Website\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"nav\":[{\"text\":\"Profectus\",\"link\":\"https://moddingtree.com\"},{\"text\":\"Incremental Social\",\"link\":\"https://incremental.social\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/thepaperpilot\"},{\"icon\":\"linkedin\",\"link\":\"https://www.linkedin.com/pub/anthony-lawn/a9/a98/2\"},{\"icon\":{\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 27.9 32\\\" style=\\\"background-color:white\\\">\\n <g xmlns=\\\"http://www.w3.org/2000/svg\\\" transform=\\\"translate(-.095 .005)\\\" fill=\\\"#040404\\\">\\n <path d=\\\"m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z\\\"/>\\n <path d=\\\"m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z\\\"/>\\n <path d=\\\"m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z\\\"/>\\n </g>\\n </svg>\"},\"link\":\"https://matrix.to/#/@thepaperpilot:incremental.social\"},{\"icon\":{\"svg\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<svg\\n version=\\\"1.1\\\"\\n viewBox=\\\"0 0 334.73599 334.736\\\"\\n id=\\\"svg40\\\"\\n sodipodi:docname=\\\"logo_condensed.svg\\\"\\n inkscape:version=\\\"1.3.1 (5ab75fa947, 2023-11-03)\\\"\\n width=\\\"334.73599\\\"\\n height=\\\"334.73599\\\"\\n inkscape:export-filename=\\\"logo_condensed_forgejo.png\\\"\\n inkscape:export-xdpi=\\\"96\\\"\\n inkscape:export-ydpi=\\\"96\\\"\\n xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\"\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n xmlns:svg=\\\"http://www.w3.org/2000/svg\\\">\\n <defs\\n id=\\\"defs44\\\" />\\n <sodipodi:namedview\\n id=\\\"namedview42\\\"\\n pagecolor=\\\"#505050\\\"\\n bordercolor=\\\"#eeeeee\\\"\\n borderopacity=\\\"1\\\"\\n inkscape:pageshadow=\\\"0\\\"\\n inkscape:pageopacity=\\\"0\\\"\\n inkscape:pagecheckerboard=\\\"0\\\"\\n showgrid=\\\"false\\\"\\n inkscape:zoom=\\\"2.8284271\\\"\\n inkscape:cx=\\\"87.327687\\\"\\n inkscape:cy=\\\"132.40574\\\"\\n inkscape:window-width=\\\"2560\\\"\\n inkscape:window-height=\\\"1369\\\"\\n inkscape:window-x=\\\"-8\\\"\\n inkscape:window-y=\\\"-8\\\"\\n inkscape:window-maximized=\\\"1\\\"\\n inkscape:current-layer=\\\"g4\\\"\\n inkscape:showpageshadow=\\\"0\\\"\\n inkscape:deskcolor=\\\"#d1d1d1\\\"\\n showguides=\\\"true\\\">\\n <sodipodi:guide\\n position=\\\"264.97068,-61.5051\\\"\\n orientation=\\\"1,0\\\"\\n id=\\\"guide1\\\"\\n inkscape:locked=\\\"false\\\" />\\n <sodipodi:guide\\n position=\\\"93.001002,77.044749\\\"\\n orientation=\\\"1,0\\\"\\n id=\\\"guide2\\\"\\n inkscape:locked=\\\"false\\\" />\\n <sodipodi:guide\\n position=\\\"109.56249,95.005809\\\"\\n orientation=\\\"1,0\\\"\\n id=\\\"guide3\\\"\\n inkscape:locked=\\\"false\\\" />\\n <sodipodi:guide\\n position=\\\"163.99999,77.505809\\\"\\n orientation=\\\"1,0\\\"\\n id=\\\"guide4\\\"\\n inkscape:locked=\\\"false\\\" />\\n <sodipodi:guide\\n position=\\\"179,1.5058096\\\"\\n orientation=\\\"1,0\\\"\\n id=\\\"guide5\\\"\\n inkscape:locked=\\\"false\\\" />\\n </sodipodi:namedview>\\n <g\\n id=\\\"g1\\\"\\n transform=\\\"translate(-1,84.932692)\\\">\\n <path\\n fill=\\\"#6b438b\\\"\\n d=\\\"m 271.24983,105.65061 q -0.36,4.08 -0.31,8.47 0.05,4.56 -4.49,8.19 -9.11,7.28 -17.84,-0.35 c -5.3,-4.65 -3.99,-10.34 -4.42,-16.25 -11.33,-3.3 -21.65,-12.470005 -22.8,-24.590005 q -0.53,-5.59 -0.95,-11.21 -0.04,-0.52 -0.53,-0.64 c -4.87,-1.23 -7.99,-2.08 -10.29,-6.94 -3.9,-8.23 0.79,-15.35 8.92,-18.12 a 0.39,0.4 77.9 0 0 0.27,-0.41 c -0.74,-8.02 -1.4,-15.08 1.56,-22.79 3.11,-8.09 9.57,-14.2599996 17.53,-17.6199996 q 4.11,-1.73 10.44,-2.07 8.68,-0.46000001 17.4,-0.26 16.85,0.37 26.28,13.5899996 c 6.43,9.02 5.96,18.48 5.03,29.16 q -0.05,0.51 0.45,0.64 c 13.7,3.61 12.56,22.82 -1.42,24.78 a 0.71,0.71 0 0 0 -0.61,0.65 c -0.38,5.39 -0.17,11.34 -2.1,16.46 q -5.7,15.160005 -22.12,19.310005 z\\\"\\n id=\\\"path28\\\"\\n style=\\\"display:inline\\\" />\\n <path\\n fill=\\\"#eceff4\\\"\\n d=\\\"m 142.39,41.700605 -31,11.57 a 0.62,0.61 79.8 0 1 -0.83,-0.58 l 0.01,-19.31 q 0,-0.55 0.51,-0.74 23.03,-8.68 46.02,-17.25 c 2.57,-0.96 4.78,-0.76 7.42,-0.75 a 0.49,0.49 0 0 1 0.49,0.49 V 147.45061 a 0.79,0.79 0 0 1 -0.8,0.79 l -19.99,-0.01 q -1.17,0 -1.17,-1.16 V 42.160605 a 0.49,0.49 0 0 0 -0.66,-0.46 z\\\"\\n id=\\\"path30\\\"\\n style=\\\"display:inline\\\" />\\n <path\\n fill=\\\"#eceff4\\\"\\n d=\\\"m 59.21,74.480605 h 33.95 a 0.84,0.84 0 0 1 0.84,0.84 l -0.01,18.96 a 0.84,0.84 0 0 1 -0.84,0.84 l -33.88,0.03 a 0.84,0.84 0 0 0 -0.84,0.84 l -0.08,38.580005 a 0.84,0.84 0 0 1 -0.84,0.84 l -20.11,-0.01 a 0.84,0.84 0 0 1 -0.84,-0.84 L 36.55,95.980605 a 0.84,0.84 0 0 0 -0.84,-0.84 H 1.84 a 0.84,0.84 0 0 1 -0.84,-0.84 l 0.02,-19.02 a 0.84,0.84 0 0 1 0.84,-0.84 l 33.86,0.02 a 0.84,0.84 0 0 0 0.84,-0.84 v -35.79 a 0.84,0.84 0 0 1 0.84,-0.84 l 20.13,-0.02 a 0.84,0.84 0 0 1 0.84,0.84 v 35.83 a 0.84,0.84 0 0 0 0.84,0.84 z\\\"\\n id=\\\"path32\\\"\\n style=\\\"display:inline\\\" />\\n <path\\n fill=\\\"#533566\\\"\\n d=\\\"m 244.18983,105.71061 c 0.43,5.91 -0.88,11.6 4.42,16.25 q 8.73,7.63 17.84,0.35 4.54,-3.63 4.49,-8.19 -0.05,-4.39 0.31,-8.47 24.6,4 42.34,20.72 l -0.18,37.49 -110.93,0.01 -0.09,-37.61 q 17.53,-16.43 41.8,-20.55 z\\\"\\n id=\\\"path34\\\"\\n style=\\\"display:inline\\\" />\\n <path\\n fill=\\\"#6b438b\\\"\\n d=\\\"m 202.38983,126.26061 0.09,37.61 -21.38,-0.49 a 1.13,1.13 0 0 1 -1.04,-1.49 q 7.21,-21.29 22.33,-35.63 z\\\"\\n id=\\\"path36\\\"\\n style=\\\"display:inline\\\" />\\n <path\\n fill=\\\"#6b438b\\\"\\n d=\\\"m 313.58983,126.37061 q 12.71,12.03 19.9,29.52 1.79,4.36 2.23,6.86 0.11,0.61 -0.51,0.62 l -21.8,0.49 z\\\"\\n id=\\\"path38\\\"\\n style=\\\"display:inline\\\" />\\n <g\\n transform=\\\"matrix(0.77226665,0,0,0.77226665,154.89692,5.2164554)\\\"\\n id=\\\"g4\\\"\\n style=\\\"display:none\\\">\\n <path\\n d=\\\"M 58,168 V 70 a 50,50 0 0 1 50,-50 h 20\\\"\\n class=\\\"orange\\\"\\n id=\\\"path1\\\"\\n style=\\\"fill:none;stroke:#ff6600;stroke-width:25\\\" />\\n <path\\n d=\\\"m 58,168 v -30 a 50,50 0 0 1 50,-50 h 20\\\"\\n class=\\\"red\\\"\\n id=\\\"path2-3\\\"\\n style=\\\"fill:none;stroke:#d40000;stroke-width:25\\\" />\\n <circle\\n cx=\\\"142\\\"\\n cy=\\\"20\\\"\\n r=\\\"18\\\"\\n class=\\\"orange\\\"\\n id=\\\"circle2\\\"\\n style=\\\"fill:none;stroke:#ff6600;stroke-width:15\\\" />\\n <circle\\n cx=\\\"142\\\"\\n cy=\\\"88\\\"\\n r=\\\"18\\\"\\n class=\\\"red\\\"\\n id=\\\"circle3\\\"\\n style=\\\"fill:none;stroke:#d40000;stroke-width:15\\\" />\\n <circle\\n cx=\\\"58\\\"\\n cy=\\\"180\\\"\\n r=\\\"18\\\"\\n class=\\\"red\\\"\\n id=\\\"circle4\\\"\\n style=\\\"fill:none;stroke:#d40000;stroke-width:15\\\" />\\n </g>\\n </g>\\n</svg>\\n\"},\"link\":\"https://incremental.social/u/thepaperpilot\"}],\"sidebar\":[{\"text\":\"Recommended Pages\",\"items\":[{\"text\":\"My Projects\",\"link\":\"/garden/my-projects\"},{\"text\":\"Guide to Incrementals\",\"link\":\"/garden/guide-to-incrementals\"},{\"text\":\"The Small Web\",\"link\":\"/garden/the-small-web\"},{\"text\":\"Fedi v2\",\"link\":\"/garden/fedi-v2\"}]},{\"text\":\"Changelog\",\"link\":\"/changelog\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>