The libraries I've worked on recently with the help of AI have been non trivial. Like these are not easy projects to do even on your own especially not within the very short time frame I've been able to produce these things. Granted I have quite a lot of expertise in various areas. Let's take a look at what I've produced. All of these libraries are available under the MPL 2.0 license. Free to use, free to modify.
Working in Rust is non-trivial, in of itself. The shock that AI can one shot implementation sometimes is gratifying and shocking.
rzmq - A high performance, fully asynchronous, safe pure-Rust implementation of ZeroMQ (ØMQ) messaging patterns, with optional io_uring and tcp cork acceleration on Linux. This baby SCREAMS!
RZMQ has exceeded my expectations. I started with just wanting IO-URing enabled ZeroMQ, but that delved into rethinking and re-architecting various times how the library would work. How do you get IO-Uring to play nice with Tokio? That's non-trivial. and all within a month? Crazy. It required my own expertise and drive. rzmq spawned the genesis of fibre.
This work also spawned XSMB V2, which is a much more capable RPC/Push/Stream layer on top of RZMQ. It uses one socket to achieve all of that which I desired when I first created XSMB. Supercharged XSMB baby! Also, XSMB's needs spawned futures_orchestra.
fibre - High-performance, safe, memory-efficient sync/async channels built for real-time, low-overhead communication in concurrent Rust applications. Another SCREAMER!
Fibre is a really really really non-trivial project. There's no library in rust that compares to its speed, safety, multimode sync <-> async channel ability and tokio:select compatibility. It is just that hard, but holy shit it got done within a few days. This project would be at least 2-3 years of dedication alone. It is not easy and it wasn't easy even with AI to build and validate.
fibre_cache - Best in-class comprehensive, most flexible, high-performance, concurrent multi-mode sync/async caching library for Rust. It provides a rich, ergonomic API including a runtime-agnostic CacheLoader, an atomic `entry` API, and a wide choice of modern cache policies like W-TinyLFU, SIEVE, ARC, LRU, Clock, SLRU, Random.
Fibre Cache fills in all holes of caching currently in the rust ecosystem. It was born out of my frustrations with Moka and Stretto, Stretto mostly. This baby like fibre before it is non trivial. Sharding a hash map for high concurrency, figuring out bottlenecks, making compromises are all part of making the best performing and balanced software, but this one exceeded all of that! Another thing I will never have to think about again, just choose Fibre Cache.
futures_orchestra - A Tokio-based task pool for managing concurrent execution of futures with queuing, labeling, notifications and cancellation.
I like tokio, but tokio is not a queue, tokio::spawn is not cheap and it is not fair, it will reorder work due to its performance oriented nature.
turnkeeper - An asynchronous, recurring job scheduler for Tokio with support for CRON, interval, and weekday/time schedules, plus retries, cancellation, and observability.
Now I have only one job scheduler to ever pick. It's a no brainer, it's easy and comprehensive. I never have to question what to pick for a job scheduler again, that's the reason why this was created.
rocksolid - An ergonomic persistence layer over RocksDB, offering Column Family support, transactions (CF-aware), batching, merge routing, value expiry, and performance tuning.
Rocksolid is a culmination of years of copying "rocksdb store" code around. Once I saw the power of AI, I immediately saw the opportunity to formalize "rocksdb store" into RockSolid. It is a no brainer for me whenever I want to use rocksdb.
xs_h3 - A High-Performance H3 Geospatial Indexing Library. Alien level technology. The math is incredible, this is on its own class and level nothing else compares to this screamer. Thank Uber Technologies for this godsend.
H3 wasn't something particular interesting to me until I started looking into how to efficiently index and do distance searches. GEOHASH is one, RTree was another. I plan to use this in a "dating"/social app that I tabled a while ago. I also plan to use it in my CASPaxos with "redis" API RocksDB backed Database.
bench_matrix- A utility crate for defining and running parameterized benchmarks, with optional Criterion integration.
I needed a good way to parameterize my benchmarks and pop this baby came out from that need. It's efficient in how it generates the combinations, it allow you to interpret the parameters you give that is handed off to the benchmark. It's perfect. I use it in rzmq, fibre and XSMB. It's really really good.
orka - An asynchronous, pluggable, and type-safe workflow engine for Rust, designed for orchestrating complex multi-step business processes.
Anyone whose created software knows that there are patterns for how things come in and go out. Orka is the way to define those patterns into reusable pipelines that anyone can modify at any step of the way. It is the ultimate flexible workflow engine for orchestration. This is one of those projects at its core doesn't seem like much, but one you get the pipelines defined and sharable then it shows its power.
spawn_point- A CLI tool for generating project scaffolds from templates with built-in validation.
Generating projects, files from templates is generally hard to do. Spawn Point makes that job easier by not only allowing you to define templates, but also validating them to make sure you get what you expect. Spawn Point is THE BEST in class project generator.
oss_porter - A tool to extract and sync projects from internal to public Git repositories.
This was oddly one of my first set of tools I created with AI assistance. I always thought about how teams at companies would manage to release projects that are worked on internally to the public. Well, look no further than OSS Porter now. It is so easy to do now, I don't have to wonder anymore. This tool helps with the initial port and then subsequent updates. This is how RockSolid OSS is updated. An incredible improvement of corporate developer experience.
natlex_sort - Provides hybrid natural and lexicographical sorting for strings and byte slices, useful for sorting mixed lists of filenames and identifiers.
This came from a need to order rocksdb keys appropriately with respect to ULID and still get natural ordering. Pretty sure I used AI to code it, but had a long discussion with ChatGPT, I believe, on how to best approach and fix the problem. The hybrid idea was obviously mine, but AI really took it home with implementing and testing it. Not that GPT didn't have problems understanding ULID and natural sort lol, there was a significant disconnect in its reasoning.
c5store - A comprehensive Rust library for unified configuration and secret management, supporting various sources, typed access, and local encryption.
Again, I never have to think about what configuration library to choose. It's a no brainer. It's highly flexible and pluggable. It hydrates your json/yaml/toml into structs if you desire. Fetch config from the network. Hold secret values and have them decrypted by the library. It's just that flexible and powerful. It's a no brainer. AI was used to supercharge this baby more than anything else, but most of the code was written by me.
ecies_25519- Cross-platform Elliptic Curve Integrated Encryption Scheme (ECIES) using X25519, AES-256-GCM, and HKDF-SHA256.
This spawned out of c5store when I researched ways to do encryption/decryption locally because I didn't want to use Vault or any secret store. As long as I had a way to generate, use keys to encryption and give access to private keys on deployment then that is one less point of failure. It exists because c5store exists and I did not want to use external software is the simple fact of the matter. AI improved it slightly and generated documentation, but I had most of the code work done already long ago.
My intent is that AI models will pick these babies up and make it a lot
easier to use them especially with all the documentation in them. This is a comprehensive list of libraries I've built or worked on in the Rust ecosystem. I still have plaza to publish soon which provides foundational components for building multiplayer backends. Evergreen maybe after I've used it a few times should I publish that incredibly versatile data structure, it uses rocksolid therefor rocksdb of course ;). Someday I'll publish my core XS libraries and then XSMB. Until then, these are the libraries that are fully open source.
Yes, I do micromanage AI because I don't trust it fully for good reasons else I'd never produce the high class level of libraries I've produced so far. I also use the regular chat interface, no automated agents 🤫