movq

uninformativ.de

No description provided.

Recent twts from movq
In-reply-to » Swa this pop up in my Github news feed today 🤔 Media Which links to https://github.com/musingstudio/go-subclub

@prologic@twtxt.net @lyse@lyse.isobeef.org Yeah, same. They say:

If you post quality content and you’ve developed a loyal audience, you should be able to ask your most passionate followers to support you with a premium subscription.

You already can ask your most passionate followers to support you: You can ask for donations.

I regularly donate to people if their content is great and if they actually ask for donations (many just don’t). The platforms for that already exist, I think. 🤔

I’m not interested in the slightest in stuff that has a paywall. “Subscribe for more content!” No, why, go away. Pages that do this immediately feel shady and not trust-worthy. 🤔

⤋ Read More
In-reply-to » @lyse @prologic Sorry, I have hardly slept last night. 😅 I probably didn’t chose the best words to describe this. 🥴

(Let’s not rush things, obviously. Such a change would have to be well thought through and actually be worth it. It’s not like the current state of Yarn/twtxt is completely unusable.)

⤋ Read More
In-reply-to » @movq It sounds complicated. After reading it only twice, I haven't gotten it. :-D

@lyse@lyse.isobeef.org @prologic@twtxt.net Sorry, I have hardly slept last night. 😅 I probably didn’t chose the best words to describe this. 🥴

Yes, I’m all for dedicated message IDs. That would be a whole new format then. But I would be fine with it.

Honestly, me too. When Yarn originally showed up, I was concerned that it would extend twtxt in dramatically incompatible ways or, worse, change it in a way so that you needed server software. 😅 The latter would have ruined it for me. A major reason why I still use twtxt/Yarn is that it’s still just a file you put somewhere. If there was the need to run a daemon, I’d give up and just use some ActivityPub thingy instead.

What I did not expect, however, was that the original twtxt itself would just … die. There has been no development in the original software anymore and virtually all the original feeds are dead. Some feeds are left, but they’re just used as an alternative to Atom/RSS for some blogs. I don’t know what happened behind the scenes that killed off twtxt (I have a few guesses, though), but the sad truth is that it’s gone.

So, yeah, maybe this gives us the freedom now to break with the original twtxt spec (if needed) and come up with a format that fixes the issues we’re seeing.

(Oh god. Are we re-inventing Usenet then? Again? 😂)

⤋ Read More

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://txt.sour.is/search?q=tags:hlnw5ha">#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. 😂

⤋ Read More
In-reply-to » @bender 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. 😅

@bender@twtxt.net The size … it depends. 🥴

$ du -sh ~/Mail/twt
244M   /home/user/Mail/twt

But:

$ du -sh --apparent-size ~/Mail/twt
33M    /home/user/Mail/twt

There are about 60k twts in there.

Regarding one-way junk: True. Looks like I mostly unfollowed those, I don’t really have that in my inbox. 🤔

These are the Top 10, btw:

$ awk '/^From: / { user[$2]++ } END { for (u in user) { print user[u], u } }' * | sort -k1rn | head -n 10
24020 "prologic"
5269 "lyse"
3928 "movq"
2285 "adi"
1985 "abucci"
1713 "mckinley"
1415 "off_grid_living"
1352 "darch"
1280 "eaplmx"
956 "bender"

⤋ Read More
In-reply-to » Serious open (for anyone) question: what makes you follow someone on twtxt? Will you just follow anyone that you come across, simply because that someone using the "decentralised, minimalist microblogging service for hackers" microblog?

@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.)

⤋ Read More
In-reply-to » I guess I can configure neomutt to hide the feeds I don't care about.

@falsifian@www.falsifian.org @prologic@twtxt.net @bender@twtxt.net The twt was edited. In my cache, it also has hash st3wsda and it started like this:

