239 lines
8.4 KiB
HTML
239 lines
8.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>asonix.dog</title>
|
|
<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">#rust</a> and sometimes
|
|
<a href="https://elm-lang.org">#elm</a>. I also enjoy single-board computers. I run my
|
|
services on a small cluster of boards from <a href="https://pine64.org">#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">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">#pictshare</a> in
|
|
<a href="https://github.com/LemmyNet/lemmy/">#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">#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">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/">#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">activitystreams</a>, a library
|
|
for parsing and generating valid ActivityStreams JSON objects
|
|
</li>
|
|
<li>
|
|
<a href="https://git.asonix.dog/asonix/actix-form-data">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">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-ws">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">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-nromalization">
|
|
http-signature-nromalization
|
|
</a>, a library implementing the HTTP Signatures IETF draft
|
|
</li>
|
|
<li>
|
|
<a href="https://git.asonix.dog/asonix/tracing-awc">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">Software</a></li>
|
|
<li><a href="https://masto.asonix.dog/@asonix">Mastodon</a></li>
|
|
<li><a href="https://matrix.to/#/@asonix:matrix.asonix.dog">Matrix</a></li>
|
|
<li><a href="https://t.me/asonix">Telegram</a></li>
|
|
<li><a href="https://www.furaffnity.net/user/asonix">Furaffinity</a></li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
</body>
|
|
</html>
|