cipres's avatar
cipres
catomizer@zaps.lol
npub1r3cn...fx0c
Having fun writing nostr projects. disastr (nostr game SDK): https://disastr.codeberg.page pongstr (multiplayer pong game): https://pongstr.codeberg.page voistr (nostr p2p softphone): https://voistr.codeberg.page paz (semantic nostr client that uses an RDF events store): https://pazstr.codeberg.page nostralink (Linked Data for Nostr): https://nostralink.codeberg.page caracal (Nostr client for Gemini): https://gitlab.com/cipres/caracal ssnrelay (relay with pkdns): https://gitlab.com/cipres/ssnrelay
cipres's avatar
cipres 1 week ago
A map of the planet's history of violence over 4000 years ... image
cipres's avatar
cipres 1 month ago
I'm working on a multiplayer nostr game development library called disastr. It is based on Bevy, a game engine written in Rust. Nostr relays are used to establish webrtc connections between the players. Rollback netcode (with ggrs: is used by default. Games are deployed on the web (WebAssembly). The idea is to make it easy to develop multiplayer nostr games without having to worry about identity management, networking, lag issues, and focus on writing the game instead. There's a demo here with pongstr, a multiplayer pong game.
cipres's avatar
cipres 3 months ago
voistr (nostr softphone) now supports (encrypted) file transfers between peers. Private filesharing between nostr users will be useful i think. Really enjoy working on this project 🔥
cipres's avatar
cipres 3 months ago
I wrote a basic softphone for #nostr (it uses nostr relays for #webrtc signaling) called #voistr: More features are planned, chat and maybe video calls. Both the signaling exchange and the voistr protocol use NIP-44 encrypted events. Follow voistr here: @voistr
cipres's avatar
cipres 6 months ago
Interesting post about the problems with #vibecoding "Technical debt compounds exponentially when you don’t understand your code. Each “vibed” solution becomes a black box, and these black boxes multiply. Soon, you’re building on top of foundations you don’t comprehend."
cipres's avatar
cipres 6 months ago
"Accepting this initiative (Iran's proposal of the creation of a denuclearized zone in the middle east) would open the gates of international inspections and reveal what everyones suspects. That Israel has nuclear weapons and has no intention of abandoning them. In other words, Israel doesn't want to eliminate the nuclear threat in the region, it wants to remain THE ONLY nuclear threat in the region." Excellent article (in French) on #israhell 's self-destruction.
cipres's avatar
cipres 6 months ago
I think that nostr's most problematic technical flaw is that the "content" field in an event is a string, and not an object. Really bugs me. It's a serious limitation, and embedding stringified JSON like it's done for kind 0 events is inferior to having a native JSON object. I don't see any justification for using a simple string (although, sure, it makes things easy for simple events like short notes and reactions). NIP-68 (picture events) really highlights this problem with these questionable "imeta" tags. Feels like the authors were like "hey where should we put this stuff ?". If "content" was an object, the content would contain a list of objects containing the url and dimension for each picture ... Is each picture's metadata stored in a imeta tag so that it can be queried with relay filters ? (like on the picture's "alt" description). Nevermind though, i really like #nostr.