Oddbean new post about | logout

Notes by lemon | export

 I had a Twilio account registered with my email address many years ago, now I'm trying to registe... 
 This happens to me all the time and I hate it 
 What is it? I hear about it often, but don’t fully understand 
 So you have the media stored directly on your own relay instead of being hosted on AWS or Nostr.Build servers?

That’s cool 😎 
 Client support as in:
When you upload media in a Note on client it goes to your Blossom server (instead of the client default host)?

I imagine you have your personal Haven relay in your list of relays on your client so all of your notes are being published there so it’s just the media factor, right? 
 I wish my job was that wild 
 Even as we are approaching the all-time high again, we want to reiterate our policy:

No Creed. 
 #Bounty Alert:

100K sats for a great Coffee Shop name that is bitcoin/nostr related.

Name must ... 
 Sip & Str 
 I HAVE MADE A GRAVE MISTAKE

NONE OF THE GIFS ON GIFBUDDY WERE BEING PUBLISHED TO RELAYS FOR THE FUTURE OF GIF SEARCH

All gifs were still uploaded to  @nostr.build, but the File Metadata under the NIP94 standard was never broadcasted

This was a major blunder on my end and I appreciate the help from  @The Fishcake🐶🐾 and  @Don't ₿elieve the Hype 🦊 for helping me discover the issue

I have since corrected the problem so now everything should be working as intended

I added an NIP94 gif counter to the front page so that we can all track our progress, which currently stands at a measly 35 gifs

Please help me correct this mistake by sending as many #gifs as possible and telling your family to do the same

https://media.tenor.com/iD6b9jYPFH8AAAAC/hangover-fudged-up-guys.gif 
 @Translator English 
 I think you’re right

Thought it was a good test, but I guess I’m not there yet 
 Please tag with #nsfw 
 #asknostr
nostr:nevent1qqsq0gnje69erg8rctcj0wexke9ad5w4kyapsxpf09hvsgcg6yeaavgppemhxue69uhkummn9e... 
 Literally as soon as I posted I was like “damn, forgot the asknostr hashtag”

And then you came out of nowhere like a quote angel and saved the day

https://media.tenor.com/Z2OpNIDyxi8AAAAC/hero-youre-my-god-damn-hero.gif 
  @Translator english text 
  @Moel, so I think this one failed because there's actually a video (not a gif) and then the app tried to translate this 1 second clip with no audio and failed

I translated it to english above

Remember that you can always translate text only (cheaper) by specifying "Translator english text"

Adding the "text" keyword removes any media from being quoted/analyzed

Nevertheless, there's something I still gotta figure here so thanks for letting me know 😉  
  @Translator spanish

Sorry Corn, testing my bot on images and you're the only guy who posts memes

Appreciate you, big dog 
 How has square not done anything with nostr? Seems like they could simply do a hackaton with like... 
 Dang, hackathon would be sick! 
 nostr:npub10sa7ya5uwmhv6mrwyunkwgkl4cxc45spsff9x3fp2wuspy7yze2qr5zx5p English please 🙏 
 I made another change

It definitely failed because of the 1 second .mp4 file that doesn't have a detectable language

I made the quote replies more clear as to what is being quoted exactly

The solution is kind of hacky because I'm tired, but I wanted to do something to make you proud🫡  
 I moved over from the 'pynostr' library to 'nostr_sdk' because it's being actively maintained, but every once in awhile I get stuck

Why doesn't this filter work to search events in the NIP94 File Metadata? 

Filter().kind(Kind(1063)).custom_tag(SingleLetterTag.lowercase(Alphabet.M), "image/gif").search("dinosaur")

Is there a way to search custom tags that aren't of "SingleLetterTag" type (e.g. "summary", "alt", "ox")?

#asknostr #python
 @Yuki Kishimoto   @NotBiebs  @The Fishcake🐶🐾

https://m.primal.net/LfIy.png  
 I see

I figured the search term was for the “content” field, but wasn’t certain

The problem I have is that this filter doesn’t reduce the size of the request enough (error from relay that request is too large) and I can’t think of a way to filter it down farther without using custom tags that aren’t single letters 

If you have any advice, let me know 

Thanks for helping! 
 How would you go about searching the gifs we’re uploading to nostr.build from gifbuddy? 
 @Don't ₿elieve the Hype 🦊 do you have any good advice on how to navigate this note above?

Trying to figure out how to filter NIP94 events (kind 1063) enough to be a service for gif search

I’m not seeing a way to parse these notes by other tags

Hoping you’re familiar with this library 🤞 
 I think I'm definitely doing something wrong on my end as I'm not getting repeatable results

Here's the code I'm working off of if you want to take a look:
https://github.com/happylemonprogramming/gifbuddy/blob/main/nostrgifsearch.py 
 Also, what relays are you using on  @nostr.build to broadcast NIP94 events after files are uploaded?  
 Nice! I’ll definitely try it out and let you know how it goes

I was playing with it more last night and discovered some things 

I think the next problem I have is trying to find the right relays to add

Nostr.Build uses Blastr so the NIP94 events are published to whatever relay is online and working, which makes it challenging to know where to look

For example, if you just add the Damus relay you get 94 events, I added like 4 more and got up to almost 900, but I know we’ve uploaded more GIFs than that

