Avatar
boreq
e731ca427c18059d66636ddfaeeeb15012bc2db3cdd27b9e4cade5057a6e82ed
You can find me at various European events related to Chaos Computer Club, the hacker community and free software.

This is a #nos-dev-diary from a mostly-backend-developer.

Not much progress as I got sick after #nostrica but I landed a couple of improvements to https://tweeter.nos.social/. It is cool to see people use it!

- tweets now contain https://njump.com/ links to the associated events

- it will now avoid cutting links in half when shortening notes

- it correctly detects nostr nevent/npub/note links and translates them to https://njump.com/ links

- fixed a bunch of backend bugs so it should be more reliable

If you have bug reports, feedback or any other suggestions post them here or create an issue. The service is open source of course. I try to translate all feedback to issues so that it doesn’t get lost.

https://github.com/planetary-social/nos-crossposting-service/issues

Plans for the near future:

- investigate why purple pages sometimes doesn’t return events in response to queries, this makes the service struggle after restarts (this is how the service grabs your relays)

- resume work on a crawler-like service that will feed events into our other services e.g. the service that generates push notifications, the service that tries to analyse content reports using AI etc, we could also spin up an alternative to purple pages on top of that service

Ok I finally managed to sit down and think about this after I got over the jet lag and getting sick. I translated all the suggestions into GitHub issues to make sure that they aren’t lost.

I think posting long tweets would make perfect sense and would let us remove the njump links completely which you mentioned as a problem in the second point. That being said I agree that right now I don’t think this is possible using the API? I feel like it should be so maybe there is a way but the docs for the new API aren’t great right now I feel.

https://github.com/planetary-social/nos-crossposting-service/issues/41

Regarding the njump links: I like them because it helps find the original content but at the same time I agree that they look awkward and out of place. I can think of multiple approaches:

- skip rendering njump links when notes aren’t cut off because they fit in one tweet

- remove njump links completely even if a note is cut off

- don’t post notes which are too long

- post long notes as threads with multiple tweets

- let people decide what to do on a per-feed basis which unfortunately complicates the website

All of those solutions have downsides and I don’t know what the best one is.

https://github.com/planetary-social/nos-crossposting-service/issues/44

Images can be posted directly to twitter but the problem is that that loses context around where that image was in the note. For example I often post links to content images and write in between them like I did in this note. This just doesn’t translate into the twitter format.

https://github.com/planetary-social/nos-crossposting-service/issues/42

Basically I feel we are dealing with all the typical problems of crossposting from one platform to another :(

If anyone has any suggestions regarding any of those problems please let me know.

Replying to Avatar rabble

We’ve updated the nostr x bridge: https://tweeter.nos.social

You can see the old and newer format in my most recent tweets. We’ll keep updating it to improve the experience. Props to nostr:npub1uucu5snurqze6enrdh06am432qftctdnehf8h8jv4hjs27nwstkshxattyfor all the work and getting updates out from #nostrasia.

The next one on my list is converting nostr links to njump links and making sure that links don’t get cut off in the middle if a note is too long

YES I found a zoo

Ok I found all the anime girls in the world

I am currently at a electronics store in akihabara which is prob bigger than 5 biggest stores I’ve been to combined

Will do once I have a moment to upload the pics from the other phone

I recommend going to Hands in #tokyo if you want to buy something weird nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 recommended it and it is great fun #nostrasia

Guys my hair is blue not green guys come on guys

I was going to dye my hair purple before nostrasia but didn’t have the time so I am stuck with Twitter Blue

the rest of the world should take notes

I feel like I bought something at a convenience store more times over the last 5 days than I did over the last 5 months back home

This is a #nos-dev-diary from a mostly-backend-developer.

We posted about our Twitter crossposting service a short while ago but there were some problems with the Twitter API and messages got stuck in the queue resulting in tweets not being posted. What I speculate has happened is that some people exceeded their personal API limits and their tweets got stuck in the queue blocking other tweets from being posted. I can't confirm this since Twitter reports that we have not exceeded the API limit despite responding with “Too many requests”. I released an update which resulted in some tweets being sent by implementing proper backoffs and handling messages out of order.

Given that fact that I suspect people wouldn't be happy with a sudden wave of tweets being posted I haven't copied the messages that were stuck to the new queue for now so only new notes will generate tweets.

The service is available here: https://tweeter.nos.social

If someone has seen weird Twitter API behaviour similar to the one I described where all calls fail with “too many requests” but clearly no requests succeeded in the windows specified in the docs please let me know.

Previous:

nostr:nevent1qqsdh7cce4tu85a4gushmt0gexkfyc27h49nte8f9hennk4dfe9fm8qpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzpee3efp8cxq9n4nxxmwl4mhtz5qjhskm8nwj0w0yet09q4axaqhdqvzqqqqqqyanyrx7

#twitter #nostr

boreq's #japan experiences: matcha ice cream good, stuff on top of it weird #nostrasia

Yeah Twitter API constantly responds with "rate limit exceeded" even though it itself reports that we didn't exceed it so it is quite confusing, I will see if I can try to fix it tonight as my previous fixes failed.

boreq's #japan experiences: don't try to queue at the store 50cm to the left of the queue markers they put on the floor instead right on top of them or you will be yelled at #nostrasia

Replying to Avatar boreq

This is a #nos-dev-diary from a mostly-backend-developer.

I used to post those weekly updates on Secure Scuttlebutt and then I've never started doing it on nostr for some reason so here we go, time to fix this. This one is going to be short because it is easier to write them when you are up to date with posting them and still remember what you did.

- over the last couple of weeks we worked on and deployed a push notification service which helps Nos figure out when to grab new events when the app isn't open, as always the repo is public here https://github.com/planetary-social/nos-notification-service-go

- the -go suffix documents a failed attempt to do this in rust, but I want to revisit the language in the future as it seemed very interesting, it is just that this was my first rust project and it started taking too long

- I am currently working on adding automatic media uploads to the app to make posting images etc easier without having to open websites to upload them which is especially awkward on phones

This is a #nos-dev-diary from a mostly-backend-developer.

- I attended https://p4p.space and I recommend checking out the projects linked on the website if you are into decentralised protocols

- we merged automatic file uploads to nostr.build so they will be available on testflight soon

- changed note rendering to trim leading and trailing whitespace and squash consecutive newlines

- fixed the notification service which was struggling with events that have tags with empty values on them

- I am trying to learn some iOS development since it is fun to contribute to the app directly

Previous:

nostr:nevent1qqsr89tsrdz7ne82l7gvgkcsc6sxzh3379txhvfyyjwa8gm5k4lddkspz3mhxue69uhhyetvv9ujumn0wd68ytnzvupzpee3efp8cxq9n4nxxmwl4mhtz5qjhskm8nwj0w0yet09q4axaqhdqvzqqqqqqygyyzd6