# 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 15506
# self = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=14906
# next = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=15006
# prev = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=14806
@prologic Since you have to check and double check everything it spits out (without providing sources), I don’t find any of this helpful. It’s like someone’s in the room with you and that person is saying random stuff that might or might not be correct. *At best*, it might spark some new idea in your head and then you follow that idea the traditional way.

Information published on the internet (or anywhere, for that matter) was never guaranteed to be correct. But at least you had a “frame of reference”: “Ah, I read this information about Linux on a blog that usually posts about Windows, so this one single Linux post might not necessarily be correct.” That is completely lost with LLMs. It’s literally all mushed together. 🤷
@prologic My cache never expires automatically. 😅 I sometimes wipe it for dev purposes, though.
@prologic My cache never expires automatically. 😅 I sometimes wipe it for dev purposes, though.
@prologic I don’t think so. He’s from Germany, afaik, and that would be a highly unusual name here. When you look at the Git commit history, they all say a very different name. I don’t want to quote it here – worst case being the LLMs scraping this file and correcting their “knowledge”. 😈
@prologic I don’t think so. He’s from Germany, afaik, and that would be a highly unusual name here. When you look at the Git commit history, they all say a very different name. I don’t want to quote it here – worst case being the LLMs scraping this file and correcting their “knowledge”. 😈
@prologic John who?
@prologic John who?
I haven’t gotten very far with my experiments, yet. To be honest, I’m still not 100% sure if I want to trust that encryption. 😅 The target server will be completely out of my control … it is a real possibility that the (encrypted) data will leak at some point. Hm.
I haven’t gotten very far with my experiments, yet. To be honest, I’m still not 100% sure if I want to trust that encryption. 😅 The target server will be completely out of my control … it is a real possibility that the (encrypted) data will leak at some point. Hm.
@prologic I also thought it was a client-server thingy at first and usually it *is*, I guess, there’s just this workaround:

> If it is not possible to install Borg on the remote host, it is still possible to use the remote host to store a repository by mounting the remote filesystem, for example, using sshfs.
@prologic I also thought it was a client-server thingy at first and usually it *is*, I guess, there’s just this workaround:

> If it is not possible to install Borg on the remote host, it is still possible to use the remote host to store a repository by mounting the remote filesystem, for example, using sshfs.
@prologic Shit like what? References/threads? 😅
@prologic Shit like what? References/threads? 😅
@kat ngircd is nice: https://ngircd.barton.de/ You can absolutely host this on your server for you and your friends (I’ve been doing that for a very long time). Actually *peering* with something like libera is hard, though, because they have strict requirements and *a lot* of traffic. Then again, there’s no real benefit in peering, actually. IRC is pretty “decentralized” anyway and people are usually used to connecting to several networks, so joining another one isn’t a big deal, imho. 🙃
@kat ngircd is nice: https://ngircd.barton.de/ You can absolutely host this on your server for you and your friends (I’ve been doing that for a very long time). Actually *peering* with something like libera is hard, though, because they have strict requirements and *a lot* of traffic. Then again, there’s no real benefit in peering, actually. IRC is pretty “decentralized” anyway and people are usually used to connecting to several networks, so joining another one isn’t a big deal, imho. 🙃
That was a wild ride:

https://www.youtube.com/watch?v=QSMDb1CWD6Y

Notice how old all these people sound. They started playing this game like 10, 15, 20 years ago, most of them left, but some are still there. I love that level of commitment. 😃

Also interesting from a technical point of view. Creating that virtual world and keeping it running *consistently* for so long … 🤯
That was a wild ride:

https://www.youtube.com/watch?v=QSMDb1CWD6Y

Notice how old all these people sound. They started playing this game like 10, 15, 20 years ago, most of them left, but some are still there. I love that level of commitment. 😃

