Lol, im just join for several minutes. Wait, Merkle Trees in twtxt?
NanoPi M6: High-Performance SBC with Gigabit Ethernet and M.2 SSD Expansion
The NanoPi M6 is a compact and open-source single-board computer (SBC) designed for high-performance applications, powered by the RK3588S System-on-Chip. Key features include an M.2 M-Key PCIe slot for SSD storage and an optional metal case with an integrated 3.5-inch LCD. The board is built around the Rockchip RK3588S SoC, which combines quad-core ARM Cortex-A76
Cya y’all again next month (2nd Sat in Oct) 🤞
👋 Thanks for joining us on our Sept monthly Yarn.social meetup today y’all 🙇♂️ We had @david@collantes.us @sorenpeter@darch.dk @doesnm@doesnm.p.psf.lt @falsifian@www.falsifian.org and @xuu@txt.sour.is 💪 Nice turn out! (not all at once of course, as we normally run this over 4 hours as we span many time zones!)
Things we talked about:
- Decentralised vs. Distributed
- Use of SHA256 for Twt Hash(es)
- We solved Edits! 🥳
- UUID(s) probably won’t work! (susceptible to sppofing)
- Helped @sorenpeter@darch.dk write some PHP to process/parse
User-Agent
and service his feed via a custom PHP script 😅
- @falsifian@www.falsifian.org introduced himself 👌
- Talked about Merkle Trees 🌳
Did I miss anything? 🤔
yarnd
and WebSub Media
And here’s a dashy of the no. of notify requests (from WebSub)
yarnd
and WebSub
On my blog: Free Culture Book Club — Aumyr, part 4 https://john.colagioia.net/blog/2024/09/28/aumyr-4.html #freeculture #bookclub
On my blog: Free Culture Book Club — Aumyr, part 4 https://john.colagioia.net/blog/2024/09/28/aumyr-4.html #freeculture #bookclub
@sorenpeter@darch.dk well edits can be detected with either approach really
Summary of Discussions (as best I can):
- @lyse@lyse.isobeef.org and @sorenpeter@darch.dk express simplicity. Both Lyse and Sorenpeter support location-based addressing.
- @falsifian@www.falsifian.org believes we should continue to develop ideas and extensions progressively over time like we’ve always done.
- @david@collantes.us @quark@ferengi.one and @bender@twtxt.net would like a better user experience, especially when threads break due to edits, deletions or feed location changes.
- @anth@a.9srv.net would like to see utf-8 mandated, and the threading model remain largely the same as it is today, which is primarily based on the convention of a Twt Subject anyway, Twt Hash(es) just make the threading “more precise”. Anth also states that format, client and server specification/recommendations should be kept separate.
- @movq@www.uninformativ.de @xuu@txt.sour.is sorry you two haven’t said too much really, so I’m not too sure?
Overall, the 22 votes we’ve had on the poll from the community (if you can call it a community?) have clearly shown that:
- We continue to support content-based addressing. (65/35)
- We think about formally supporting edits/deletes (60/40)
- We do not increase the use of cryptography (thworing things like authenticity and identity out the window) (70/30)
And overall the NPS (net promoter score) of “Would I recommend Twtxt to a friend” is a whopping 7/10 (which is crazy! 🤯)
Let’s have our monthly catch up soon™ (1hr) and discuss together. My own take on the direction we should take at this point is as follows:
- We continue to use hashing for the threading model.
- We think about changing this to SHA-256 for simplicity.
- We think about changing this to SHA-256 for simplicity.
- We either adopt @anth@a.9srv.net’s UUID approach or @lyse@lyse.isobeef.org Dynamic URL approach.
- We continue to incrementally/progressively improve things over time as @falsifian@www.falsifian.org suggested.
- We think about mandating utf-8 as @anth@a.9srv.net suggests which makes things so much easier for everyone.
- We further discuss the merits/ideas of supporting formal Edit/Delete requests or other ways to better support this in some way.
@lyse@lyse.isobeef.org Got time now before you head off?
Happy Gopher, fridayspace :)
@prologic@twtxt.net YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;)
facilitated a qiudanz technique workshop in a merveilles.town meetup | https://compudanzas.net/qiudanz_devlog.html
facilitated a qiudanz technique workshop in a merveilles.town meetup | gemini://compudanzas.net/qiudanz_devlog.gmi
@xuu@txt.sour.is Oh geez! Is this anywhere near you?
People stranded on the roof of a hospital in Tennessee after hurricane Helene
Pimoroni Pico Plus 2 W Enhanced RP2350 Microcontroller with Wireless Connectivity
The Pimoroni Pico Plus 2 W is an upgraded version of the RP2350 microcontroller, offering more memory and wireless connectivity while keeping the compact form factor of the original Raspberry Pi Pico. It is designed for developers seeking enhanced functionality while maintaining compatibility with the Raspberry Pi ecosystem. It features 16MB of QSPI flash and
Wild flooding in Ashville, NC due to Hurricane Helene
@falsifian@www.falsifian.org Thank you! 🙏
If we want this though (or some of us do) I will probably have to make the hard decision here to just fork from Twtxt entirely and define a completely new spec. If we care about the UX we need a few properties (some of which we have, some of which we don’t have and some of which are “weak”):
- Authenticity
- Integrity
PrecisionVersioning
The last one involves actually supporting the notion of “Edits” and “Deletes” IMO more formally. Without this it would be quite hard to support a strong/good UX. Another way to think about this is “Versioned Twts”.
I think the only legit way of preventing this kind of “spoofing attack” would be:
Digitally Sign Twts: Each Twt could be digitally signed using a private key associated with the UUID. The signature would be calculated over the concatenation of the UUID, timestamp, and content. The public key could be published along with the feed so anyone can verify the authenticity of the Twt by checking the signature. This approach ensures that only the true owner of the UUID (and the corresponding private key) can produce valid hashes.
Which leads us to more Cryptography. Something which y’all voted against.
@bender@twtxt.net This is sadly where you need two things:
- A
/twtxt.txt.sig
(detached signauture)
- Or a way to sign the
# uuid =
with a key that can be verified.
Hmmm and as I write this actually, I think this doesn’t work either, because you can still just copy it regardless. Hmmm @xuu@txt.sour.is help me out here? How do we prevent “spoofing”? 🤔
Diving into mblaze, I think I’ve nearly* reached peek email geek.
Just a bunch of shell commands I can pipe together to search, list, view and reply to email (after syncing it to a local Maildir).
EXAMPLES at https://git.vuxu.org/mblaze/tree/README
So far I’m using most of the tools directly from the command line, but I might take inspiration from https://sr.ht/~rakoo/omail/ to make my workflow a bit more efficient.
*To get any closer, I think I’d have to hand-craft my own SMTP client or something.
That page says “For the best experience your client should also support some of the Twtxt Extensions…” but it is clear you don’t need to. I would like it to stay that way, and publishing a big long spec and calling it “twtxt v2” feels like a departure from that. (I think the content of the document is valuable; I’m just carping about how it’s being presented.)
It’s for this reason I’d like to try changing the Twt Hash extension to use SHA-256 which is a far more common tool available pretty much everywhere. I think the effort involved in “precise threading” (using content addressing) becomes much easier to “author” (note that participating in an existing thread has always been trivial, just copy the Twt Subject in your Twt).
Again, I like this existing simplicity. (I would even argue you don’t need the metadata.)
I argue you do. It’s nice to have a “@nick@domain` a feed author prefers to be called by, rather than you just making shit™ up haha 😝
It’s also quite nice to have a visual representation of the feed too. description can be optional.
Without this, feeds are a bit too “bland” IMO.`
@falsifian@www.falsifian.org Yeah I agree with this actually (introducing too many changes at once is often a bad idead):
but IMO that shouldn’t be done at the same time as introducing new untested ideas
@bender@twtxt.net Bahahahahahahaha 🤣
This is why we need “authenticity” 🤣 Yes if you copied my feed’s UUID, then you’d end up generating identical hashes to me if we posted at identical times with identical timestamps. Not good 😌
Also, was the dot after the timestamp intended?
No, sorry.
@bender@twtxt.net It’s the experience of an ordinary person in a strange place where memories are disappearing with the help of the Memory Police. The setting feels contemporary (to the book’s 1994 publication date) rather than futuristic, except for some unexplained stuff about memories.
Yes, that is exactly what I meant. I like that collection and “twtxt v2” feels like a departure.
Maybe there’s an advantage to grouping it into one spec, but IMO that shouldn’t be done at the same time as introducing new untested ideas.
See https://yarn.social (especially this section: https://yarn.social/#self-host) – It really doesn’t get much simpler than this 🤣
Again, I like this existing simplicity. (I would even argue you don’t need the metadata.)
That page says “For the best experience your client should also support some of the Twtxt Extensions…” but it is clear you don’t need to. I would like it to stay that way, and publishing a big long spec and calling it “twtxt v2” feels like a departure from that. (I think the content of the document is valuable; I’m just carping about how it’s being presented.)
For example a v2 spec might just simply mandate the following as a starting point:
cat <<EOF
# nick = $USER
# avatar = https://example.com/$USER.png
# description = Hi 👋 I'm Bob!
# uuid = 7E9BC039-4969-4296-9920-4BACDBA8ED5C
2024-09-28T11:19:25+10:00 Hello World!
EOF > ~/public_html/twtxt.txt
And:
- Serve your file with
Content-type: text/plain; charset=utf-8
@falsifian@www.falsifian.org I don’t have a problem with continuing the way we have been for the past ~4 years, little extensions and improvements that we try along the way. That has worked quite well 💪 As a blind person myself, I can totally empathise with reading a full (lots of text) spec. Even if we decide to combine all the ideas into a full fleshed out v2 spec, it might be worthwhile having a cut-down version that is as simple as it can be a no less.
Recent #fiction #scifi #reading:
The Memory Police by Yōko Ogawa. Lovely writing. Very understated; reminded me of Kazuo Ishiguro. Sort of like Nineteen Eighty-Four but not. (I first heard it recommended in comparison to that work.)
Subcutanean by Aaron Reed; https://subcutanean.textories.com/ . Every copy of the book is different, which is a cool idea. I read two of them (one from the library, actually not different from the other printed copies, and one personalized e-book). I don’t read much horror so managed to be a little creeped out by it, which was fun.
The Wind from Nowhere, a 1962 novel by J. G. Ballard. A random pick from the sci-fi section; I think I picked it up because it made me imagine some weird 4-dimensional effect (“from nowhere” meaning not in a normal direction) but actually (spoiler) it was just about a lot of wind for no reason. The book was moderately entertaining but there was nothing special about it.
Currently reading Scale by Greg Egan and Inversion by Aric McBay.
Deprecating non-UTC times seems reasonable to me, though.) Having a big long “twtxt v2” document seems less inviting to people looking for something simple. (@prologic@twtxt.net you mentioned an anonymous comment “you’ve ruined twtxt” and while I don’t completely agree with that commenter’s sentiment, I would feel like twtxt had lost something if it moved away from having a super-simple core
See https://yarn.social (especially this section: https://yarn.social/#self-host) – It really doesn’t get much simpler than this 🤣
@falsifian@www.falsifian.org We’ve been doing this for years:
There are lots of great ideas here! Is there a benefit to putting them all into one document? Seems to me this could more easily be a bunch of separate efforts that can progress at their own pace:
More thoughts about changes to twtxt (as if we haven’t had enough thoughts):
- There are lots of great ideas here! Is there a benefit to putting them all into one document? Seems to me this could more easily be a bunch of separate efforts that can progress at their own pace:
1a. Better and longer hashes.
1b. New possibly-controversial ideas like edit: and delete: and location-based references as an alternative to hashes.
1c. Best practices, e.g. Content-Type: text/plain; charset=utf-8
1d. Stuff already described at dev.twtxt.net that doesn’t need any changes.
We won’t know what will and won’t work until we try them. So I’m inclined to think of this as a bunch of draft ideas. Maybe later when we’ve seen it play out it could make sense to define a group of recommended twtxt extensions and give them a name.
Another reason for 1 (above) is: I like the current situation where all you need to get started is these two short and simple documents:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
https://twtxt.readthedocs.io/en/latest/user/discoverability.html
and everything else is an extension for anyone interested. (Deprecating non-UTC times seems reasonable to me, though.) Having a big long “twtxt v2” document seems less inviting to people looking for something simple. (@prologic@twtxt.net you mentioned an anonymous comment “you’ve ruined twtxt” and while I don’t completely agree with that commenter’s sentiment, I would feel like twtxt had lost something if it moved away from having a super-simple core.)All that being said, these are just my opinions, and I’m not doing the work of writing software or drafting proposals. Maybe I will at some point, but until then, if you’re actually implementing things, you’re in charge of what you decide to make, and I’m grateful for the work.
@bender@twtxt.net I’m not following it, but someone on my pod is 🤣 And yes based on statistical evidence, I doubt you’ll see a reply either 🤣
@doesnm@doesnm.p.psf.lt The useragent tool now natively supports the Caddy (JSON) logfile format. 🥳
@prologic@twtxt.net Done. Also, I went ahead and made two changes: changed hexadecimal to base64 for hashes (wasn’t sure if anyone objected), and changed “MUST follow the chain” to “SHOULD follow the chain.
This is a 1-way feed by the looks 🤣 Maybe someone can figure out how to reach out to this person and see if they’re aware and interested in something a bit more “social” (albeit slow) 🤣
@falsifian@www.falsifian.org Sorry I didn’t make that super clear 🤦♂️ Be happy to see you there and some new folks 🙇♂️
🥳 NEW FEED: @3r1c@3r1c.net
@prologic@twtxt.net Thanks for pointing out it lasts four hours. That’s a big window! I wonder when most people will be on. I might aim for halfway through unless I hear otherwise. (12:00Z is a bit early for me.)
This Facebook/Meta story on storing passwords in plain text it just wow 😮 – Like how da fuq does a company, or anyone for that matter in the business of software / technology even do this?! Like at least base64 encode the fuckers right?! (oh wait 🤦♂️)
yarnd
hwoever:
@xuu@txt.sour.is If you have time, could you help me pinpoint this bug? 🐛
@lyse@lyse.isobeef.org It’s from 12pm to 4pm UTC so if you can make it at all, that’d be great 👍
@xuu@txt.sour.is Do you think we should just detect edits at the client-level then? 🤔
Probably the best idea I’ve heard/seen si far is @anth@a.9srv.net’s idea of a feed having a uuid # uuid =
(if present) otherwise just falling back to the URL you fetched it from and dropping the idea of a feed # url =
entirely.
Well the poll clearly shows:
- ~65/35 in favor of Content Addressing
- ~60/40 in favor of supporting Edit/Delete
- ~70/30 against more cryptograph
And an NPS score of 7/10 🤣
O #fridayreads desta semana é o “Privacidade 404” do @psenough@psenough !
@bender@twtxt.net Zero technical issues 🤣 I never claims otherwise 😅
Definitely NOT editing that Oupsie… + It looks all the same in terminal, so I can live with it.🤣
Happy Friday, gopherspace!
On my blog: Toots 🦣 from 09/23 to 09/27 https://john.colagioia.net/blog/2024/09/27/week.html #linkdump #socialmedia #quotes #week
On my blog: Toots 🦣 from 09/23 to 09/27 #linkdump #socialmedia #quotes #week
On my blog: Toots 🦣 from 09/23 to 09/27 https://john.colagioia.net/blog/2024/09/27/week.html #linkdump #socialmedia #quotes #week
(#sbmynna) @xuu@txt.sour.is wrote:
”@bender I am also in camp no edit signals. deletes only breaks the head of a thread. all the replies are unaffected.”
I figure I could also answer every single twtxt like this, so that if the original gets edited, or deleted, at least I don’t sound foolish without knowing exactly what I replied to. 🤭
It Sounds like a good idea! should that be limited to just direct replays or can it be extended to replays
to other replays, that way and With just the right amount of chain-replays, we’ll be RRrrrrrevolutionizing the way people Mailing Lists
like, in no time! xD
P.S: Just a reminder! I’ve already told you not to mind my twts for the next couple of hours, right!
@bender@twtxt.net HAHA I’ve just bookmarked that Repo to go through it tomorrow 👌
@bender@twtxt.net I am also in camp no edit signals. deletes only breaks the head of a thread. all the replies are unaffected.
See!? Even Meta/Facebook uses plain text, not just Twtxt! 🤣
@3r1c@3r1c.net Woa! I love this blog’s format! _ it’s just perfect for reading from terminal…
@lyse@lyse.isobeef.org that sounds truly idyllic! 🤭
@lyse@lyse.isobeef.org HAHA Nice one!
@bender@twtxt.net Well Matt should definitely get better Lawyers/PR people who could slap em’ on the wrest and tell “NO!” before he does something childish and effs things up. As for WPE, I believe a billion dollar company should be able to afford investing in their own infrastructure, hosting their resources, deploying their own CDNs and what not instead of leaching on Wordpress (’s infrastructure) for free (as in free coffee) + The Stripe thing they did is so disgusting given the circumstances, I don’t even want to talk about it.
Things could/should’ve been handled better, now it’s just another sh…rimp show.
@stigatle@yarn.stigatle.no You too buddy, have a good one!
@prologic@twtxt.net here… Get the same impression about the dude as everyone else and then (get the other side of the story, although it is a mess)[https://invidious.privacyredirect.com/watch?v=Gd8h_6vYPJ8] … Theeeeen, don’t give an Eff’ about any of it. 🤣
@david@collantes.us and WPE are saints, right? 🤣
Finally weekend. Time to relax a bit. And today I finally have some time for my computer in my free time. Wish you all a great weekend! Take care of your self and those around you :)
@bender@twtxt.net yeah, that’s what I said, and linked. Want more?
@bender@twtxt.net Yes but you’ve got me curious now 😅
Okay, co-founder of Wordpress and CEO of Automation.
What has the poor guy done? 🤣
@david@collantes.us Who’s Matt Mullenweg? 🤔
Matt Mullenweg is an asshole. That’s all; that’s the message.
“First world” countries problem number x:
More than 3,600 chemicals approved for food contact in packaging, kitchenware or food processing equipment have been found in humans, new peer-reviewed research has found, highlighting a little-regulated exposure risk to toxic substances.
Like really tbh, it’s just a matter of abstracting out the “fetching” part of your client. There are zero issues with fetching Gopher/Gemini hosted feeds. They just lack any mechanisms for Discovery and Caching.
@doesnm@doesnm.p.psf.lt Still haven’t received it. Did you send to james at mills dot io
? 🤔
@movq@www.uninformativ.de I don’t think I intend to either tbh for yarnd
. If there was any poorly worded “things”, it was just merely pointing out lacking capabilities for caching and discovery.
@doesnm@doesnm.p.psf.lt nah man! you’re not tricking me into answering that one 🤣🤣🤣
huh? im send. currently send twice
@bender@twtxt.net Oh so what you’re saying is “we” (royal we) ruined Twtxt 🤣
james
instead 🤣
@doesnm@doesnm.p.psf.lt Are you sure? Not seen the mail yet…
@aelaraji@aelaraji.com LOL 😂 Here’s one for you:
You can take IRC out of my cold 🥶 dead 😵 hands 🙌
Lol, Discord is centralized. Did you mean Salty.IM? (want groups)
james
instead 🤣
Done!
“Fu*** IRC maaan, all the cool kids are on Discord! IRC sucks”
LOL, Now substitute IRC and Discord with Gopher/Gemini
and Web
.
I hope you get the joke 😅
@doesnm@doesnm.p.psf.lt Ooops you might want to re-send that to james
instead 🤣
@aelaraji@aelaraji.com It sadly does not it seems. 🤣 Seems like the search engine has come across mentions of your feed via its other two protocols 🤣
$ inspect-db yarns.db | jq -r '.Value.URL' | grep 'aelaraji.com'
https://aelaraji.com/test_feed.txt
https://aelaraji.com/twtxt.txt