# 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 15565
# self = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=13006
# next = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=13106
# prev = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=12906
Just tried it: It did indeed crash my Wayland session and, since Wayland compositors are sensitive and critical, it froze all input devices. Only way to recover was to SSH into that machine and reboot it. 🤦
Not sure I’m happy with this.

Take this, for example:

https://codeberg.org/dwl/dwl/src/branch/main/Makefile#L64

The install target of a Wayland compositor uses cp to copy the compiled binary to your bin directory. So, as of Linux 6.11, when you recompile this compositor and reinstall it, it will crash your entire Wayland session. 🧟💀🧟

One way to avoid this crash is to use install instead of cp. install calls unlink() before copying the data, thus avoiding this situation entirely. Not all Makefiles do that, though.
Not sure I’m happy with this.

Take this, for example:

https://codeberg.org/dwl/dwl/src/branch/main/Makefile#L64

The install target of a Wayland compositor uses cp to copy the compiled binary to your bin directory. So, as of Linux 6.11, when you recompile this compositor and reinstall it, it will crash your entire Wayland session. 🧟💀🧟

One way to avoid this crash is to use install instead of cp. install calls unlink() before copying the data, thus avoiding this situation entirely. Not all Makefiles do that, though.
Not sure I’m happy with this.

Take this, for example:

https://codeberg.org/dwl/dwl/src/branch/main/Makefile#L64

The install target of a Wayland compositor uses cp to copy the compiled binary to your bin directory. So, as of Linux 6.11, when you recompile this compositor and reinstall it, it will crash your entire Wayland session. 🧟💀🧟

One way to avoid this crash is to use install instead of cp. install calls unlink() before copying the data, thus avoiding this situation entirely. Not all Makefiles do that, though.
Not sure I’m happy with this.

Take this, for example:

https://codeberg.org/dwl/dwl/src/branch/main/Makefile#L64

The install target of a Wayland compositor uses cp to copy the compiled binary to your bin directory. So, as of Linux 6.11, when you recompile this compositor and reinstall it, it will crash your entire Wayland session. 🧟💀🧟

One way to avoid this crash is to use install instead of cp. install calls unlink() before copying the data, thus avoiding this situation entirely. Not all Makefiles do that, though.
It’s intentional:

- https://lwn.net/Articles/982034/
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a010c412853

> Matching the behavior of most Unix systems, the Linux kernel has traditionally prevented writes to an executable file that is in use by a process somewhere in the system; that is the source of the "text file busy" message that some readers may have seen. This restriction is intended to prevent unpleasant surprises in running programs. Kernel developers have been phasing out this restriction for a few years, mostly because it does not really protect anything. As of 6.11, the kernel will no longer prevent writes to busy executable files; see this changelog for a lot more details.

Hm.
It’s intentional:

- https://lwn.net/Articles/982034/
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a010c412853

> Matching the behavior of most Unix systems, the Linux kernel has traditionally prevented writes to an executable file that is in use by a process somewhere in the system; that is the source of the "text file busy" message that some readers may have seen. This restriction is intended to prevent unpleasant surprises in running programs. Kernel developers have been phasing out this restriction for a few years, mostly because it does not really protect anything. As of 6.11, the kernel will no longer prevent writes to busy executable files; see this changelog for a lot more details.

Hm.
It’s intentional:

- https://lwn.net/Articles/982034/
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a010c412853

> Matching the behavior of most Unix systems, the Linux kernel has traditionally prevented writes to an executable file that is in use by a process somewhere in the system; that is the source of the "text file busy" message that some readers may have seen. This restriction is intended to prevent unpleasant surprises in running programs. Kernel developers have been phasing out this restriction for a few years, mostly because it does not really protect anything. As of 6.11, the kernel will no longer prevent writes to busy executable files; see this changelog for a lot more details.

Hm.
It’s intentional:

- https://lwn.net/Articles/982034/
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a010c412853

> Matching the behavior of most Unix systems, the Linux kernel has traditionally prevented writes to an executable file that is in use by a process somewhere in the system; that is the source of the "text file busy" message that some readers may have seen. This restriction is intended to prevent unpleasant surprises in running programs. Kernel developers have been phasing out this restriction for a few years, mostly because it does not really protect anything. As of 6.11, the kernel will no longer prevent writes to busy executable files; see this changelog for a lot more details.

