# 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 235518
# self = https://watcher.sour.is?offset=230749
# next = https://watcher.sour.is?offset=230849
# prev = https://watcher.sour.is?offset=230649
@lyse Mutt, since … 2008, I think. 😅
@lyse Mutt, since … 2008, I think. 😅
@thecanine It's always nice to look at your creations.
@arne Oh NO!! not the Ghost Busters... 😱
Oh yeah, @aelaraji, electrostatic cat fur to the rescue! :-D
@lyse would it work wit cats instead? there has been a whole flock of them in the neighborhood the last couple of days, one female and a gazillion males taking turns 😅 ... at least they'd be good for something other than their non-stop after midnight opera 😂
@lyse would it work wit cats instead? there has been a whole flock of them in the neighborhood the last couple of days, one female and a gazillion males taking turns 😅 ... at least they'd be good for something other than their non-stop after midnight opera 😂
J'ai eu une coupure de courant, ~15 min. C'est là que je me dis qu'il faut que je trouve des sous pour un onduleur. Mais c'est vraiment cher ces trucs et pas du tout prioritaire dans la liste des trucs à acheter :s~
J'ai eu une coupure de courant, ~15 min. C'est là que je me dis qu'il faut que je trouve des sous pour un onduleur. Mais c'est vraiment cher ces trucs et pas du tout prioritaire dans la liste des trucs à acheter :s~
@prologic Which one? I don't mind the ternary operator at all. In fact, I often find myself missing it in Go. I don't find the two alternatives particularly elegant:

foo := "eggs"
if bar {
foo = "spam"
}

Or:

var foo string
if bar {
foo = "spam"
} else {
foo = "eggs"
}

To my eye, this just would look a lot nicer:

foo := bar ? "spam" : "eggs"

Or at least as the Pythons do it:

foo = "spam" if bar else "eggs"

The ternary operator especially shines with relatively short expressions.
@arne Ohjemine, TYPO3! O_o Lass mich schreiend davonlaufen!

Mit dieser absoluten Katastrophensoftware vor dem Herrn haben wir mal ein Studienprojekt gemacht. Die hat alle Vorurteile komplett übererfüllt. Angefangen von Fehlerseiten, die statt 4xx oder dergleichen immer mit HTTP 200 ausgeliefert wurden oder auch, dass das generierte HTML leider einfach ungültig war. Über die Implementierung von Löschen durch einen Deleted-Schalter in der Datenbank, das Speichern von Passwörtern im Klartext bis hin zu völlig umständlichen Bedienungskonzepten. Alles hat immer brutal viele Schritte gebraucht. Das Zeilennummernrumgeeier im TYPO-Script erinnerte eher an Basic. Uns kam es auch so vor, als ob man damit nicht ernsthaft was sinnvolles machen könnte.

Zu allem Überfluss hatte irgendwer noch ein ganz hundsmiserables Buch ausgegraben, das als Vorbereitung dienen sollte. Ich kann mich zum Glück weder an den Titel noch den Autor erinnern, aber ich weiß noch, wie das komplett inkonsistent geschrieben war. Anfangs gabs mehrere Seiten zu Unicode und UTF-8 wurde angepriesen, aber alle Beispiele haben dann auf ISO-8859-1 gesetzt. Gezeigter Beispielcode war häufig unterste Schublade. Selten hab ich so merkwürdige Erklärungen gelesen: „Wenn Sie die Sicherheitswarnhinweise stören, kommentieren Sie doch bitte im Quelltext die die()-Funktion in $ZEILE aus.“ Oder ein anderer Klassiker: „Ausgeschrieben würde der Code wohl folgendes tun…“. War sich der Autor also nicht ganz sicher, ob sein Codeschnipsel vllt. doch in Wahrheit was ganz anderes tut.

Seit diesem gigantischen Trauma (das hat mich wirklich sehr nachhaltig geprägt, wie man Dinge nicht machen sollte) hab ich erfolgreich einen Bogen um das TYPO3-Universum gemacht.

