Rob Pike says “fuck you AI and all people” I agree to some extent, but it’s too convenient for me when it comes to breaking the language barrier.
Yeah, it still works, but at the cost of removing several dependencies and making the codebase a bit of a mess for TinyGo. Standard Wasm should run it without any hassle. However, since I use the tinygo branch for both TinyGo/Wasm and Go/Wasm, I can't provide a minimal diff for standard Go/Wasm alone.
You can test the tinygo branch with:
GOOS=js GOARCH=wasm tinygo test
And for standard Go, use wasmbrowsertest:
GOOS=js GOARCH=wasm go test
No need to worry about this if you are not interested in Wasm. I might be the only one actually using it right now.
nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 Are you sunsetting Wasm support for nostrlib? I’m currently using the TinyGo/Wasm build, but I’m wondering if it’s time to move away from it.
Holy s***t. AltStore PAL is now available in Japan. This is a game changer.
It's happening!
Same here. Old men can't recognize the difference.
All client-side tests have passed including sdk.
Which library was blocking TinyGo/Wasm support in nostrlib?
- net/http
- github.com/puzpuzpuz/xsync/v3
- github.com/mailru/easyjson
- github.com/json-iterator/go
fiatjaf.com/nostr mod for TinyGo/Wasm has started working. There are likely some trade-offs. I still need to check whether everything I need will actually run.
https://github.com/1l0/nostrlib/tree/tinygo
Comparison with standard Go/Wasm:
- Binary size: < 0.1x
- Execution speed: similar or slightly slower (with opt=2)
- Memory usage: ~0.75x
Ah, it looks like he’s already aware of the clipboard issue.
https://github.com/guigui-gui/guigui/issues/22
cross-platform is hard. Thanks for giving it a try anyway. You know, I don’t plan on maintaining gnak. It's just a proposal for you.
vnak is now widely available: https://github.com/fiatjaf/vnak


Grab a binary from https://github.com/fiatjaf/vnak/releases/tag/v0.1.0 and let me know how it goes.
Did you know Guigui? A brand new pure Go gui.
I vibe coded a port of vnak using Guigui and it works!
Cons: no video playback support.
Ah, I thought the low memory usage was due to how the feed is displayed. It seems it's heavily using IndexedDB instead. In that case, I actually prefer your way.
I'm excited about that. I'd prefer that simpler one. What I like about Fevela is not only how readable it is, but also its low memory usage.


Planctal - Zoomable Fiction Map Generator
https://api.flutter.dev/flutter/widgets/WidgetsBindingObserver-class.html
This might be what you are looking for. You can detect fore/background state.
holy shite. web apps suck ah.
Planctal v0.1.12
Changes:
- Jump to the pin on clicking itself
- Modal 'Add Pin'
- Filter for same seed
- Support iOS browser
Planctal v0.1.9
Changes:
- Images are now saved at the highest available resolution.
Before:

After:

Planctal v0.1.8
Changelog:
- scale: scientific format
- pin list: sort by latest
- DMS coordinates

I meant not all events. The merged follow list at that point in time.
I'm thinking about implementing this in my app, but a specification written by the "core" members would really help me out.
Consider combining individual follow/unfollow events with periodic snapshots that include all events at specific points in time, featuring pagination with a continuation event ID (a pointer to the next part of the snapshot).
I mean a single line like this:
One year ago I proposed a "stacked users" design/UX (note mentioned at the bottom of this note). It was appreciated but I didn't see any real implementation of it, so I finally decided to build it on my own, but instead of creating yet another nostr client, I picked Jumble and added it as a new "Grouped notes" mode:

Main features:
- Pick a custom timeframe (default 24 hours)
- Filter out users that posted more than X notes; useful to surface users that post rarely
- Switch to compact mode to have a RSS-like feeling, to the delight of nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
- See how many other notes the author published in the selected timeframe
- Compatible with the built-in filters
- Works also when browsing specific relays
I've been using this mode in the last few days, and I really like it, especially the compact version, since it offers a clean interface without any doom scrolling temptation. It also is letting me discover interesting content and users I forgot I followed that, for a long time, remauned hidden behind the more active ones on my list.
Try it yourself at https://grouped-notes.dtonon.com
And give back any feedback, thanks!
nostr:npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl should I open a PR? :)
You should add trimmed content as a single line in compact mode — that would make the UX perfect. Congrats.
yeah, if you already have a community outside of Nostr, you can bring that in as a base. but starting from scratch? no, you can’t.
The problem is that you can’t build a community from scratch on Nostr since almost every app only supports WoT gated community.
nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m consider adding PoW for public keys on Bitchat.
reference code in Go:
https://github.com/1l0/nostrlib/commit/349cb8d9c01a7067a852f613702ac2223bf92d6d
whoa, nostr_zig's NIP-EE MLS Visual Explainer is doing an excellent job. nostr:npub1p4kg8zxukpym3h20erfa3samj00rm2gt4q5wfuyu3tg0x3jg3gesvncxf8
The answer is an ephemeral WoT. When you hug A, you give +1 trust to A. When you slap B, you give -1 trust to B. Then, the users trusted by A (ephemerally) form a WoT that can be used to collaboratively mute untrusted people. That is collaborative moderation. It is invented by nostr:npub1cgd35mxmy37vhkfcmjckk9dylguz6q8l67cj6h9m45tj5rx569cql9kfex, and I’m working on a topic-based feed.
I just created a demo of the nostr HLS playback.
https://github.com/1l0/video_testbed
The key point is that you can use a data URI to play the .m3u8 on the fly.
nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 How about this? No server is required other than relays and Blossom servers. I’m wondering if we could achieve seamless playback of a sequence of dynamically generated .m3u8 data URIs on the fly for live streaming.
from ip address? idk
OK, I’d like a comment from the creator of zapddit. nostr:npub1ltx67888tz7lqnxlrg06x234vjnq349tcfyp52r0lstclp548mcqnuz40t