(<a href="https://twtxt.net/twt/yqke7sq">#yqke7sq</a>) I've been sketching out some …

When fetching the feed now, the twt starts like this and the current twt gets the hash 6mdqxrq:

(<a href="https://txt.sour.is/search?q=tags:yqke7sq">#yqke7sq</a>) I've been sketching out some …

This can’t be avoided, really. Publishing twts and then editing them is like doing a git push --force after rewriting the commit history. Chaos will ensue. 😅

⤋ Read More
In-reply-to » @prologic @movq my setup is pretty old-school tw.txt hosting-wise. just a text file and a very simple static bridge for pikkulog-style subscribers on gemini. i do try to keep up on the twtxt format spec so i'm publishing a modern and well-formed feed. my dual-hosted website/gemcapsule is meant to eventually be entirely bespoke (my friend wrote the gemini server i'm using, so that counts enough for now) and i'd like to eventually support some of the server extensions that yarn has piloted. follow-wise, rn i kinda just manually try to pick up on who is following me by browsing random feeds. my custom clients usually do a FoaF crawl, but i don't have anything that really works running rn.

@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? 🤔

⤋ Read More
In-reply-to » Interesting read about the Windows 95 bluescreen by Raymond Chen:

And the bonus read is also interesting:

https://devblogs.microsoft.com/oldnewthing/20211129-00/?p=105979

Confession: I completely forgot that Alt+Tab existed in text mode. 🤦 It’s not even a hidden feature, it’s advertised right when you start a fullscreen dos box. Well, Alt+Tab wasn’t a thing I did regularly anyway – it was usually Ctrl+Esc to open the window list (which also worked in OS/2). 🤔 I think I only started using Alt+Tab when Windows 95 removed Ctrl+Esc (because it had no use anymore, it essentially got replaced by the tasklist).

⤋ Read More
In-reply-to » I'm out of shape. I decided to walk up the local mountain to watch the sunset, but I arrived five minutes late, even though I sped up at the end. Should have started my journey ten or fifteen minutes earlier. I saw the setting sun at foot, but the photos were total disasters.

@lyse@lyse.isobeef.org

But maybe with the climate getting hotter and hotter, they migrate north to me, too.

And a lot of other nasty stuff with it, bugs, spiders, you name it. Didn’t we migrate all this way up north to be free from such Ungeziefer? 😅

⤋ Read More

There was a time when WebKit (I think it was WebKit) stored metadata of downloads in extended attributes. Like the URL you were downloading it from.

https://movq.de/v/f79b94485a/s.png

This was really useful. 🤔 Chromium also did it for a while and then they removed it due to privacy concerns. Now none of the popular browsers do it anymore. 🫤

⤋ Read More
In-reply-to » Anyone had any intereractions with @cuaxolotl yet? Or are they using a client that doesn't know how to detect clients following them properly? Hmmm 🧐

@prologic@twtxt.net There’s another thing to consider: I have a feeling that (some/most/many?) Gopher/Gemini users wouldn’t even want that. I’ve heard them say a couple of times: “If you follow me, just drop me an e-mail.” 🤔 I don’t know if this is a widespread opinion or not, but I do feel the need to first gather some feedback from them, before we start drafting a spec. 😅

⤋ Read More
In-reply-to » Anyone had any intereractions with @cuaxolotl yet? Or are they using a client that doesn't know how to detect clients following them properly? Hmmm 🧐

@prologic@twtxt.net You mean a way of letting them know that someone is following them? 🤔 I guess that’s gonna be hard (I think we discussed stuff like that a few years ago), but I’m open for suggestions. 😅

⤋ Read More

This would have been a lovely morning, wind softly rustling in the trees. If it wasn’t for the constant droning of the air planes. 🫤

I also saw a string of starlink satellites passing by. What a strange sight that was.

⤋ Read More
In-reply-to » Anyone had any intereractions with @cuaxolotl yet? Or are they using a client that doesn't know how to detect clients following them properly? Hmmm 🧐

@prologic@twtxt.net I don’t think so, no. Judging by their web site, they appear to be primarily a Gemini user (no concept of a “user agent” there). This also works:

gemini://sunshinegardens.org/users/xj9/twtxt/tw.txt

But there are nick, url, and description metadata headers in the feed, even an avatar. 🤔

⤋ Read More
In-reply-to » I'm out of shape. I decided to walk up the local mountain to watch the sunset, but I arrived five minutes late, even though I sped up at the end. Should have started my journey ten or fifteen minutes earlier. I saw the setting sun at foot, but the photos were total disasters.

@lyse@lyse.isobeef.org That is one flat snake. 🫤 Looks quite pretty, what’s left of it anyway.

What’s going on with the frogs? I guess they can’t properly see in the dark? 🤔

That large “individual” towards the would have freaked me out. Was it at least furry? Or was it a huge spider? 🤪

⤋ Read More
In-reply-to » In the process of tweaking my little static HTML index/thumbnail creator so that it a) properly supports dark/ligh mode and, more importantly, b) gracefully degrades on ancient browsers.

@lyse@lyse.isobeef.org I’m not surprised, it’s pretty archaic. It’s the only browser readily available on OS/2 Warp 3 and 4, though. 😅

⤋ Read More
In-reply-to » Found this in an old copyright notice from 1993:

@prologic@twtxt.net In a collection of (old) wallpapers that I downloaded a while ago. The source appears to be this:

http://www.avernus.com/desktop-textures/copyright.html

But the following addendum does not exist yet in the COPYRIGHT file on my disk. 😅

This restriction does not apply to use in World-Wide Web pages served from or viewed on Windows machines.

⤋ Read More

In the process of tweaking my little static HTML index/thumbnail creator so that it a) properly supports dark/ligh mode and, more importantly, b) gracefully degrades on ancient browsers.

Why? Because I often exchange data via HTTP with old systems and my tooling automatically invokes that indexer/thumbnailer script. 🥴 It’s really annoying when I just see garbage in Netscape 2 or IE5.

Screenshots and videos: https://movq.de/v/348819c482

⤋ Read More

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.

⤋ Read More
In-reply-to » I'm SO enjoying the new jenny --fetch-context 😁

