an example of the retardation of typical nostr clients and auth
#jumble is fine to cope with my #realy when it's set to "public readable" with "restricted-writes" (ie auth to publish)
the relay doesn't demand auth to do req, it has "restricted-writes" in the nip-11, and if you try to send "EVENT" envelope to it, it answers back with "OK",false,"auth-required" and it duly auths and then realy accepts the submission and voila
#coracle is also fine with this
#nostrudel is not
it reads ok, but it craps itself when i try to publish
cc: nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
this is why there needs to be a fix not just for auth handling in general (they should just all use nip-98) but also there needs to be a proper delineation of API methods being called in "envelopes" because they are ambiguous as fuck, there is really three different semantics to a REQ, a filter, an event retrieval request, and a fulltext (and filter) search
none of the clients even grok the semantics of full text searches at all, but i have figured out that so long as the filter part is reasonably restrictive, ie, it has either authors, a since/until, or some tags, ideally at least two of the above, you can actually implement a "search" just by scraping through the results with a "contains" search on the content fields on each of the space separated string values, and only return the ones that have at least one word match (they could be "relevance" sorted as well so the more words the earlier they appear in the list.
with no need for a stupid fulltext index.
anyway, that's part of what i'm doing with teh simplified nostr HTTP API
i should also mention that it is actually possible to do subscriptions with plain HTTP, just, not simple, because usually servers and clients get cranky about not getting a "Content-Length" header field for the body.
just got two new listings from https://idealista.pt for places under eur1000/month today... one up in the south east mountain area near camacha, and another in faial, which is like second town over to the east from where i am now
both really good prices, and very nice, camacha place has the bbq in the kitchen, and the other has bathtub and bidet
gotta stack me some sats dang... the camacha place i would love to just dive into tomorrow except ... hhmmmm
yeah, i don't have enough spare cash to cover the move and the bond and all that... but i so would love to be up high in camacha like already, but this place in faial is also pretty nice, probably a bit more noisy (the camacha place stipulates no parties after 10pm haha)
#thoon
i got another 3 months here in boaventura so i'm gonna just hold my horses for another month, then i'm gonna grab what i can... partly because of logistics and partly because of money and partly because it's ok here, actually
this little shack is just a bit cold sometimes, but i haven't touched the allocated power bill cost so far even though i have been running a 900W carbon IR lamp a lot
and i don't have enough spare cash because the previous place doesn't look like they are ever gonna pay me back anything from the security deposit let alone the accidental extra month i overpaid
which yeah... another reason... scummy scabby people
i can definitely say i'm not a fan of sao vicente people in general, these people in boaventura are a bit more decent, though a little bit cheapskate but maybe that's part of the deal
#realy #devstr #progressreport #gn
not a big major thing, just signing off with what i have got dose so far...
there is now a little registry that stores a mutex protected map of capabilities, the scaffold of the HTTP handlers, and for each handler a a registration init function that currently is empty but will be populated to convey the necessary information about how a simplified nostr API call can be used and what it requires or other optional things
i will have to write some new API for the database to implement these, as, for many queries it will not be necessary to decode the event immediately if it doesn't require a second level match in addition to the base index match generated by the filter, as the filter/fulltext query types only return lists of event IDs instead of directly returning the IDs
the purpose of this is to enable pagination without the relay needing to be made more complex with a query state cache because dynamic data has to be either updated to match new events that come in, or the results of a request have to be cached for a period of time to enable clients to selectively request segments of a result set
this way it just throws that back to the client, and they can then formulate events requests that contain the segments of the result they received in order to load the data for display. in fact it enables the client to literally preload ahead of the scrolling of the user one by one as a new item is revealed, it can fetch the next one ahead well before the user gets to it, in accordance with the scrolling motion even
not stuff that pagination even helps you do, though it doesn't really apply to desktop/web aps so much as they don't have the concept of "flick" scrolling
anyhow, back to the fiat mine tomorrow, building a different other database and index scheme and API, but for sure i will be fleshing out these methods as i go
it will be possible, once i implement these, to add the ability to make these queries using the `curdl` curl-tool that does nip-98 HTTP auth, to send it queries with the relevant Accept header data, RESTful path and POST string containing the JSON of the request
yes, this will be a bit like what `nak` does, except without the websockets
well, the subscribe could probably do it *with* the websockets as well, but that would require me to extend curdl to be able to print the received event ID hashes as JSONL, which could of course be part of some shell script or fed into some other program
in fact it does kinda make nak redundant as far as programmability for shell scripting since the APIs are on the relay simply paths and json in http request body, for most of the things anyway, not all, like, i'm not gonna implement bunkers lol
anyway i'm kinda betting on the idea that once there is a mostly HTTP way to access nostr events that this design will proliferate due to its simplicity
#realy #devstr #progressreport
just been tidying up in preparation for implementing the simplified nostr protocol spec https://github.com/mleku/realy?tab=readme-ov-file#simplified-nostr
found a few things that were not properly dealt with, mainly related to the new public readable option, and the request filtering
important change now in v1.9.5 (current at this time) is that it now correctly is refusing to process queries for DMs and Application Specific Data and related privileged event kinds with no auth
there is already one working path endpoint, `/relayinfo` which i haven't documented yet, it's just the same as nip-11, but specific to the new protocol, because it's on a path
one key thing that will be happening even with subscription based websockets APIs is that they will do auth using nip-98 at the request level, and the `/capabilities` endpoint will specify if an API requires auth or not, or such finer details like "for kinds a, b, c" as it will for the filter endpoint on privileged events as i was talking about just above
ok, getting to it
there will be a full, sane http RESTful API put together soon, which will be very nice for resource constrained devices that can't do websockets, mainly this is going to mean #alexandria can be deployed to read books on an ebook reader
but i think that general adoption of this protocol extension should take place anyway, because it so greatly simplifies implementation for the majority of types of queries and publication requests that clients use, meaning nostr-noob devs will be able to get something working sooner
well, at least for #realy anyway y'alls other peoples gonna have to catch up at that point
i just had a comical experience with #mochi the #catstr just now
i put out some of these char grilled beef chunks for him to eat, and the window was open and a bunch of noisy buzzy bumble-flies came in and started harassing him because meat
he fully freaked out over the flies, to the point where he was retreating to the stairs to hide from them while i was trying to locate and eliminate these pieces of shit fucking hate these things also
me and mochi have a lot in common, two things being high sensory acuity
his is typical to the species but he is sick at the moment so like me he is also irritable
yes, the main reason why i'm so bitey and jumpy is because i'm sick, and congrats, assholes, because this means i'm even more determined than ever in my life to purge your shitty arses from existence like i did to the two stupid bumble flies
not necessarily by killing you, that would be a bit weird and excessive, when i can just shut you out
and if it was my property, this cottage, it would have insect screens on every window yesterday, and there would not be flies
we get a few mosqquitoes here, but not many, idk why, probably because it's a bit too cold for their life cycle, but there is some, and they are very annoying when they show up to bug me when i'm sleeping, and leave their injection wounds all over my exposed skin
it was just funny as hell tho, i mean, sad, again, to watch the cat being distressed but funny also because his behaviour was so sympatico to my own feeling towards these pests
me and my mochi are gonna make our own little space in the world, and he is so sympatico to me that he is helping me focus on the important things that make the biggest impacts
you may think it's just some livestock but cats are so intelligent that they can be something even more connected than even dogs emotionally
he learns things so fast, that i just say words now that i have trained him to associate with places and parts of my body and bam he's on it like lightning, when i say his name, and he is asleep, he wakes up and ears point at me and sleepy eyes look towards me
i have a special affinity with cats, i think, because i have top percentile sensory acuity, inherited via my mother's family line
this round of learning how to live with one, which i have aspired to having a cat for a long time, is really coming full circle though, he's teaching me as much as i am teaching him
Showing page 1 of
2 pages