# 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 15607
# self = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=11906
# next = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=12006
# prev = https://watcher.sour.is?uri=https://www.uninformativ.de/twtxt.txt&offset=11806
This morning’s task: Making the thumbnails in my blog compatible with IBM WebExplorer 1.0 on OS/2 Warp 3. 🤪

Before:

https://movq.de/v/b7443c8873/a.jpg

After:

https://movq.de/v/b7443c8873/b.jpg

And the fix was using -define jpeg:sampling-factor=2x1 when creating the thumbnails using ImageMagick.

I’m not really sure, though, what’s going on. 🤔

More context: https://tilde.zone/@movq/112981572946464025
This morning’s task: Making the thumbnails in my blog compatible with IBM WebExplorer 1.0 on OS/2 Warp 3. 🤪

Before:

https://movq.de/v/b7443c8873/a.jpg

After:

https://movq.de/v/b7443c8873/b.jpg

And the fix was using -define jpeg:sampling-factor=2x1 when creating the thumbnails using ImageMagick.

I’m not really sure, though, what’s going on. 🤔

More context: https://tilde.zone/@movq/112981572946464025
This morning’s task: Making the thumbnails in my blog compatible with IBM WebExplorer 1.0 on OS/2 Warp 3. 🤪

Before:

https://movq.de/v/b7443c8873/a.jpg

After:

https://movq.de/v/b7443c8873/b.jpg

And the fix was using -define jpeg:sampling-factor=2x1 when creating the thumbnails using ImageMagick.

I’m not really sure, though, what’s going on. 🤔

More context: https://tilde.zone/@movq/112981572946464025
(This is probably the first time I’ve seen the word “confluence” being used outside of an Atlassian-related context. 🥴)
(This is probably the first time I’ve seen the word “confluence” being used outside of an Atlassian-related context. 🥴)
(This is probably the first time I’ve seen the word “confluence” being used outside of an Atlassian-related context. 🥴)
(This is probably the first time I’ve seen the word “confluence” being used outside of an Atlassian-related context. 🥴)
@xuu Which account, the “normal” Facebook one? 🤔

(Regarding Musk: He bought Twitter, ruined it and people mass-migrated to Mastodon. So let’s let him buy Meta and do the same thing! 🤪)
@xuu Which account, the “normal” Facebook one? 🤔

(Regarding Musk: He bought Twitter, ruined it and people mass-migrated to Mastodon. So let’s let him buy Meta and do the same thing! 🤪)
@xuu Which account, the “normal” Facebook one? 🤔

(Regarding Musk: He bought Twitter, ruined it and people mass-migrated to Mastodon. So let’s let him buy Meta and do the same thing! 🤪)
@xuu Which account, the “normal” Facebook one? 🤔

(Regarding Musk: He bought Twitter, ruined it and people mass-migrated to Mastodon. So let’s let him buy Meta and do the same thing! 🤪)
@prologic I guess I’m more “strict” than you are, probably. DNS queries tell me very little about which data is actually sent to those servers.

On the other hand, this is probably a reasonable argument: The vast majority of users have no idea what a DNS query even is (and they don’t care to begin with), so trying to hide something here is probably not worth the effort for Google/Apple. This would make filtering DNS requests more meaningful after all.

(But you can’t be sure and that is driving me nuts. I don’t want to deal with this in the first place.)
@prologic I guess I’m more “strict” than you are, probably. DNS queries tell me very little about which data is actually sent to those servers.

On the other hand, this is probably a reasonable argument: The vast majority of users have no idea what a DNS query even is (and they don’t care to begin with), so trying to hide something here is probably not worth the effort for Google/Apple. This would make filtering DNS requests more meaningful after all.

(But you can’t be sure and that is driving me nuts. I don’t want to deal with this in the first place.)
@prologic I guess I’m more “strict” than you are, probably. DNS queries tell me very little about which data is actually sent to those servers.

On the other hand, this is probably a reasonable argument: The vast majority of users have no idea what a DNS query even is (and they don’t care to begin with), so trying to hide something here is probably not worth the effort for Google/Apple. This would make filtering DNS requests more meaningful after all.

(But you can’t be sure and that is driving me nuts. I don’t want to deal with this in the first place.)
@prologic I guess I’m more “strict” than you are, probably. DNS queries tell me very little about which data is actually sent to those servers.

On the other hand, this is probably a reasonable argument: The vast majority of users have no idea what a DNS query even is (and they don’t care to begin with), so trying to hide something here is probably not worth the effort for Google/Apple. This would make filtering DNS requests more meaningful after all.

