# 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 196453
# self = https://watcher.sour.is?offset=194641
# next = https://watcher.sour.is?offset=194741
# prev = https://watcher.sour.is?offset=194541
❤️ 🎶: 下一個天亮 by Claire Kuo
God BLESS USA and mr. Trump
❤️ 🎶: 分手快樂 - 獨唱版 by Fish Leong
Good morning from France
Because here’s the ugly truth: service is dead. The only thing still alive is the endless, humiliating upsell and self-service. Every industry is an overcrowded airport lounge now | Hacker News
Hieee guise!@oneone
#musiquinta #DadRock
Não é um tema de que saiba muito para conseguir musicar apropriadamente, mas julgo que a "Fuel for Fire" dos #Metallica não fica mal:

https://youtu.be/PvF9PAxe5Ng
#musiquinta #DadRock
Não é um tema de que saiba muito para conseguir musicar apropriadamente, mas julgo que a "Fuel for Fire" dos #Metallica não fica mal:

https://youtu.be/PvF9PAxe5Ng
#musiquinta #DadRock
Não é um tema de que saiba muito para conseguir musicar apropriadamente, mas julgo que a "Fuel for Fire" dos #Metallica não fica mal:

https://youtu.be/PvF9PAxe5Ng
❤️ 🎶: 也可以 by Janice Yan
[47°09′32″S, 126°43′49″W] Reading: 1.64 Sv
@movq Mit Code. Aber ich habe da echt so einen knoten im Kopf. Die Beispiele in meiner Filterblase helfen mir auch nicht.
Dann kommt das eben in die Kiste mit den unfertigen Dingen.
[47°09′31″S, 126°43′42″W] --interrupted--
I'm out of town folks and away until tomorrow (have been all week)
Little Lost Robot - Asimov short story. (1962)

https://www.youtube.com/watch?v=I-RX1GT4GT0
Someone please ban 2929b's autistic spamming ass.
🧮 USERS:1 FEEDS:2 TWTS:1467 ARCHIVED:89975 CACHE:2680 FOLLOWERS:22 FOLLOWING:14
I know it doesn’t need to be said, but “Texudus” is not twtxt. It is an attempt to create a, arguably, “better way™️”. 🤭
@zvava ah, yes, that’s the only Texudus feed. It also seems it is a one way only feed.
@bender https://andros.dev/texudus.txt, its url doesn't correspond to the feed either
@zvava which Texodus feed? That I know of, there is only one, or am I wrong?
@lyse @movq bbycll's nickname regex is /^([-_\p{N}\p{L}])+$/iu because i don't like how english-centric only allowing ascii letters/numbers is though this only applies to local users as of now, currently all nicknames are tolerated when parsing remote feeds and i just do mentions how yarn does (just the feed url)

in the wild, i've noticed a texedus feed with spaces in the nick (where its spec explicitly disallows whitespace in the nick) and feeds with other symbols in the nick too. honestly, i think we should just tolerate arbitrary nicknames for sake of user expression (while stripping or converting unreasonable characters) and just leave them out of mentions
Herro everyone!
Sometimes, I wonder how my desktop looks to other people. Normal sighted people, I mean. For me, everything is much smaller and always slightly blurry (almost antialiased) because of my eyesight.

Maybe it *does* look horribly pixelated and super ugly to other people, and that’s why everyone prefers smoothed fonts and UIs and all that … ? 😂
Sometimes, I wonder how my desktop looks to other people. Normal sighted people, I mean. For me, everything is much smaller and always slightly blurry (almost antialiased) because of my eyesight.

Maybe it *does* look horribly pixelated and super ugly to other people, and that’s why everyone prefers smoothed fonts and UIs and all that … ? 😂
@zvava @movq I'm not entirely sure about the spaces, but maybe they were omitted to simplify parsing of mentions in the form of @<nick url>. If the next token after the @<nick does not look like a URL, it's not a mention but regular text. This is just wild guessing, though.

