# 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 238018
# self = https://watcher.sour.is?offset=235985
# next = https://watcher.sour.is?offset=236085
# prev = https://watcher.sour.is?offset=235885
We’re all old farts. When we started, there weren’t a lot of options. But today? I’d be completely overwhelmed, I think.

> Hence, I'd recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice

That’s what I usually do (when we have young people at work who never really programmed before), but it doesn’t really “hit” them. They’ve seen so much, crazy graphics, web pages, it’s all fancy. Just some text output is utterly boring these days. ☹️ And that’s my problem: I have no idea how I could possibly spark some interest in things like pointers or something “low-level” like that. And I truly believe that you *need* to understand things like pointers in order to program, in general.
@lyse

> Also, I see what you did there in regards to the reply model change poll. ]:->

The community is heavily divided in this regard, and yet we need consensous. We’re like the three Borg in VOY: Survival Instinct). 🥴
@lyse

> Also, I see what you did there in regards to the reply model change poll. ]:->

The community is heavily divided in this regard, and yet we need consensous. We’re like the three Borg in VOY: Survival Instinct). 🥴
Nah, I’m not taking any action yet. 😅 The good thing is that I don’t run a Git daemon on my server. It’s all just HTTP, which is fast and doesn’t consume a lot of memory.
Nah, I’m not taking any action yet. 😅 The good thing is that I don’t run a Git daemon on my server. It’s all just HTTP, which is fast and doesn’t consume a lot of memory.
03:45 You can pretty blame capitalism for everything that's wrong with anything 🤣
I really do wish we would wake up and smell the roses here 🤦‍♂️ This whole sets of wars is utterly pointless. Senseless waste of precious human beings 😢
https://git.mills.io/yarnsocial/twtxt.dev/pulls/28
@movq DDoS their ass! 🤣
@bender Yup! 👍
@lyse Noice! 👌
Has anyone tried the dark arts of converting #SVG to #shapely recently? :(

- https://gis.stackexchange.com/questions/301605/how-to-create-shape-in-shapely-from-an-svg-path-element
- https://gist.github.com/un1tz3r0/9f473e4de65787d336ca60681bc6fcbd
- https://medium.com/@femion/3-ways-to-cut-svg-shapes-d24108aba4a3

#Python
@lyse Hahahaha 🤣 I mean it's "okay" every now and then, but what's the point of having good clients and tools if we don't use 'em 🤣
@lyse Yup! Will do 🤗
@dev1ls claro que la vi, estuvo buena, has visto la pelicula interactiva?
Nothing like being paged at 00:30 (_midnight_) for a P2 incident that is now resolved at 02:10 🤯 Obviously I'm not going to work tomorrow (_I mean today lol 😂_) at the usual start time 🤦‍♂️_
[47°09′50″S, 126°43′19″W] Dosimeter fixed
Someone has started to run git pull on one of my repos – once every two minutes. This is a very pointless endeavour. I push new code a couple of times *per month*.

So far, this isn’t causing any issues. I *think* this is just a regular human being who misconfigured some automation. And I *hope* this doesn’t mean that the “AI” bots have finally discovered my page …
Someone has started to run git pull on one of my repos – once every two minutes. This is a very pointless endeavour. I push new code a couple of times *per month*.