Hm.
This changed between linux-6.10.10.arch1-1 and linux-6.11.arch1-1 … Don’t have the time now to do a proper bisect. 🫤
This changed between linux-6.10.10.arch1-1 and linux-6.11.arch1-1 … Don’t have the time now to do a proper bisect. 🫤
This changed between linux-6.10.10.arch1-1 and linux-6.11.arch1-1 … Don’t have the time now to do a proper bisect. 🫤
This changed between linux-6.10.10.arch1-1 and linux-6.11.arch1-1 … Don’t have the time now to do a proper bisect. 🫤
@prologic I haven’t narrowed it down yet. I’m running 6.11.4 at the moment.
@prologic I haven’t narrowed it down yet. I’m running 6.11.4 at the moment.
@prologic I haven’t narrowed it down yet. I’m running 6.11.4 at the moment.
@prologic I haven’t narrowed it down yet. I’m running 6.11.4 at the moment.
When you try to change a file that’s currently running, it used to say text file busy. Example:

First terminal:

$ cc -Wall -Wextra -o test test.c
$ cp test run
$ ./run

Second terminal:

$ cp test run
cp: cannot create regular file 'run': Text file busy

But on my machines today, it *crashes* the running program. 🤨 As soon as I run the cp, I get a coredump:

$ ./run
... time passes, I do "cp test run" in a second terminal ...
Bus error (core dumped)

How odd. Another mystery to solve …
When you try to change a file that’s currently running, it used to say text file busy. Example:

First terminal:

$ cc -Wall -Wextra -o test test.c
$ cp test run
$ ./run

Second terminal:

$ cp test run
cp: cannot create regular file 'run': Text file busy

But on my machines today, it *crashes* the running program. 🤨 As soon as I run the cp, I get a coredump:

$ ./run
... time passes, I do "cp test run" in a second terminal ...
Bus error (core dumped)

How odd. Another mystery to solve …
When you try to change a file that’s currently running, it used to say text file busy. Example:

First terminal:

$ cc -Wall -Wextra -o test test.c
$ cp test run
$ ./run

Second terminal:

$ cp test run
cp: cannot create regular file 'run': Text file busy

But on my machines today, it *crashes* the running program. 🤨 As soon as I run the cp, I get a coredump:

$ ./run
... time passes, I do "cp test run" in a second terminal ...
Bus error (core dumped)

How odd. Another mystery to solve …
When you try to change a file that’s currently running, it used to say text file busy. Example:

First terminal:

$ cc -Wall -Wextra -o test test.c
$ cp test run
$ ./run

Second terminal:

$ cp test run
cp: cannot create regular file 'run': Text file busy

But on my machines today, it *crashes* the running program. 🤨 As soon as I run the cp, I get a coredump:

$ ./run
... time passes, I do "cp test run" in a second terminal ...
Bus error (core dumped)

How odd. Another mystery to solve …
You can pry OpenBSD’s httpd + acme-client from my cold dead hands. Set it up years ago and it never failed (unlike all the fancy stuff we tried at work).
You can pry OpenBSD’s httpd + acme-client from my cold dead hands. Set it up years ago and it never failed (unlike all the fancy stuff we tried at work).
You can pry OpenBSD’s httpd + acme-client from my cold dead hands. Set it up years ago and it never failed (unlike all the fancy stuff we tried at work).
You can pry OpenBSD’s httpd + acme-client from my cold dead hands. Set it up years ago and it never failed (unlike all the fancy stuff we tried at work).
@lyse We always had the famous Kaffee und Kuchen around 4pm or even a bit later. 😅 Guess we’re not certified Germans. 😢
@lyse We always had the famous Kaffee und Kuchen around 4pm or even a bit later. 😅 Guess we’re not certified Germans. 😢
@lyse We always had the famous Kaffee und Kuchen around 4pm or even a bit later. 😅 Guess we’re not certified Germans. 😢
@lyse We always had the famous Kaffee und Kuchen around 4pm or even a bit later. 😅 Guess we’re not certified Germans. 😢
This is so funny – and very true. 😃 The ancient German art of complaining: https://youtu.be/FcFmVfAg8V0?t=720
This is so funny – and very true. 😃 The ancient German art of complaining: https://youtu.be/FcFmVfAg8V0?t=720
This is so funny – and very true. 😃 The ancient German art of complaining: https://youtu.be/FcFmVfAg8V0?t=720
This is so funny – and very true. 😃 The ancient German art of complaining: https://youtu.be/FcFmVfAg8V0?t=720
Good job, humans. 🙄 https://movq.de/v/ebebe2801a
Good job, humans. 🙄 https://movq.de/v/ebebe2801a
Good job, humans. 🙄 https://movq.de/v/ebebe2801a
Good job, humans. 🙄 https://movq.de/v/ebebe2801a
@prologic … I guess so, yeah 😂🤪
@prologic … I guess so, yeah 😂🤪
@prologic … I guess so, yeah 😂🤪
@prologic … I guess so, yeah 😂🤪
Speaking of typing, do you know this game? https://zty.pe/
Speaking of typing, do you know this game? https://zty.pe/
Speaking of typing, do you know this game? https://zty.pe/
Speaking of typing, do you know this game? https://zty.pe/
@aelaraji lol 😅 Not crazy fast. People in the office regularly surprise me with their fast typing. According to https://10fastfingers.com/typing-test/german, it’s around 90-ish WPM.

