# 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 194994
# self = https://watcher.sour.is?offset=194994
# prev = https://watcher.sour.is?offset=194894
What does phlog mean?
@prologic well, multiculturalism, immigration, and race (to mention a few, there is more) are key points on conservative's agendas. That's why I asked what you thought of it. You haven't replied yet. Of course, no answer is an answer, right?
@prologic growing up in a multicultural country has nothing to do with what you think about it, does it?
@prologic this is 90 degrees fork. Now that you mention being conservative socialist (first I heard of the term, had to read some to grasp what's all about), what do think about immigration and multiculturalism?
@prologic how dare you! (read it with Greta emphasis, and accent)
repo-bisect RIP 🪦
I meant, "jlj". He used to be at https://twt.nfld.uk/, long gone now too. I wonder...
@prologic you doing this reminded me of mkws, and Adi. Good times, we have seeing so many people come and go. It is kind of sad, when I think about "jjl", and Phil, and the many others...

I am feeling "mushy" today. Ugh, ageing sucks.
@prologic yup, that's what I meant. The lack of it on the URL is fine, but on the post itself it is always a good idea. Time frames matter.
Test.

@prologic I can't upload a screenshot (tried, but Yarnd simple "ate" my reply). See https://zsblog.mills.io/posts/hello-zs-blog.html. Is has no date/time on it.
@movq LOL. I wish and hope they keep proposing it until the proposers die of natural causes, and then it vanishes. Hopeful thinking, I know...
@prologic need to work on the CSS. For example, the tags are too big, the code blocks (and the inline ones) are too small, the single posts have no date (intended?), and so on. It's an alpha start!
I once worked with a guy
That wrote a cool script
But since, he left github
Deleted all his repos with it.

Now the cool script is gone
remaining this poem I wrote instead
Doesn't rhyme, isn't cool, sounds bad.
A análise do PCP* está um bocadinho melhor articulada que a minha:

* https://www.pcp.pt/insistencia-do-governo-em-medidas-fiscais-agrava-injusticas-promove-precariedade-na-habitacao

"Até agora, a redução da taxa para 10% estava condicionada à celebração de contratos com a duração mínima de dez anos, com esta alteração, passa a ser aplicada a taxa de 10% mesmo a contratos de apenas um ano (com rendas até 2300 euros). Na verdade, o Governo incentiva a conversão de contratos de longa duração em contratos de curta duração, desprotegendo os inquilinos e contribuindo para uma nova espiral de aumento das rendas."

"quer o alargamento das deduções com as despesas de arrendamento por parte dos inquilinos em sede de IRS – medida que deixa de fora mais de 40% dos inquilinos, pois não pagam IRS – , quer em particular a descida do IVA na construção para imóveis até 648 mil euros inserem-se numa orientação que privilegia e favorece um tipo de construção cujos valores não respondem às necessidades de quem procura arrendar ou comprar habitação"

"O País precisa [...] da regulação do mercado de arrendamento que coloque limites ao valor das rendas e force a sua descida. Precisa da promoção da estabilidade dos contratos de arrendamento assumindo os dez anos como referência."
plus, if hashv2 was implemented in combination with text fragments the way you proposed that would solve both scripting and human readability woes!!

...though, the presence of the text fragments then makes reversing the replied-to twt (and therefore its hash) trivial, which could allow clients to tolerate the omission of the hash — and while it would be 'non-standard' this would be the best of both worlds; potential to *tolerate* (or pave a glacial path toward? :o) human writable twts whilst keeping a unique id for twts that is universal across all pods
plus, if hashv2 was implemented in combination with text fragments the way you proposed that would solve both scripting and human readability woes!!

...though, the presence of the text fragments then makes reversing the replied-to twt (and therefore its hash) trivial, which could allow clients to tolerate the omission of the hash — and while it would be 'non-standard' this would be the best of both worlds; potential to *tolerate* (or pave a glacial path toward? :o) human writable replies whilst keeping a unique id for twts that is universal across all pods
@prologic to clarify the i meant the ability to parse feeds using unix command line utilities, as a prinicpal of twtxtv1's design. im not sure how feasible it is to build a simple feed reader out of common scripting utilities when hashing is in play, and;

i concede, it does make a lot of sense to fix up the hashing spec rather than completely supplant it at this point, just thinking about what the rewrite would be like is dreadful in and of itself x.x
@prologic to clarify: i meant the ability to parse feeds using unix command line utilities, as a principal of twtxtv1's design. im not sure how feasible it is to build a simple feed reader out of common scripting utilities when hashing is in play, and;

i concede, it does make a lot of sense to fix up the hashing spec rather than completely supplant it at this point, just thinking about what the rewrite would be like is dreadful in and of itself x.x
@prologic the simplest thing to do is to completely forgo hashing anything because we are communicating using plain text files right now :3
@prologic the simplest thing to do is to completely forgo hashing anything because we are communicating using plain text files right now :3 while i agree hashes are incredibly helpful in the backend im not sure it has a place outside of it, it basically eliminates two core design principals of twtxt (human readability and integrating well with unix command line utilities) and makes new clients more difficult to build than it should be
edbrowse is like a Swiss Army Knife-it can do http, gopher, irc, email, and JS. The issue is it's slower with JS enabled.
@prologic considering other alternatives we have seeing (of which I have lost track already), yes. Why don’t you guys (client makers) take a step at a time and, for now, increase the hash length to deal with the collisions. Then location-based addressing can be added… or not, you know. 😅
🧮 USERS:1 FEEDS:2 TWTS:1475 ARCHIVED:90066 CACHE:2689 FOLLOWERS:22 FOLLOWING:14
A "explicação"* do Governo às "rendas moderadas" de 2.300€ dava um tratado.

* https://eco.sapo.pt/2025/09/25/rendas-de-2-300-euros-sao-moderadas-a-explicacao-do-governo/

Veja-se só:

"para poderem precisamente fixar-se e poderem constituir os recursos humanos que a nossa administração pública e as nossas empresas precisam para serem competitivas"

"uma família com dois ou três filhos em Lisboa e no Porto, muitas vezes não consegue ter uma habitação a um preço inferior a este"

"os 2.300 euros, nomeadamente nas zonas de maior pressão, apontam para um rendimento do agregado familiar na casa dos 5.000 euros para um agregado familiar de um pai, de uma mãe, dois filhos"

"também estão lá os funcionários públicos em início de carreira com 1.248 euros"

E a realidade em Portugal?

* salários mais baixos na Função Pública são 878,41 euros brutos mensais (2025)

* rendimento bruto médio de agregado familiar em Portugal era 3352€/mês (2022)

* casal de FPs a receber cada 1.248 euros/mês não ganha o suficiente para pagar uma renda mensal de 2300

Mas pronto, são rendas moderadas, os salários é que são baixos... ainda bem que o Governo vai subir o salário mínimo nacional para os 1200€... Ai não vai? É só 1100€ e para 2029? Ah, mas dá antes descontos aos senhorios, pode ser que seja mais ou menos a mesma coisa...

#ptpol #rendas*
Looking forward to see how it evolves! And happy to see you leaving behind micro. Good riddance! LOL.
@prologic that's not too bad! 👏🏻👏🏻👏🏻
Monica Rizzolli has edited a new smashing magazine that covers some cool historic and contemporary #CreativeCoding in Brazil (disclosure / bias warning: I'm on it). Published in Portuguese with an English translation of the text.
500 unique generative covers, art by Rod Junqueira and title variations by André Burnier.

https://www.indiegogo.com/projects/variavel-magazine
@alexonit that sounds pretty much like Italy! LOL. We pay $48 on renewal in Florida, US, but that fee isn't Federal, so other states may pay more, or less.
Em 2007 "dungeon synth" não era propriamente um estilo musical que eu reconhecesse, e no entanto, sem saber, era não só influenciado pelo género como até participava dele. Agora, em retrospectiva, classifico muito do que fiz com o meu projecto musical a solo #Merankorii como sendo #DungeonSynth - e um dos temas que se enquadra bem nisso é o "The Alchemist", que encerra o album "Sanguine", e que aqui relembro nesta #musiquinta porque, com o tema "me define", como poderia eu não escolher uma música que não só me define, como é um auto-retrato?

https://merankorii.bandcamp.com/track/the-alchemist
Hotel. Rue Barbes. Parking in the street, if you take the one way road in the wrong direction.
Hotel Montmartre 1
#DireStraits Documentary

https://nebula.tv/videos/maryspender-the-dire-straits-story-full-documentary
Mary Spender on #DireStraits & Sultans of Swing

https://www.youtube.com/live/_g00S-a_0lo
🧮 USERS:1 FEEDS:2 TWTS:1474 ARCHIVED:90050 CACHE:2682 FOLLOWERS:22 FOLLOWING:14
boop
bwop
@movq I've got this magic spell in my config: -f bestvideo[height<=?1080]+bestaudio/best
@itsericwoodward pretty cool! Started following you, not to miss any progress. Thanks for the exhaustive reply!
@lyse that's pretty cool! The first video I see on YouTube of that kind. Thanks!
@bender @movq I had automatically yt-dlped https://www.youtube.com/watch?v=OZTSIYkuMlU. It's only worth for an experiment, no recommendation to watch.
I have fully restored my script that posts from CLI to Mastodon, twtxt, and my ichi.city web page.
Tnanks God for Gopher://
O que vocês recomendam para adesivos personalizados?
Printi, 360imprimir, Rei do Sticker?
(no Brasil) captura de tela do Reclame Aqui do Rei do Sticker
«The Hudson River is flowing through the heart of Times Square this month.
Press play to hear from Marina Zurkow & James Schmitz [@hx2A@mastodon.art] the artists behind ‘The River is a Circle (Times Square Edition)’ - September’s #MidnightMoment, a visual “combination of live data and a matrix of researched information about the Hudson River ecology,” says Zurkow.»

https://www.instagram.com/reel/DO6jbXrEdBG

#CreativeCoding #Processing #Python #py5 #TimesSquare #NYC
«The Hudson River is flowing through the heart of Times Square this month.
Press play to hear from Marina Zurkow & James Schmitz [@hx2A@mastodon.art] the artists behind ‘The River is a Circle (Times Square Edition)’ - September’s #MidnightMoment, a visual “combination of live data and a matrix of researched information about the Hudson River ecology,” says Zurkow.»

https://www.instagram.com/reel/DO6jbXrEdBG

#CreativeCoding #py5 #TimesSquare #NYC
🧮 USERS:1 FEEDS:2 TWTS:1473 ARCHIVED:90042 CACHE:2678 FOLLOWERS:22 FOLLOWING:14
#MaradoWeekly #WeeklyPlant Week 38 The single plum that my plum tree gave us in 2025.
@movq better than in the US. Our lasts only 10 years, and you need to go through the vision test, and, of course, pay). Recently they added a little gold star denoting “real ID” compliance, and we had to pay $10 to get the old one replaced—out of the regular renew “schedule”.

