# 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 195809
# self = https://watcher.sour.is?offset=195402
# next = https://watcher.sour.is?offset=195502
# prev = https://watcher.sour.is?offset=195302
Cool cette police : https://b.agaric.net/page/agave
[47°09′16″S, 126°43′54″W] Reading: 1.29 Sv
@movq Yeah, it took quite some time to load. But then it was briefly back. Now it's 503ing immediately all the time.
@lyse https://www.celestrak.com (where the TLE files are downloaded from) seems to be down. :/
Removing the empty cache file and it works again. No idea about the PATH glitch, though. Very strange.
@lyse 🍿🍿🍿😅
@movq Woah, cool!

(WTF, asciiworld-sat-track somehow broke, but I have not changed any of the scripts at all. O_o It doesn't find the asciiworld-sat-calc anymore. How in the world!? When I use an absolute path, the .tle is empty and I get a parsing error. Gotta debug this.)
@prologic I know we won't ever convince each other of the other's favorite addressing scheme. :-D But I wanna address (haha) your concerns:

1. I don't see any difference between the two schemes regarding link rot and migration. If the URL changes, both approaches are equally terrible as the feed URL is part of the hashed value and reference of some sort in the location-based scheme. It doesn't matter.

2. The same is true for duplication and forks. Even today, the "cannonical URL" has to be chosen to build the hash. That's exactly the same with location-based addressing. Why would a mirror only duplicate stuff with location- but not content-based addressing? I really fail to see that. Also, who is using mirrors or relays anyway? I don't know of any such software to be honest.

3. If there is a spam feed, I just unfollow it. Done. Not a concern for me at all. Not the slightest bit. And the byte verification is THE source of all broken threads when the conversation start is edited. Yes, this can be viewed as a feature, but how many times was it actually a feature and not more behaving as an anti-feature in terms of user experience?

4. I don't get your argument. If the feed in question is offline, one can simply look in local caches and see if there is a message at that particular time, just like looking up a hash. Where's the difference? Except that the lookup key is longer or compound or whatever depending on the cache format.

5. Even a new hashing algorithm requires work on clients etc. It's not that you get some backwards-compatibility for free. It just cannot be backwards-compatible in my opinion, no matter which approach we take. That's why I believe some magic time for the switch causes the least amount of trouble. You leave the old world untouched and working.

If these are general concerns, I'm completely with you. But I don't think that they only apply to location-based addressing. That's how I interpreted your message. I could be wrong. Happy to read your explanations. :-)
[47°09′25″S, 126°43′48″W] Transfer aborted
@movq Happy equinox!

It looks amazing from the map, you probably can't tell even by looking from space.
Happy equinox – where the world is illuminated like this:

https://movq.de/v/3f9fc6ebdd/equinox.png

(Instead of this or this.)
Se tens conta LinkedIn e não queres que usem os teus dados e posts para alimentar as suas IAs, dá para desativar aqui: https://www.linkedin.com/mypreferences/m/settings/data-for-ai-improvement
Quem vem pra #PythonBrasil em #SãoPaulo?

Hoje abriram as inscrições para os tutoriais, grátis, vagas limitadas!

(Aproveite e avise aquele seu amigo gringo que ele pode comprar um ingresso de estudante doação para alguém que não poderia participar do evento completo com as palestras! :D)

https://pybr2025.eventbrite.com.br/

#Python
@kat Oh! A new place to spam dad jokes. 🥳
@prologic I can see the issues mentioned, but I think some can be fixed.

1. The current hash relies on a url field too, by specification, it will use the first # url = <URL> in the feed's metadata if present, that too can be different from the fetching source, if that field changes it would break the existing hashes too, a better solution would be to use a non-URL key like # feed_id = <UNIQUE_RANDOM_STRING> with the url as fallback.

2. We can prevent duplications if the reference uses that same url field too or the client "collapse" any reference of all the urls defined in the metadata.

3. I agree that hashing based on content is good, but we still use the URL as part of the hashing, which is just a field in the feed, easily replicable by a bot, also noting that edits can also break the hash, for this issue an alternative solution (E.g. a private key not included in the feed) should be considered.

4. For offline reading the source would be downloaded already, the fetching of non followed feeds would fill the gap in the same way mentions does, maybe I'm missing some context on this one.

5. To prevent collisions there was a discussion on extending the hash (forgot if that was already fixed or not), but without a fallback that would break existing clients too, we should think of a parallel format that maintains current implementations unchanged, we are already backward compatible with the original that don't use threads at all, a mention style format for that could be even more user-friendly for those clients.

We should also keep in mind that the current mention format is already location based (@<example https://example.com/twtxt.txt>) so I'm not that worried about threads working the same way.

Hope to see some other thought about this matter. 🤓
[47°09′52″S, 126°43′00″W] Transponder still failing -- switching to analog communication
@thecanine Thanks!

Looking forward to it!✌️
Where do you live, c1b57?
Coming to France.
Here is just a small list of things™ that I'm aware will break, some quite badly, others in minor ways:

1. Link rot & migrations: domain changes, path reshuffles, CDN/mirror use, or moving from txt → jsonfeed will orphan replies unless every reader implements perfect 301/410 history, which they won’t.
1. Duplication & forks: mirrors/relays produce multiple valid locations for the same post; readers see several “parents” and split the thread.
1. Verification & spam-resistance: content addressing lets you dedupe and verify you’re pointing at exactly the post you meant (hash matches bytes). Location anchors can be replayed or spoofed more easily unless you add signing and canonicalization.
1. Offline/cached reading: without the original URL being reachable, readers can’t resolve anchors; with hashes they can match against local caches/archives.
1. Ecosystem churn: all existing clients, archives, and tools that assume content-derived IDs need migrations, mapping layers, and fallback logic. Expect long-lived threads to fracture across implementations.
We've been discussing the idea of changing the threading model from Content-based Addressing to Location-based addressing for years now. The problem is quite complex, but I feel I have to keep reminding y'all of the potential perils of changing this and the pros/cons of each model:

> With content-addressed threading, a reply points at something that’s intrinsically identified (hash of author/feed URI + timestamp + content). That ID never changes as long as the content doesn’t. Switching to location-based anchors makes the reply target extrinsic—it now depends on where the post currently lives. In a pull-based, decentralised network, locations drift. The moment they do, thread identity fragments.
[47°09′32″S, 126°43′15″W] Transponder jammed
@alexonit @lyse i really don't understand why this was not the solution in the first place, given how simple twtxt is (mean to be), a reply should be as simple as #<https://example.com/twtxt.txt#2025-09-22T06:45Z> with the timestamp in an anchor link. the need for a mention is avoided like this as well since it's already linking to the replied-to feed!

🐀💭 i should just implement it into bbycll and force it into existence
[47°09′41″S, 126°43′51″W] Transponder malfunction
@kat Mine shows 1/1 of 14 Twts 😆 I think this is a bug 🤯
David Amos: #GraphTheory with #Python

https://www.youtube.com/watch?v=yXTDslxVfdM&list=PLLIPpKeh9v3ZFEHvNd5xqUrCkqLgXnekL
História maluca!

«Graciliano Ramos: Quem adulterou as memórias do escritor?

“Memórias do Cárcere” tinha diferença entre manuscritos do autor e edições publicadas em livro»

https://archive.ph/UuIQw

#GracilianoRamos #LiteraturaBrasileira
Dont dare to fight for peace, enlive it.
🧮 USERS:1 FEEDS:2 TWTS:1471 ARCHIVED:90021 CACHE:2680 FOLLOWERS:22 FOLLOWING:14
holy shit the future is here gopher is finally for the modern mar
anyway sup friends i hosted an IRC server
whyyyyy is my discover page only showing 7 twts!!!
Better late than never
#Portugal #Palestine #recognition Screenshot of https://en.m.wikipedia.org/w/index.php?title=International_recognition_of_Palestine&diff=prev&oldid=1312606019&diffonly=1 where we can see a change to an wikipedia page, adding Portugal to the list of countries that recognize Palestine
[47°09′26″S, 126°43′10″W] Transfer completed
[47°09′35″S, 126°43′05″W] Transfer 75% complete...
This looks interesting - hi from France
Há muitas críticas que se podem deixar ao novo canal televisivo "Conta Lá", mas uma coisa é boa: é aparentemente o único órgão de comunicação social que está a organizar um debate em *todos* os municípios, em preparação para as autárquicas:

https://www.youtube.com/live/XoQipHFMZVU
This thing about making software run on other people's computers can be pretty hard!

No wonder I think I've heard this is one of the things that distinguishes professional software development from [my preferred domain of] things such as "end-user programming" etc.

The problem is that when you start sharing code in the context of a FLOSS project you almost immediately get enmeshed in concerns about packaging and how other people will install stuff, when sometimes you just don't want to be a professional software developer! 😿

I'm always borrowing terms (learning ideas) from @lr like: *incidental complexity*. I hate *incidental complexity* or maybe I just fear *incidental complexity*. Can we escape *incidental complexity*? I guess not.
@itsericwoodward any news about this? I am, at the very least, curious!
Can we play D&D now?
Greetings from England
@alexonit I took it down mostly because of continued abuse and spam:l. I intend to fix I and improve the drive and its sister at Summer point 🤞
This looks so huggable, it feels like a plushie! 🥰

After seeing so many resolutions, I think you're only missing a *matrioska* version of it. 🪆
@lyse Yeah, the format is just an idea of how it could work.

The order of SOURCE > POST does make more sense indeed.
@prologic thanks, I already follow @important_dev_news too.

BTW, the feed on https://feeds.twtxt.net/ seem down? It says it's in maintenance.
[47°09′00″S, 126°43′10″W] Transfer 50% complete...
@alexonit Love this 😍
@alexonit Yeah same 🤣 There's also this @news-minimalist feed that shows up the most important shit™ anyway (_when/if that happens_).
@alexonit Personally, I find the reversed order of URL first and then timestamp more natural to reference something. Granted, URL last would be kinda consistent with the mention format. However, the timestamp doesn't act as a link text or display text like in a mention, so, it's some different in my opinion. But yeah.
God bless mr. Trump and USA
@prologic Me neither, if there's any important news others usually tell me anyway. 😌
[47°09′46″S, 126°43′27″W] Transfer 25% complete...
[47°09′55″S, 126°43′03″W] Bad satellite signal -- switching to analog communication
vacas pintadas de zebra e morcegos bêbados...

https://arstechnica.com/science/2025/09/meet-the-2025-ig-nobel-prize-winners/
Vacas pintadas de zebra e morcegos bêbados...

...também conta que os nenês curtem o leita materno quando a mãe comeu alho.

https://arstechnica.com/science/2025/09/meet-the-2025-ig-nobel-prize-winners/
Vacas pintadas de zebra e morcegos bêbados...

...também conta que os nenês curtem o leite materno quando a mãe comeu alho.

https://arstechnica.com/science/2025/09/meet-the-2025-ig-nobel-prize-winners/
🧮 USERS:1 FEEDS:2 TWTS:1470 ARCHIVED:90004 CACHE:2669 FOLLOWERS:22 FOLLOWING:14
@bender Seriously I have zero clue 🤣 I don't read or watch any news so I have no idea 🤦‍♂️
https://lichess.org/training/431526724
Mate in 5 I think... :)
#chess #ChessPuzzle #lichess
@bender <3
[47°09′34″S, 126°43′36″W] --bad checksum--
Today is #SoftwareFreedomDay !
If you want to learn more about it, why not see this video with its founder?

@dff@dff https://videos.trom.tf/w/gVBnrHUypajuZkVKrafwz4
[47°09′15″S, 126°43′43″W] --white noise--
@prologic I know you were away, but were you under a rock?! 😅
Paul Walter has been posting amazing #GIS stuff on linkedin....

Like this: https://www.linkedin.com/posts/paulwaynewalter_urban-gis-people-great-free-self-paced-activity-7373022072685506560-z0S5

«Oh, also, here is a link to Transitland's map of open #GTFS data: https://www.transit.land/map#3.5/40.41/-104.84»
Paul Walter has been posting amazing #GIS stuff on linkedin....

Like this: https://www.linkedin.com/posts/paulwaynewalter_urban-gis-people-great-free-self-paced-activity-7373022072685506560-z0S5
«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.

Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»

https://autogis-site.readthedocs.io/en/latest/

(via Paul Walter no linkedin)

#GIS #geoPython #geopandas #shapely #osmnx #networkx
«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.

Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»

https://autogis-site.readthedocs.io/en/latest/

#GIS #geoPython #geopandas #shapely #osmnx #networkx
Consulta do senado sobre projeto de anistia do Mourão:

https://www12.senado.leg.br/ecidadania/visualizacaomateria?id=160575

Precisa logar com gov.br e tal, mas acho que vale a pena votar para mandar uma mensagem, a diferença andou diminuindo :-S
Attention, bientôt l'équinoxe : un évènement cosmique si puissant qu'il pourrait faire changer la saison!
idée peut-être pas si con du jour : ajouter des entrées sur mon twtxt à partir de mon téléphone en utilisant markor + syncthing pour la publication
[47°09′17″S, 126°43′24″W] Storm recedes -- back to normal work
@prologic Yes, no doubt. There's always something somewhere.
Did something bad happen in the world today? 🧐
[47°09′24″S, 126°43′47″W] Wind speed: 79kph -- batteries low
Doing a bit of 2018 Advent of Code now to relax. 🎄
@lyse Some stuff is actually more reliable, that’s true. It’s also waaaaaaaaaaay more expensive, though … :-)