@prologic I know that problem. 😃
@aelaraji lol 😅 Not crazy fast. People in the office regularly surprise me with their fast typing. According to https://10fastfingers.com/typing-test/german, it’s around 90-ish WPM.

@prologic I know that problem. 😃
@aelaraji lol 😅 Not crazy fast. People in the office regularly surprise me with their fast typing. According to https://10fastfingers.com/typing-test/german, it’s around 90-ish WPM.

@prologic I know that problem. 😃
@aelaraji lol 😅 Not crazy fast. People in the office regularly surprise me with their fast typing. According to https://10fastfingers.com/typing-test/german, it’s around 90-ish WPM.

@prologic I know that problem. 😃
@asquare Ahh, so they did have eyes! We also have a couple of moorhens (among others) at our pond: https://movq.de/v/6732d85263/ Number 7 is an adolescent one.
@asquare Ahh, so they did have eyes! We also have a couple of moorhens (among others) at our pond: https://movq.de/v/6732d85263/ Number 7 is an adolescent one.
@asquare Ahh, so they did have eyes! We also have a couple of moorhens (among others) at our pond: https://movq.de/v/6732d85263/ Number 7 is an adolescent one.
@asquare Ahh, so they did have eyes! We also have a couple of moorhens (among others) at our pond: https://movq.de/v/6732d85263/ Number 7 is an adolescent one.
@aelaraji … this made me realize that I don’t really know anymore which commands I use. It’s all muscle memory by now. 🤔
@aelaraji … this made me realize that I don’t really know anymore which commands I use. It’s all muscle memory by now. 🤔
@aelaraji … this made me realize that I don’t really know anymore which commands I use. It’s all muscle memory by now. 🤔
@aelaraji … this made me realize that I don’t really know anymore which commands I use. It’s all muscle memory by now. 🤔
TIL: The word “eldritch”, as in “eldritch horror”, does *not* refer to some small village in England. 🥴 https://www.etymonline.com/word/eldritch
TIL: The word “eldritch”, as in “eldritch horror”, does *not* refer to some small village in England. 🥴 https://www.etymonline.com/word/eldritch
TIL: The word “eldritch”, as in “eldritch horror”, does *not* refer to some small village in England. 🥴 https://www.etymonline.com/word/eldritch
TIL: The word “eldritch”, as in “eldritch horror”, does *not* refer to some small village in England. 🥴 https://www.etymonline.com/word/eldritch
@bender 🤣
@bender 🤣
@bender 🤣
@bender 🤣
(Another weird/funny thing is that I tend to “overload” other people on WhatsApp. I use it on the desktop with a proper keyboard, while they all use cell phones. The end result is me being able to type much more text and much faster, so they all fall behind and can’t really reply properly, because it’s such a huge pain to type on a phone …)
(Another weird/funny thing is that I tend to “overload” other people on WhatsApp. I use it on the desktop with a proper keyboard, while they all use cell phones. The end result is me being able to type much more text and much faster, so they all fall behind and can’t really reply properly, because it’s such a huge pain to type on a phone …)
(Another weird/funny thing is that I tend to “overload” other people on WhatsApp. I use it on the desktop with a proper keyboard, while they all use cell phones. The end result is me being able to type much more text and much faster, so they all fall behind and can’t really reply properly, because it’s such a huge pain to type on a phone …)
(Another weird/funny thing is that I tend to “overload” other people on WhatsApp. I use it on the desktop with a proper keyboard, while they all use cell phones. The end result is me being able to type much more text and much faster, so they all fall behind and can’t really reply properly, because it’s such a huge pain to type on a phone …)
German Techno v2.0:

https://www.youtube.com/watch?v=m4C58lmv1J4

https://www.youtube.com/watch?v=dlFrI8_Orys
German Techno v2.0:

https://www.youtube.com/watch?v=m4C58lmv1J4

https://www.youtube.com/watch?v=dlFrI8_Orys
German Techno v2.0:

https://www.youtube.com/watch?v=m4C58lmv1J4

https://www.youtube.com/watch?v=dlFrI8_Orys
German Techno v2.0:

https://www.youtube.com/watch?v=m4C58lmv1J4

https://www.youtube.com/watch?v=dlFrI8_Orys
@doesnm Never ever heard of that. Does this really exist? 🤔
@doesnm Never ever heard of that. Does this really exist? 🤔
@doesnm Never ever heard of that. Does this really exist? 🤔
@doesnm Never ever heard of that. Does this really exist? 🤔
@bender It’s really popular among the general population, yeah. But luckily no official services (like government stuff or doctors) depend on it – yet.
@bender It’s really popular among the general population, yeah. But luckily no official services (like government stuff or doctors) depend on it – yet.
@bender It’s really popular among the general population, yeah. But luckily no official services (like government stuff or doctors) depend on it – yet.
@bender It’s really popular among the general population, yeah. But luckily no official services (like government stuff or doctors) depend on it – yet.
There’s this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesn’t work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. 🙄~
There’s this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesn’t work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. 🙄~
There’s this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesn’t work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. 🙄~
There’s this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesn’t work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. 🙄~
@prologic What happened *now*? 🥴
@prologic What happened *now*? 🥴
@prologic What happened *now*? 🥴
@prologic What happened *now*? 🥴
@prologic They’re using Gemini, maybe that’s why?
@prologic They’re using Gemini, maybe that’s why?
@prologic They’re using Gemini, maybe that’s why?
@prologic They’re using Gemini, maybe that’s why?
@prologic Apparently not. 🥴

This is the twt of @asquare I’m referring to:

> (#4w3ilsa) @prologic Actually, my twts from the last two days aren't showing up on , so I guess that no-one is following me and the reason my earlier twts did show up is that yarnd does a one-off fetch of any feed -mentioned by a pod member. Comments in the code suggest that this is the case, see internal/server.go, commit 7dcec70e, line 468. As the author of that code, can you confirm/deny?
@prologic Apparently not. 🥴

This is the twt of @asquare I’m referring to:

> (#4w3ilsa) @prologic Actually, my twts from the last two days aren't showing up on , so I guess that no-one is following me and the reason my earlier twts did show up is that yarnd does a one-off fetch of any feed -mentioned by a pod member. Comments in the code suggest that this is the case, see internal/server.go, commit 7dcec70e, line 468. As the author of that code, can you confirm/deny?
@prologic Apparently not. 🥴

This is the twt of @asquare I’m referring to:

> (#4w3ilsa) @prologic Actually, my twts from the last two days aren't showing up on , so I guess that no-one is following me and the reason my earlier twts did show up is that yarnd does a one-off fetch of any feed -mentioned by a pod member. Comments in the code suggest that this is the case, see internal/server.go, commit 7dcec70e, line 468. As the author of that code, can you confirm/deny?
@prologic Apparently not. 🥴

This is the twt of @asquare I’m referring to:

> (#4w3ilsa) @prologic Actually, my twts from the last two days aren't showing up on , so I guess that no-one is following me and the reason my earlier twts did show up is that yarnd does a one-off fetch of any feed -mentioned by a pod member. Comments in the code suggest that this is the case, see internal/server.go, commit 7dcec70e, line 468. As the author of that code, can you confirm/deny?
@asquare (I wonder if that will ever show up without me mentioning you. 😅)
@asquare (I wonder if that will ever show up without me mentioning you. 😅)
@asquare (I wonder if that will ever show up without me mentioning you. 😅)