# 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 196325
# self = https://watcher.sour.is?offset=147125
# next = https://watcher.sour.is?offset=147225
# prev = https://watcher.sour.is?offset=147025
user/bmallred/data/2023-07-06-06-03-31.fit: 4.03 miles, 00:10:02 average pace, 00:40:26 duration

#running
Question to all you Gophers out there: How do you deal with custom errors that include more information and different kinds of matching them?

I started with a simple var ErrPermissionNotAllowed = errors.New("permission not allowed"). In my function I then wrap that using fmt.Errorf("%w: %v", ErrPermissionNotAllowed, failedPermissions). I can match this error using errors.Is(err, ErrPermissionNotAllowed). So far so good.

Now for display purposes I'd also like to access the individual permissions that could not be assigned. Parsing the error message is obviously not an option. So I thought, I create a custom error type, e.g. type PermissionNotAllowedError []Permission and give it some func (e PermissionNotAllowedError) Error() string { return fmt.Sprintf("permission not allowed: %v", e) }. My function would then return this error instead: PermissionNotAllowedError{failedPermissions}

At some layers I don't care about the exact permissions that failed, but at others I do, at least when accessing them. A custom func (e PermissionNotAllowedError) Is(target err) bool could match both the general ErrPermissionNotAllowed as well as the PermissionNotAllowedError. Same with As(…). For testing purposes the PermissionNotAllowedError would then also try to match the included permissions, so assertions in tests would work nicely. But having two different errors for different matching seems not very elegant at all.

Did you ever encounter this scenario before? How did you address this? Is my thinking flawed?
@prologic At first I thought it was the spiced japanese sauce 🍣, but now I wonder if it is not something else 🤔
@prologic At first I thought it was the spiced japanese sauce 🍣, but now I wonder if it is not something else 🤔
[47°09′21″S, 126°43′15″W] Transfer 50% complete...
[47°09′08″S, 126°43′28″W] Reading: 1.16000 PPM
@movq What is it?
@movq What is it?
@movq What is it?
👋 Hello @serzoqi, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
👋 Hello @serzoqi, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
🧮 USERS:1 FEEDS:2 TWTS:652 ARCHIVED:65338 CACHE:2186 FOLLOWERS:13 FOLLOWING:14
[47°09′30″S, 126°43′52″W] --no signal--
I’m in love with Wasabi.
I’m in love with Wasabi.
I’m in love with Wasabi.
[47°09′21″S, 126°43′12″W] Transponder fixed
Cunts in Tech - A series of totally normal posts from sus.fr https://lien.sus.fr/QPjnC\r
Cunts in Tech - A series of totally normal posts from sus.fr https://lien.sus.fr/QPjnC
Cunts in Tech - A series of totally normal posts from sus.fr https://lien.sus.fr/QPjnC
Cunts in Tech - A series of totally normal posts from sus.fr https://lien.sus.fr/QPjnC
Cunts in Tech - A series of totally normal posts from sus.fr https://lien.sus.fr/QPjnC
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
trying to fit in with Gödelian set theorists by saying “V” when someone does something outrageously stupid
****
Gato 1 - Humano 0 ⌘ Read more****
****
Nota para mis nuevos seguidores: Sois bienvenidos pero si os acercáis a mi comida... ⌘ Read more****
@prologic It's true. I think the key point is to make it 100% clear what your intentions are, so that if there ever *is* a legal case against Google, they cannot credibly pretend not to have known.
[47°09′25″S, 126°43′02″W] Transponder still failing -- switching to analog communication
@abucci There are two problems I can see:

_ Google can basically do whatever they want
- You as a website owner have no legal recourse_
@abucci There are two problems I can see:

_ Google can basically do whatever they want
- You as a website owner have no legal recourse_
@abucci There are two problems I can see:

_ Google can basically do whatever they want
- You as a website owner have no legal recourse_
@prologic That's definitely a concern. I guess it's a way to signal unequivocally that you don't want the page indexed. If they do it anyway, they don't really have an excuse to fall back on--they just blatantly violated your web site's policy.
@marado It's very different. Language models are part if traditional search engines and translation engines. The new policy mentions Cloud AI abd Bard specifically. This is a weird change and probably a good preemptive move as I said previously. I'm not sure why you're downplaying it
I think I just got a first usefull version working!
I think I just got a first usefull version working!
[47°09′29″S, 126°43′32″W] Transponder malfunction
@abucci Yes this has me very worried about the use of the unencrypted web 🤔
@abucci Yes this has me very worried about the use of the unencrypted web 🤔
@abucci Yes this has me very worried about the use of the unencrypted web 🤔
@abucci You're assuming Google will respect the nofollow,noindex instruction? 🤔
@abucci You're assuming Google will respect the nofollow,noindex instruction? 🤔
@abucci You're assuming Google will respect the nofollow,noindex instruction? 🤔
[47°09′22″S, 126°43′12″W] --interrupted--
🧮 USERS:1 FEEDS:2 TWTS:651 ARCHIVED:65333 CACHE:2182 FOLLOWERS:13 FOLLOWING:14
@abucci where they now say they use it to train their AI models thry used to say "for language models", which isn't all that different (possibly extending the scope from text to images, audio and video?).
If you're in the U.S., happy Fourth of July!
@eapl Pueden ser todos?? xD :P
@stigatle Looks lovely threatening. :-)
@movq Holy cow, great technique!
[47°09′44″S, 126°43′22″W] Reading: 0.54000 PPM
@movq Beautiful 😍
It actually works … 😆 https://movq.de/v/45655105fe/bouncing-bow.ogg Requires more finesse, obviously, but you get the idea …
It actually works … 😆 https://movq.de/v/45655105fe/bouncing-bow.ogg Requires more finesse, obviously, but you get the idea …
It actually works … 😆 https://movq.de/v/45655105fe/bouncing-bow.ogg Requires more finesse, obviously, but you get the idea …
Happy 4th! I added fireworks to my ASCII art on https://mckinley.cc/
This should work as a robots.txt, right?


