# 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 195745
# self = https://watcher.sour.is?offset=194916
# next = https://watcher.sour.is?offset=195016
# prev = https://watcher.sour.is?offset=194816
Hello 👋 I'm back!
https://galusik.fr/fridayrockmetal/2025-09-19-frm.m3u Tonight #FridayRockMetal playlist
As I am working on the new website of my band, I quite often look around for inspiration. It seems like the average band website comes with some sort of photo or pattern in the background with text put on it to prevent visitors from reading anything on there …
@movq That's transparency hardware support!
[47°09′36″S, 126°43′16″W] Wind speed: 75kph -- batteries low
While working on the Discoverability for my twtxt client (it runs client-side) I found out that Chrome doesn't allow to set a custom user agent. 🙃

I thought it was a general thing for browsers, but it that was actually allowed in a newer specification, yet it's still not implemented in Chrome, it does work in Firefox though.
Severe but funny burn-ins on my TFT again:

https://movq.de/v/9df0437d27/MVI_8891.MOV.mp4

Now everything looks like it has that silly slogan as a background image:

https://movq.de/v/9df0437d27/smol.jpg
[47°09′21″S, 126°43′27″W] Working impossible due to heavy rain
@zvava In tt, I recognize umlauts in nicks, but they cannot include whitespace, @, !, #, (, ), [, ], <, >, " (but ' is okay). Whitespace also acts as a separator between nick and URL. @<Hello World http://example.com> ends up exactly like that and is not a mention.
****
Muy buenos The Cribs joder!

#thecribsRead more****
https://villares-shop.fourthwall.com (International)
https://umapenca.com/villares (BR)

#Python #CreativeCoding #Processing #py5 #TShirt #GenerativeArt #SupportArtists white T-shirt with abstract geometric pattern made of recursively placed unfilled black stroke hexagons and lines
I would like to wish everyone, including all haters and losers (of which, sadly, there are many) a truly happy and enjoyable weekend!
Only plebeians and shabbos goyim care about politics, however. Naturally, the Jews *would* want you to sperg out about Trump in a hipster-protocol chat.
[47°09′40″S, 126°43′26″W] Working impossible due to blizzard
Fuck Trump!
I am thinking about some sort of virtual page for sharing my content 🤔 The main reason is, I'd like better handling of my multilang content.In #IndieConnector I can set a language to use for sharing, but currently not remove the lang-code completely. If I would remove it, the preview would always be in German (my default language).That virtual page could always use the english preview and then use the #kirby lang detection to redirect.
We can enable visitors of our website to send us Webmentions even if their blogs don't support them. I'll explain how:#indieWeb #webmentionshttps://maurice-renck.de/en/learn/indieweb/guides/webmentions-from-unsupported-sites
utiliser git sans forge: https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/git-no-forge/
J'aime beaucoup cet article, surtout la fin : pourquoi avoir son site web? https://daverupert.com/2025/09/why-would-anybody-start-a-website/
****
Buenos viernes!

Las bichos del polvo dominarán el mundo! (será una lucha encarnizada contra las ratas e Israel)

#felizViernesRead more****
@zvava I kinda fixed the issue by not stripping the timestamp at all.

Seems that more feeds work correctly this way. 🤔
@thecanine With a progressive web app (PWA) you can have a native like experience without having to trouble yourself with building a second project that act as a client.

You can even "wrap" it into a packaged installation and publish it on stores, theres even projects to streamline it https://www.pwabuilder.com/.
My proposal is taken from https://texudus.readthedocs.io/en/latest/ BTW.
[47°09′26″S, 126°43′59″W] Working impossible due to thunderstorm
@zvava @lyse I also think a location based reference might be better.

A thread is a single post of a single feed as a root, but the hash has the drawback of not referencing the source, in a distributed network like twtxt it might leave some people out of the whole conversation.

