# 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=230793
# next = https://watcher.sour.is?offset=230893
# prev = https://watcher.sour.is?offset=230693
Hello from France ! Mac OS9 to browse Gopherspace. Peace for all ;-)
[47°09′08″S, 126°43′19″W] Reading: 1.69 Sv
#FridayReads #bookstodon E.M. Delafield's "The Diary of a Provincial Lady", a collection of her 'Provincial Lady' series
#FridayReads #bookstodon E.M. Delafield's "The Diary of a Provincial Lady", a collection of her 'Provincial Lady' series
Es ist Freitagnachmittag, vor den Winterferien. Was kommt da gelegener als ein teilweiser Ausfall der dienstlichen Netzwerkinfrastruktur? 🕺
@github_blog Only 4 steps you say? Wow! :O
@github_blog Only 4 steps you say? Wow! :O
@github_blog Only 4 steps you way? Wow! :O
@lyse I have no problems with the ternary operator either. If it were added to Go I Wouldn't mind. C has it right? I'd also by happy with if expressions, e.g: if foo ... else bah, but probably doesn't fit the styoe of the Go grammer.

What I absolutely hate is this proposal. Making ? to magical™ things, making the code harder to read and reason about is bonkers.
@lyse I have no problems with the ternary operator either. If it were added to Go I Wouldn't mind. C has it right? I'd also by happy with if expressions, e.g: if foo ... else bah, but probably doesn't fit the styoe of the Go grammer.

What I absolutely hate is this proposal. Making ? to magical™ things, making the code harder to read and reason about is bonkers.
also fuck every GO library that don't even have godocs
now I fucking hate myself for missing out on young love
I think I'm going to move to opentofu
[47°09′16″S, 126°43′48″W] Raw reading: 0x679CBB41, offset +/-5
@lyse Es ist immer noch so ähnlich. Da kommen so viele verschiedene Ebenen innerhalb und außerhalb der TYPO3-Umgebung zusammen, dass man sich wundert.

Und die TYPO3-Core-Entwickler nehmen gefühlt jeden fancy Shice mit, den sie gerade finden. Das reißt dann immer wieder Prozesse ein oder es muss ein gigantischer Aufwand betrieben werden, damit "grundlegende" Funktionen wieder hergestellt werden.
In den Kommentaren ist dann immer nur zu lesen "Tja, Pech. Gibt's nicht mehr. Sei froh, dass wir 'ne undokumentierte Schnittstelle dazu im Code versteckt haben. Bau's dir selbst."
Und der OpenSource-Gedanke ist bei einigen Erweiterungen (die als Quasi-Standard gelten) auch nur noch zu erahnen. Da müssen teilweise Abos abgeschlossen werden, damit einige Funktionen genutzt werden können.

Es wird auf jeden Fall nie langweilig.
😂😂😂
😂😂😂
[47°09′41″S, 126°43′17″W] Reading: 0.18 Sv
[47°09′23″S, 126°43′17″W] Transfer 25% complete...
@thecanine This looks sick as your new Avatar 🙌
@thecanine This looks sick as your new Avatar 🙌
🧮 USERS:1 FEEDS:2 TWTS:1233 ARCHIVED:84508 CACHE:2834 FOLLOWERS:18 FOLLOWING:14
@thecanine That's one of the cool properties, you can use it at whatever frequency you like.
@aelaraji :-D
On my blog: Real Life in Star Trek, Chain of Command, Part 2 https://john.colagioia.net/blog/2025/01/30/chain-command-2.html #scifi #startrek #closereading
@arne Jepp, sehr gute Wahl! :-)
Heute in der Playlist: https://youtu.be/yup8gIXxWDU
@andros Wazzaaaaa... https://www.youtube.com/watch?v=NsJLhRGPv-M

That's my alt-feed by the way! 😉
@andros Wazzaaaaa... https://www.youtube.com/watch?v=NsJLhRGPv-M

That's my alt-feed by the way! 😉
@xuu I think I also ran into CSRF problems with multiple open yarnd tabs in the past.
@xuu Ah, it was JS then. Thanks. :-)
@movq Okay, cool. :-) I'll look at Mutt this year. I have the feeling I might like it after some initial pain.
@lyse The one in question is more like the javascript version for unwrapping errors when accessing methods.

s
 const value = some?.deeply?.nested?.object?.value


but for handling errors returned by methods. So if you wanted to chain a bunch of function calls together and if any error return immediately. It would be something like this:


b:= SomeAPIWithErrorsInAllCalls()
b.DoThing1() ?
b.DoThing2() ?

// Though its not in the threads I assume one could do like this to chain.
b.Chain1()?.Chain2()?.End()?



I am however infavor of having a sort of ternary ? in go.


PS. @prologic for some reason this is eating my response without throwing an error :( I assume it has something to do with the CSRF. Can i not have multiple tabs open with yarn?
[47°09′22″S, 126°43′37″W] Reading: 0.91 Sv
@movq Fingers crossed! :-)
Recovery run: 3.11 miles, 00:11:42 average pace, 00:36:22 duration

#running #treadmill
Recovery run: 3.11 miles, 00:11:42 average pace, 00:36:22 duration

#running #treadmill
Recovery run: 3.11 miles, 00:11:42 average pace, 00:36:22 duration

#running #treadmill
@lyse Yyyyyyyes, but I don’t think/*hope* that’s related. That’s the last thing I need. 😂 I’m hoping it’s just crashed routers at the ISP or something like that.
@lyse Yyyyyyyes, but I don’t think/*hope* that’s related. That’s the last thing I need. 😂 I’m hoping it’s just crashed routers at the ISP or something like that.
@lyse Yyyyyyyes, but I don’t think/*hope* that’s related. That’s the last thing I need. 😂 I’m hoping it’s just crashed routers at the ISP or something like that.
@lyse Yyyyyyyes, but I don’t think/*hope* that’s related. That’s the last thing I need. 😂 I’m hoping it’s just crashed routers at the ISP or something like that.
@lyse Mutt, since … 2008, I think. 😅
@lyse Mutt, since … 2008, I think. 😅
@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
🕯️😰
🕯️😰