Add safe-async and vectordb
This commit is contained in:
parent
e0d7bcdc6e
commit
f0de742ef1
86
index.html
86
index.html
|
@ -159,7 +159,7 @@
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Projects</h2>
|
<h2>Notable Projects</h2>
|
||||||
<article>
|
<article>
|
||||||
<h3>pict-rs</h3>
|
<h3>pict-rs</h3>
|
||||||
<p>
|
<p>
|
||||||
|
@ -207,6 +207,59 @@
|
||||||
day. It does this with a limit of two CPUs on one of my single-board computers.
|
day. It does this with a limit of two CPUs on one of my single-board computers.
|
||||||
</p>
|
</p>
|
||||||
</article>
|
</article>
|
||||||
|
<article>
|
||||||
|
<h3>Safe Async</h3>
|
||||||
|
<p>
|
||||||
|
<em>
|
||||||
|
<a href="https://git.asonix.dog/safe-async" target="_blank">
|
||||||
|
Safe Async on Forgejo
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Safe Async is a collection of components that make up a full asynchronous runtime for
|
||||||
|
rust, made without any unsafe code. This is more a demonstration of possibility rather
|
||||||
|
than an attempt to build a real production-grade runtime. Safe Async achieves this by
|
||||||
|
relying on
|
||||||
|
<a href="https://github.com/bytecodealliance/rustix" target="_blank">#rustix</a>, a
|
||||||
|
library that provides safe bindings to posix APIs like <code>poll</code>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Safe Async is made of multiple components. At the lowest level, the <code>polldance</code>
|
||||||
|
library provides an abstraction for registering and deregistering IO sources and Timers
|
||||||
|
from an underlying polling mechanism. Next up from that is <code>foxtrot</code>, a library
|
||||||
|
that uses polldance to create and wake IO futures with polldance. Up from there are
|
||||||
|
<code>jitterbug</code> and <code>bachata</code>, which are multithreaded and
|
||||||
|
single-threaded async executors that can be driven as futures on another runtime. And
|
||||||
|
finally, there's <code>jive</code>. A full async runtime that combines the above libraries
|
||||||
|
to provide a unified API for spawning and running tasks with IO.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Safe Async also provides a number of utilities that are useful for working in async rust,
|
||||||
|
like an implementation of select, join, join-all, notify, and mpsc. Simple integrations
|
||||||
|
are provided with trust-dns (jive-dns) for asynchronous DNS resolution and hyper
|
||||||
|
(hyperjive) for asynchronous HTTP clients and servers.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
<article>
|
||||||
|
<h3>VectorDB</h3>
|
||||||
|
<p>
|
||||||
|
<em>
|
||||||
|
<a href="https://git.asonix.dog/asonix/vectordb">
|
||||||
|
VectorDB on Forgejo
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
VectorDB is a simple database for storing and searching vectors in Rust, backed by
|
||||||
|
<a href="https://www.redb.org" target="_blank">#redb</a>, an embedded key-value store for
|
||||||
|
rust (similar to sled). My goal in building VectorDB was to implement reverse image search
|
||||||
|
functionality for pict-rs, or maybe as a standalone application that works with pict-rs.
|
||||||
|
While the database itself is pretty quick for finding similar vectors, actually computing
|
||||||
|
those vectors using imagemagick takes a while. For this reason I am not currently pursuing
|
||||||
|
reverse image search.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
<article>
|
<article>
|
||||||
<h3>Various Libraries</h3>
|
<h3>Various Libraries</h3>
|
||||||
<p>
|
<p>
|
||||||
|
@ -214,35 +267,28 @@
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/activitystreams" target="_blank">
|
<a href="https://git.asonix.dog/asonix/activitystreams" target="_blank">activitystreams</a>,
|
||||||
activitystreams
|
a library for parsing and generating valid ActivityStreams JSON objects
|
||||||
</a>, a library for parsing and generating valid ActivityStreams JSON objects
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/actix-form-data" target="_blank">
|
<a href="https://git.asonix.dog/asonix/actix-form-data" target="_blank">actix-form-data</a>,
|
||||||
actix-form-data
|
a library for handling uploaded <code>multipart/formdata</code> in actix-web
|
||||||
</a>, a library for handling uploaded <code>multipart/formdata</code> in actix-web
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/actix-webfinger" , target="_blank">
|
<a href="https://git.asonix.dog/asonix/actix-webfinger" , target="_blank">actix-webfinger</a>,
|
||||||
actix-webfinger
|
a library for making and serving requests for webfinger in actix-web
|
||||||
</a>, a library for making and serving requests for webfinger in actix-web
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/actix-actorless-websockets" target="_blank">
|
<a href="https://git.asonix.dog/asonix/actix-actorless-websockets" target="_blank">actix-ws</a>,
|
||||||
actix-ws
|
a library for managing websocket connections in actix-web without the actix actor framework
|
||||||
</a>, a library for managing websocket connections in actix-web without the actix actor
|
|
||||||
framework
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/background-jobs" target="_blank">
|
<a href="https://git.asonix.dog/asonix/background-jobs" target="_blank">background-jobs</a>,
|
||||||
background-jobs
|
a library for managing retryable tasks that run in the background of an application
|
||||||
</a>, a library for managing retryable tasks that run in the background of an application
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/http-signature-normalization" target="_blank">
|
<a href="https://git.asonix.dog/asonix/http-signature-normalization" target="_blank">http-signature-normalization</a>,
|
||||||
http-signature-normalization
|
a library implementing the HTTP Signatures IETF draft
|
||||||
</a>, a library implementing the HTTP Signatures IETF draft
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://git.asonix.dog/asonix/tracing-awc" target="_blank">tracing-awc</a>, a
|
<a href="https://git.asonix.dog/asonix/tracing-awc" target="_blank">tracing-awc</a>, a
|
||||||
|
|
Loading…
Reference in a new issue