diff --git a/index.html b/index.html index 0d29fcd..9416b0c 100644 --- a/index.html +++ b/index.html @@ -159,7 +159,7 @@
-

Projects

+

Notable Projects

pict-rs

@@ -207,6 +207,59 @@ day. It does this with a limit of two CPUs on one of my single-board computers.

+
+

Safe Async

+

+ + + Safe Async on Forgejo + + +

+

+ 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 + #rustix, a + library that provides safe bindings to posix APIs like poll. +

+

+ Safe Async is made of multiple components. At the lowest level, the polldance + library provides an abstraction for registering and deregistering IO sources and Timers + from an underlying polling mechanism. Next up from that is foxtrot, a library + that uses polldance to create and wake IO futures with polldance. Up from there are + jitterbug and bachata, which are multithreaded and + single-threaded async executors that can be driven as futures on another runtime. And + finally, there's jive. A full async runtime that combines the above libraries + to provide a unified API for spawning and running tasks with IO. +

+

+ 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. +

+
+
+

VectorDB

+

+ + + VectorDB on Forgejo + + +

+

+ VectorDB is a simple database for storing and searching vectors in Rust, backed by + #redb, 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. +

+

Various Libraries

@@ -214,35 +267,28 @@