So far, this isn’t causing any issues. I *think* this is just a regular human being who misconfigured some automation. And I *hope* this doesn’t mean that the “AI” bots have finally discovered my page …
I will be adding the code in for yarnd very soon™ for this change, with a if the date is >= 2025-07-01 then compute_new_hashes else compute_old_hashes
We have 4 clients but this should be 6 I _believe_ with tt2 from @lyse and Twtxtory from @javivf?
@bender Same more or less 😅
Finally I propose that we increase the Twt Hash length from 7 to 12 and use the first 12 characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q or a (_oops_) 😅 And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That _ought_ to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! 😱 #Twtxt #Update~
And speaking of Twtxt (See: #xushlda, feeds should be treated as append-only. Your client(s) should be appending Twts to the bottom of the file. Edits should never modify the timestamp of the Twt being edited, nor should a Twt that was edited by deleted, unless you actually intended to delete it (_but that's more complicated as it's very hard to control or tell clients what to do in a truely decentralised ecosystem for the deletion case_). #Twtxt #Client #Recommendations
Just like we don't write emails by hand anymore (See: #a3adoka), we don’t manually write Twts or update our twtxt.txt feeds. Instead, we use modern Twtxt clients that conform to the specifications at Twtxt.dev for a seamless, automated experience. #Twtxt #Twt #UserExperience
Nobody writes emails by hand using RFC 5322 anymore, nor do we manually send them through telnet and SMTP commands. The days of crafting emails in raw format and dialing into servers are long gone. Modern email clients and services handle it all seamlessly in the background, making email easier than ever to send and receive—without needing to understand the protocols or formats behind it! #Email #SMTP #RFC #Automation
@bender Hehe good sleuthing 🤣 I swear it was an edit ✍️ Haha 😂 yarnd now "sees" both every single time, where-as before it would just obliterate the old Twt, but remain in archive. Now you get to see both 😅 Not sure if that's a good thing or not, but it certainly makes it much clearer how to write "code logic" for detecting edits and doing something more UX(y) about 'em 🤔
@bender It's pretty cool though 🤣
@sorenpeter Oh!
Wrote some serious Python for the first time in like 10 years 😱 I feel so dirty 🤣
@prologic it was not an edit but a double posting
@prologic it was not an edit but a double posting
@prologic it was not an edit but a double posting
@prologic it was not an edit but a double posting
"Apagão pode ainda durar de 6 a 10 horas" ouvido agora na rádio, não sei que estação

#apagão Plano B à internet: rádio a pilhas
"Apagão pode ainda durar de 6 a 10 horas" ouvido agora na rádio, não sei que estação

#apagão Plano B à internet: rádio a pilhas
@prologic yup. Funny enough, the first twtxt should have sufficed, as if there is no domain, there will be no feed (at that domain). The edit to add that the feed will not be available is redundant.
On my blog: Developer Diary, Workers' Memorial Day https://john.colagioia.net/blog/2025/04/28/workers-memorial.html #programming #project #devjournal
[47°09′11″S, 126°43′34″W] Resetting dosimeter
Contagem decrescente para o primeiro techbro a afirmar uma solução de IA que evitaria futuros apagões
A Aula do Visível - Obras da Coleção da Fundação Ilídio Pinho: https://noticias.up.pt/2025/02/07/edificio-abel-salazar-acolhe-exposicao-da-fundacao-ilidio-pinho/
Want to revive Gopher? Just store your public files in gopher: // it's simlpe
#MaradoWeekly #WeeklyPlant Week 17 A bunch of oranges still in the tree
#MaradoWeekly #WeeklyPlant Week 17 A bunch of oranges still in the tree
@yejokjanan hey ya viste la nueva temporada de black mirror???
How to think in the age of #AI: https://archive.is/YyIQX
@andros U2FsdGVkX1/p8YNjgA9LA0I+c2+BDKCm8qrUmBXkkjZz8G6gISTPSyRgrJAZqzh3waZ5OyEFM8N1BsHoDQ2qEA==
[47°09′41″S, 126°43′43″W] Dosimeter malfunction
Je voudrais synchroniser 2 disques : l'un contient des musiques au format .opus, il faut les convertir sur le second disque au format mp3. J'utilise déjà beets pour importer les musiques sur le premier disque. Comment vous feriez ça? Merci! #question
Je voudrais synchroniser 2 disques : l'un contient des musiques au format .opus, il faut les convertir sur le second disque au format mp3. J'utilise déjà beets pour importer les musiques sur le premier disque. Comment vous feriez ça? Merci! #question
@javivf Go for it! You're free to use it.
It's been a community adventure to explore the whole DM/encryption thing. So the community can do with it whatever they want. 😎
[47°09′34″S, 126°43′04″W] --interrupted--
https://pynews.com.br/@villares/114413536773436549
@lyse hey pascal bro! My first coding class was with an old Borland Turbo Pascal. I made my own little window manager for the assignments for class.

The teacher didn't appreciate it much since I had to print out the code to turn it in. My Yatzee game was a stack of pages. 🤪
@lyse Very nice! 👌 So lovely and green 😅 -- What's with the sign in 16? 🧐
Interesting edit observed by the new yarnd powering this pod twtxt.net 🧐
@movq I've tried and there's little interest so I've given up for now 😭
@bender Wut?! 😂
Maravilhosa live de aniversário da Live de Python do @dunossauro@dunossauro

https://www.youtube.com/live/IE8coapVoSk

Sensacional...

-> um comentário que conecta com o final da live, as contas do Mastodon todas geram feeds RSS, é só acrescentar .rss no final da url :)
🧮 USERS:1 FEEDS:2 TWTS:1324 ARCHIVED:86731 CACHE:2910 FOLLOWERS:22 FOLLOWING:14
so... maybe I should try a new fresh approach. I gave up avoiding adding a new data structure and created a drawing_dict to iterate and draw. At this point it contains a reference to a drawing function and the attributes to use... it should give me enough flexibility. I'm using shapes as keys,
I have to think about the case of the complex body...
so... maybe I should try a new fresh approach. I gave up avoiding adding a new data structure and created a drawing_dict to iterate and draw. At this point it contains a reference to a drawing function and the attributes to use... it should give me enough flexibility. I'm using shapes as keys,
I have to think about the case of the complex body... the body should be the key in that case. But then, removing stuff will be harder.