(But you can’t be sure and that is driving me nuts. I don’t want to deal with this in the first place.)
@prologic Yeah, this whole thing of pre-installed third-party apps doesn’t exist on the iPhone. So that appears to be a bit better. You’re still sharing data with Apple and it’s next to impossible to tell what exactly the device does or does not do (just like with Android). If you can’t easily install your own OS, then it’s a lost cause.

Best you can do with any of these devices is disconnect them from the Internet.
@prologic Yeah, this whole thing of pre-installed third-party apps doesn’t exist on the iPhone. So that appears to be a bit better. You’re still sharing data with Apple and it’s next to impossible to tell what exactly the device does or does not do (just like with Android). If you can’t easily install your own OS, then it’s a lost cause.

Best you can do with any of these devices is disconnect them from the Internet.
@prologic Yeah, this whole thing of pre-installed third-party apps doesn’t exist on the iPhone. So that appears to be a bit better. You’re still sharing data with Apple and it’s next to impossible to tell what exactly the device does or does not do (just like with Android). If you can’t easily install your own OS, then it’s a lost cause.

Best you can do with any of these devices is disconnect them from the Internet.
@prologic Yeah, this whole thing of pre-installed third-party apps doesn’t exist on the iPhone. So that appears to be a bit better. You’re still sharing data with Apple and it’s next to impossible to tell what exactly the device does or does not do (just like with Android). If you can’t easily install your own OS, then it’s a lost cause.

Best you can do with any of these devices is disconnect them from the Internet.
@prologic I guess any Android phone is like that, except maybe for the Google Pixel stuff. It’s a shit ecosystem. And so is the iPhone world. It’s all proprietary garbage.
@prologic I guess any Android phone is like that, except maybe for the Google Pixel stuff. It’s a shit ecosystem. And so is the iPhone world. It’s all proprietary garbage.
@prologic I guess any Android phone is like that, except maybe for the Google Pixel stuff. It’s a shit ecosystem. And so is the iPhone world. It’s all proprietary garbage.
@prologic I guess any Android phone is like that, except maybe for the Google Pixel stuff. It’s a shit ecosystem. And so is the iPhone world. It’s all proprietary garbage.
@lyse They’re just playing and having fun right? 🤪
@lyse They’re just playing and having fun right? 🤪
@lyse They’re just playing and having fun right? 🤪
@lyse They’re just playing and having fun right? 🤪
@prologic Whoohoo! 🥳 (Table tennis, I guess?)
@prologic Whoohoo! 🥳 (Table tennis, I guess?)
@prologic Whoohoo! 🥳 (Table tennis, I guess?)
@prologic Whoohoo! 🥳 (Table tennis, I guess?)
Just realized that phone came with a bunch of “hidden” Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to “fight” WhatsApp is pointless anyway. 🤪

… and then people call me a “luddite”. 🤣🖕
Just realized that phone came with a bunch of “hidden” Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to “fight” WhatsApp is pointless anyway. 🤪

… and then people call me a “luddite”. 🤣🖕
Just realized that phone came with a bunch of “hidden” Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to “fight” WhatsApp is pointless anyway. 🤪

… and then people call me a “luddite”. 🤣🖕
Just realized that phone came with a bunch of “hidden” Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to “fight” WhatsApp is pointless anyway. 🤪

… and then people call me a “luddite”. 🤣🖕
@stigatle Oh, I know that feeling all too well. Go for it! ✌️

Also:

https://movq.de/v/8cdad1ae3a/s.png

😅
@stigatle Oh, I know that feeling all too well. Go for it! ✌️

Also:

https://movq.de/v/8cdad1ae3a/s.png

😅
@stigatle Oh, I know that feeling all too well. Go for it! ✌️

Also:

https://movq.de/v/8cdad1ae3a/s.png

😅
@stigatle Oh, I know that feeling all too well. Go for it! ✌️

Also:

https://movq.de/v/8cdad1ae3a/s.png

😅
@bender Sigh. 🫤 Elon Musk should buy Meta. Problem solved. 🤣
@bender Sigh. 🫤 Elon Musk should buy Meta. Problem solved. 🤣
@bender Sigh. 🫤 Elon Musk should buy Meta. Problem solved. 🤣
@bender Sigh. 🫤 Elon Musk should buy Meta. Problem solved. 🤣
WhatsApp locked me out of my test account for violating their TOS. Huh? I hardly even used it? Or is that the violation – not immediately feeding them with all available data about my private life? 🤣
WhatsApp locked me out of my test account for violating their TOS. Huh? I hardly even used it? Or is that the violation – not immediately feeding them with all available data about my private life? 🤣
WhatsApp locked me out of my test account for violating their TOS. Huh? I hardly even used it? Or is that the violation – not immediately feeding them with all available data about my private life? 🤣
WhatsApp locked me out of my test account for violating their TOS. Huh? I hardly even used it? Or is that the violation – not immediately feeding them with all available data about my private life? 🤣
@prologic Yeah, that is part of the problem. Bash is so dominant on Linux, it’s hard to avoid. When I use #!/bin/sh, it still gets me a Bash that does NOT enter strict POSIX mode. 🫤 The script below uses Bashisms and requests #!/bin/sh but still runs happily …

