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
jennycanā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? š¤Ŗ
@falsifian@www.falsifian.org @bender@twtxt.net I pushed an alternative implementation to the fetch-context branch. This integrates the whole thing into mutt/jenny.
You will want to configure a new mutt hotkey, similar to the āreplyā hotkey:
macro index,pager <esc>C "\
<enter-command> set my_pipe_decode=\$pipe_decode nopipe_decode<Enter>\
<pipe-message> jenny -c<Enter>\
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \
"Try to fetch context of current twt, like a missing root twt"
This pipes the mail to jenny -c. jenny will try to find the thread hash and the URL and then fetch it. (If thereās no URL or if the specific twt cannot be found in that particular feed, it could query a Yarn pod. That is not yet implemented, though.)
The whole thing looks like this:
https://movq.de/v/0d0e76a180/jenny.mp4
In other words, when thereās a missing root twt, you press a hotkey to fetch it, done.
I think I like this version better. š¤
(This needs a lot of testing. š)
You might have seen me popping up on IRC. This is how it looks:
Thatās EZirc from the 1990ies. (It says it needs Warp 4, but runs fine on Warp 3.)
Lots of this old stuff still works (technically), but as @lyse@lyse.isobeef.org said: A lot of it really is dead. Thereās not much going on anymore in Usenet.
159-196-9-199.9fc409.mel.nbn.aussiebb.net
This has become quite a large thread. š
@xuu@txt.sour.is I donāt even have a WhatsApp password, it never asked me? š¤
Just realized that phone came with a bunch of āhiddenā Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to āfightā WhatsApp is pointless anyway. š¤Ŗ
⦠and then people call me a āludditeā. š¤£š
@bender@twtxt.net Sigh. 𫤠Elon Musk should buy Meta. Problem solved. š¤£
I love shell scripts because theyāre so pragmatic and often allow me to get jobs done really quickly.
But sadly theyāre full of pitfalls. Pitfalls everywhere you look.
Today, a coworker ā whoās highly skilled, not a newbie by any means ā ran into this:
$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable
Whyās that happening? I know the answer. Do you? š
Stuff like that made me stop using shell scripts at work, unless theyāre just 4 or 5 lines of absolutely trivial code. Itās now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.
@prologic@twtxt.net 35°C outside. 𫤠Iām just gonna sit here and wait for November. š
It is too hot to think. š„µ
QOTD: Whatās your favorite technological advancement in the last ~10 years? š¤
@aelaraji@aelaraji.com Exactly! š
Itās not what I meant (I was referring to the motor of the desk making a whirring sound š), but now Iām reminded of this: https://www.youtube.com/watch?v=9sKppwrLBY8
What the heck is going on here today, so many messages. š
Regarding complexity budget, slow software, all that:
Very few people do take pride in building simple, elegant, high-quality systems, do they? Why is that? Why are huge shiny things with tons of features more attractive? š¤
I never explicitly thought about this, to be honest. It was only at the back of my head. And I never tried to teach our younger āstudentsā at work: āHey, itās a great achievement to build something simple and elegant. Thatās something to be proud of!ā
Worse, simple software is often described as āboringā. Yes, in a way, it is boring, because your brain doesnāt have to get into overdrive to understand it. But thatās exactly the point. And itās hard to achieve that! Simple software isnāt just āfewer lines of codeā, you have to be pretty clever to solve a problem in a simple and elegant way. So itās something to be proud of.
Could this be an intuitive, emotional way to get more people on board the āsimple softwareā-train? š¤
The āMatrix Experimentā, i.e. running a Matrix server for our family, has failed completely and miserably. People donāt accept it. They attribute unrelated things to it, like āI canāt send messages to you, I donāt reach you! It doesnāt work!ā Yes, you do, I get those messages, I just donāt reply quickly enough because Iām at work or simply doing something else.
Iāll probably shut it down.
Nobody cares about privacy. The reasons I bring up in discussions are ātoo nerdyā. They put all their stuff to Google or Apple, so why would messaging be any different? (Weāre not even using all those Matrix crypto stuff ⦠That would be insane.)
Itās a lost cause. Iām frustrated.
Will I give in and use WhatsApp instead? Not sure yet.
@prologic@twtxt.net Hmm, yeah, hmm, Iām not sure. š It all appears very subjective to me. Is 2k lines of code a lot or not?
I mean, Iām all for reducing complexity. š I just have a hard time defining it and arguing about it. What I call ātoo complexā, others might think of as ājust fineā. š¤
Even if it might sound a bit overdramatic: Having a āmostly workingā dwl Wayland setup now is a huge relief. š Itās quite the weight off my shoulders.
There are still lots of items on my TODO list, but if X.Org were to die tomorrow, I wouldnāt be completely screwed. Only, like, 30% screwed.
Speaking of āAIā ⦠I guess I gotta find out soon how to disable/sabotage Microsoftās āRecallā, before this garbage takes over the family computers. š©
(Thereās no way the people in question will switch operating systems. Iāve tried, countless times.)
@aelaraji@aelaraji.com I think thatās the correct URL: https://staystrong.run/user/bmallred/twtxt.txt
QOTD: Which web search engine do you use? š
Anyone got a link to a robots.txt that āblocksā all the āAIā stuff?
Thinking about disabling the two extra buttons for āforwardā and ābackwardā on my mouse, because todayās websites donāt support this anymore, and itād safe me the constant moments of āoh for fuckās sakeā. š
Another thing that doesnāt work anymore after blocking network traffic from my Android phone: Some push notifications.
I run a Matrix server for our family. I use āFluffyChatā on my phone. Traffic from the phone to my Matrix server is allowed and chatting in FluffyChat works.
But I donāt get any notifications anymore on new messages.
So, whatās going on here? Does FluffyChat, which only really needs to talk to my own server, rely on some cloud service for notifications? Seriously? š¤ How does that work, does this cloud service see all my notifications or what?
Anyone around who did app development on Android? Can you shed some light on this?
:set formatoptions-=t in vim would stop the annoying line breaking I've been having in my twts... And I guess, that's it! Things are looking OK on my end.
@aelaraji@aelaraji.com Thatās the trick, yep. š I have something like this in my .vimrc:
au BufRead,BufNewFile jenny-posting.eml setl fo-=t wrap
Is this āflat UIā madness ever going to end? Iām beginning to lose hope.
@bender@twtxt.net To quote from the german version of ISO 27001:
Ćnderungen an Informationsverarbeitungseinrichtungen und Informationssystemen sollten Gegenstand von Ćnderungsmanagementverfahren sein.
Fuck off, you cunts. š¤£š
If youāre using jenny on Python 3.12, it will spit out a deprecation warning regarding datetime.utcnow(). This will be fixed in the next release.
@johanbove@johanbove.info Is there any reason to use this program? I canāt remember when I last had it installed, must have been early 2000ās.
Hey @sorenpeter@darch.dk, Iām sorry to tell you, but the prev field in your feedās headers is invalid. š
First, it doesnāt include the hash of the last twt in the archive. Second, and thatās probably more important, it forms an infinite loop: The prev field of your main feed specifies http://darch.dk/twtxt-archive.txt and that file then again specifies http://darch.dk/twtxt-archive.txt. Some clients might choke on this, mine for example. š Iāll push a fix soon, though.
For reference, the prev field is described here: https://dev.twtxt.net/doc/archivefeedsextension.html
Letās not forget that this gem exists: Primus - Mr. Krinkle š·š¶ https://www.youtube.com/watch?v=TOdo7dhvSwg
More basement:
I completely forgot that DVD-RAM was a thing once. Found my old disks and they still work. 𤯠The data on them is from 2008, so theyāre not that old. Still impressive.
The disks are two-sided. On the photo, that particular side of the disk on the left appears to be completely unused. š¤
And then I read on Wikipedia that DVD-RAMs arenāt produced anymore at all today. Huh.
(I refuse to tag this as āretrocomputingā. Read/write DVDs that you can use just like a harddisk, thanks to UDF, are still ānew and fancyā in my book. š)
Iām this close to making an Android app for managing a shopping list.
I just accidentally deleted the wrong list in the app that Iām currently using, and now thereās no way to get it back. Recreating it is a major pain, because typing on a phone sucks ass. Fuck.
Maybe I should just go back to using pen and paper ā¦
Not making THREADING the default view of e-mail clients and thus teaching users that e-mail is āchaoticā (if you get a lot of mail, it becomes unusable without threading) and āneedsā full quoting all the time was one of the worst mistakes ever.
@prologic@twtxt.net High five, Iām āgeneration Javaā as well! š There were some leftovers of C++, we used that in the computer graphics courses in Uni a lot. But pretty much anything else that involved programming was Java.
(There was nothing even remotely resembling CS in our āhigh schoolā. That school neither had the required teachers nor the equipment / PCs.)
I finally found the NASM assembler.
I had heard that name before, many times, but somehow never looked into it. Weird. š¤Øš¤
This is the kind of program I was looking for.
- It is free software. Especially in the DOS ecosystem, free/libre software is a very scarce resource.
- Itās a small command line program, not a huge behemoth.
- Documentation appears to be well written.
- It can even cross-compile DOS binaries from Linux.