Linux desktop nostr apps? I'm using gossip, but it feels clunky.

Prefer desktop for writing detailed posts: mobile is optimized for consumption, not production :(

Reply to this note

Please Login to reply.

Discussion

try notedeck:

https://github.com/damus-io/notedeck

$ cargo build —release

$ ./target/release/notedeck —sec nsec… -f queries/timeline.json -f queries/notifications.json

Where -f are your queries of choice. Each one will create a column.

Wow.

I take it back. gossip is not clunky!

😅 yeah gossip has been around for awhile. Notedeck is pretty new

Otoh, I can't see your replies in gossip. So...

Otherwise I'd be posting my adventures in trying to install notedeck here...

(Cargo gets egui-winit, which wants a newer rustc (!!) than the Ubuntu install, so now I'm trying to use rustup. Which doesn't do anything until you read the docs...)

yeah i think rustup is what should be used.

notedeck is powered by a custom C database I wrote built on lmdb: https://github.com/damus-io/nostrdb all notes are stored as aligned structs and the entire db is mmap’d in memory. So db query results are just pointers into virtual memory. its super fast!

Reviewing. You should have used tdb, of course, but as Tridge said, you don't need an excuse to rewrite something!

never heard of tdb. Docs are sparse on nostrdb, i need to work on that 😅

Yeah, it's a well-kept secret unfortunately.

Rough skimming code review:

1. bool is your friend, int is for old people :(

2. You should use ccan/ directly not in pieces: easier to update.

3. Your cursor API makes me cry, can I rewrite it? It's going to hurt somebody.

4. Do you want neatening pull requests?

sure, happy to have any help

Let's see what I can do after lunch then. Fun!

👀

Simple rework PR up. I also want to update your BOLT11 parser to the latest (it's buggy).

I need to think harder about your cursor API: my instinct is to split it into two types, one for reading, one for writing. But you do a lot of lookahead in your parsing, so the classic "mark cursor invalid if we hit an error" pattern doesn't fit. Hmm....

What format/how do I create "queries"?

check out nostril-query:

https://github.com/jb55/nostril/blob/master/nostril-query

nostril-query -k 1 -a abcdef…

I admit this is a bit technical atm but its a fu.n Learning experience. See nip01 for how to query nostr. Kind 1 are text notes. You can specify a list of authors for a timeline query

lume.nu

This

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s ‘s cli apps work great 👍

Fiatjaf’s go tools enable a lot of fun Unix piping possibilities.

nostr:npub10000000thpep7auj058803nqtymqlf3rw87lzhe6mkfeywnpxg5sjw7nql's vim-nostr plug-in works really well for fast composing and posting.

https://github.com/bndw/vim-nostr

Looks like there is a new one for Neovim, but don’t know too much about it.

I use Vi, a small shell script, and noscl ( nostr command line tool ).

Use Waydroid and run Amethyst?

I had to stick to web based interfaces