Just need to find where they are hiding 
 I think you can help me with this one:
I've gotten the library and filter working now (I think), but I'm only seeing 95 events when connected to the damus relay. I added a bunch more relays (nostr band, nos.lol, primal, nostr.wine, nostr-pub) and now I'm up to 892 events (590 are unique hashes/gifs).

But I know we've uploaded more than that since the launch of gifbuddy.

According to Fishcake, nostr.build uses Blastr when sending NIP94 events, but if that's the case then why am I not seeing way more gifs on these relays?

My goal is to make this a simple function for clients to use so that we can get gif buttons without using Tenor and GIPHY

Hoping you come in clutch on this one

https://media.tenor.com/ZrHDWRIOCi4AAAAC/fingers-crossed-i-hope.gif 
 I don't get how to search nip94 events if I don't know what relay ask events from 

Current process:
- Gifbuddy uploads to Nostr.Build
- Nostr.Build publishes a NIP94 event to Blastr
- Blastr goes to whatever relays are online and working (I don't 100% understand this area)

I expect Blastr would include publishing to popular relays like damus, primal, nos.lol, nostr.band, etc. Yet when I add these relays and search for such events (Kind 1063) I get less than 900 results for gifs, which can't be right.

Nostr.Build definitely has more than 900 gifs uploaded assuming that every file uploaded to Nostr.Build has a corresponding nip94 event published.

I can keep adding relays, but I don't think that's the right answer

Hopefully I'm making sense, but this is where I'm at right now:
https://media.tenor.com/UsxDt3pIYPoAAAAC/crazy-pills-will-ferrell.gif 
 Nah, I figured it out with Fishcake in DMs: I messed up

When I upload a gif to nostr.build, I get nip94 event data in the response, which I’m suppose to publish, but I interpreted that at the time as it’s already been published

So gifs have been uploading to nostr.build, but haven’t been publishing nip94 events, which super sucks

Working on fixing it this weekend 
 You wouldn't happen to know how to use Blastr in python with nostr-sdk, would you?

I pretty much finished the nip94 update to gifbuddy, but I want to broadcast it as wide as possible (right now it just does damus and primal relays) 
 @Translator Spanish lol 
 nostr:npub10sa7ya5uwmhv6mrwyunkwgkl4cxc45spsff9x3fp2wuspy7yze2qr5zx5p Dutch translation please 🙏 
 English text only 
 I don’t even know how this bot would work on other traditional social media platforms 

I’d probably have to pay a subscription to use a permissioned API on Twitter

And then the bot would probably have to reply with a Stripe payment page for a user to use Apple Pay or manually enter in their credit card

But then that would require the minimum transaction size to be $0.50 even if it doesn’t cost that much to actually do the work 

With Nostr and Bitcoin, I can build without these restrictions 

nostr:note1lpnhc66nxc7rltkva8mlg6avv9fyuywyczsh94vkqenqzvls8w3sqpf3yt 
 I think the problem there is because the input language is Thai and I don’t have support for that yet 

I’ll have to check the logs to confirm

But I should have a language detection earlier so that you don’t pay first to find that out 

I’ll work on that and will get back to you

Thanks for testing it out though! I just refunded you the sats. Let me know if you have other problems with it. 
 I’ve been going back and forth on this

On one hand: bots work on any client and are easy to use

On the other: they are limited in their interaction to just replies or are otherwise thought of as spam

I’m sure there’s cool use cases that I’ve never thought of. If you think of something cool that you want, let me know and I’ll try to build it if I can 🤙 
 Alright, I just made an update that detects the language of the note first

Should let you know now that a language is unsupported before quoting instead of after for text only notes

Still need an implementation for notes with images and video only

Thanks for the feedback! Let me know if anything else breaks 
 I have a reaffirmed belief in god, but I still struggle with modern woke  Christianity. 
 What brought you back? 
 #freewriting day 6.1
เขียนขีดอิสระ วันที่ 6.1
#siamstr

ก... 
 @Translator English text 
 Damus wallet connector kind of confusing. Qr scan doesn’t work. There’s a relay setting (not ... 
 I still have no idea how to zap on Damus

My wallet is connected, I used the back door script to have the icon visible on notes, but I now I get “error fetching invoice” 
 That was from Primal
I bounce back and forth 
 @Translator Japanese 
 @ocknamo No idea how accurate this is

The bot currently struggles with translating npubs so I still gotta work on that 
 Here's a quick look into what I've been building lately

 @Translator is a bot that works with notes, #memes,  @fountain_app clips,  @wavlake #podcasts, and videos from anyone on Nostr

Simply tag the bot and note the language (e.g. Spanish), zap the quote reply and get your content

Now you can navigate the Global feed and finally know what's going on out there

#makebotsgreatagain 

Disclaimer:
This is still a prototype under development so if anything breaks please let me know! Definitely don't spend too much.

https://m.primal.net/LcaA.mp4  
 @Translator Japanese 
 Yeah, I’m thinking it’s because it’s Thai

Also, you can have the bot translate the text only (cheaper) by saying “text” after the language 

Otherwise if there’s media like an image it will attempt to translate that too

Saves some sats 
 @Translator Portuguese text