Also interesting from a technical point of view. Creating that virtual world and keeping it running *consistently* for so long … 🤯
@gallowsgryph Welcome back. 😅
@gallowsgryph Welcome back. 😅
@kat I skimmed through the gamja docs and they say you need an “IRC WebSocket server” – no idea what that is. Does gamja not speak IRC directly but essentially “IRC over HTTP”? Curious. 🤔
@kat I skimmed through the gamja docs and they say you need an “IRC WebSocket server” – no idea what that is. Does gamja not speak IRC directly but essentially “IRC over HTTP”? Curious. 🤔
@prologic @bmallred Ah, I just found this, didn’t see it before:

https://restic.net/#compatibility

So, yeah, they do use semver and, yes, they’re not at 1.0.0 yet, so things might break on the next restic update … but they “promise” to not break things too lightheartedly. Hm, well. 😅 Probably doesn’t make a big difference (they don’t say “don’t use this software until we reach 1.0.0”).
@prologic @bmallred Ah, I just found this, didn’t see it before:

https://restic.net/#compatibility

So, yeah, they do use semver and, yes, they’re not at 1.0.0 yet, so things might break on the next restic update … but they “promise” to not break things too lightheartedly. Hm, well. 😅 Probably doesn’t make a big difference (they don’t say “don’t use this software until we reach 1.0.0”).
C 😈
C 😈
@prologic @bmallred So is restic considered stable by now? “Stable” as in “stable data format”, like a future version will still be able to retrieve my current backups. I mean, it’s at version “0.18”, but they don’t specify which versioning scheme they use.
@prologic @bmallred So is restic considered stable by now? “Stable” as in “stable data format”, like a future version will still be able to retrieve my current backups. I mean, it’s at version “0.18”, but they don’t specify which versioning scheme they use.
@bender My choices might be a bit limited, at least going by this list: https://www.hetzner.com/storage/storage-box (That would be some incredibly cheap storage.) I’ll probably have to order such a box and then play with it a little bit to see what’s possible.
@bender My choices might be a bit limited, at least going by this list: https://www.hetzner.com/storage/storage-box (That would be some incredibly cheap storage.) I’ll probably have to order such a box and then play with it a little bit to see what’s possible.
On top of my usual backups (which are already offsite, but it requires me carrying a hard disk to that other site), I think I might rent a storage server and use Borg. 🤔 Hoping that their encryption is good enough. Maybe that’ll also finally convince me to get a faster internet connection. 😂
On top of my usual backups (which are already offsite, but it requires me carrying a hard disk to that other site), I think I might rent a storage server and use Borg. 🤔 Hoping that their encryption is good enough. Maybe that’ll also finally convince me to get a faster internet connection. 😂
@kat It’s more like a cache, it stores things like “timestamp of the most recent twt we’ve seen per feed” or “last modification date” (to be used with HTTP’s if-modified-since header). You can nuke these files at any time, it might just result in more traffic (e.g., always getting a full response instead of just “HTTP 304 nope, didn’t change”).

@quark Yes, I often write a couple of twts, don’t publish them, then sometimes notice a mistake and want to edit it. You’re right, as soon as stuff is published, threads are going to break/fork by edits.
@kat It’s more like a cache, it stores things like “timestamp of the most recent twt we’ve seen per feed” or “last modification date” (to be used with HTTP’s if-modified-since header). You can nuke these files at any time, it might just result in more traffic (e.g., always getting a full response instead of just “HTTP 304 nope, didn’t change”).

@quark Yes, I often write a couple of twts, don’t publish them, then sometimes notice a mistake and want to edit it. You’re right, as soon as stuff is published, threads are going to break/fork by edits.
jenny really isn’t well equipped to handle edits of *my own* twts.

For example, in 2021, this change got introduced:

https://www.uninformativ.de/git/jenny/commit/6b5b25a542c2dd46c002ec5a422137275febc5a1.html

This means that jenny will always ignore my own edits unless I also manually edit its internal “json database”. Annoying.

That change was requested by a user who had the habit of deleting twts or moving them to another mailbox or something. I *think* that person is long gone and I might revert that change. 🤔
jenny really isn’t well equipped to handle edits of *my own* twts.

For example, in 2021, this change got introduced:

https://www.uninformativ.de/git/jenny/commit/6b5b25a542c2dd46c002ec5a422137275febc5a1.html