https://github.com/villares/sketch-a-day/blob/main/2025/sketch_2025_04_27/sketch_2025_04_27.py
@kat IT IS HOLY HECK THE TALENT!!!! 🙌🏻🙌🏻
twtxt tui - como va quedando??? https://0x0.st/8Wc4.png
So slow...
Prayer helps even if you don't believe in God: https://archive.is/OYCTV
hola mundo
probando
SSH y estudio, te abriran todos los puertos.
Hahaha! https://blog.bofh.it/debian/id_471
rage against machine learning
#PyPodcats Hidden Figures of #Python #podcast @pypodcats@pypodcats

Episode 8, with Mojdeh Rastgoo:

https://pypodcats.live/episodes/ep-8/

«We interviewed Mojdeh Rastgoo, the newest member of PyPodcats!

Since discovering Python and the open-source community, Mojdeh has been actively involved in the Python ecosystem. She gave her first tutorial in 2018 at EuroSciPy and has since contributed in many ways. She is a member of the PSF Code of Conduct Working Group, a co-organizer of PyLadies Paris, and now a host of PyPodcats!

In this episode, Mojdeh shares more about herself and her passion for the community. We also take a look back at 2024, discuss our plans for 2025, and introduce a few new changes, including our Open Collective account, where you can support us.

Be sure to listen to the episode to hear about our plans and get to know your new host Mojdeh!»
@movq I started with Delphi in school, the book (that we never ever used even once and I also never looked at) taught Pascal. The UI part felt easy at first but prevented me from understanding fundamental stuff like procedures or functions or even begin and end blocks for ifs or loops. For example I always thought that I needed to have a button somewhere, even if hidden. That gave me a handler procedure where I could put code and somehow call it. Two or three years later, a new mate from the parallel class finally told me that this wasn't necessary and how to do thing better.

