New week, new Rust! What are you folks up to?
I'm continuing to work on xidl, a code generator for generate HTTP server and client code.
I recently added BDD tests to xidl to ensure consistency across multi-language implementations.
I'm currently using it internally at work and in my personal projects, and overall I think it's pretty good.
Translating a 1978 BASIC program to rust - Lunar Lander.
The original is only 70 loc - the rust version is 3-4 times longer - not counting a genetic algorithm I'm adding to find optimal landing sequences.
Polishing ringdrop-gui, the Tauri v2 frontend for ringdrop daemon. This week: adapting to a new daemon IPC event (FileProgress) during directory transfers, and namespacing progress channels by blob hash so concurrent downloads are possible.
Theme mode applet for cosmic
Hi, I made an applet for cosmic DE to switch between light and dark mode easily from the taskbar. Only a few hours work but I think it may be useful.
Polishing erratic, my error handling crate. It composes nicely between type-erased errors and typed error states, and uses pointer tagging to eliminate allocations whenever possible.
To reduce the number of unsafe, I plan to find (or write) something like GhostCell in the next couple of days to ensure vtable functions can only be invoked with the correct type-erased self.
Edit(6 days later): Gave up as all my unsafe encapsulation for vtables has a bunch of non-local soundness dependencies. It's hard to design a nice API in this scenario.
I've recently come up with a new idea to optimize my own agent framework: integrate chaos engineering into the agent system. That should be really exciting.
Hello everyone, this week I'm building a BitTorrent client application using tauri, it's emrent .it's for educational purposes. It'll have support for both .torrent files and magnet links.
I started on a new crate tablestg - Rust
It is very preliminary, but has 4 public modules:
HashMap - maps keys to 64 bit ids using 64 bit hash.
PageSet - keeps track of changed pages that need saving.
Table β record storage. Divided into pages, each page stores 64 records.
VarVal β storage of variable length values.