In here it is all about control, and money.
@lyse is it a 360 degree video online, or a local one?
Whooooaaaah, I just accidentally found out that VLC can play 360° videos and I am able to pan around! Crazy shit. I actually scrolled in order to adjust the volume like it usually works, but it zoomed in and out instead. Then I saw the title hinting at the 360° stuff. Even though this is not my cup of tea, it's nice that VLC supports it.
I am back to my bash scripting! This is in fact a test.
exit
I would absolutely recommend Mint to anyone, not just my geeky friends.
#NoiteDeProcessing #hackerspace #GaroaHackerClube Páginas da revista sobre a Noite de Processing no Garoa Hacker Clube
Gente, esta notícia é quente, vai sair o primeiro número da Variável. Tem uma entrevista comigo, estou até meio emocionado (não tenho nem roupa pra estar junto com algumas das figurinhas que aparecem na revista).

https://www.catarse.me/variavel (para o Brasil)

https://www.indiegogo.com/projects/variavel-magazine (para outros países)

#ProgramaçãoCriativa #CreativeCoding Reprodução de páginas da revista onde aparecem alguns dos meus desenhos e o começo da entrevista.
[47°09′34″S, 126°43′19″W] Dosimeter fixed
The new iTerm icon is confusing me; for a second I always wonder what that app is when the Dock comes into view.
What does it do to us if we can no longer trust any information? What if your mail app changes the content of your mail without you knowing?https://maurice-renck.de/en/blog/2025/trust-issues
[47°09′36″S, 126°43′20″W] Dosimeter still failing
@lyse @prologic Can't we find a middle ground and support both?