Looking at the regex and tests in the original twtxt reference implementation seems to confirm that theory in the sense as it relies on whitespace as the delimiter:

https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-30-25.png

Another thing about nicks is that the original twtxt reference implementation converts nicks to all lowercase:

https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-20-39.png

You probably know this already, the original twtxt file format specification can be found here: https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html

As for extensions, I don't know of anything outside of twtxt.dev that has actually been (partially) implemented. However, there is also the issue tracker of the official reference implementation. You might wanna dig through that. For example, there is an alternative suggestions of multiline messages: https://github.com/buckket/twtxt/issues/157
Speaking of Sudoku, I was banging my head against this for 15 minutes:

https://sudokupad.app/adventure/94-advvvvvvvven

I’m glad I eventually got it right. 🥴

(via https://dosgame.club/@Tijn/115221132694421937)
Speaking of Sudoku, I was banging my head against this for 15 minutes:

https://sudokupad.app/adventure/94-advvvvvvvven

I’m glad I eventually got it right. 🥴

(via https://dosgame.club/@Tijn/115221132694421937)
[47°09′59″S, 126°43′08″W] --no signal--
@arne Hm, noch nie gemacht. 🤔 Machst du das von Hand oder mit Code?
@arne Hm, noch nie gemacht. 🤔 Machst du das von Hand oder mit Code?
❤️ 🎶: Take Care of Him (2025 Remake) by WAX
@zvava Good question. This is the spec, I think:

https://twtxt.dev/exts/metadata.html#nick

It doesn’t say much. 🤔

In the wild, I’ve only seen “traditional” nick names, i.e. ASCII 0x21 thru 0x7E.

My client removes anything but r'[a-zA-Z0-9]' from nick names.
@zvava Good question. This is the spec, I think:

https://twtxt.dev/exts/metadata.html#nick

It doesn’t say much. 🤔

In the wild, I’ve only seen “traditional” nick names, i.e. ASCII 0x21 thru 0x7E.

My client removes anything but r'[a-zA-Z0-9]' from nick names.
is there consensus on what characters should(n't) be allowed in nicks? i remember reading somewhere whitespace should not be allowed, but i don't see it in the spec on twtxt.dev — in fact, are there any other resources on twtxt extensions outside of twtxt.dev?
❤️ 🎶: Close your eyes by DK
[47°09′38″S, 126°43′58″W] Dosimeter fixed
Pqp! A carteira de trabalho digital, um aplicativo do governo brasileiro, fazendo propaganda de um curso de IA. Quero socar (metaforicamente) todos que aprovaram e executaram essa *palhaçada*!*
For what I can gather, kind of a waste of time, not a good solution. I might be missing bits, or may haven't grasp the entire "story".
@kat, see this one, regarding "Anubis" (which I believe you use, right?): https://github.com/eternal-flame-AD/pow-buster
@rrraksamam someone has a huge crush on Emily Blunt, eh? 🤭
❤️ 🎶: Tokyo No Go by Tinyhawk & Bizzarro
[47°09′37″S, 126°43′47″W] Dosimeter overflow
#MaradoWeekly #WeeklyPlant Week 37 Oxalis corniculata is growing and blossoming on my strawberries vase, giving it some unplanned color
#MaradoWeekly #WeeklyPlant Week 37 Oxalis corniculata is growing and blossoming on my strawberries vase, giving it some unplanned color
#MaradoWeekly #WeeklyPlant Week 37 Oxalis corniculata is growing and blossoming on my strawberries vase, giving it some unplanned color
❤️ 🎶: Lapin tunturit / The fjelds of Lapland by Anssi Tikanmäki
❤️ 🎶: Antrasiitille by Vimma
Hello world, everyone!
❤️ 🎶: Kirjoita postikorttiin by Michael Bleu, Nalia
❤️ 🎶: Viimeinen päivä by Syskofrenia
❤️ 🎶: Kukkaan by Rebekka Holi
[47°09′20″S, 126°43′10″W] Resetting dosimeter
[47°09′41″S, 126°43′59″W] Dosimeter malfunction
🧮 USERS:1 FEEDS:2 TWTS:1466 ARCHIVED:89964 CACHE:2691 FOLLOWERS:22 FOLLOWING:14
I just "installed" phanpy on my website and it worked cause its compleatly static!
[47°09′28″S, 126°43′11″W] Reading: 1.36 Sv
having a really hard time getting my mind clear and focusing on anything...
❤️ 🎶: 時の流れに身をまかせ by Teresa Teng
You can still help sponsor the Brazilian national #Python conference!
You can also donate a ticket so that a student can attend!
#PythonBrasil2025 Python Brasil banner with QR codes for registration and the sponsorship information.
[47°09′18″S, 126°43′31″W] --bad checksum--
@lyse Omg, that is great. 😃
@lyse Omg, that is great. 😃
@zvava There would be only one hash for a message. Some to be defined magic date selects which hash to use. If the message creation timestamp is before this epoch, hash it with v1, otherwise hammer it through v2. Eventually, support for v1 could be dropped as nobody interacts with the old stuff anymore. But I'd keep it around in my client, because why not.

If users choose a client which supports the extensions, they don't have to mess around with v1 and v2 hashing, just like today.

As for the school of thought, personally, I'd prefer something else, too. I'm in camp location-based addressing, or whatever it is called. There more I think about it, a complete redesign of twtxt and its extensions would be necessary in my opinion. Retrofitting has its limits. Of course, this is much more work, though.
@thecanine Id like that too, it just can't come from me, because native mobile dev just isn't my thing 😢
@zvava And yes yarnd does have a well documented API and two clients (CLI and unmaintained Flutter App)
@zvava We can do that 👌
I'm happy to report, after the successful remix of System Of A Down with the Nooran Sisters from India in https://www.youtube.com/watch?v=mi106DZJhuQ I stumbled across something almost equally great from Pakistan, Nusrat Fateh Ali Khan: https://www.youtube.com/watch?v=aZYG-9usGPI It's a banger! The girls are unmatched, though.
@shizamura obrigadinho por me pores a música do imakuni na cabeça anos depois, eu que já pensava estar livre desse calvário
@shizamura obrigadinho por me pores a música do imakuni na cabeça anos depois, eu que já pensava estar livre desse calvário
Three years ago, I decided I'll just try to develop my own game. Things are slowly taking shape, but first things first.https://maurice-renck.de/en/blog/2025/godot-game-dev
****
Brad Pitt && David Beckham son el Robert Redford de hacendado

DEP RR ⌘ Read more****
This Saturday is #SFD2025 , celebrate by educating people and helping them migrate away from #Office365 !

@davidgerard@davidgerard https://circumstances.run/@davidgerard/115210866167925508
This Saturday is #SFD2025 , celebrate by educating people and helping them migrate away from #Office365 !

@davidgerard@davidgerard https://circumstances.run/@davidgerard/115210866167925508
This Saturday is #SFD2025 , celebrate by educating people and helping them migrate away from #Office365 !

@davidgerard@davidgerard https://circumstances.run/@davidgerard/115210866167925508
****
En otro orden de cosas, me encantan los IDLES, ese royo garajero post punk siempre me ha tirado mucho, mucha adrenalina por soltar.

https://idlesband.bandcamp.com/track/danny-nedelko-live-at-le-bataclan

#idles #postpunk #music #musicaRead more****
[47°09′45″S, 126°43′45″W] Transfer 75% complete...
****
Lo de la derecha haciéndose la víctima y los santos ya tal, no? ⌘ Read more****
Interesting! The Great Firewall's leak from 11.9.2025.
bluedfart.shit lol
Ha, I was just looking at umami and wondered about the sudden spike on my kirby-signal-post until I saw, that the @getkirby newsletter just arrived and mentioned it 😅 thank you!
[47°09′46″S, 126°43′50″W] Transfer 50% complete...
Warum ist es nur so kniffelig ein Sudoku-Rätsel zu erstellen?
Ich meine nicht, das Erstellen eines komplett ausgefüllten Sets, sondern das Leeren der Felder so, dass ein einigermaßen herausforderndes Sudoku mit nur einer Lösungsmöglichkeit entsteht. 🤔
[47°09′18″S, 126°43′00″W] Transfer 25% complete...
🧮 USERS:1 FEEDS:2 TWTS:1465 ARCHIVED:89956 CACHE:2696 FOLLOWERS:22 FOLLOWING:14
@lyse i dont mind if the hash is not backward compatible but im not sure if this is the right way to proceed because the added complexity dealing with two hash versions isnt justified

regular end users wont care to understand how twt hashes are formed, they just want to use twtxt! so i guess i could work in protecting users from themselves by disallowing post edits on old posts or posts with replies, but i'm not fond of this either really. if they want to break a thread, they can just delete the post (though i've noticed yarn handling post deletes dubiously...)

on activitypub i do genuinely find myself looking through several month or even year old posts sometimes and deciding to edit/reword them a little to be slightly less confusing, this should be trivial to handle on twtxt which is an infinitely simpler specification
@bender @thecanine well now this has me thinking abt the feasibility of making an android twtxt app for pods, the actual apis of pods would have to be standardized (or the fucked up way that activitypub does it, where the "mastodon api" is the defacto client api (does yarn even have an api reference?)) or the client is just simply..a client..but editing feeds via PUT, PATCH, DELETE etc. is standardized!...? (not to mention i dont even know where to begin making an android app lmao)
@bender @thecanine well now this has me thinking abt the feasibility of making an android twtxt app for pods, the actual apis of pods would have to be standardized (or a fucked up version of how activitypub does it, where the "mastodon api" is the defacto client api (does yarn even have an api reference?)) or the client is just simply..a client..but editing feeds via PUT, PATCH, DELETE etc. is standardized!...? (not to mention i dont even know where to begin making an android app lmao)
@bender yeah i've noticed yarn being very strange with edits, deletes haven't worked since i joined here
@quark ooh, thanks for catching that! i forgot abt the caddy example when adding the config example

nick is nick bc it is parsed as a nickname just for the instance, though calling it instance_nick would probably be less confusing
[47°09′38″S, 126°43′27″W] Waiting for carrier
Wanting to add, this isn't a twtxt client. It is Yarnd on steroids! 😂
@thecanine it should work everywhere. It is a web application.
What a crazy color temperature this yellow orange was in person! Sick lighting this evening: https://lyse.isobeef.org/abendhimmel-2025-09-15/

Yellow orange clouds
@lyse I didn’t know they had a name, to be honest. When I/we last had a dot matrix printer, I just sat alone in the basement and made these. 😂
@lyse I didn’t know they had a name, to be honest. When I/we last had a dot matrix printer, I just sat alone in the basement and made these. 😂
@bender Sigh. So it’s just me. Again. 😂
@bender Sigh. So it’s just me. Again. 😂
Adding too this. The configuration example at the repository reads:


{
	"nick": "Example",
	"description": "alice's twtxt instance!",
	"host": "twtxt.example.com",
	"admin": "alice"
}


Would it make more sense changing nick to instance_name or similar? Usually nick is reserved for users, like here, quark. Right? Also, is host the same FQDN to be used while proxying traffic to the application? That is, using the above configuration, it's Caddy configuration would be:


twtxt.example.com {
	encode
	reverse_proxy :31212
}


Is that correct?
Hmm, twtxt Yarn is misbehaving. Can't even edit, nor delete. Oh well.