# 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 196297
# self = https://watcher.sour.is?offset=168138
# next = https://watcher.sour.is?offset=168238
# prev = https://watcher.sour.is?offset=168038
Also, why isn't shellcheck being used here? It would have picked this (contrived) example up?


bar is referenced but not assigned. [SC2154]
Also, why isn't shellcheck being used here? It would have picked this (contrived) example up?


bar is referenced but not assigned. [SC2154]
@movq It did however rain all night here however 🤣 Perhaps they were right afterall, just wrong on the location? 😅
@movq It did however rain all night here however 🤣 Perhaps they were right afterall, just wrong on the location? 😅
What a glorious morning for a public holiday 💪 What shall I do today? Hmmm 🧐
What a glorious morning for a public holiday 💪 What shall I do today? Hmmm 🧐
@movq I'm not looking forward to summer at all 🥵
@movq I'm not looking forward to summer at all 🥵
@lyse Probably used one of the filters? 🤔
@lyse Probably used one of the filters? 🤔
This is why you stick to POSIX sh as @mckinley points out 🤣 Prwtry sure this is a "Bashism" right?
This is why you stick to POSIX sh as @mckinley points out 🤣 Prwtry sure this is a "Bashism" right?
@movq Same here. Nothing. Malicious deception!
[47°09′30″S, 126°43′59″W] Taking samples
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 Haha, no worries. I do like that you enjoyed your real life and not wasted it online. :-)

But I'm wondering how you discovered it a week later. Are you somehow regularly checking complete recent feed histories?
@bender Hahaha, that's a good one! :-D
@bender @movq That's a pity! :-( In the following half an hour, I only saw two more right of Ursa Major (the only constellation I recognize). Let's see how cloudy it actually will get tonight. The forecast to be clear sky between 1 and 3am. But that's a bit late.
@movq Variable names used with -eq in \n] are automatically expanded even without $ as explained in the "ARITHMETIC EVALUATION" section of the bash man page. Interesting. Trying this on OpenBSD's ksh, it seems "set -u" doesn't affect that substitution.
@movq Variable names used with -eq in [[ ]] are automatically expanded even without $ as explained in the "ARITHMETIC EVALUATION" section of the bash man page. Interesting. Trying this on OpenBSD's ksh, it seems "set -u" doesn't affect that substitution.
yeah its the same dude.

This project is verrrry alpha. all the configuration is literally in the code.
yeah its the same dude.

This project is verrrry alpha. all the configuration is literally in the code.
@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?
@movq @bender That's what I thought while reading the code, too. I believe -eq is for numerical comparation only. Weird error message, though. Tells something about the implementation.
@movq it should be:

h
bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
@movq it should be:

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


