lemon

lemon 4/15 10:01:16 πŸ’•
Damn you and all your tricks, Fishcake! πŸ˜‚ nostr:nprofile1qqsrl30c25at6af6c3uk03xydr8apr5vh80wwxmeuyk44k4jqk7qf5cpzamhxue69uhhyetvv9uju6rpwd5zuum5wfjkzmgpzfmhxue69uhhqatjwpkx2urpvuhx2ucywwaha nostr:nprofile1qqs0dqlgwq6l0t20gnstnr8mm9fhu9j9t2fv6wxwl3xtx8dh24l4auspzemhxue69uhk6mr9dd6juun9v9k8jtnvdakz7qg5waehxw309aex2mrp0yhxgctdw4eju6t0m3duwn he has a point though I can check reputation, restrict account age, ignore self/private/anon zaps, but it becomes tighter and tighter to control I don’t see anyway to combat two people zapping each other to the top other than individually blacklisting npubs for gaming the system, which becomes exhausting
⬆
fc3253240d832aebdb63b3a3f8e76268cd4957b51371b1a6287d2a2ce03ad686
⬆
lemon 4/13 6:37:49 πŸ’•πŸ˜­ πŸ€™
Pushed an update to #memeleaderboard - Memes are cached for instant page loading - Each meme has a zap count to make the order clear - Self-zaps aren't counted so as to prevent gaming the system Let me know if you have more feedback on how to make it better, Meme Lords nostr:nprofile1qyshwumn8ghj76mdvvkkummnw3ezuctdd96kuer9wfmkzar9wghxxmmdqy2hwumn8ghj7mn0wd68ytn9v9ekjene9ejx2qpq8lzls4f6h46n43revlzvg6x06z8geww7uudhncfdttdtypduqnfsu33ec2 nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqqg8cumryxsh3upfysp3suflpq9kuud0u8fs5uczrflh54gjsxv5v4yqjvug7 nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpqtvqc82mv8cezhax5r34n4muc2c4pgjz8kaye2smj032nngg52clq7fgefr nostr:nprofile1qythwumn8ghj7cmjv4shgu3wdehhxarj9emkjmn9qythwumn8ghj7erfwfjkxar0wfuju7tpvf6jumt9qqsftzm4fgwnmed4ajs0uvwj642lg5fjt7zf32pa5xvhkl7dtsu73rq6udlsx
lemon 4/13 11:30:51 πŸ’•
It’s definitely going to be a fun challenge Appreciate you hacking/stress testing it for me This will be a fun Red vs. Blue Team hacking exercise
⬆
The Fishcake🐢🐾 & 763 others 4/13 8:27:06 πŸ’•πŸ€£
You can’t make zap based ranking that is not gameable! It is impossible πŸ˜‚πŸ˜‚πŸ˜‚ nostr:note1gn08u07m57w6n2swzqtz9fwvfrz9l2jgxxpk2gx70mrn2y5rujqs2y03gn
lemon 3/30 9:52:59 πŸ’•
One challenge I’ve found is integrating persistent mobile login on a web-app for iOS that doesn’t have terrible UX I don’t want to handle keys and there isn’t an Amber equivalent on iOS yet So my workaround has been to not require login at all and just give people links generated by my own key I could add some logic like: β€œIF logged in, then user uploads must be signed by user; ELSE, sign event on user’s behalf with gifbuddy key” Then make a new page for logged-in users to see their own uploaded content Is that what you had in mind? Or are you guys thinking about it differently?
⬆
Soon! We’ll have stats for gifs. nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 will need to sort out the GIF ownership though, since now it’s owned by a single key
⬆
corndalorian 3/30 9:31:21 πŸ’•πŸ€™
Made this gif a few years back and uploaded it to Tenor. Just got this email. Too bad Tenor doesn’t have zaps πŸ˜‚ nostr:nprofile1qqstuu6ccnl9q9yvejhuqt4zqhvqz30z2wyf4gu43k404p3hq37ggrspz4mhxue69uhk2er9dchxummnw3ezumrpdejqzyrhwden5te0dehhxarj9emkjmn97n89fk any plans for gifbuddy creator pages in the future?
lemon 3/27 15:46:50 πŸ’•
I think I’m slow, Fishcake What’s Electrum coming to Nostr gotta do with me? I haven’t used Electrum before
⬆
nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 πŸ‘€
⬆
lemon 3/23 10:23:25 πŸ’•πŸ€™
What can you do with a Raspberry Pi 4 that makes girls go crazy? #asknostr
lemon 3/17 7:55:36 πŸ’•πŸ”₯ πŸ€™
What are 3 audiobooks that you’d recommend? Any genre, any topic #asknostr
lemon 3/17 4:14:24 πŸ’•
nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqz59ekx can I see this for every custom gif and meme generated from the gifbuddy npub? πŸ€” Is it only accessible through nostr.build or is there an API for analytics too? I don’t have a premium account currently, I’ve just been using your API so I’m not sure if analytics are public without logging in
⬆
Ryan 3/17 3:43:53 πŸ’•
I wasn't aware media analytics was a feature of nostr.build. Cool. Thanks nostr:nprofile1qqsgutaplle37z2p9qd60rcaz82pr2j9ew2e06dzezgdft4sj57p7qcpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3vamnwvaz7tmjv4kxz7fwwpexjmtpdshxuet5qyv8wumn8ghj7un9d3shjvewvfkx7emnw3ezuctswqx62fa3 & nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqzxrhwden5te0wfjkccte9eekummjwsh8xmmrd9skc765vym
lemon 3/14 11:46:01 πŸ’•
Would this be an event that’s published or would I use your API? Just point me where to look
⬆
Technically it is achievable, but nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 needs to put in some work into it
⬆
Ryan 3/14 11:23:11 πŸ’•πŸ«‘
nostr:nprofile1qqstuu6ccnl9q9yvejhuqt4zqhvqz30z2wyf4gu43k404p3hq37ggrspzpmhxue69uhkummnw3ezuamfdejszxrhwden5te0wfjkccte9enkjenzw4jxg7fwd3hkcqgdwaehxw309ahx7uewd3hkc80amms could gifbuddy/meme amigo have Nostr login, and save my created gifs to a folder on my nostr.build account? I often like to use them more than once, and this would make finding them much easier. cc nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqpzpmhxue69uhkummnw3ezuamfdejszrthwden5te0dehhxtnvdakqzxrhwden5te0wfjkccte9eekummjwsh8xmmrd9skc765vym
lemon 3/13 14:07:41 πŸ’•
That would be crazy and perhaps torturous But if you pull it off, it would also be epic
⬆
Karnage 3/13 14:04:36 πŸ’•
I want to try and make a Nostr client from my phone πŸ“±
⬆
Karnage 3/13 14:03:32 πŸ’•πŸ€™
Anyone writing code on their phone? πŸ€” Wondering how much desktop or laptop is actually needed in 2025
lemon 3/11 14:22:56 πŸ’•πŸ€™
I think I have a slab leak Prayers needed, advice welcome
lemon 3/1 6:18:40 πŸ’•
They use a NIP96/NIP98 API for their service I have the code for it already because I upload everything to nostr.build already I can incorporate it into the Collections upload (it’ll just take a time to generate the URL for each upload)
⬆
Pitufo 3/1 5:39:06 πŸ’•
nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w Is there an API I could use to return all the media files I have uploaded to nostr.build? I am working with nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 on a feature for gifbuddy.lol and just wanted to enquire. Thanks!
lemon 2/27 16:49:20 πŸ’•
Can confirm, have no dev knowledge
⬆
Karnage 2/27 16:30:31 πŸ’•πŸ€™
It feels like even with current tools, one can create just about any app without any dev knowledge. Things are getting wild.
lemon 2/27 13:27:48 πŸ’•
I built some new features in Meme Amigo, but I need feedback to make it better Any takers? nostr:nprofile1qymhwumn8ghj7ctydaexjmn8vdshyerfdeskcvfwd3hxy6t5wvhxxmmd9ahx7um5wfex2mrp0yhhgetnwskhyetvv9usz9mhwden5te0v96xcctn9ehx7um5wghxcctwvshsqg9wzqydywfskamvrqyj7m4tg8jtp8708uplxeqmrd8xaca2zekhvqkwasr4 nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpqr0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgsy67l5w nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqqg8cumryxsh3upfysp3suflpq9kuud0u8fs5uczrflh54gjsxv5v4yqjvug7
lemon 1/18 8:56:26 πŸ’•
Noob-question to your noob-question: What are labels? Is that another nip? We were just doing the same thing as emoji packs but for bigger images
⬆
955ab05f40868dbfa9f9437e4e334bf2f8084663a27bf6623230bb8354862425
⬆
f279db38f57104ba0dd7398faa8ea181e770c9d2b61dbcf2826ecc8bce3b0c34
lemon 1/18 5:47:33 πŸ’•
I haven’t used the outbox model yet My understanding is that it requires npubs to be associated with relays so that apps know where to query or publish Would that mean that Emojito is taking the relays associated with my npub when I log in and then publishing the nip30 event to those relays? So it is retrieving those relays from Kind 10002 events (nip65) and publishing there That makes sense Unfortunately that means that users HAVE to log-in or share their public key to have the content published even if the published content isn’t specific to their key (like gif buddy nip94 event publishing) Am I thinking about this correctly or is there a gap in my knowledge?
⬆
484da5c84cb2a519c5db8ed1a36666fceaa56de546707639c663fea928ed7ce5
⬆
87b9a036a9757d6615938153f7d7ce7f4a2e2b167a698138101178469b9e4925
lemon 1/17 17:10:39 πŸ’•
I just pushed an update with lazy loading (hopefully I did it right) Would you mind trying it and seeing if it made a difference for you?
⬆
c6138ca3b0e49d94ae7e906236358ce5f949d2edf9ab68195d111988198fd138
⬆
7f79b1216c13e83eb47fa90577273aafb97f7cb28b7eb164e91a106dab4190b4
lemon 1/17 17:10:02 πŸ’•
I just pushed an update with lazy loading (hopefully I did it right) Would you mind trying it and seeing if it made a difference for you?
⬆
lemon 1/17 10:52:29 πŸ’•
Not a bad idea! I’ll try it out and let you know when I have it implemented πŸ€™ Thanks for the help, homie
lemon 1/5 14:15:04 πŸ’•
MP4Buddy?
⬆
The Fishcake🐢🐾 & 763 others 1/5 13:56:47 πŸ’•πŸ€— πŸ€™
And in MP4, smaller, longer and with sound. Tell me why are we still using GIFs ? 1990s called and asked for their technology back! πŸ˜‚πŸ˜‚πŸ˜‚ nostr:note13tz6rl0kawkmkagd3arm5j47vxxns5dg9wj4vs6hchw50vr42qdq93edwq
lemon 1/5 14:07:08 πŸ’•
The dog has a point
⬆
Your client is broken, because mine plays automatically and with no fuss. MP4 is 350KB, gif with shittier quality is 3MB and shorter. So, in conclusion, GIFs were good in 1990, they suck now and should die a fast death. Lightweight is never something I would associate with GIF.
⬆
Satoshi 1/5 14:00:01 πŸ’•
This is why... the gif is lightweight and plays automatically without sound or fuss while I'm scrolling. the video does not play, I have to click it, and then it annoys me... In conclusion... GIFs are awesome.
lemon 1/3 8:17:50 πŸ’•
lol it was close β€œRumor after rumor is bad for your health!”
⬆
According to rumors, rumors are bad for your health. πŸ˜‚
⬆
lemon 1/3 3:43:09 πŸ’•
nostr:npub10sa7ya5uwmhv6mrwyunkwgkl4cxc45spsff9x3fp2wuspy7yze2qr5zx5p english
⬆
The Fishcake🐢🐾 & 763 others 1/2 21:22:11 πŸ’•πŸ€£
ε™‚γ«γ‚ˆγ‚‹γ¨ε™‚γŒε₯康にζ‚ͺい!Ρ=Ξ΅=Ξ΅=Ξ΅=Ξ΅=Ξ΅=β”Œ(;οΏ£β—‡οΏ£)β”˜
lemon 1/2 15:50:34 πŸ’•πŸ”₯
GIFs are a form of expression and speech. Thus, should have a place on most (if not all) communication clients. The simplest and prevailing integration currently is the GIF button that performs an API call to one of the major GIF databases. The risk associated with using these services is incredibly low, the library is vast, and implementation is trivial. The benefits associated with GIFs should really not be underestimated. GIFs convey emotion, tone, transcend language, and are concise (unlike this note). I believe the benefits of having GIFs integrated significantly outweigh the risks. With that said, here are the tradeoffs to be considered when using permissioned APIs: Censorship - Banned media at the country level (Politically sensitive imagery) - Banned media at the corporate level (NSFW) - Rate limiting (1 request per second) - Terms of conditions (Revoke API key if usage violates Terms) Accessibility - New upload/availability (Content rating, moderation, wait times) - API key applications (API providers want to know their customer) - Email address (Required for account verification) Advertising & Surveillance - Attribution/branding ("Powered by") - GIF advertising (GIFs may be weighted higher than others to promote shows/programs) - Privacy policies (Collection of data to sell to 3rd parties or modify search results) Given this, it seems reasonable to implement a GIF button using API keys from a major GIF provider with the ability to incorporate mitigating features down the line. Unless, of course, any one of the tradeoffs is intolerable to the app's experience (e.g. usage > rate limit, preserving privacy), which I expect to be uncommon. I believe the use of NIP-94 fully mitigates all of these risks, but will come with its own set of tradeoffs (e.g. library size, ease of use, event retention over time). In short: - The best approach for nearly every client is currently to use a permissioned API and incorporate a GIF button. - NIP-94 can and will be used as a backstop to ensure uninterrupted service for those that find the risks intolerable. - GIFs are created by individuals and cannot be owned by anyone. - Information yearns to be free. - GIFs are inevitable.
lemon 1/1 1:17:55 πŸ’•
+ helped Lemon with a bunch of problems That list is insane, friend! You’re a true inspiration and it’s incredible the amount you’ve accomplished Looking forward to see what all you build in the new year Happy New Year!
⬆
The Fishcake🐢🐾 & 763 others 12/31 13:12:31 πŸ’•βž• πŸ”₯ πŸ€— πŸ€™ 🀣 🫑 🫧
My 2024 review and high-level report. Let's start with some stats for the nostr.build: - 720 Million media requests served - 650 TiB of bandwidth consumed - 8 Million unique visitors - 85% average cache hit rate - Improved median CPU time per request from 200 down to 2 milliseconds per request - 20 requests per second are served on average - 99.994% uptime for the hosted media - 98% uptime for the website and uploading servers - 2.5K daily free uploads on average Some improvements for the free uploads: - Increased free upload size from 10MiB to 50MiB - Increased image resolution from 1980px to 3840px - Increased per server RAM from 1GiB to 4GiB - Added full mirror of all uploaded media to the additional vendor (backup) - Implemented moderation headers (can be used to hide NSFW content if desired) Now some of the stats of my dev work for the nostr.build: - 1,333 git commits - 42 repositories with my contributions - 10k+ lines of code written, or changed Some features and completed projects: - Rewritten nostr.build account page (AI, stats, nostr share, drag-n-drop, variaty of sizes, poster for video, etc.) - Added AI Studio, onboarded multiple models from SD and Flux. - Added media statistics - Rewritten media serving front-end (dropping CPU utilization by 100x) and improving TTFB as well as cache hit rate (from 50%+ to 85%+ on average) - Implemented variaty of the spam, and other illegal media upload prevention mechanisms (automated AI media scanner, PhotoDNA scanner, etc.) - Implemented AI Moderation API that is shareable with other nostr media hosts (e.g., nostrcheck.me) - Implemented upload of pdf, zip, etc., with full virus scanning. - Various improvements to the PHP code, bug fixes and optimizations. - Implemented e.nostr.build to allow easy embedding and sharing of the video/audio files for the account holders - Referal links and account credits - Onboarded more nostr clients for uploads (e.g., YakiHonne) Some of the prototyping I've done for nostr.build: - Semantic search of the media (ML based), multilingual - Basic search for media using AI Vision - Video transcoding using serverless and server-based setups - Video transcoding to DASH/HLS (CMAF) - Multi-party audio/video chat Some of the in-flight projects that I'll have to complete in 2025: - Seamless implementation of the Blossom protocol (70% done) - Rewrite of the post-upload scanning to utilize workflows (50% done) - New video upload and transcoding experience, HLS, DASH, VBR video/audio (10% done) - New NoSQL based data-plane backend with the new API (50% done) - Full rewrite of the Accounts page (5% done, blocked by new API and data-plane) - Additional models for the AI Studio (90% done) - <Secret projects with new experiences and features> (25% done) I am sure I am forgetting a bunch, and this is only done from my memory.
lemon 12/30 14:34:23 πŸ’•
When you update your app just so you can enter a meme contest:
⬆
The Fishcake🐢🐾 & 763 others 12/30 11:41:57 πŸ’•πŸ€£
nostr:note1hdj5uncg50t7a9ycf0d09tr5gplzsjd50vg9mmkmdvc5zv6xfkqse42996
lemon 12/30 11:13:41 πŸ’•πŸ€£
Pushed an update to Gif Buddy/Meme Amigo - fixed bug where text would wrap on meme generation (I hope) - gif search previews are higher quality - gif memes are higher quality - gif sharing/url generation is faster Hit me up if you ever have problems or want new features More features still to come!
lemon 12/30 10:18:59 πŸ’•
Testing something, is this better quality?
⬆
⬆
Paul 12/29 8:26:32 πŸ’•βž• πŸ”₯ 🀣
As anyone got the meme with the crying girlfriend asking: What do you mean the price i deserve?
lemon 12/28 16:21:37 πŸ’•
Did memeamigo cut that off? Haven’t seen that before
⬆
The Fishcake🐢🐾 & 763 others 12/28 15:18:24 πŸ’•πŸ€™
nostr:note1hxvj4psvmp8empz9prjsml8v2ultm8vzhhpe8466tjmalvedfc0saykdfs
lemon 12/26 13:30:26 πŸ’•
Let me know if Gifbuddy uploads start to become a problem nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w
⬆
nostr.build 12/26 6:13:03 πŸ’• πŸ€™
Some of you have noticed our homepage now requires a nostr login to use the free uploader. NO! You do not have to buy an account, you just have to hit the NIP07 button and use a key extension to authenticate. YES, we still offer free media uploading, but only to Nostr users! Non nostr users were abusing the free upload page and this was the best way to restrict it.. As a reminder: Free porn uploads are not permitted, CSAM will be immediately reported to the proper authorities, you can not use the API for non-nostr projects and high volume uploads!
lemon 12/12 15:14:21 πŸ’•
What are the goals?
⬆
The Fishcake🐢🐾 & 763 others 12/12 12:54:54 πŸ’•πŸ€™
Going zapless until I finish all my 2024 goals! 🫑πŸ₯…πŸŽ―
lemon 12/11 16:19:22 πŸ’•
Oh hell yeah, that looks siiiccckkk! No idea what it says, but I’m pumped!
⬆
πŸ˜‚πŸ˜‚πŸ˜‚
⬆
lemon 12/11 16:10:44 πŸ’•
Can you try adding Japanese text? I want to see it works with your fancy non-Roman characters
⬆
⬆
lemon 12/11 12:20:30 πŸ’•
I was walking my dog
⬆
brian 12/11 11:41:07 πŸ’•πŸ€£
Play memeamigo (https://memeamigo.lol) with me. Best #meme before Block 874200 gets 10,000 sats from me. #memestr nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6
lemon 12/11 16:18:21 πŸ’•
lemon 12/11 5:07:39 πŸ’•
Shout out to the homies that helped me along the way! nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w nostr:npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8 nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac You guys have been awesome in helping and teaching me, so as a token of my appreciation you all have NIP05 addresses with gifbuddy.lol and memeamigo.lol should you ever want to use them for as long as I own the domains I know you guys have your own projects and may want to keep your current NIP05 addresses so I'll find other ways to return the favor Thank you sincerely for your time πŸ™
⬆
lemon 12/11 1:09:07 πŸ’•πŸ”₯
Introducing Meme Amigo! https://memeamigo.lol/ Now available on GIF Buddy (just click the title/header to switch) and as it's own standalone webapp (PWA) - Meme templates stored on relays under NIP94 - Generate @nostr.build URLs for easy sharing - Add emojis, paste images, and meme GIFs on the same page Keep the feedback coming and let me know what you want to see in the next release More features still to come!
lemon 12/10 16:01:36 πŸ’•πŸ€—
lemon 12/9 16:12:44 πŸ’•
This was very public and now everyone knows πŸ˜‚
⬆
⬆
lemon 12/9 16:03:17 πŸ’•πŸ€£
Please Sir
lemon 11/24 12:34:26 πŸ’•
I feel proud that gifbuddy is1/1,000th of that So you be feel super proud Congratulations, homie! Thanks for teaching, helping, and being the backbone of my app
⬆
The Fishcake🐢🐾 & 763 others 11/24 12:01:05 πŸ’•πŸ€— πŸ€™ 🀣
πŸ«‘πŸ«‚πŸ€ŒπŸ»πŸš€πŸš€πŸš€πŸŽ‰πŸŽ‰πŸŽ‰πŸ₯³πŸŽŠπŸŽŠπŸŽŠ 2M uploads is behind us now!
lemon 11/17 13:18:09 πŸ’•πŸ€™ 🀣
AND ITS $100 PER YEAR?! nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s Am I missing something? Do I really have to pay $100/year for Apple Developer Tools to integrate Apple Pay into my website without using a Stripe Payment link? nostr:note1qa2htlqxhsjndpkp7makxp2t4qws0jkawut8dy3j9dexzm6xtcqqd8c6t0
lemon 10/24 10:02:31 πŸ’•
Also, what relays are you using on nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 to broadcast NIP94 events after files are uploaded?
⬆
Sorry, I have very little knowledge about these things πŸ«‚
⬆
lemon 10/23 14:01:12 πŸ’•πŸΆ
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 nostr:npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w
lemon 10/16 11:13:40 πŸ’•
Figured it out, didn't realize that the links were case sensitive
⬆
lemon 10/16 11:06:51 πŸ’•πŸΆ 🀣
How does this happen? Did I do something wrong on my end when uploading? nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 Great background though πŸ˜„
lemon 10/14 13:46:49 πŸ’•
Have you tried "wss://nfrelay.app"? I just learned about it and might give it a try. I find it impossible to even follow simple hashtags like #gardening without someone posting NSFW content and burning my eyes I'll give it a spin and let you know how it goes https://github.com/atrifat/nostr-filter-relay
⬆
The Fishcake🐢🐾 & 763 others 10/13 18:03:06 πŸ’•πŸΆ 😭 🀣
I haven’t been to Global/Universe in a long time, still scared of seeing something I’d regret for the rest of my life. πŸ˜‚πŸ˜­πŸ‘οΈπŸ§‚πŸ‘οΈ
lemon 9/26 16:03:54 πŸ’•
Couldn’t hash match automatically be reported? I’m assuming this means an images hash matches another known bad image. Do user reports automatically undergo AI detection as secondary verification? If a moderator catches one then why not have it automatically report? Unless this is a balance of power thing between you and moderators. Sorry for the barrage of questions, just trying to learn in case I ever have to upload and store content
⬆
Simple and complex: User reports. Moderator catching it. AI detects if underage nudity. PhotoDNA edge hash match. Each then has to be manually configured end by the admin (me or NB) and we have to click a button to pack and submit a report to NCMEC people.
⬆
lemon 9/26 15:45:11 πŸ’•
How does this process work exactly? Is there an AI api service you use to detect if uploads contain illicit content and then it has a certain confidence interval that requires you to approve if it’s below a certain threshold? This sounds brutal
⬆
The Fishcake🐢🐾 & 763 others 9/26 15:01:33 πŸ’•πŸΆ 😭
Oh god, just finished the most dreaded part of my responsibility and fully automated CSAM report to NCMEC. It still requires for a human (fuck my eyes) to confirm and press the submit button in the isolated environment. 😭😭😭😭😭😭😭😭😭😭😭😭😭 (Why you upload CSAM, anon? Stop it, get help! Please, I beg you!)
lemon 9/16 15:13:05 πŸ’•
I have no idea what it says πŸ˜‚ Was it accurate?
⬆
Impressive! πŸ˜‚πŸ«‚πŸ‘πŸ»πŸ‘πŸ»πŸ‘πŸ»πŸ€ŒπŸ»πŸ”₯
⬆
lemon 9/16 15:10:05 πŸ’•πŸ€™
nostr:npub10sa7ya5uwmhv6mrwyunkwgkl4cxc45spsff9x3fp2wuspy7yze2qr5zx5p Japanese
⬆
The Fishcake🐢🐾 & 763 others 9/16 14:46:36 πŸ’•πŸ€™
πŸ€£πŸ˜‚πŸ€”πŸ€”πŸ€”
lemon 9/14 8:52:26 πŸ’•
I have a function that queries 3 different relays for zap receipts (primal, damus, nostr-pub) Should I just keep adding relays? The zap sent to that event was from primal on my phone so I imagine it would at least get broadcast to the primal relay But I guess I'll try to add more relays to your point I'm really just looking for a reliable way to see if a note has been zapped and then by how much
⬆
No idea, but zap events are not propagated that well to begin with. So it depends which relay your are querying πŸ€”
⬆
lemon 9/14 8:46:57 πŸ’•πŸ”₯ πŸ€™ 🀣
Is NIP57 still the best way to determine the amount of zaps a note has? I'm not getting reliable results searching for Kind 9735 events that have 'e' tags to my target event. I'm using 'pynostr' library for python: zappers = getevent(kinds=[9735], event_refs=['f49c4364445f1c780b8fecae595a7d4ba390df66dceaeaad063c0f235103f155']) Am I missing something? nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw nostr:npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8
lemon 9/2 8:48:50 πŸ’•
nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w I just pushed a bunch of updates to the dev link A few updates: - uploads should work now - added β€œload more” - gifs should load faster on search Let me know if you guys have any feedback before I push it or if you have any more ideas Thank you both for all your help!
⬆
5746d8c6dce4f3735e4f05ae6db3f6d870ed7c826c9753d8954d28886d98b9c0
⬆
lemon 8/31 5:07:45 πŸ’•πŸ€™ 🀣 πŸ«‚
Help me make gifbuddy better! Need help with: - Reducing memory usage and improving overall reliability - Better hosting solution as Heroku is expensive - Add GIPHY library for even more gifs - Allow uploads for creatives like nostr:npub1xsn2cx73w7837xhkqalzxr5f9prwn6cvnz4t0e60qa0luff7g4fq28nm65 who make their own gifs - Ability to load more gifs if you want to go deeper in the search - Gif counter for nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 uploads to see how big we get - Prettier Front End design - Anything else you guys come up with that makes it better Looking forward to making this app the best it can be with you all! πŸ‘Š nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac nostr:npub1mgvwnpsqgrem7jfcwm7pdvdfz2h95mm04r23t8pau2uzxwsdnpgs0gpdjc https://github.com/happylemonprogramming/gifbuddy
lemon 8/31 15:58:37 πŸ’•
There have been a couple comments in my feed from people expecting to paste a nostr.build address so that could be cool Your API is fast already, it's mostly that nip98 AUTH requires me to publish a Kind 27235 note, which takes time to broadcast with my current library Were you thinking this API would be separate from nip98?
⬆
I could potentially make a separate API that will return URL instantly, and will redirect to Tenor while upload is prepared, and then serve local copy. If you are interested, let me know.
⬆
lemon 8/31 15:45:24 πŸ’•
The copied link is a Tenor link by intent When you click a gif, a separate API call is made on the back end to upload to nostr.build That process takes time that would really hinder the user experience if you had to wait for the new url to be generated in order copy it; it’s several seconds
⬆
8a13195a3dcb03176dc31b1aef8f71e60de76edce160ae70485436b1b5a6de7c
⬆
17b335458cc4f2dd68ede7d2f3279f26046667f81a15805d1d9a64db148c2a1b
lemon 8/30 16:19:41 πŸ’•πŸ€™
Humbled by the response and the use of gifbuddy.lol I built this app because I love gifs and I love nostr I thought it would just be something I could use until my favorite client integrated gifs natively, but I always thought by the time I actually built something it would be obsolete But the memes from nostr:npub1lrnvvs6z78s9yjqxxr38uyqkmn34lsaxznnqgd877j4z2qej3j5s09qnw5 and that one time nostr:npub1a2cww4kn9wqte4ry70vyfwqyqvpswksna27rtxd8vty6c74era8sdcw83a posted about not having gifs easily accessible kept the idea in the back of my mind Shout out to nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w for taking the time to help me with the nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 API and to nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw for the slick iPhone double tap shortcut that pulls up gifs faster than my native iMessage plugin I pushed an update to gifbuddy and am going to sleep so hopefully it doesn't break GN (Fun side note: what finally got me to lock-in and code was this note by nostr:npub1xsn2cx73w7837xhkqalzxr5f9prwn6cvnz4t0e60qa0luff7g4fq28nm65 using Canva and Google docs to post gifs) nostr:note1t6wzcxp9vyk7u2ke64wj23uruv3zn7ar3dw6lfmk3q9f7l8r4yrq4syer7
⬆
5e9c2c1825612dee2ad9d55d254783e32229fba38b5dafa776880a9f7ce3a906
lemon 8/30 13:28:08 πŸ’•
⬆
The Fishcake🐢🐾 & 763 others 8/30 13:00:01 πŸ’•πŸ€™
nostr:note1emq4xryqlrfjq90gqda5x3fewglm0stzw3x4usmesc7va57dyelqk79ywj
lemon 8/30 11:58:44 πŸ’•
I took your advice and built a gif nostr companion app: https://gifbuddy.lol/ You can download the PWA to your home screen, search for your gif, copy the address and paste it into your client On the back end, for every gif that gets copied/clicked, an API request is made to upload to nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 by nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w From there a nip94 request is done so that the content can be accessed by any client in the future Now, anyone who searches for gifs using this tool is also helping to build the gif repository for nip94 and adding fallback urls to nostr.build And all they did was click to copy #gifs
⬆
c6b93ae49ee678e3c37b4210ec68965ffa464c707b850411394b1e7ba02162a6
NIP-07
πŸ’•
Send kind:7