I called it a day, yes. \o/
@movq But it's so reliable and they have all the experts, they know what they're doing! And don't forget, it's way cheaper! Just think of the 34 cents saved every year on paper, the business dude calculated!

Enjoy your weekend! (I hope, you just called it a day and don't have to drive to the office or silly shenanigans like that.)
The worst thing you can do is make your infrastructure (switches, wifi, ...) depend on some cloud service. Because someone else is maintaining that service; you have no control over it. You 100% depend on that other person now. Very stupid idea.

Now guess what manufacturers are pushing for ...

Now guess who couldn't complete a task at work this Saturday morning, because a certain cloud service was down ...

IT is fucked. Throw it all away and start over.
[47°09′34″S, 126°43′01″W] Wind speed: N/A -- Cannot comunicate
@lyse Yep! Super fast and efficient! 😃
@kiwu awwww! 😢
i h8 it here(my home)
long month
#Python #cbers4a #satelite #SensoriamentoRemoto

https://cbers4asat.readthedocs.io/pt-br/latest/

cc @elmoneto@elmoneto (você viu isso? eu não manjo nada mas já fiquei animado...)
@prologic welcome back! 🥳🥳🥳
🧮 USERS:1 FEEDS:2 TWTS:1469 ARCHIVED:89989 CACHE:2669 FOLLOWERS:22 FOLLOWING:14
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.
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