I suggest a simpler format, something like: (#<TIMESTAMP URL>)

This solves three issues:

- Easier referencing: no need to generate a hash, just copy the timestamp and url, it's also simpler to implement in a client without the rish of collisions when putting things together
- Fetchable source: you can find the source within the reference and construct the thread from there
- Allow editing: If a post is modified the hash becomes invalid since it depends on [ timestamp, url, content ]
@zvava @lyse @movq I also was wondering how to handle this.

Currently my regex is like this: /@<((?<nick>[^\s]+)\s)?(?<url>\w+:\/\/[^>]+)>/g

It takes everything until the space and the nick is optional.
Here’s one possible hobby: 1. Take something you don’t like. 2. Try to like it. You can try to like stuff
❤️ 🎶: Dueles by Jesse & Joy
Hello everyone! 👋

After a long while away, I'm back on twtxt with this new feed.

Some of you might remember me as justamoment@twtxt.net, that was a test account I made for trying things out, but I ended up keeping it more than planned.

I also tried other social platforms in search of a place that felt right for me.

In the end twtxt was the one that ticked all of my boxes:

- Slow social: it act more like a feed reader and I really appreciate that there's no flood of content that I can't keep up with.
- No server needed: I absolutely love to have total control over my content, I tend to avoid having moving parts that might break, plus you can put your feed under version control and it's all backed up.
- Ownership: I can put my feed anywhere I want and nobody can decide if I can access it or not.
- For hackers: a single .txt file allows me to join a community, how cool is that!

This is why I decided to build my own twtxt client, one that allows you to decide how the feed is presented on your "instance".

It's still in the making but I'll try to share a bit of it once I defined how things should work.

Coincidentally, I discovered that @itsericwoodward and @zvava were also building a twtxt client, seems like twtxt is set to grow!
Apologies if I've been spamming anyone out there in twtxt-land today.

I've been working on a couple of twtxt-related projects, and one of them is a reader (tentatively called twtstrm) written in JS. I used dummy data for the first few stages of development, but now I'm at the point where I need some _real_ data, and that meant hitting up my actual following list.

Of course, it didn't help that I had a typo in my If-Modified-Since headers, but all that has since been resolved.

Anyways, if I accidentally spammed you with requests today, I am sorry, and it shouldn't happen anymore.

We thank you for your patience, and apologize for the inconvenience.
Apologies if I've been spamming anyone out there in twtxt-land today.

I've been working on a couple of twtxt-related projects, and one of them is a reader (tentatively called twtstrm) written in JS. I used dummy data for the first few stages of development, but now I'm at the point where I need some _real_ data, and that meant hitting up my actual following list.

Of course, it didn't help that I had a typo in my If-Modified-Since headers, but all that has since been resolved.

Anyways, if I accidentally spammed you with requests today, I am sorry, and it shouldn't happen anymore.

We thank you for your patience, and apologize for the inconvenience.
[47°09′01″S, 126°43′14″W] Automatic systems disengaged due to thunderstorm
@bender Soon soon🤣
🧮 USERS:1 FEEDS:2 TWTS:1468 ARCHIVED:89982 CACHE:2683 FOLLOWERS:22 FOLLOWING:14
@prologic ah! Well, keeping fingers crossed for you and family on that RV, for sure! 🤞🏻
@bender I wish 🤣 Nah work on-site thingy😆
[47°09′30″S, 126°43′37″W] Automatic systems disengaged due to blizzard
we facilitated a workshop at Alpaca 2025: Introduction to the qiudanz technique: computational transformation of minimalist movement sequences | https://compudanzas.net/alpaca_2025_workshop_notes.html
❤️ 🎶: 我的歌声里 (You Exist In My Song) - Demo by Wanting
[47°09′55″S, 126°43′43″W] Weather forecast alert -- storm from NE
@sysop ao tentar ir a https://ciberlandia.pt/conversations levo com isto:

ReferenceError: account is not defined
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5335)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35348)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:25299)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35287)
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5304)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:61330)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:116588)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112269)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112197)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112051)
@sysop ao tentar ir a https://ciberlandia.pt/conversations levo com isto:

ReferenceError: account is not defined
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5335)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35348)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:25299)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35287)
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5304)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:61330)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:116588)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112269)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112197)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112051)
Quoi qu eje fasse, je reviens toujours à cette font pour le terminal. Oh, et que je déteste les ligatures! https://juliamono.netlify.app/download/
Quoi qu eje fasse, je reviens toujours à cette font pour le terminal. Oh, et que je déteste les ligatures! https://juliamono.netlify.app/download/
****
Si queréis crear controversia con vuestras opiniones, ponerlas en el estado de whatsapp, porque por aquí todos pensamos más o menos parecido.

Ya estaría.

#miOpinióndeMierdaRead more****
❤️ 🎶: 陪著我的時候想著她 by Claire Kuo
❤️ 🎶: 身騎白馬 by LaLa Hsu
❤️ 🎶: 安靜了 by S.H.E
❤️ 🎶: 恋人未满 by S.H.E
@prologic ah, I was wondering! Hoping you are having a good time, mate! Christening the new RV? :-)
[47°09′13″S, 126°43′25″W] Reading: 0.35000 PPM
❤️ 🎶: 下一個天亮 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 … ? 😂
@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)
[47°09′59″S, 126°43′08″W] --no signal--
@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.
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