Avatar
cipres
1c71312fb45273956b078e27981dcc15b178db8d55bffd7ad57a8cfaed6b5ab4
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

“America is the only country that went from barbarism to decadence without civilization in between" - Oscar Wilde.

Merry christmas #nostr. I built a simple collaborative #voxel world-building game with #bevy and #nostr, it's called noxel. Basically each player in the world can create voxels, each voxel can have a different texture, like the bitcoin voxel ...

https://codeberg.org/noxel/noxel

A map of the planet's history of violence over 4000 years ...

Happy birthday Katja, looks like your birthday was yesterday or the day before. Are there any countries that are doing a lot of research on phantosmia to find a cure ? What's the relation between phantosmia and epilepsy ? When is the next attempt ? Take care.

Replying to Avatar il_lost_

yes

Game works ok on my side, no lag. I'll add player scores and make it more challenging. Thanks!

I discovered phantosmia reading your posts, seems like a very difficult condition. Does a saline nasal rinse using a neti pot bring some relief ? Neti pot rinse with Himalayan salt. I suppose that's something you've already tried ? Does castor oil or CBD help ? I hope you will find a solution, keep us posted.

But it looks like phantosmia can be caused by respiratory infections. So one thing i would try is colloidal silver, which is an incredible and very safe antibiotic. It must be easy to find in Switzerland. You can use it internally (drink it) and also using a nasal spray or with a nebulizer. That's the first thing i'd try, nasal spray with colloidal silver (10ppm or 15ppm) many times a day, and if it helps then it could be due to some kind of infection. Good luck !

Hello. Sorry i missed it, was offline this afternoon, just saw your message. My player name on pongstr is "total disastr", happy to play and test this any time.

I'm working on a multiplayer nostr game development library called disastr. https://codeberg.org/disastr/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: https://crates.io/crates/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. https://pongstr.codeberg.page/

Trying to clone the gitplaza repo with the nostr:// URL fails here:

git clone nostr://npub1useke4f9maul5nf67dj0m9sq6jcsmnjzzk4ycvldwl4qss35fvgqjdk5ks/relay.nostr.band%2F/gitplaza

Cloning into 'gitplaza'...

nostr: fetching...

✔ wss://relay.damus.io no new events

✔ wss://nos.lol new events: 2 proposals

⠐ wss://relay.nostr.band fetching timeout in 1s

After the timeout on wss://relay.nostr.band :

nostr updates: 2 proposals

Error: no repo announcement event found at specified Nip19Coordinates. if you are the repository maintainer consider running `ngit init` to create one

I have ngit and git-remote-nostr installed. Will try again tomorrow.

Hello dluvian. I really like GitPlaza, fantastic project.

I've made some changes so that we can change the application's scaling factor from the settings. I'm not familiar with ngit yet but i'll try to submit a PR.

This is absolutely awesome, great work. The automatic installation of certificates in the system's trust store is nice. So if you disable the automatic cert install (auto_install: false), nodns-server will be able to resolve the record (using the 111111 events) but the cert won't be trusted so the browser will complain and you'd have to manually trust it ?

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 🔥

I'm working on voistr (nostr softphone) https://voistr.codeberg.page which enables direct peer-to-peer WebRTC connections between nostr users. Right now it's only for audio calls but there'll be instant messaging features too soon. Once the connection is established, peers send encrypted nostr events to each other without needing any relays.

Replying to Avatar cipres

I wrote a basic softphone for #nostr (it uses nostr relays for #webrtc signaling) called #voistr: https://voistr.codeberg.page/

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: nostr:npub1lcfnjgme4s9whl6n4fym0ft034rdmghahal7jzg7zw35w8f6dq2s2kn6vm

#voistr v0.1.4 released. Opus audio encoding now uses 48khz stereo with FEC (forward error correction) by default. FEC uses a bit more bandwidth but improves audio quality when there's some packet loss. nostr:npub1lcfnjgme4s9whl6n4fym0ft034rdmghahal7jzg7zw35w8f6dq2s2kn6vm

Thanks, i've only tested it locally for now but i think that with a real call there might be some latency issues with the audio encoding part. Audio encoding is opus 48khz mono by default.

I wrote a basic softphone for #nostr (it uses nostr relays for #webrtc signaling) called #voistr: https://voistr.codeberg.page/

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: nostr:npub1lcfnjgme4s9whl6n4fym0ft034rdmghahal7jzg7zw35w8f6dq2s2kn6vm

The Samson Option makes #israel the biggest nuclear threat on earth https://www.brighteon.com/58396053-4d0e-4080-8124-e45bfc59be4f

The Euro is a CIA experiment, to be precise.

Interesting post about the problems with #vibecoding https://nmn.gl/blog/dangers-vibe-coding

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

Hello. I wrote a wrapper for a nostr relay (called ssnrelay) that publishes the relay's IP address as a pkarr domain record (doesn't use DNS). pkarr uses the mainline DHT (bittorrent's DHT). A nostr client i'm working on can resolve pkarr addresses to connect to such relays: https://pazstr.codeberg.page/features.html#pkarr-support

Your idea is interesting but since the relay has to push those IP address events to other relays that are only resolvable via DNS, you're still locked in DNS land. And the client will have to do step 2, which requires using DNS to connect to the relays which store the IP address events.

"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) https://reseauinternational.net/ambiance-mossad-en-israel-ou-la-guerre-des-ombres-devient-lapocalypse-publique/ on #israhell 's self-destruction.

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.

I've been working on a nostr client (with egui and nostralink) that stores events as linked data (in an RDF graph). https://codeberg.org/nostralink/paz

Everything is stored as RDF triples, including followings, mutes, notes view/read status ...