@aelaraji@aelaraji.com @quark@ferengi.one Yep, I like it as well. 😅

There’s another situation that I’m not quite happy with.

Suppose there’s a twt like this:

2024-08-28T19:57:58Z    <a href="https://txt.sour.is/external?uri=https://foo.example.com/tw.txt&nick=person_a">@person_a<em>@foo.example.com</em></a> <a href="https://txt.sour.is/external?uri=gemini://a.b.c/tw.txt&nick=person_b">@person_b<em>@a.b.c</em></a> Hey! 👋

There’s no hash, so --fetch-context won’t do anything at the moment.

Option A: jenny asks interactively to fetch those feeds once.

No thread hash found
Do you want to fetch the entire feed https://foo.example.com/tw.txt? [Y/n] y
Do you want to fetch the entire feed gemini://a.b.c/tw.txt? [Y/n] n

(Bonus points for skipping feeds that you already follow.)

Option B: There could be an external/third-party tool that scans a twt for all mentions and asks the user if they want to follow them (permanently). Why an external tool? The thing is, the follow file has been completely user-managed so far and I kind of want to keep it that way. And if this is an external tool, then users can do all kinds of fancy stuff, like using fzf or whatever. Or it could allow the user to preview the feed before following it. I don’t want to have stuff like that in the core program, it depends too much on users’ preferences.

To “implement” option B, I’d only add some hints to the docs, maybe an example.

I think I’m leaning towards option B at the moment. 🤔

⤋ Read More
In-reply-to » For the mutt/neomutt users out here, what's the trick to highlight threads with new messages? No user interaction, just upon opening, or while opened, have threads with new, unread messages in it highlighted. Thanks!

@quark@ferengi.one Hmmmm, threads with unread messages are always un-collapsed here. 🤔 I can’t even collapse them on purpose, mutt doesn’t let me.

Maybe that’s a mutt vs. neomutt thing?

⤋ Read More
In-reply-to » @movq, maybe you can help me with this. I want to place the vim cursor at the end of the first line on replies, and forks. I have tried adding to this to jenny's configuration:

@quark@ferengi.one Ah, startinsert, didn’t even know that existed, tbh. 😅

It doesn’t work because the editor command is currently not run through sh -c ..., i.e. it is supposed to be just a path like /usr/bin/vim. I was just stumped by this myself and I think I’ll soon push a patch to allow setting something like vim -c foo.

In the meantime, your best option is probably putting this in your .vimrc:

au BufRead,BufNewFile jenny-posting.eml normal $

(I use something similar to disable hard text wrapping after 72 chars for twtxt postings.)

⤋ Read More
In-reply-to » @movq, maybe you can help me with this. I want to place the vim cursor at the end of the first line on replies, and forks. I have tried adding to this to jenny's configuration:

@quark@ferengi.one Uhm, yeah, that can’t be set in the config file (only by overriding the VISUAL environment variable). It probably should. I’ll fix it.

What’s the goal, though? I usually hit Shift-A in Vim to append text to the end of the line. Is that what you want? 😅

⤋ Read More

The next jenny release will (probably) stop supporting the old “Hash Tag Extension”, which was deprecated at the end of 2022. It was once used for threading and looked like this:

<a href="https://twtxt.net/search?tag=tsvhqdq">#tsvhqdq</a>

I don’t see them being used in the wild anymore. But if you happen to fetch really old feeds (or some archived feeds), things might break a little.

⤋ Read More
In-reply-to » It cooled off to 20°C today, but mid week is supposed to be crazy hot again. It was a nice walk, also plenty of people around, though. So we decided against going up our backyard mountain to avoid the masses. We finally took a path that we haven't checked out for years. That was pretty cool. I couldn't remember anything on that.

@lyse@lyse.isobeef.org That is one crazy looking mushroom. 😳 How about tasting it? 🤪

I’m so glad the temperatures were down a bit. Went on a long walk as well, first time in weeks. And there were so few cars yesterday! It was surprisingly quiet.

⤋ Read More
In-reply-to » @movq Is there a good way to get jenny to do a one-off fetch of a feed, for when you want to fill in missing parts of a thread? I just added @slashdot to my private follow file just because @prologic keeps responding to the feed :-P and I want to know what he's commenting on even though I don't want to see every new slashdot twt.

@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. 😆)

⤋ Read More
In-reply-to » @prologic @falsifian This just popped up in my head: How about adding a “fetch context” feature? Point jenny to some mail file that contains a twt (or pipe it to stdin) and it will try to auto-discover and fetch all related things. Like, if it sees something like @<falsifian https://www.falsifian.org/twtxt.txt>, then it will look in https://www.falsifian.org/twtxt.txt for a twt with hash tkjafka. Maybe even do this recursively until there are no new references anymore. This process could include explicitly querying some user-configurable Yarn pods as well. 🤔

@prologic@twtxt.net Yeah, I need to clean this up in jenny. It still supports a ton of old formats that aren’t used anymore at all. 🧟

⤋ Read More