#!/bin/sh

foo=1

if [[ "$foo" == 1 ]]
then
echo match
fi=
@prologic Yeah, that is part of the problem. Bash is so dominant on Linux, it’s hard to avoid. When I use #!/bin/sh, it still gets me a Bash that does NOT enter strict POSIX mode. 🫤 The script below uses Bashisms and requests #!/bin/sh but still runs happily …

#!/bin/sh

foo=1

if [[ "$foo" == 1 ]]
then
echo match
fi=
@prologic Yeah, that is part of the problem. Bash is so dominant on Linux, it’s hard to avoid. When I use #!/bin/sh, it still gets me a Bash that does NOT enter strict POSIX mode. 🫤 The script below uses Bashisms and requests #!/bin/sh but still runs happily …

#!/bin/sh

foo=1

if [[ "$foo" == 1 ]]
then
echo match
fi=
@prologic Yeah, that is part of the problem. Bash is so dominant on Linux, it’s hard to avoid. When I use #!/bin/sh, it still gets me a Bash that does NOT enter strict POSIX mode. 🫤 The script below uses Bashisms and requests #!/bin/sh but still runs happily …

#!/bin/sh

foo=1

if \n]
then
echo match
fi=
@prologic Yeah, that is part of the problem. Bash is so dominant on Linux, it’s hard to avoid. When I use #!/bin/sh, it still gets me a Bash that does NOT enter strict POSIX mode. 🫤 The script below uses Bashisms and requests #!/bin/sh but still runs happily …

#!/bin/sh

foo=1

if [[ "$foo" == 1 ]]
then
echo match
fi=
They promised rain. I ain’t seeing any rain so far. 🫤
They promised rain. I ain’t seeing any rain so far. 🫤
They promised rain. I ain’t seeing any rain so far. 🫤
They promised rain. I ain’t seeing any rain so far. 🫤
@rrraksamam *So* ready for winter. 🥵
@rrraksamam *So* ready for winter. 🥵
@rrraksamam *So* ready for winter. 🥵
@rrraksamam *So* ready for winter. 🥵
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ "foo" -eq "bar" ]]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ foo -eq bar ]]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if \n]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if \n]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if \n]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if \n]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ "foo" -eq "bar" ]]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ foo -eq bar ]]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ "foo" -eq "bar" ]]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ foo -eq bar ]]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ "foo" -eq "bar" ]]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ foo -eq bar ]]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@falsifian Exactly! 🥳

So this works:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ "foo" -eq "bar" ]]; then echo it matches; fi'
it matches

Without the misleading quotes:

$ bash -c 'set -u; bar=1; foo=$bar; if [[ foo -eq bar ]]; then echo it matches; fi'
it matches

As does this:

$ bash -c 'set -u; bar=1; foo=$bar; if (( foo bar )); then echo it matches; fi'
it matches

What the person originally meant was what bender said:

$ bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
it matches

It’s all rather easy once you’ve understood it … but the initial error message of the initial version can be quite unexpected.=
@bender So far, so good! And why did it complain about bar being a variable?
@bender So far, so good! And why did it complain about bar being a variable?
@bender So far, so good! And why did it complain about bar being a variable?
@bender So far, so good! And why did it complain about bar being a variable?
I love shell scripts because they’re so pragmatic and often allow me to get jobs done really quickly.

But sadly they’re full of pitfalls. Pitfalls everywhere you look.

Today, a coworker – who’s highly skilled, not a newbie by any means – ran into this:

$ bash -c 'set -u; foo=bar; if \n]; then echo it matches; fi'
bash: line 1: bar: unbound variable

Why’s that happening? I know the answer. Do you? 😂

Stuff like that made me stop using shell scripts at work, unless they’re just 4 or 5 lines of absolutely trivial code. It’s now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.=
I love shell scripts because they’re so pragmatic and often allow me to get jobs done really quickly.

But sadly they’re full of pitfalls. Pitfalls everywhere you look.

