A cold and foggy day. š„¶
Iāve been using Mastodon too much lately. The constant notifications are becoming too stressful. I really do prefer slow communication, like twtxt. āļø
Yarn spoiler test:
! foo
So, whoās doing Advent of Code? Had some fun this morning:
And how should we handle spoilers here on twtxt? base64? š
Itās been so rainy and windy and cold these last few days, I hardly left the house. š©
I didnāt realize that the queens of our very common black ants are huge: https://www.youtube.com/watch?v=UjbAsdiE7ZI
twtxt.net lost its dark mode? Itās glaringly bright now. š
@prologic@twtxt.net Nah. twtxt + Mastodon is enough social media for me. š
Numbers are hard. I just almost accidentally sent 33k⬠to someone via bank transfer, because the banking website interpreted 334.90
as 33490,00
. š¬ This is germany, so it wants a comma, not a dot ā¦
Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have
User-Agent
headers. How exactly do you envision thediscovery_url
to work, though?
This is from a twt of mine from January 2022:
https://www.uninformativ.de/files/twtxt/2022%2D01%2D22%2D%2Dfollow%2Dendpoint.md
(This idea gets lost all the time, so I put it into a file now. š )
Not sure if this is what @eapl.me@eapl.me had in mind, obviously.
@bender@twtxt.net Iām so deeply concerned we even have to discuss the orange clown. š© All voodoo dolls up and running. ā
Funny wobbly moon sets:
https://movq.de/v/4bba078992/moon1.ff.jpg
I also tried to do a little stacked thingy, not too happy with it:
So, Iām forced to use WhatsApp now. Someone told me: āHey, Iāve been doing $thing
, check my status!ā Okay, fine, I open that and it shows a photo.
Then, while looking at that photo, itās suddenly gone. No, not gone ā there are several photos and it switched automatically to the next one. The timeout appears to be four seconds.
JFC, Iām getting too old for this. Let me look at the damn photo! Donāt rush me! š
Iām seeing strange lights in the sky. None of my cameras are sensitive enough to make a video.
Itās probably one of two things:
- A ship on the nearby river with a lightshow going. Itās rare but it happens.
- A steap hill nearby, cars driving āupwardsā, and since super bright LED lights are normal nowadays, they reflect from the clouds.
Either way, looks fancy.
@doesnm@doesnm.p.psf.lt May I ask which hardware you have? SSD or HDD? How much RAM?
I might be spoiled and very privileged here. Even though my PC is almost 12 years old now, it does have an SSD and tons of RAM (i.e., lots of I/O cache), so starting mutt and opening the mailbox takes about 1-2 seconds here. I hardly even notice it. But I understand that not everybody has fast machines like that. š«¤
That was a nice 12km walk today. Got home just in time before all the Halloweenies got out. š
Time to put up the christmas decoration, I guess. š¤·āØ
I think it could be yarndās avatar caching. Thatās why my avatar
field has a #20240102
at the end: To trick yarnd into reloading it.
gg=G
and to va"
, ci"
, di{
... in vim the other day š Life will never be the same, I can feel it. ref
@aelaraji@aelaraji.com ⦠this made me realize that I donāt really know anymore which commands I use. Itās all muscle memory by now. š¤
TIL: The word āeldritchā, as in āeldritch horrorā, does not refer to some small village in England. š„“ https://www.etymonline.com/word/eldritch
Thereās this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesnāt work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. š
I hope you guys in the US get safely through the next storm. š³
@3r1c@3r1c.net I think Iām gonna like that blog. š https://unixdigest.com/articles/is-the-madness-ever-going-to-end.html
Thereās a lot more activity in Geminispace than I realized: gemini://warmedal.se/~antenna/
@prologic@twtxt.net Iām sure you can somehow install something that calculates blake2b on OpenBSD. But itās not part of the base system as a standalone CLI tool, there only appear to be Perl modules for it. The other SHA tools do exist.
@prologic@twtxt.net I wanted to wait for things to settle down. Itās still unclear to me in which direction weāre going ā and if that new/different stuff is even possible to implement in jenny. That said, Iāve been really busy with private stuff these last few days, Iāve lost track of most of what youāre discussing. š„“
rsync(1)
but, whenever I Tab
for completion and get this:
@aelaraji@aelaraji.com rsync -zaXAP
is what I use all the time. But thatās all ā for the rest, I have to consult the manual. š
@xuu@txt.sour.is I think it is more tricky than that.
āA company or entity ā¦ā
Also, as I understand it, āpersonal or household activityā (as you called it) is rather strict: An example could be you uploading photos to a webspace behind HTTP basic auth and sending that link to a friend. So, yes, a webserver is involved and you process your friendās data (e.g., when did he access your files), but itās just between you and him. But if you were to publish these photos publicly on a webserver that anyone can access, then itās a different story ā even though you could say that āthis is just my personal hobby, not related to any job or moneyā.
If you operate a public Yarn pod and if you accept registrations from other users, then Iām pretty sure the GDPR applies. š¤ You process personal data and you donāt really know these people. Itās not a personal/private thing anymore.
Had to build a list of all feeds (that I follow) and all twts in them and there are two collisions already:
$ ./stats
Saw 58263 hashes
7fqcxaa
https://twtxt.net/user/justamoment/twtxt.txt
https://twtxt.net/user/prologic/twtxt.txt
ntnakqa
https://twtxt.net/user/prologic/twtxt.txt
https://twtxt.net/user/thecanine/twtxt.txt
Namely:
$ jenny -D https://twtxt.net/user/justamoment/twtxt.txt | grep 7fqcxaa
[7fqcxaa] [2022-12-28 04:53:30+00:00] [(#pmuqoca) @prologic@twtxt.net I checked the GitHub discussion, it became a request to join forces.
Do you plan on having them join?
Also for the name, how about:
- āprogitā or āprologitā (prologic official hard fork)
- āgit-stanceā (git instance)
- āGitTreeā (Gitea inspired, maybe to related)
- āGitomataā (git automata)
- āGit.Sourceā
- āForgorā (forgit is taken so I forgor) š¤£
- āSweetGitā (as salty chat)
- āPepper Gitā (other ingredients) š
- āGitHeartā (core of git with a GitHub sounding name)
- āGitTakaā (With music in mind)
Ok, enough fun⦠Hope this helps sprout some ideas from others if nothing is to your taste.]
$ jenny -D https://twtxt.net/user/prologic/twtxt.txt/5 | grep 7fqcxaa
[7fqcxaa] [2022-02-25 21:14:45+00:00] [(#bqq6fxq) Itās handled by blue Monday]
And:
$ jenny -D https://twtxt.net/user/thecanine/twtxt.txt | grep ntnakqa
[ntnakqa] [2022-01-23 10:24:09+00:00] [(#2wh7r4q) <a href="https://yarn.girlonthemoon.xyz/external?uri=https://twtxt.net/user/prologic/twtxt.txt">@prologic<em>@twtxt.net</em></a> I know, I was just hoping it might have also gotten fixed by that change, by some kind of backend miracles. š]
$ jenny -D https://twtxt.net/user/prologic/twtxt.txt/1 | grep ntnakqa
[ntnakqa] [2024-02-27 05:51:50+00:00] [(#otuupfq) <a href="https://yarn.girlonthemoon.xyz/external?uri=https://twtxt.net/user/shreyan/twtxt.txt">@shreyan<em>@twtxt.net</em></a> Ahh š]
Iām still more in favor of (replyto:ā¦)
. Itās easier to implement and the whole edits-breaking-threads thing resolves itself in a ānaturalā way without the need to add stuff to the protocol.
Iād love to try this out in practice to see how well it performs. š¤ Itās all very theoretical at the moment.
Alright, before I go and watch Formula 1 š , I made two PRs regarding the two ācompetingā ideas:
- https://git.mills.io/yarnsocial/yarn/pulls/1179 ā
(replyto:ā¦)
- https://git.mills.io/yarnsocial/yarn/pulls/1180 ā
(edit:ā¦)
and(delete:ā¦)
As a first step, this summarizes my current understanding. Please comment! š
One distinct disadvantage of (replyto:ā¦)
over (edit:#)
: (replyto:ā¦)
relies on clients always processing the entire feed ā otherwise they wouldnāt even notice when a twt gets updated. a) This is more expensive, b) you cannot edit twts once they get rotated into an archived feed, because there is nothing signalling clients that they have to re-fetch that archived feed.
I guess neither matters that much in practice. Itās still a disadvantage.
Iām bad with faces, I know that. But Iām having a really hard time recognizing Linus in this video:
https://www.youtube.com/watch?v=4WCTGycBceg
Basically a different person to me. Is it just me or has he really changed that much? š³
Iām not advocating in either direction, btw. I havenāt made up my mind yet. š Just braindumping here.
The (replyto:ā¦)
proposal is definitely more in the spirit of twtxt, Iād say. Itās much simpler, anyone can use it even with the simplest tools, no need for any client code. That is certainly a great property, if you ask me, and itās things like that that brought me to twtxt in the first place.
Iād also say that in our tiny little community, message integrity simply doesnāt matter. Signed feeds donāt matter. I signed my feed for a while using GPG, someone else did the same, but in the end, nobody cares. The community is so tiny, thereās enough āimplicit trustā or whatever you want to call it.
If twtxt/Yarn was to grow bigger, then this would become a concern again. But even Mastodon allows editing, so how much of a problem can it really be? š
I do have to āadmitā, though, that hashes feel better. It feels good to know that we can clearly identify a certain twt. It feels more correct and stable.
Hm.
I suspect that the (replyto:ā¦)
proposal would work just as well in practice.
Regarding jenny development: There have been enough changes in the last few weeks, imo. I want to let things settle for a while (potential bugfixes aside) and then Iām going to cut a new release.
And I guess the release after that is going to include all the threading/hashing stuff ā if we can decide on one of the proposals. š
@quark@ferengi.one At the moment, the twt in question exists in the sixth archive:
$ jenny -D https://twtxt.net/user/prologic/twtxt.txt/6 | head
[o6dsrga] [2020-07-18 12:39:52+00:00] [Hello World! š]
Does that work for you? š¤
@prologic@twtxt.net Yeah, that thing with (#hash;#originalHash)
would also work.
Maybe Iām being a bit too purist/minimalistic here. As I said before (in one of the 1372739 posts on this topic ā or maybe I didnāt even send that twt, I donāt remember š
), I never really liked hashes to begin with. They arenāt super hard to implement but they are kind of against the beauty of the original twtxt ā because you need special client support for them. Itās not something that you could write manually in your twtxt.txt
file. With @sorenpeter@darch.dkās proposal, though, that would be possible.
I donāt know ⦠maybe itās just me. š„“
Iām also being a bit selfish, to be honest: Implementing (#hash;#originalHash)
in jenny for editing your own feed would not be a no-brainer. (Editing is already kind of unsupported, actually.) It wouldnāt be a problem to implement it for fetching other peopleās feeds, though.
Since
jenny
canāt fetch archived twtxts
I wiped my entire maildir and re-fetched everything. I did that recently because @aelaraji@aelaraji.com asked me to š , but I guess I also did this back in 2023.
What did you do to make yours work?
jenny does fetch archived feeds during the normal jenny -f
operation. Only when using the recently implemented --fetch-context
, archived feeds are not fetched (yet). That was an oversight and I intend to fix that.
(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
I think I like this a lot. š¤
The problem with using hashes always was that theyāre āone-directionalā: You can construct a hash from URL + timestamp + twt, but you cannot do the inverse. When I see ā, I have no idea what that could possibly refer to.
But of course something like (replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
has all the information you need. This could simplify twt/feed discovery quite a bit, couldnāt it? š¤ That thing that I just implemented ā jenny asking some Yarn pod for some twt hash ā would not be necessary anymore. Clients could easily and automatically fetch complete threads instead of requiring the user to follow all relevant feeds.
Only using the timestamp to identify a twt also solves the edit problem.
It even is better for non-Yarn clients, because you now donāt have to read, understand, and implement a ātwt hash specificationā before you can reply to someone.
The only problem, really, is that (replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
is so long. Clients would have to try harder to hide this. š
Alright, I saw enough broken threads lately to be motivated enough to extend the --fetch-context
thingy: It can now ask Yarn pods for twt hashes.
https://www.uninformativ.de/git/jenny/commit/eefd3fa09083e2206ed0d71887d2ef2884684a71.html
This is only done as a last resort if thereās no other way to find the missing twt. Like, when thereās a twt that begins with just a hash and no user mention, thereās no way for jenny to know on which feed that twt can be found, so itāll ask some Yarn pod in that case.
All this hash breakage made me wonder if we should try to introduce āmessage IDsā after all. š
But the great thing about the current system is that nobody can spoof message IDs. š¤ When you think about it, message IDs in e-mails only work because (almost) everybody plays fair. Nothing stops me from using the same Message-ID
header in each and every mail, that would break e-mail threading all the time.
In Yarn, twt hashes are derived from twt content and feed metadata. That is pretty elegant and Iād hate see us lose that property.
If we wanted to allow editing twts, we could do something like this:
2024-09-05T13:37:40+00:00 (~mp6ox4a) Hello world!
Here, mp6ox4a
would be a āpartial hashā: To get the actual hash of this twt, youād concatenate the feedās URL and mp6ox4a
and get, say, hlnw5ha
. (Pretty similar to the current system.) When people reply to this twt, they would have to do this:
2024-09-05T14:57:14+00:00 (~bpt74ka) (<a href="https://yarn.girlonthemoon.xyz/search?q=%23hlnw5ha">#hlnw5ha</a>) Yes, hello!
That second twt has a partial hash of bpt74ka
and is a reply to the full hash hlnw5ha
. The author of the āHello world!ā twt could then edit their twt and change it to 2024-09-05T13:37:40+00:00 (~mp6ox4a) Hello friends!
or whatever. Threading wouldnāt break.
Would this be worth it? Itās certainly not backwards-compatible. š
@bender@twtxt.net On twtxt, I follow all feeds that I can find (there are some exceptions, of course). Thereās so little going on in general, it hardly matters. š
And I just realized: Muttās layout helps a lot. Skimming over new twts is really easy and itās not a big loss if there are a couple of shitposts⢠in my ātimelineā. This is very different from Mastodon (both the default web UI and all clients Iāve tried), where the timeline is always huge. Posts take up a lot of space on screen. Makes me think twice if I want to follow someone or not. š
(I mostly only follow Hashtags on Mastodon anyway. Itās more interesting that way.)
@cuaxolotl@sunshinegardens.org Ah, thanks for reporting back! Okay, so youāre basically manually ācrawlingā feeds right now. š¤ What do you think about the idea of adding something like # follow_notify = gemini://foo/bar
to your feedās metadata, so that clients who follow you can ping that URL every now and then? How would you even notice that, do you regularly read your gemini logs? š¤
Found this in an old copyright notice from 1993:
These images are not for use with the Microsoft Windows environment. Using these patterns in a Windows environment consitutes a copyright violation.
Someone clearly didnāt like Windows.
jenny --fetch-context
š
I think you are worrying about a non-issue.
Thatās what I do best. š
35°C and rising ⦠can haz winter?
@yarn_police@twtxt.net I was just about to remove this feed from my config because it was stale ⦠š
fetch-context
branch. This integrates the whole thing into mutt/jenny.
I think Iām not going to query Yarn pods for the moment. Letās first see how often Iād actually need that. š¤
There was a garbage bag incident last night and I had to clean up the kitchen for two hours. š Now Iām sore as fuck. Good thing I have a day off today, huh? š¤Ŗ