This means that jenny will always ignore my own edits unless I also manually edit its internal “json database”. Annoying.

That change was requested by a user who had the habit of deleting twts or moving them to another mailbox or something. I *think* that person is long gone and I might revert that change. 🤔
@lyse It wasn’t our building, yeah, luckily. But I’m pretty scared it might happen some day. I think I’ll put more effort into preparing for that. But whatever I do, it would be horrific to lose all your stuff and the memories attached to it …
@lyse It wasn’t our building, yeah, luckily. But I’m pretty scared it might happen some day. I think I’ll put more effort into preparing for that. But whatever I do, it would be horrific to lose all your stuff and the memories attached to it …
@kat You’re welcome. 😅 (From a hiring perspective, it’s not even important if every detail/step is correct or not. We all make mistakes, all the time; we don’t/can’t know everything.)
@kat You’re welcome. 😅 (From a hiring perspective, it’s not even important if every detail/step is correct or not. We all make mistakes, all the time; we don’t/can’t know everything.)
@kat As someone who has a say in hiring decisions (every now and then – I’m not an executive nor an HR person 😆): This is gold. Writeups like these tell me/us so much about job applicants. It’s much more valuable than “a CV without gaps” or “know your algorithms” or whatever. Instead, it shows how you work and that you understand what you’re doing, and that’s the most important part. 🥇
@kat As someone who has a say in hiring decisions (every now and then – I’m not an executive nor an HR person 😆): This is gold. Writeups like these tell me/us so much about job applicants. It’s much more valuable than “a CV without gaps” or “know your algorithms” or whatever. Instead, it shows how you work and that you understand what you’re doing, and that’s the most important part. 🥇
Bloody WhatsApp, bloody chat apps on smartphones, I’m going nuts. If you want to TYPE, use a device WITH A KEYBOARD. Don’t send me useless undecipherable gibberish. FFS!

Bloody WhatsApp, bloody chat apps on smartphones, I’m going nuts. If you want to TYPE, use a device WITH A KEYBOARD. Don’t send me useless undecipherable gibberish. FFS!

Gosh, I hate fire. Densely populated areas are a mistake.
Gosh, I hate fire. Densely populated areas are a mistake.
I should quit IT and start a career as a fortune teller.

Last night I dreamed that the neighbouring buildings were on fire. Now guess where the firefighters have just showed up.
I should quit IT and start a career as a fortune teller.

Last night I dreamed that the neighbouring buildings were on fire. Now guess where the firefighters have just showed up.
Scratch that, no bug in jenny. There’s actually a test case for this. Python normalizes -00:00 to +00:00, so the negative case never happens.
Scratch that, no bug in jenny. There’s actually a test case for this. Python normalizes -00:00 to +00:00, so the negative case never happens.
@david @andros The correct hash would be si4er3q. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00 or -00:00 *must* be replaced by Z.

(That said, there’s a bug in jenny as well. It only replaces +00:00, not -00:00. 🤡)
@david @andros The correct hash would be si4er3q. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00 or -00:00 *must* be replaced by Z.

(That said, there’s a bug in jenny as well. It only replaces +00:00, not -00:00. 🤡)
> Using AI in education is like using a forklift in the gym. The weights do not actually need to be moved from place to place. That is not the work. The work is what happens within you.

https://fedi.neuwirth.priv.at/@konrad/114352350424913566
> Using AI in education is like using a forklift in the gym. The weights do not actually need to be moved from place to place. That is not the work. The work is what happens within you.

https://fedi.neuwirth.priv.at/@konrad/114352350424913566
@bender … of course … 😂
@bender … of course … 😂
It’s AI shit, but … it *is* funny … and an appropriately bizzare response to a bizzare situation. 😂

https://www.youtube.com/watch?v=HJ8qGOe2K0o
It’s AI shit, but … it *is* funny … and an appropriately bizzare response to a bizzare situation. 😂

