personal-site/index.html
2023-07-29 22:12:28 -05:00

275 lines
8.9 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta content="width=device-width,initial-scale=1" name="viewport" />
<title>asonix.dog</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<meta property="description" content="Meet the dog/lion/whatever" />
<meta property="og:description" content="Meet the dog/lion/whatever" />
<meta property="twitter:description" content="Meet the dog/lion/whatever" />
<style>
* {
box-sizing: border-box;
}
body {
background-color: #fff;
background-image: url('/pinkliom-small2.png');
background-position: bottom right;
background-repeat: no-repeat;
color: #000;
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
font-family: sans-serif;
height: 100vh;
margin: 0;
}
header {
background-color: #232323;
color: #fff;
display: flex;
flex-direction: column;
min-height: 100%;
min-width: 200px;
overflow-y: hidden;
padding: 16px;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav a,
nav a:visited {
color: #e5e5e5;
display: block;
font-size: 20px;
font-weight: 600;
padding: 2px 0;
}
nav a:focus,
nav a:hover,
nav a:visited:focus,
nav a:visited:hover {
color: #fff;
}
main {
flex: 1;
min-width: 500px;
max-height: 100%;
overflow-y: auto;
}
main a,
main a:visited {
color: #e10862;
}
main a:focus,
main a:hover,
main a:visited:focus,
main a:visited:hover {
color: #a90649;
}
.overlay {
backdrop-filter: blur(8px);
background-color: #ffffffcb;
max-width: 800px;
min-height: 100%;
}
section {
padding: 16px;
}
@media (prefers-color-scheme: dark) {
body {
background-color: #1f1f1f;
color: #e5e5e5;
}
.overlay {
background-color: #1f1f1fdd;
}
main a,
main a:visited {
color: #e10862;
}
main a:focus,
main a:hover,
main a:visited:focus,
main a:visited:hover {
color: #f83687;
}
}
@media (max-width: 700px) {
body {
display: block;
height: auto;
}
header {
background-image: url('/pinkliom-small2.png');
background-repeat: no-repeat;
background-position: bottom right;
min-height: auto;
width: 100%;
overflow-x: auto;
}
main {
min-width: 300px;
max-height: none;
}
}
</style>
</head>
<body>
<main>
<div class="overlay">
<section>
<h2>Bio</h2>
<article>
<p>
I'm an internet pinkliom with a fondness for types. Find me at the local coffee shop
writing <a href="https://rust-lang.org" target="_blank">#rust</a> and sometimes
<a href="https://elm-lang.org" target="_blank">#elm</a>. I also enjoy single-board
computers. I run my services on a small cluster of boards from
<a href="https://pine64.org" target="_blank">#pine64</a> out of my apartment over a
residential internet connection. If this page took a while to load, that might be why.
</p>
<p>
I have many characters, most of whom are some kind of cat. Because of this, I have many
names as well. People call me asonix (my username on most platforms), Aode (the pinkliom
himself), Tavi, and Arlo, although there's more names that are less common.
</p>
</article>
</section>
<section>
<h2>Projects</h2>
<article>
<h3>pict-rs</h3>
<p>
<em>
<a href="https://git.asonix.dog/asonix/pict-rs" target="_blank">
pict-rs on Forgejo
</a>
</em>
</p>
<p>
pict-rs is a simple image hosting service. It started in 2020 as a replacement for
<a href="https://github.com/HaschekSolutions/pictshare" target="_blank">#pictshare</a> in
<a href="https://github.com/LemmyNet/lemmy/" target="_blank">#Lemmy</a>, a federated
reddit alternative. While I have contributed to Lemmy in the past, and pict-rs grew out of
a need for a better image hosting solution, pict-rs is an independent project that I
maintain for use outside of Lemmy. One of my goals is to build a federated art gallery
platform, and having solid image hosting is an important part of that goal.
</p>
<p>
The current stable series for pict-rs is 0.4, although 0.5 is well in development at this
point. Plans for the 0.5 release include enabling high-availability with a postgres
backend. The current backend for metadata is an embedded key-value store called
<a href="https://github.com/spacejam/sled" target="_blank">#sled</a>. Sled is not going
away for pict-rs, but supporting multiple metadata repositories has been a goal I've been
working towards for a while.
</p>
</article>
<article>
<h3>AodeRelay</h3>
<p>
<em>
<a href="https://git.asonix.dog/asonix/relay" target="_blank">
AodeRelay on Forgejo
</a>
</em>
</p>
<p>
AodeRelay was my first real fediverse project. It's an
<a href="https://www.w3.org/TR/activitypub/" target="_blank">#ActivityPub</a> server whose
purpose is to forward posts between other subscribed servers. I built this initially to
learn more about ActivityPub, while also contributing to the greater ActivityPub
ecosystem. My own instance of this relay forwards about 7 messages every minute, which
doesn't seem like much, but it translates to 700 outbound requests per minute (one for
each subscribed server for each message), totalling around 1 million outbound requests per
day. It does this with a limit of two CPUs on one of my single-board computers.
</p>
</article>
<article>
<h3>Various Libraries</h3>
<p>
In addition to the applications mentioned above, I maintain a few notable libraries:
</p>
<ul>
<li>
<a href="https://git.asonix.dog/asonix/activitystreams" target="_blank">
activitystreams
</a>, a library for parsing and generating valid ActivityStreams JSON objects
</li>
<li>
<a href="https://git.asonix.dog/asonix/actix-form-data" target="_blank">
actix-form-data
</a>, a library for handling uploaded <code>multipart/formdata</code> in actix-web
</li>
<li>
<a href="https://git.asonix.dog/asonix/actix-webfinger" , target="_blank">
actix-webfinger
</a>, a library for making and serving requests for webfinger in actix-web
</li>
<li>
<a href="https://git.asonix.dog/asonix/actix-actorless-websockets" target="_blank">
actix-ws
</a>, a library for managing websocket connections in actix-web without the actix actor
framework
</li>
<li>
<a href="https://git.asonix.dog/asonix/background-jobs" target="_blank">
background-jobs
</a>, a library for managing retryable tasks that run in the background of an application
</li>
<li>
<a href="https://git.asonix.dog/asonix/http-signature-normalization" target="_blank">
http-signature-normalization
</a>, a library implementing the HTTP Signatures IETF draft
</li>
<li>
<a href="https://git.asonix.dog/asonix/tracing-awc" target="_blank">tracing-awc</a>, a
library for adding traces to the awc HTTP client library
</li>
</ul>
<p>
These libraries are mostly in service of building federated web applications, although the
<code>actix-ws</code> library was created just to see if I could.
</p>
</article>
</section>
</div>
</main>
<header>
<h2>Links</h2>
<nav>
<ul>
<li><a href="https://git.asonix.dog/asonix" target="_blank">Software</a></li>
<li><a href="https://masto.asonix.dog/@asonix" target="_blank">Mastodon</a></li>
<li><a href="https://matrix.to/#/@asonix:matrix.asonix.dog" target="_blank">Matrix</a></li>
<li><a href="https://t.me/asonix" target="_blank">Telegram</a></li>
<li><a href="https://www.furaffinity.net/user/asonix" target="_blank">Furaffinity</a></li>
</ul>
</nav>
</header>
</body>
</html>