You know all too well that back in the day there was not a whole lot of information out there. And the bits that did exist were well hidden. At least from me. Eventually discovering planet-quellcodes.de (I don't remember if that was the original forum or if that got split off from some other board) via my best schoolmate was like finding the Amber Room. Yeah, reading the ITG book would have been a very good idea for sure. :-)

In hindsight, a console program without the UI overhead might have been better. At least for the very start. Much less things to worry about or get lost.

Hence, I'd recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice, it doesn't require a lot of surrounding boilerplate like, say Java or Go. It also does exceptionally well in the principle of least surprise.
So far in 2025, I’ve had the privilege of peer-reviewing for these great journals: * Philosophia - A Global Journal of Philosophy, * American Catholic Philosophical Quarterly. Grateful to contribute to the academic community! #Philosophy #PeerReview
probando mi nuevo tui para twtxt :P #TUI #python
@sorenpeter I see, ta. The big spring cleaning continues. ;-)
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt or my feed there are not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
Hi @lyse, I canceled the domain, so neotxt is not coming back.
[47°09′45″S, 126°43′44″W] --white noise--
I went on a small hike, just 12-13km this time. The weather was great, blue sky, sunny 18°C, but with the wind it felt colder. Leaves and other green stuff is exploding like crazy. It looks super beautiful right now.

I came across an unfortunately dead salamander on the forest road, some fenced in deer, heaps of sheep, some unmagnetic cows (some were aligned very roughly north-south, but mainly with the axis of the best view I believe), a maybeetle and finally an awesome sunset. Not too shabby! The sheep were mehing all the time, that was really lovely to hear. And the crickets were already active, too. Didn't expect them to hear yet. I tried to record the concert, but the wind messed it all up. Oh well.

Sheep

https://lyse.isobeef.org/waldspaziergang-2025-04-27/
I bought a baritone ukulele from Ortega. It is equipped with a pickup and tuner. I'm very impressed with the first look and sound.
The Manifesto for Teaching and Learning in a Time of Generative #AI: https://openpraxis.org/articles/777/files/6749b446d17e9.pdf
I should probably clarify: Which language/platform? Something graphical or web-based right from the beginning or do you start with a console program?
I should probably clarify: Which language/platform? Something graphical or web-based right from the beginning or do you start with a console program?
@bender Must be the US tariffs, it's working reasonably quick in Europe. :-D
@movq Your next experiment should be triangles. :-)
I want to simplify #pymunk + #py5 use for my students but I struggle with finding good strategies… Pymunk has two types of (linked) objects for each simulated object: body and shape. For complex objects (like concave shapes) you can use more than one convex shape linked to the same body. In these cases I usually want to have an extra shape to draw and hide the triangulation.
I don't want to keep extra data structures to track the simulation objects to draw. I tried both extending and monkey patching either body or shape objects to be "drawable" so I can just iterate the native pymunk structures and ask stuff to draw themselves (would be nice, huh?), but there is always some snag. If I extend shape classes, I stumble on the complex objects with many shapes drawn with divisions. If I extend the Body class, the problem is static objects have shapes but share a virtual constant body, more of a flag, so I can't add anything to it, so back to keeping track of a separate list of static shapes… Then performance & serialization issues, I want to be able to easily pickle simulations, but if I add Py5Shape objects to the extended/modified classes they become unpickable...
I have bigger fishes to fry right now (the paralyzing PhD) but this is something I would like to pair with someone more experienced to work on.
To the parents or teachers: How do you teach kids to program these days? 🤔
To the parents or teachers: How do you teach kids to program these days? 🤔
[47°09′43″S, 126°43′07″W] Saalmi, retransmit, please
https://helderman.github.io/htpataic/htpataic01.html How to program a text adventure in #C
domingo de escritorio? xD https://0x0.st/8WZO.png
If you just do a square, the score is still surprisingly high … https://movq.de/v/68eb406e17/s.png 😅
If you just do a square, the score is still surprisingly high … https://movq.de/v/68eb406e17/s.png 😅
@bender is it working now?