https://www.youtube.com/watch?v=HJ8qGOe2K0o
thx ✌️
thx ✌️
@lyse My goodness, a toilet app. Was es nich’ alles gibt. 🥴
@lyse My goodness, a toilet app. Was es nich’ alles gibt. 🥴
@prologic I wouldn’t got *that* far, but yeah 😂
@prologic I wouldn’t got *that* far, but yeah 😂
@klaxzy … that’s too much.
@klaxzy … that’s too much.
Pigeon of the day.
Pigeon of the day.
We’ve been on a trip to another city this weekend and one thing struck me as really odd:

The lack of “public water” in our cities.

Almost no way of washing your hands or going to the toilet or whatever. You can’t even pee in a bush, because a) that’s illegal and b) there are no bushes!

(It’s always been that way, I just never noticed before. 🥴)
We’ve been on a trip to another city this weekend and one thing struck me as really odd:

The lack of “public water” in our cities.

Almost no way of washing your hands or going to the toilet or whatever. You can’t even pee in a bush, because a) that’s illegal and b) there are no bushes!

(It’s always been that way, I just never noticed before. 🥴)
@lyse Beep boop! That was nice 😃
@lyse Beep boop! That was nice 😃
@lyse 01.jpg could have been a Windows wallpaper. 😃
@lyse 01.jpg could have been a Windows wallpaper. 😃
@lyse Well, yeah, that’s quite similar, isn’t it 😂
@lyse Well, yeah, that’s quite similar, isn’t it 😂
@kat Ouch. 🥴 Alright, that’s not so great then, sorry. 🫣🥴
@kat Ouch. 🥴 Alright, that’s not so great then, sorry. 🫣🥴
@bender (Feels a bit like his “edit” function could be implemented as “delete and re-draft”, but I’m only guessing here.)
@bender (Feels a bit like his “edit” function could be implemented as “delete and re-draft”, but I’m only guessing here.)
@lyse Nice. I should catch up. Only walked 8km this month, so far. Oops.
@lyse Nice. I should catch up. Only walked 8km this month, so far. Oops.
I don’t need an X11 compositor for fancy graphics effects or whatever. I have true hardware support for that.

My TFT just slightly burns in and then it looks like dmenu has a semi-transparent background.

Yeah.

I don’t need an X11 compositor for fancy graphics effects or whatever. I have true hardware support for that.

My TFT just slightly burns in and then it looks like dmenu has a semi-transparent background.

Yeah.

@kat Man, you are busy. I envy your energy. Oh, to be young again … 😂
@kat Man, you are busy. I envy your energy. Oh, to be young again … 😂
@david Yeah, we’ve been debugging that a bit yesterday. Looks like the wrong input (sometimes) gets fed to the hash function → broken threads.
@david Yeah, we’ve been debugging that a bit yesterday. Looks like the wrong input (sometimes) gets fed to the hash function → broken threads.
@david Ah, yes, the hardware might not. As I just said in the other thread: No problem, you can keep the same installation. I did so many times on my PC/laptop at work.
@david Ah, yes, the hardware might not. As I just said in the other thread: No problem, you can keep the same installation. I did so many times on my PC/laptop at work.
@javivf Oh, yes, looking at SMART is always a good idea. 😅 My SSD isn’t that old, though. It got replaced recently, tbh. But no need to reinstall, I just copy the files to a new disk. (Works just as fine when switching to an entire new machine.)
@javivf Oh, yes, looking at SMART is always a good idea. 😅 My SSD isn’t that old, though. It got replaced recently, tbh. But no need to reinstall, I just copy the files to a new disk. (Works just as fine when switching to an entire new machine.)
Test:

this is a code block
[2025-04-08 17:50:00] with a timestamp in brackets

The end.
Test:

this is a code block
[2025-04-08 17:50:00] with a timestamp in brackets

The end.
Test: An emoji 🐧
Test: An emoji 🐧
Test: Just ASCII
Test: Just ASCII
@prologic There was no edit according to my Git history. 🤔 On my end, the hash is fs7673q and that’s also what kat used to reply.
@prologic There was no edit according to my Git history. 🤔 On my end, the hash is fs7673q and that’s also what kat used to reply.
@prologic The threads’ broken for me, I can’t find znf6csa. 🤔