The project itself has been a team effort and I'm thankful for help from my teammates at Hypha + various folks on the interwebs. Hopefully we can stabilize and document this stuff this month so we can show a full demo.
It's been a bit of a journey learning #rust and #veilid and #iroh but these last few functions were very satisfying to write. This code triggers a download of an Iroh-blobs based file from it's hash by establishing tunnels to peers in a group using a multiplexer I built using Veilid AppMessages over private routes. The code to get here was hella messy but these functions felt pretty elegant.
Disclaimer: I often wave at #dogs when they are being taken for a walk. Not the owners.
Hermes3:8b my beloved managed to actually generate a single calculator app and apply a basic update. 🤪 Sadly I have to choose between it and running 1 web app (element.io) or vscode due to only having 12 GB of ram. 😰
Tried getting https://aider.chat/ to generate a commit message using gemma2:2b and it was grossly verbose with loads of useless text.
Might be worth it to try different models to see which ones suck the least.
Something no one talks about enough:
CPU cycles aren't free.
Memory reads and writes aren't free.
That shit takes power. A miniscule amount per instance, yes, but it adds up quick if it's from an app that everyone uses constantly. All that power comes from somewhere, and right now that's mostly fossil fuels.
When people complain about software bloat, it's not just a UX problem, it's an environmental one too.
I wish vector search as a thing would die, or return to the back seat and let traditional indexing things have the first shot.
"oh but vector search is great because it clusters similar concepts!"
Yeah you know what concepts are similar? Different names, different model numbers for things, things that are related to _but different from_ what I searched for.
If I search for "morgan", a result for "morton" is a bad result. If I search for "atari ste", a result for the atari falcon is bad.
It'd be cool if there was an approach of using "visual embeddings" applied to facial recognition. One could teach their personal agent a face by telling it to read the facial embedding and when encountering people the facial embeddings could be pulled from a regular vector DB instead of trying to train a new recognizer on the face. Probs easier to share data that way too.
This week's #Rust type of the day is `Result<Option<Result<Bytes>>>`
Occult Enby that's making local-first software with peer to peer protocols, mesh networks, and the web.
Exploring what a local-first cyberspace might look like in my spare time.