User-agent: Googlebot
Disallow: /
This should work as a robots.txt, right?


User-agent: Googlebot
Disallow: /
This should work as a robots.txt, right?


User-agent: Googlebot
Disallow: /
What the heck is going on here, I didn’t even know this was possible. 😳 That dude is crazy good. // Tiny Desk Concert: Renaud Garcia-Fons // https://www.youtube.com/watch?v=2ZNKLUHeJtg #NowPlaying #UprightBass
What the heck is going on here, I didn’t even know this was possible. 😳 That dude is crazy good. // Tiny Desk Concert: Renaud Garcia-Fons // https://www.youtube.com/watch?v=2ZNKLUHeJtg #NowPlaying #UprightBass
What the heck is going on here, I didn’t even know this was possible. 😳 That dude is crazy good. // Tiny Desk Concert: Renaud Garcia-Fons // https://www.youtube.com/watch?v=2ZNKLUHeJtg #NowPlaying #UprightBass
[47°09′31″S, 126°43′56″W] Not enough data -- sampling finished
Looks like something good 👋
Looks like something good 👋
@shreyan If that's your reaction to PragerU, then do I have a podcast for you! https://www.stitcher.com/show/the-audit
@marado It can't possibly be defensible, which to me always signals an attempt at a power grab. They never explicitly said "we will use anything we scrape from the web to train our AI" before--that's new. There is growing pushback against that practice, with numerous legal cases winding through the legal system right now. Some day those cases will be heard and decided on by judges. So they're trying to get out ahead of that, in my opinion, and cement their claims to this data before there's a precedent set.
****
¡No pongáis IA en los electrodomésticos! ⌘ Read more****
@abucci To be fair, it was already codified there. What is more interesting (to me) is how they're using a privacy policy (binding their users) in an attempt to get implicit licensing over materials out of the scope of those services, both from their users and others (or of authors unknown). Not that it matters much, I bet they'd argue such license is unneeded, but the fact that they decided to have that wording there makes me curious about the legal basis of such clause. Yes, I know Goggle had an extensive and capable legal team, but I'd still love seeing a legal analysis of the applicability of that under various jurisdictions.
@prologic They were almost certainly doing this already, but now they're codifying it in their policies, essentially claiming ownership over everyone's web pages.
Time to add


<meta name=”googlebot” content=”noindex,nofollow”>


to everything I guess.
@abucci Oh 😱 Hmmm 🤔
@abucci Oh 😱 Hmmm 🤔
@abucci Oh 😱 Hmmm 🤔
Google Says It'll Scrape Everything You Post Online for AI

> Google updated its privacy policy over the weekend, explicitly saying the company reserves the right to scrape just about everything you post online to build its AI tools.

Google can eat shit.
[47°09′03″S, 126°43′29″W] Taking samples
👋 Hello @copperpodip, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
👋 Hello @copperpodip, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
user/bmallred/data/2023-07-04-06-30-30.fit: 4.08 miles, 00:08:00 average pace, 00:32:36 duration

#running
user/bmallred/data/2023-07-04-06-30-30.fit: 4.08 miles, 00:08:00 average pace, 00:32:36 duration

#running
user/bmallred/data/2023-07-04-06-30-30.fit: 4.08 miles, 00:08:00 average pace, 00:32:36 duration

#running
St Petersburg - Pier Run 2023: 4.08 miles, 00:08:00 average pace, 00:32:36 duration
had a blast. just went by feel pretty much. realized i may be going a bit too fast that first mile so tried to slow it down the next two and keep it at what i thought was between 8:15 to 8:30 pace. the official time was 32:36 i believe.

time to hydrate and then get ready for the amusement parks and kids.
#running #race
@@rlafuente@ciberlandia.pt
Bom dia
****
Estrategias de verano. ⌘ Read more****
user/bmallred/data/2023-07-04-05-12-13.fit: 1.10 miles, 00:10:28 average pace, 00:11:33 duration

#running
user/bmallred/data/2023-07-04-05-12-13.fit: 1.10 miles, 00:10:28 average pace, 00:11:33 duration

#running
user/bmallred/data/2023-07-04-05-12-13.fit: 1.10 miles, 00:10:28 average pace, 00:11:33 duration

#running
St Petersburg - Warm up: 1.10 miles, 00:10:28 average pace, 00:11:33 duration
actually i went the wrong direction and then got lost so had to make up some time with a slow jog to "warm up".
#running
@eapl-eng done!
[47°09′05″S, 126°43′22″W] --bad checksum--
👋 Hello @dianedap, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
👋 Hello @dianedap, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
[47°09′47″S, 126°43′17″W] Raw reading: 0x64A3A751, offset +/-1
yes it's tough out there. Good luck.
🧮 USERS:1 FEEDS:2 TWTS:650 ARCHIVED:65326 CACHE:2184 FOLLOWERS:13 FOLLOWING:14
👋 Hello @justarandom, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗
👋 Hello @justarandom, welcome to twtxt.net, a Yarn.social Pod! To get started you may want to check out the pod's Discover feed to find users to follow and interact with. To follow new users, use the ⨁ Follow button on their profile page or use the Follow form and enter a Twtxt URL. You may also find other feeds of interest via Feeds. Welcome! 🤗