Today, a coworker – who’s highly skilled, not a newbie by any means – ran into this:

$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable

Why’s that happening? I know the answer. Do you? 😂

Stuff like that made me stop using shell scripts at work, unless they’re just 4 or 5 lines of absolutely trivial code. It’s now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.=
I love shell scripts because they’re so pragmatic and often allow me to get jobs done really quickly.

But sadly they’re full of pitfalls. Pitfalls everywhere you look.

Today, a coworker – who’s highly skilled, not a newbie by any means – ran into this:

$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable

Why’s that happening? I know the answer. Do you? 😂

Stuff like that made me stop using shell scripts at work, unless they’re just 4 or 5 lines of absolutely trivial code. It’s now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.=
I love shell scripts because they’re so pragmatic and often allow me to get jobs done really quickly.

But sadly they’re full of pitfalls. Pitfalls everywhere you look.

Today, a coworker – who’s highly skilled, not a newbie by any means – ran into this:

$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable

Why’s that happening? I know the answer. Do you? 😂

Stuff like that made me stop using shell scripts at work, unless they’re just 4 or 5 lines of absolutely trivial code. It’s now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.=
I love shell scripts because they’re so pragmatic and often allow me to get jobs done really quickly.

But sadly they’re full of pitfalls. Pitfalls everywhere you look.

Today, a coworker – who’s highly skilled, not a newbie by any means – ran into this:

$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable

Why’s that happening? I know the answer. Do you? 😂

Stuff like that made me stop using shell scripts at work, unless they’re just 4 or 5 lines of absolutely trivial code. It’s now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.=
@lyse Neato! Too bad they’re in the northern sky. Can’t see that from my bedroom. 😂
@lyse Neato! Too bad they’re in the northern sky. Can’t see that from my bedroom. 😂
@lyse Neato! Too bad they’re in the northern sky. Can’t see that from my bedroom. 😂
@lyse Neato! Too bad they’re in the northern sky. Can’t see that from my bedroom. 😂
@johanbove Allegedly it’s supposed to cool down mid-week, yeah. If we consider ~28°C “cool”, that is. 😅

Fan = Miefquirl. 😏~=
@johanbove Allegedly it’s supposed to cool down mid-week, yeah. If we consider ~28°C “cool”, that is. 😅

Fan = Miefquirl. 😏~=
@johanbove Allegedly it’s supposed to cool down mid-week, yeah. If we consider ~28°C “cool”, that is. 😅

Fan = Miefquirl. 😏~=
@johanbove Allegedly it’s supposed to cool down mid-week, yeah. If we consider ~28°C “cool”, that is. 😅

Fan = Miefquirl. 😏~=
@prologic 35°C outside. 🫤 I’m just gonna sit here and wait for November. 😂
@prologic 35°C outside. 🫤 I’m just gonna sit here and wait for November. 😂
@prologic 35°C outside. 🫤 I’m just gonna sit here and wait for November. 😂
@prologic 35°C outside. 🫤 I’m just gonna sit here and wait for November. 😂
It is too hot to think. 🥵
It is too hot to think. 🥵
It is too hot to think. 🥵
It is too hot to think. 🥵
@off_grid_living @prologic Ahh, too bad that program is gone. I would have loved to see that. 🤯
@off_grid_living @prologic Ahh, too bad that program is gone. I would have loved to see that. 🤯
@off_grid_living @prologic Ahh, too bad that program is gone. I would have loved to see that. 🤯
@off_grid_living @prologic Ahh, too bad that program is gone. I would have loved to see that. 🤯
@stigatle That’s all on Windows, I guess? It does sound really interesting/tempting, though. 😲 I’ve only briefly toyed with a coworkers VR thingy ~10 years ago and it was rather clunky back then. That probably has improved a lot.~
@stigatle That’s all on Windows, I guess? It does sound really interesting/tempting, though. 😲 I’ve only briefly toyed with a coworkers VR thingy ~10 years ago and it was rather clunky back then. That probably has improved a lot.~
@stigatle That’s all on Windows, I guess? It does sound really interesting/tempting, though. 😲 I’ve only briefly toyed with a coworkers VR thingy ~10 years ago and it was rather clunky back then. That probably has improved a lot.~
@stigatle That’s all on Windows, I guess? It does sound really interesting/tempting, though. 😲 I’ve only briefly toyed with a coworkers VR thingy ~10 years ago and it was rather clunky back then. That probably has improved a lot.~
@stigatle @prologic VR, really? You have one of those things? 🤔

@aelaraji Bloody AI stuff! 🤪😂