eq is for numericals.
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.=
[47°09′51″S, 126°43′12″W] 4135 days without news from Herve
It is good to be off work and have time to spend on my personal projects.
It is good to be off work and have time to spend on my personal projects.
@slashdot And we are surprised why? 🤔
@slashdot And we are surprised why? 🤔
@lyse for some reason I didn't see this here on time. Thank you much mate! 😊
Woot! Need to change the nick now to on_grid_living. 😛
Is that from the same guy who made Caddy? Name sounds familiar. It looks neat, let us know what you think of it when you have tried it. 😛
@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. 😂
@bender No bubbles burst 💥 hehe 😝 All good! 👍 I think I was aware of the search results and the lack of interactivity there, artifact of borrowed template code from the search engine 😢 Just need to refactor it to use the same template as the normal timeline, but also support highlights, something it doesn't do now either.
@bender No bubbles burst 💥 hehe 😝 All good! 👍 I think I was aware of the search results and the lack of interactivity there, artifact of borrowed template code from the search engine 😢 Just need to refactor it to use the same template as the normal timeline, but also support highlights, something it doesn't do now either.
Solo en la noche
#catsoftwtxt
Solo en la noche
/https://baldo.cat/media/photos/photo_21313-08-2024_13-06-38.jpg) #catsoftwtxt
Solo en la noche
#catsoftwtxt
Oculto
/https://baldo.cat/media/photos/photo_21213-08-2024_13-06-19.jpg) #catsoftwtxt
Oculto
#catsoftwtxt
Oculto
#catsoftwtxt
@prologic I didn't mean to burst bubbles, by the way 😅. It is a baby step; we just need to refine it.
@bender You are right. I'll have to fix the later for sure, the finding "reading" in "foo-reading" is probably a behavior of the indexing and search library being used. It probably behaves that way.
@bender You are right. I'll have to fix the later for sure, the finding "reading" in "foo-reading" is probably a behavior of the indexing and search library being used. It probably behaves that way.
@lyse I envy you. Our always cloudy sky during summer has allowed me to see the grand total of zero. 😩
@prologic couple of issues. That #reading tag also pulls #now-reading. It shouldn't. Second, I can't reply from the search results. If you click/tap on the tag, and get the list containing it, clicking/tapping reply on one of the results do nothing.
[47°09′34″S, 126°43′53″W] Dosimeter still failing
Base: 6.00 miles, 00:09:43 average pace, 00:58:16 duration
i was suppose to go for another 30 minutes. my energy level is off and i may need to reassess some goals.
#running #treadmill
Base: 6.00 miles, 00:09:43 average pace, 00:58:16 duration
i was suppose to go for another 30 minutes. my energy level is off and i may need to reassess some goals.
#running #treadmill
Base: 6.00 miles, 00:09:43 average pace, 00:58:16 duration
i was suppose to go for another 30 minutes. my energy level is off and i may need to reassess some goals.
#running #treadmill
I like how tags like #reading now actually work correctly on Yarn pods 👌
I like how tags like #reading now actually work correctly on Yarn pods 👌
[47°09′57″S, 126°43′42″W] Dosimeter overflow
[47°09′53″S, 126°43′46″W] Saalmi, retransmit, please
i have a cryptographically verified and deterministic operating system with reproducible builds, but the sound still doesn't work right.
i decided that the only good browser is mullvad-browser, though tor-browser is a close second.
Morphotrophic by Greg Egan is built around an idea for how life on Earth could have worked out differently. It gets increasingly strange and interesting as the story progresses. My partner and I finished it last night and thoroughly enjoyed it. The beginning is free online: https://gregegan.net/MORPHOTROPHIC/00/MorphotrophicExcerpt.html #scifi #reading
🧮 USERS:1 FEEDS:2 TWTS:1060 ARCHIVED:77372 CACHE:2407 FOLLOWERS:17 FOLLOWING:14
Adorava conseguir escrever como este senhor, que torna o comportamento de uma substância perigosa em algo que dá vontade de ler até ao fim

https://www.science.org/content/blog-post/things-i-won-t-work-dimethylcadmium
Adorava conseguir escrever como este senhor, que torna o comportamento de uma substância perigosa em algo que dá vontade de ler até ao fim

https://www.science.org/content/blog-post/things-i-won-t-work-dimethylcadmium
Heck yeah, I already saw three shooting stars in 10 minutes. Perseids are awesome! :-)
[47°09′27″S, 126°43′01″W] Transfer 75% complete...
J'adore le hackberrypi | https://www.minimachines.net/actu/un-hackberrypi-tres-seduisant-sur-une-base-de-pi-zero-2w-129265
J'adore le hackberrypi | https://www.minimachines.net/actu/un-hackberrypi-tres-seduisant-sur-une-base-de-pi-zero-2w-129265
@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. 😏~=
Kinda cool tool for bringing together all your timeline based data across socials.

https://github.com/timelinize/timelinize
Kinda cool tool for bringing together all your timeline based data across socials.

https://github.com/timelinize/timelinize
@movq Ooof that's a bit warm 🥵
@movq Ooof that's a bit warm 🥵
[47°09′17″S, 126°43′02″W] Transfer 50% complete...
@prologic 35°C outside. 🫤 I’m just gonna sit here and wait for November. 😂