The thread is defined by two parts:

1. The hash
2. The subject

The client/pod generate the *hash* and index it in it's database/cache, then it simply query the subject of other posts to find the related posts, right?

In my own client current implementation (using hashes), the only calculation is in the hash generation, the rest is a verbatim copy of the subject (minus the # character), if this is the common implemented approach then adding the location based one is somewhat simple.

s
function setPostIndex(post) {
    // Current hash approach
    const hash = createHash(post.url, post.timestamp, post.content);

    // New location approach
    const location = post.url + '#' + post.timestamp;

    // Unchanged (probably)
    const subject = post.subject;

    // Index them all
    addToIndex(hash, post);
    addToIndex(location, post);
    addToIndex(subject, post);
}

// Both should work if the index contains both versions
getThreadBySubject('#abcdef') => [post1, post2, post3]; // Hash
getThreadBySubject('https://example.com#2025-01-01T12:00:00') => [post1, post2, post3]; // Location


As I said before, the mention is already location based @<example https://example.com/twtxt.txt>, so I think we should keep that in consideration.

Of course this will lead to a bit of fragmentation (without merging the two) but I think this can make everyone happy.

Otherwise, the only other solution I can think of is a different approach where the value doesn't matter, allowing to use anything as a reference (hash, location, git commit) for greater flexibility and freedom of implementation (this probably need the use of a fixed "header" for each post, but it can be seen as a separate extension).
[47°09′29″S, 126°43′41″W] Dosimeter malfunction
@aelaraji welcome back dude! Long time no see!
🧮 USERS:1 FEEDS:2 TWTS:1472 ARCHIVED:90032 CACHE:2678 FOLLOWERS:22 FOLLOWING:14
@04866 what?? I don't know how to get myself around edbrowse, I almost hate it
[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.
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.
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.
[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
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?