Ich kann nur hoffen, dass es zwischenzeitlich ein wenig besser geworden ist. Aber Deinem Kurzbericht zufolge scheint da ja immer noch der Wurm drin zu sein. Mein Beileid! :-(
@movq That's an interesting setup! What MUA do you use?
@movq So, the building renovation finally started?
@skinshafi ❓📞🚫👻🔫
"Distribuindo os indecisos, que nesta altura são 16%, AD e PS estão separados por apenas três pontos percentuais, com 33 e 30% respetivamente. Neste estudo, a distribuição dos indecisos é feita de acordo com a inclinação política que demonstram ter noutras perguntas do questionário e não proporcionalmente.

O Chega ficaria com 17%, a IL com 4%, o Bloco de Esquerda e a CDU 3%, e o Livre e PAN com 2%."
"Distribuindo os indecisos, que nesta altura são 16%, AD e PS estão separados por apenas três pontos percentuais, com 33 e 30% respetivamente. Neste estudo, a distribuição dos indecisos é feita de acordo com a inclinação política que demonstram ter noutras perguntas do questionário e não proporcionalmente.

O Chega ficaria com 17%, a IL com 4%, o Bloco de Esquerda e a CDU 3%, e o Livre e PAN com 2%."
[47°09′13″S, 126°43′55″W] Reading: 0.40 Sv
logos ao estilo dos 90s, vejam lá se não vos puxa à lágrima

o autor é Kostya Petrenko ![sequência de logos de empresas contemporâneas (Google, Instagram, etc) num estilo alternativo dos anos 90](https://media.ciberlandia.pt/ciberlandia-media/media_attachments/files/113/918/125/339/377/466/original/7d5228df850b1823.mp4)
logos ao estilo dos 90s, vejam lá se não vos puxa à lágrima

o autor é Kostya Petrenko ![sequência de logos de empresas contemporâneas (Google, Instagram, etc) num estilo alternativo dos anos 90](https://media.ciberlandia.pt/ciberlandia-media/media_attachments/files/113/918/125/339/377/466/original/7d5228df850b1823.mp4)
logos ao estilo dos 90s, vejam lá se não vos puxa à lágrima

o autor é Kostya Petrenko ![sequência de logos de empresas contemporâneas (Google, Instagram, etc) num estilo alternativo dos anos 90](https://media.ciberlandia.pt/ciberlandia-media/media_attachments/files/113/918/125/339/377/466/original/7d5228df850b1823.mp4)
@movq Thanks this is good to digest 👌
@movq Thanks this is good to digest 👌
Rats! @aelaraji, you need an emergency hamster and a wheel attached to a bicycle dynamo…

Fingers crossed that this doesn't happen a third time today.
@prologic I know the feeling. 😅
@prologic I know the feeling. 😅
@prologic I know the feeling. 😅
@prologic I know the feeling. 😅
@prologic Hmm, my workflow looks like this:

- My public server receives mail.
- Either my desktop PC or my laptop fetches new mail (via mpop) into a maildir.
- That maildir gets synced to other machines via unison (I used Git for that purpose for 13 years, unison is a bit faster).

Sending mail works similarly:

- One of my machines sends mail (via msmtp) and stores it in the maildir.
- unison syncs that to other machines.

What I like about that is that I don’t have to keep the mail files on my server. If my server crashes (never happened so far), I can upload a new blank OpenBSD image and use config management to set it up. I actually don’t make backups of my mailserver/webserver. 😅

Regarding IMAP, well, I don’t actively dislike it (other than our server at work being very, very slow, but that’s probably not IMAP’s fault). It’s more that I don’t have a need for it. 🤔
@prologic Hmm, my workflow looks like this:

- My public server receives mail.
- Either my desktop PC or my laptop fetches new mail (via mpop) into a maildir.
- That maildir gets synced to other machines via unison (I used Git for that purpose for 13 years, unison is a bit faster).

Sending mail works similarly:

- One of my machines sends mail (via msmtp) and stores it in the maildir.
- unison syncs that to other machines.

What I like about that is that I don’t have to keep the mail files on my server. If my server crashes (never happened so far), I can upload a new blank OpenBSD image and use config management to set it up. I actually don’t make backups of my mailserver/webserver. 😅

Regarding IMAP, well, I don’t actively dislike it (other than our server at work being very, very slow, but that’s probably not IMAP’s fault). It’s more that I don’t have a need for it. 🤔
@prologic Hmm, my workflow looks like this:

- My public server receives mail.
- Either my desktop PC or my laptop fetches new mail (via mpop) into a maildir.
- That maildir gets synced to other machines via unison (I used Git for that purpose for 13 years, unison is a bit faster).

Sending mail works similarly:

- One of my machines sends mail (via msmtp) and stores it in the maildir.
- unison syncs that to other machines.

What I like about that is that I don’t have to keep the mail files on my server. If my server crashes (never happened so far), I can upload a new blank OpenBSD image and use config management to set it up. I actually don’t make backups of my mailserver/webserver. 😅

Regarding IMAP, well, I don’t actively dislike it (other than our server at work being very, very slow, but that’s probably not IMAP’s fault). It’s more that I don’t have a need for it. 🤔
@prologic Hmm, my workflow looks like this:

- My public server receives mail.
- Either my desktop PC or my laptop fetches new mail (via mpop) into a maildir.
- That maildir gets synced to other machines via unison (I used Git for that purpose for 13 years, unison is a bit faster).

Sending mail works similarly:

- One of my machines sends mail (via msmtp) and stores it in the maildir.
- unison syncs that to other machines.

What I like about that is that I don’t have to keep the mail files on my server. If my server crashes (never happened so far), I can upload a new blank OpenBSD image and use config management to set it up. I actually don’t make backups of my mailserver/webserver. 😅

Regarding IMAP, well, I don’t actively dislike it (other than our server at work being very, very slow, but that’s probably not IMAP’s fault). It’s more that I don’t have a need for it. 🤔
@arne Manchmal HASSE ich TYPO3! 💩
If people just wrote error free code to begin with, there would be no need for error handling! :-P

No, honestly, I don't think that there is anything wrong with the current approach. I don't see any wins of any of the proposals I've come across.
PS: Please forgive me. I'm just being a really grumpy bastarda the last couple of days. I'm really not having a lot of fun this past week 😢
PS: Please forgive me. I'm just being a really grumpy bastarda the last couple of days. I'm really not having a lot of fun this past week 😢
@xuu And you're right, it only really saves a single line. I think I've even commented on a similar discussion a few years ago as well where I showed concretely the abrustdity of the community wanting to change this. If I recall, the whole pattern of:


if err != nil {
    ...
}


basically accounts for <1-3% of your codebase in the first place.

The entire thing (_fuss_) is really just pathetic IMO.
@xuu And you're right, it only really saves a single line. I think I've even commented on a similar discussion a few years ago as well where I showed concretely the abrustdity of the community wanting to change this. If I recall, the whole pattern of:


if err != nil {
    ...
}


basically accounts for <1-3% of your codebase in the first place.

The entire thing (_fuss_) is really just pathetic IMO.
@xuu I'm not necessarily saying it is to be bluntly honest. But it's far better than this ? garbage. I don't want to be rude, but honestly wtf is wrong with people and making languages harder to read?! 🤦‍♂️
@xuu I'm not necessarily saying it is to be bluntly honest. But it's far better than this ? garbage. I don't want to be rude, but honestly wtf is wrong with people and making languages harder to read?! 🤦‍♂️
hmm this would convert down to:

var f os.File
if f, e = os.Open("foo.txt"); e != nil {
    log.Fatal("error opening file; %s", e)
}


im not sure if its much better.
I want to propose my own counter-proposal to the discussion that's ongoing with Go and error handling.

Here it is: https://docs.mills.io/ix4qDHMnQUSPxZ5tXz12Vg?view

It's very rough and needs much more work, but essentially I want to propose the following change to the language's grammar:


f := os.Open("foo.txt") or (e error) {
    log.Fatal("error opening file; %s", e)
}
I want to propose my own counter-proposal to the discussion that's ongoing with Go and error handling.

Here it is: https://docs.mills.io/ix4qDHMnQUSPxZ5tXz12Vg?view

It's very rough and needs much more work, but essentially I want to propose the following change to the language's grammar:


f := os.Open("foo.txt") or (e error) {
    log.Fatal("error opening file; %s", e)
}
Second power outage since this morning! yeeeey 🥳 I'm not mad at all ... not even a little bit. might end up throwing a monitor out tha window for sports, but no, it doesn't mean that I'm mad... Nooooo, we're all Gucci over here 🧟
Second power outage since this morning! yeeeey 🥳 I'm not mad at all ... not even a little bit. might end up throwing a monitor out tha window for sports, but no, it doesn't mean that I'm mad... Nooooo, we're all Gucci over here 🧟
Não seja barvo, viaje connosco! Camioneta de uma empresa chamada Balerma
Não seja barvo, viaje connosco! Camioneta de uma empresa chamada Balerma
Não seja barvo, viaje connosco! Camioneta de uma empresa chamada Balerma
@skinshafi Haha 😆
@skinshafi Haha 😆
@prologic I've been told people are scared of following this feed 🤣
Pinellas County - 3 mile run: 3.16 miles, 00:09:07 average pace, 00:28:50 duration

#running
Pinellas County - 3 mile run: 3.16 miles, 00:09:07 average pace, 00:28:50 duration

#running
Pinellas County - 3 mile run: 3.16 miles, 00:09:07 average pace, 00:28:50 duration

#running
[47°09′28″S, 126°43′28″W] Transfer aborted
🕯️😰
🕯️😰
For many years I have found Flask to be too basic a tool for modern development. But since I create APIs using Flask with Pydantic to validate the input data, some middlewares for parsing and Blueprint to separate the code into modules... I must admit that I am super comfortable, fast and easy to test.
#flask #python #pydantic
For many years I have found Flask to be too basic a tool for modern development. But since I create APIs using Flask with Pydantic to validate the input data, some middlewares for parsing and Blueprint to separate the code into modules... I must admit that I am super comfortable, fast and easy to test.
#flask #python #pydantic
Me: "this year I'll buy less records, one per month will be quite enough"

Also me: 273 items in wishlist

#music
Me: "this year I'll buy less records, one per month will be quite enough"

Also me: 273 items in wishlist

#music
#musiquinta de #piano, deixo-vos com #Ashram, aqui com um vídeo dq última vez que os vi ao vivo

https://youtu.be/Iuf3DMaXi4E
#musiquinta de #piano, deixo-vos com #Ashram, aqui com um vídeo dq última vez que os vi ao vivo

https://youtu.be/Iuf3DMaXi4E
Visto hoje na SIC, #sondagem #ptpol.
Pelos vistos o pessoal está contente com aquilo que temos... e eu só abano a cabeça. AD 26%, PS 24%, CH 14%, IL 3%, CDU 2%, BE 2%, L 2%, PAN 1%, OUTROS 1% Brancos/Nulos 2%; NS 16%; Não Votaria 6%
Visto hoje na SIC, #sondagem #ptpol.
Pelos vistos o pessoal está contente com aquilo que temos... e eu só abano a cabeça. AD 26%, PS 24%, CH 14%, IL 3%, CDU 2%, BE 2%, L 2%, PAN 1%, OUTROS 1% Brancos/Nulos 2%; NS 16%; Não Votaria 6%
[47°09′12″S, 126°43′25″W] Carrier too weak
> The purpose of this paper is to characterize simple sabotage, to outline its possible effects, and to present suggestions for inciting and executing it.
>
> Sabotage varies from highly technical coup de main acts that require detailed planning and the use of specially-trained operatives, to innumerable simple acts which the ordinary individual citizen-saboteur can perform. This paper is primarily concerned with the latter type. Simple sabotage does not require specially prepared tools or equipment; it is executed by an ordinary citizen who may or may not act individually and without the necessity for active connection with an organized group; and it is carried out in such a way as to involve a minimum danger of injury, detection, and reprisal.
> The purpose of this paper is to characterize simple sabotage, to outline its possible effects, and to present suggestions for inciting and executing it.
>
> Sabotage varies from highly technical coup de main acts that require detailed planning and the use of specially-trained operatives, to innumerable simple acts which the ordinary individual citizen-saboteur can perform. This paper is primarily concerned with the latter type. Simple sabotage does not require specially prepared tools or equipment; it is executed by an ordinary citizen who may or may not act individually and without the necessity for active connection with an organized group; and it is carried out in such a way as to involve a minimum danger of injury, detection, and reprisal.
You scared me! 🤣
You scared me! 🤣
@skinshafi Argggg! 😱
@skinshafi Argggg! 😱
Bo! 👻
General is "peoples". Our community want replies and reactions minimum. Currently used Telegram+Matrix (most on Telegram and me from bridge)
[47°09′01″S, 126°43′46″W] Waiting for carrier
yes it is! although, I've only used it to send files and links back and fourth between devices xD none of my relatives wanted to give it a try, which is kinda fair enough (I wouldn't use WhatsApp if they asked) xD
yes it is! although, I've only used it to send files and links back and fourth between devices xD none of my relatives wanted to give it a try, which is kinda fair enough (I wouldn't use WhatsApp if they asked) xD
@doesnm.p.psf.lt Huh? 🤔 I'm curious to what other features you'd want from a messaging app! Also, you can easily send in a couple of feature requests, the dev is pretty receptive 👌
@doesnm.p.psf.lt Huh? 🤔 I'm curious to what other features you'd want from a messaging app! Also, you can easily send in a couple of feature requests, the dev is pretty receptive 👌
Just leaving this book here for no reason 🤫

https://www.gutenberg.org/ebooks/26184
Everybody wants to save the Earth; nobody wants to to help Mom do the dishes. - PJ ORourke, All The Trouble In The World #quotes
This video is alway great to revisit: https://www.youtube.com/embed/b5AkIfgioA4
Gopher Farm: Like Animal Farm, but more succinct.
@movq Interesting... 🧐 Can you elaborate on why and your workflows? 🙏

> I’m not a fan of IMAP (I don’t want my server to create/keep data)
@movq Interesting... 🧐 Can you elaborate on why and your workflows? 🙏

> I’m not a fan of IMAP (I don’t want my server to create/keep data)
@lyse Ita a terrible operator that makes code hard
Yo read as @kat difhtidu points out 😆
@lyse Ita a terrible operator that makes code hard
Yo read as @kat difhtidu points out 😆
So glad I decided to move my project's off GitHub 🤣
So glad I decided to move my project's off GitHub 🤣
🧮 USERS:1 FEEDS:2 TWTS:1232 ARCHIVED:84461 CACHE:2822 FOLLOWERS:18 FOLLOWING:14
Oh the ****ing irony 🤣 with all the IP infringement AI models usually do, and the companies are like "nothing to see here"!****
Reading “Man’s search for meaning” by Viktor E. Frankl
Reading “Man’s search for meaning” by Viktor E. Frankl
Archivez les photos de votre photophone android avec syncthing ! https://3r1c.net/doc/html/2025-01-18-archive-photo-android-syncthing.html
Archivez les photos de votre photophone android avec syncthing ! https://3r1c.net/doc/html/2025-01-18-archive-photo-android-syncthing.html
@arne Operation geglückt, Patient tot - oder so. Die nächsten Tage dann die Aufräumarbeiten. 😒
[47°09′04″S, 126°43′38″W] Bad satellite signal -- switching to analog communication
Yet another internet outage. Getting more and more of those. 😒
Yet another internet outage. Getting more and more of those. 😒
Yet another internet outage. Getting more and more of those. 😒
Yet another internet outage. Getting more and more of those. 😒