# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 15588
# self = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=12206
# next = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=12306
# prev = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=12106
@prologic Ahh, found it, there were some ideas in this thread from January 2022: https://twtxt.net/twt/ansuy4a I haven’t read all of it yet.
@prologic Ahh, found it, there were some ideas in this thread from January 2022: https://twtxt.net/twt/ansuy4a I haven’t read all of it yet.
@prologic Ahh, found it, there were some ideas in this thread from January 2022: https://twtxt.net/twt/ansuy4a I haven’t read all of it yet.
@prologic So a new metadata field like this?

# follow_notify = gopher://foo/bar

And we ping that every now and then? 🤔=
@prologic So a new metadata field like this?

# follow_notify = gopher://foo/bar

And we ping that every now and then? 🤔=
@prologic So a new metadata field like this?

# follow_notify = gopher://foo/bar

And we ping that every now and then? 🤔=
@prologic So a new metadata field like this?

# follow_notify = gopher://foo/bar

And we ping that every now and then? 🤔=
@prologic 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. 😅
@prologic 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. 😅
@prologic 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. 😅
@prologic 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. 😅
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.
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.
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.
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.
@prologic 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. 🤔
@prologic 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. 🤔
@prologic 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. 🤔
@prologic 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. 🤔
@lyse 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? 🤪
@lyse 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? 🤪
@lyse 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? 🤪
@lyse 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? 🤪
@lyse I’m not surprised, it’s pretty archaic. It’s the only browser readily available on OS/2 Warp 3 and 4, though. 😅
@lyse I’m not surprised, it’s pretty archaic. It’s the only browser readily available on OS/2 Warp 3 and 4, though. 😅
@lyse I’m not surprised, it’s pretty archaic. It’s the only browser readily available on OS/2 Warp 3 and 4, though. 😅
@lyse I’m not surprised, it’s pretty archaic. It’s the only browser readily available on OS/2 Warp 3 and 4, though. 😅
@prologic 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.
@prologic 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.
@prologic 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.
@prologic 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.
Lest we forget Mosaic: https://movq.de/v/f85fd317b3/mosaic.jpg
Lest we forget Mosaic: https://movq.de/v/f85fd317b3/mosaic.jpg
Lest we forget Mosaic: https://movq.de/v/f85fd317b3/mosaic.jpg
Lest we forget Mosaic: https://movq.de/v/f85fd317b3/mosaic.jpg
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
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
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
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
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.
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.
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.
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.
@quark

> I think you are worrying about a non-issue.

That’s what I do best. 😏
@quark

> I think you are worrying about a non-issue.

That’s what I do best. 😏
@quark

> I think you are worrying about a non-issue.

That’s what I do best. 😏
@quark

> I think you are worrying about a non-issue.

That’s what I do best. 😏
@aelaraji @quark 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 @person_a @person_b 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? \n y
Do you want to fetch the entire feed gemini://a.b.c/tw.txt? \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. 🤔
@aelaraji @quark 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 @person_a @person_b 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. 🤔
@aelaraji @quark 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 @person_a @person_b 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. 🤔
@aelaraji @quark 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 @person_a @person_b 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. 🤔
@aelaraji @quark 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 @person_a @person_b 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. 🤔
@prologic The equator is your enemy. Stay away from it, as far as you can! 😱

(I just looked it up, your “winter” is barely cooler than our “summer”, according to those fancy climate diagrams and my rough understanding of them. 😅)
@prologic The equator is your enemy. Stay away from it, as far as you can! 😱

(I just looked it up, your “winter” is barely cooler than our “summer”, according to those fancy climate diagrams and my rough understanding of them. 😅)
@prologic The equator is your enemy. Stay away from it, as far as you can! 😱

(I just looked it up, your “winter” is barely cooler than our “summer”, according to those fancy climate diagrams and my rough understanding of them. 😅)
@prologic The equator is your enemy. Stay away from it, as far as you can! 😱

(I just looked it up, your “winter” is barely cooler than our “summer”, according to those fancy climate diagrams and my rough understanding of them. 😅)
@lyse Oh my goodness...! 🤣
@lyse Oh my goodness...! 🤣
@lyse Oh my goodness...! 🤣
@lyse Oh my goodness...! 🤣
@quark Oh dear, 87% humidity probably don’t feel great, either. 🥴 That’s what I have in the bathroom after leaving the shower. 😂

> I am ready for our winter too, you know, that whole week

lol 😅
@quark Oh dear, 87% humidity probably don’t feel great, either. 🥴 That’s what I have in the bathroom after leaving the shower. 😂

> I am ready for our winter too, you know, that whole week

lol 😅
@quark Oh dear, 87% humidity probably don’t feel great, either. 🥴 That’s what I have in the bathroom after leaving the shower. 😂

> I am ready for our winter too, you know, that whole week

lol 😅
@quark Oh dear, 87% humidity probably don’t feel great, either. 🥴 That’s what I have in the bathroom after leaving the shower. 😂

> I am ready for our winter too, you know, that whole week

lol 😅
35°C and rising … can haz winter?
35°C and rising … can haz winter?
35°C and rising … can haz winter?
35°C and rising … can haz winter?
@quark @falsifian FWIW, this has landed in main. 👌
@quark @falsifian FWIW, this has landed in main. 👌
@quark @falsifian FWIW, this has landed in main. 👌
@quark @falsifian FWIW, this has landed in main. 👌
@quark 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?
@quark 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?
@quark 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?
@quark 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?
@quark I think just putting it there as a second line should work. 😅
@quark I think just putting it there as a second line should work. 😅
@quark I think just putting it there as a second line should work. 😅
@quark I think just putting it there as a second line should work. 😅
@quark 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.)
@quark 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.)
@quark 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.)
@quark 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.)
(The Yarn police feed, that is.)
(The Yarn police feed, that is.)
(The Yarn police feed, that is.)
(The Yarn police feed, that is.)
@yarn_police I was *just* about to remove this feed from my config because it was stale … 😂
@yarn_police I was *just* about to remove this feed from my config because it was stale … 😂
@yarn_police I was *just* about to remove this feed from my config because it was stale … 😂
@yarn_police I was *just* about to remove this feed from my config because it was stale … 😂
@quark 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? 😅
@quark 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? 😅
@quark 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? 😅
@quark 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? 😅
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:

#tsvhqdq

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.
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:

#tsvhqdq

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.
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:

#tsvhqdq

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.
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:

#tsvhqdq

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.