Last Notes
I agree that without decentralization, nostr becomes uninteresting. So centralizing on the same big relays is not an option.
The only alternative to outbox/inbox that I know of is blasting events everywhere, and that has the worse downside of massive resource usage and its scalability becomes more and more difficult the larger the network grows.
I think the downsides of the outbox/inbox model aren't a big deal. They only arise on mobile if you have low battery and are trying to follow a god-awful number of people, or if you want privacy but for some inexplicable reason aren't operating over tor and so you are pissed that your IP address leaked to a server you didn't pre-approve of (even that can be solved with whitelisting).
Thanks, good catch, it actually seems a bug in the decoding.
I was able to create a semi-kludgy work-around.
1. I created a new, non-private list in gossip.
2. i put one non-private npub in the list.
3. i put a bunch of other npubs into the list and toggled them each to private individually.
When i published this list from gossip, it was quickly available in Amethyst and the feed in amethyst does include all the private (encrypted) npubs from the original gossip list. I pulled down the kind 30000 event from my relay and confirmed that all the private npubs are in fact only existing in the content tag in an encrypted blob. The only clear-text ('p') npub is the one non-private contact i added in step 2.
This works but is a PITA.
cc @npub1gcx…nj5z
PRIVATE FOLLOWS LISTS ON AMETHYST!
I request the next development be making Amethyst again be able to parse my private follows lists so I can start using it again.
Why nostr matters in ALL CAPS.
TYPING IN ALL CAPS IS SELF-AUTHENTICATING.
Amethyst used to see private lists created by gossip. I just recently alerted @npub1gcx…nj5z that this is no longer working. But it did definitely work a few weeks ago. Unfortunately, I can't say what version it stopped working with.
I've been using Coracle so I hadn't noticed. I didn't change anything with following lists recently that I can recall.
Perhaps Amethyst changed to NIP-44 encryption for the content and forget to support decrypting from both? Just a wild guess. Vitor should know more.
@npub1acg…p35c At one time I was able to see private people lists that I created in Gossip in Amethyst. But now I no longer see them. I can still see my gossip public lists but no longer the private ones. Do you still use Amethyst? Can you see private lists created in gossip in amethyst?
(I'm at v. 0.92.1-PLAY for Amethyst and HEAD of master branch (d6f4e4c) in gossip)
cc: @npub1gcx…nj5z
In case anyone wonders why I punch them in the face if they walk by me wearing Ray Bans.
https://image.nostr.build/d527abb096d9de1f33c3492b22944e0c56b825cf14cb43dee18d8a0300543832.png
Thanks. Yes we are complicated and all somewhat different. I experiment on myself a lot and I take a lot of clues from evolution, some evolutionary arguments are very convincing. Gluten alone didn't make much difference in my case, but cutting out coffee+milk+wheat for 2 weeks did fix my IBS for a while (until I started cheating)... it took almost 2 weeks for the result to occur which is probably why it has been so hard in the past to test foods (I didn't know I had to wait so long). HIIT is great. I climb hills as fast as I can, forcing myself to over-breathe makes it easier. My current keto diet is not a short-term change, it is a short-term experiment. I will evaluate what to take from it after I'm done experimenting.
Your experience is very much what I expect... where you just can't eat any more fat and protein, and yet you are still hungry for something. Your body wants carbs (for the brain at least) and has to subtitute ketones, but it really doesn't want to, so you remain carb-hungry.
When I did a keto diet for a few months it was a very interesting experiment. This was many, many years ago. My experience was that I was constantly ravenous and I was eating constantly while on the diet. It felt very weird to be eating so much and especially so much fat. But I followed the diet I was using and it told me to eat as much as I wanted as long as I didn't stray from the specificied foods - and in particular zero carbohydrates. I'd eat a full, huge meal and then be hungry enough to eat another meal like it 2 hours later.
Very quickly I could feel that my metabolism had shifted into a different mode. And even though I was eating what seemed to me like ridiculous quantities of meat and fat, I started losing body fat within a few days and that continued for a while (maybe 3 - 4 weeks if I am remembering things right) until I plateaued at a lower body fat level.
While I was on the diet, no matter how much food I ate, it never felt actually satisfying. And even though the food I was eating was extremely high quality and very well-prepared, it always seemed like it was missing something. It's hard to put in words what I am trying for but it's like the food was simultaneously delicious and completely blandly uninteresting and all the while I was totally ravenous. It was weird.
I don't think it would be a healthy diet (for me anyway) for a long period but I think it was a really good metabolic reset for a short period. I think of it kind of like running a gas engine flat out for a while to blow out all the carbon deposits. Engines always seem to run cleaner after that treatment and that's kind of how my body felt after the keto diet.
Anyway, that was my experience. I'd say that if you find yourself craving more food than you are "planning" (in the Mike Tyson sense of things) to eat, to go ahead and eat as much as you want. That's what I did, anyway. Just stay away from the carbs which I think would inhibit that metabolic switch that I was talking about and then your body might keep storing the fat instead of burning it.
The endless march of enshitification plods relentlessly onward.
You cannot follow someone privately on your main Following list. The Kind3 event has no way to represent such a concept.
But you CAN follow people privately on any other list you create for yourself.
@npub1acg…p35c I'm running gossip on macos, self-compiled from master and currently up to date with github. I no longer see any UI to toggle persons on my lists as private or public. Maybe I just can't remember where that used to be? Or is it gone permanently or temporarily? Or is there a bug?
Here are a couple worthwhile posts on baking (mainly wholegrain) bread with sourdough starter:
https://breadtopia.com/demystifying-sourdough-bread-baking/
https://breadtopia.com/slow-lazy-sourdough-bread/
Fwiw, another data point. I've been using graphene for over a year now and it has been super stable and reliable for me all along. When I first got a pixel to try it out it was very much experimental for me because I just assumed that all kinds of stuff wouldn't work. But after a week of use it was clear to me that it worked better in every way than my Samsung phone on regular Android and I made the full switch.
Where I live out in the country we have shit cell service so I rely on wifi calling and text. This was the primary thing I figured wouldn't work so well. But it turned out to work way better than my other phone.
Great data point. So I still haven't found a likely culprit.
"Reticulum is the cryptography-based networking stack for building local and wide-area networks with readily available hardware. It can operate even with very high latency and extremely low bandwidth. Reticulum allows you to build wide-area networks with off-the-shelf tools, and offers end-to-end encryption and connectivity, initiator anonymity, autoconfiguring cryptographically backed multi-hop transport, efficient addressing, unforgeable delivery acknowledgements and more."
https://github.com/markqvist/Reticulum
It might be a bit too persnickety at present. I may need to add another index and allow more filters. I'm not sure.
Testing Chorus
@npub1acg…p35c
That is a reasonable optional way to do it. I'll leave this up to @npub1000…vwqk and @npub1hlq…z5wg . They handle the UI/UX stuff.
Hey @npub1acg…p35c, I think i remember seeing that you use or have used Amethyst sometimes. I'm noticing that I like one thing that Amethyst does that gossip doesn't do (yet?). When looking at a reply, I like how Amethyst puts a "preview" of whatever note the reply is to within (above) the rendered reply in the timeline.
For me this seems like better UX than just having the link to the replied-to note which takes you to the full thread timeline. I like that link too because I often want to click into the full thread view. But there are a lot of times that having only the context of the direct parent of a reply is plenty and it would be a lot more efficient to not need to click over to the full thread in those cases.
Cool - thanks for the heads up.
Not sure if I am understanding what you are saying but what I hope amethyst does when I set it to connect via tor / orbot is that if orbot is switched off or unable to connect to the onion network for whatever reason, then I want amethyst to not connect to anything anywhere - I want to see a blank screen in amethyst in that case which will let me know that something is wrong with my connection.
IOW if I say connect via tor / orbot, then don't connect (of fail back) in the case of tor / orbot not being connected.
otherwise i will never know if I am actually reading and posting via Tor or not unless i am constantly checking whether orbot is connected.
Sorry, but what's this guy going to do when his pirate ship gets blocked "from port" by other Mastodon instances?
Thanks. I just did that yesterday. I missed the 'focus' issue the first time but @npub1000…vwqk was quick to correct me 😅
While we're at it we should also #banraybans. As well as any other glasses / sunglasses manufacturers teaming up with the likes of poop-for-brains CEOs like zuck to put ubiquitous surveillance devices on the faces of every fucking human walking the streets of earth.
I'm definitely planning to get long form content from Wordpress -> nostr working in my nostrtium plugin as soon as I have some clear time to dive into it. I've had no time to work on it for some months now, but I hope to have a window sometime in February when I can work on this.
So then you still want your laptop to be your laptop but you prefer a different framework of defining what that means in principle and in practice than the conventional, mostly western developed-world legal frameworks that currently dominate. Is that accurate?
Although I don't really like this term very much (because I think jargon in general seems to obscure what it's trying to disclose), I find myself mostly agreeing with what libertarians call "natural law" most of the time that they use it, and I feel like property - possessions - mostly have a pretty obvious "natural law" set of rights and wrongs around them that my dogs seem to understand perfectly well without any codification.
When there is contention between my dogs over some property, most often the assertion of natural law will carry and often the less dominant dog will prevail when she has natural law on her side. But there are also occasions when the provenance of some goody is not clear and in that case, might makes right in the dog world and the spoils then invariably go to the stronger, more dominant dog.
For all its warts, the capitalist codification of law surrounding property mostly aligns pretty well with my notion of natural law around property and mostly (*mostly*) protects humans from might makes right losses. Under your interpretation of libertarian socialism, how would property contentions be managed?
That's an interesting political philosophy.
On that Wikipedia page it says that it differs from other forms of libertarianism by its rejection of private property.
Do you reject the notion of private property? And if so, does that mean all so-called property or only certain classes of property? IOW if we ran into each other at a coffee shop and I chose to walk off with (what I would call) "your" laptop, would that be congruent with your philosophy?
Good on both of you then.
And I can only take credit for coding. @npub1000…vwqk came up with the design.
On my brief read of the whole project, 'reticulum' is not a name for a social media protocol but is instead the name of a completely decentralized, encrypted, cryptographically addressable, un-surveillable networking stack that could (should?) replace TCP/IP altogether. It aims to be the plumbing that the Internet should have had from the get go.
https://image.nostr.build/8a2482221da05b2c8199f599d7b2a042b88f81d09d73e3ff0084f744e79b85d6.png
Within the small reticulum ecosystem, there is a social media / chat protocol that is built on top it which is called LXMF (https://github.com/markqvist/lxmf).
@npub1acg…p35c I like the new gossip login screen. Very polished. Also nice that the insertion point defaults to being active so you can just start typing or pasting right off the bat without clicking or tabbing into it.
I'm able to use lists in X accounts that are private / non-posting. But the UI for creating lists has become extremely obscure and unintuitive. You maybe have just not found where / how to create them?
In the good old days, tweetdeck made it very easy. Also when "free speech champion" twitter allowed 3rd party clients, tweetbot (by tapbots) also made it easy and so clean to use. As far as I can tell, twitter under elon is hell-bent on making it entirely un-usable. Aside from people knee-jerk disagreeing with his politics, I think the UI devolution of twitter is probably driving a lot of people to nostr.
Yeah, I use lists extensively on X and it was one of the two things that I miss(ed) a lot in nostr until now. I love this new gossip list implementation. Thanks Mike!
(The other thing I miss is the UI ability to assemble my lists in parallel tabs in one wide window like tweetdeck)
I can't get lists to work on X. I think maybe because my account can't post?
Reticulum is very interesting - thanks for posting that.
nostr devs might be interested in this repo which is a lightweight messaging format built on top of the reticulum networking stack. There is considerable overlap with nostr functionality: https://github.com/markqvist/lxmf
Embarrassed that I can't keep up with the NIPs, but that's awesome.
It means what NIP-51 defines it to mean. The private entries are encrypted into the contents of the list so they are shared with you on other clients, but not visibile to other people looking at the event.
Really excellent work on this. Love the follow list implementation.
If I toggle "public / private" to private for a person, does that mean that if I publish that list the person who is set as private will not be part of what is published (i.e. I'm following them only from this instance of gossip and nobody can trivially [without access to behind the scenes relay data] see that I am following them?
you gotta script it. It's worth the up-front investment.
I'm with you. Please post if you run across an acceptable solution. I will too.
I don't know why the post I'm replying to has a content warning. My old man fingers and eyes don't know how to use this little phone client very well.
That's funny. I also mostly use a desktop over starlink and use gossip (though I happen to be composing this on Amethyst on my phone at the moment) and I currently follow fewer than that so yeah, for me there is no performance bottleneck, no battery issues.
I also run a personal relay based on strfry with my own minor modifications and I very much like the idea of client proxies. But I also grow most of my own food. And while friends who come over admire my garden and tell me how much they'd like to have one like it themselves, everyone knows that the vast majority of people are not gonna be spinning up a VPS to run and maintain a proxy relay.
I think needing to even subscribe and pay for a proxy that someone else runs is going to be too big an adoption hurdle for nostr to get beyond fringe usage in the age of downloading an app to your phone that "just works" in about 15 seconds. I hope I'm wrong but that's how it seems to me.
For me, the problem with even "50 or 100" big relays that everyone uses is that each and every one of those relays becomes a target for government's that think their job is to keep people from saying things they don't want them to say. If there is such a target set, no matter the intentions of the people operating those relays, the whole thing is too vulnerable.
I think the only way it's not vulnerable is if relays are tiny, cheap, stupid and ubiquitous so that it's effectively impossible to police them by sheer numbers. I recognize that world has all the performance and scaling issues we are talking about and it also may not work in the sense of getting past fringe adoption. But again, I'm here for the free speech absolutism, not for the stickers, badges, likes, follower counts, etc.
Most of my opinions about nostr's architecture come from a conversation I had with a friend of mine who used to work at Twitter. He explained that Twitter is only able to deliver relevant content quickly by pushing it to a huge network of special purpose caches. This is easily done with nostr relays in theory, the hard part is coordinating how caches (relays) get primed. I think some combination of push and pull will be necessary - if indeed the problem can be solved without central coordination.
I don't expect people will spread out over thousands of relays. Things naturally gravitate towards centralization. We don't all use thousands of different web browsers or even thousands of different email providers (anymore)... people learn which ones are the best and people naturally gravitate to and centralize upon those. The same will be true of relays. Most people will use the main group of 40 or so relays (which might even whittle down to 10 or so over time, who knows) that everybody knows work well. And that begs the question "they why bother with the outbox model?" Because the outbox/inbox model allows that 5% of people who want to do their own thing, to roll-their-own, to have custody of their own notes, to be sure they are not being censored, to do so without losing their audience.
I hope the fan-out never gets crazy large. I hope I'm right that most people will naturally tend toward using the same popular relays. But if it does get large, I think proxy solutions are going to be the way to manage it.
I didn't realize filter.nostr.wine was such a thing, or that you were involved with it (so much going on in nostr to keep track of who is doing what).