# 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 60515
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=59715
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=59815
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=59615
@movq Hmm in who's world? ๐ŸŒŽ Haha ๐Ÿคฃ

> Because Oct 31 = Dec 25.=
@arne This โ˜๏ธ
@arne This โ˜๏ธ
in other words, do companies in other parts of the world behave as though they are above approach? ๐Ÿ˜…
in other words, do companies in other parts of the world behave as though they are above approach? ๐Ÿ˜…
To all my EU friends out there, is it this hardโ„ข to reach a human in European companies that allow, perform or permit silly shenanigans? ๐Ÿค” Or is it just US companies? ๐Ÿค”
To all my EU friends out there, is it this hardโ„ข to reach a human in European companies that allow, perform or permit silly shenanigans? ๐Ÿค” Or is it just US companies? ๐Ÿค”
Contact | Federal Communications Commission ๐Ÿ‘ˆ Haha calling the FCC was interesting. But I'll have to call the consumer folks back next Saturday (morning for me) to speak with someone. Apparently they're closed now, even though it's 3pm EST right? Hmmm ๐Ÿค”
Contact | Federal Communications Commission ๐Ÿ‘ˆ Haha calling the FCC was interesting. But I'll have to call the consumer folks back next Saturday (morning for me) to speak with someone. Apparently they're closed now, even though it's 3pm EST right? Hmmm ๐Ÿค”
cli/q: ๐ŸŒฑ A simple programming language. - q - Projects I really like this little q lang that Ed has created โค๏ธ Really nice and simpler, great design and implementation and really lovely cross-platform compiler supporting DOS, Windows, Darwin and Linux on AMD64 and ARM64 ๐Ÿ’ช
cli/q: ๐ŸŒฑ A simple programming language. - q - Projects I really like this little q lang that Ed has created โค๏ธ Really nice and simpler, great design and implementation and really lovely cross-platform compiler supporting DOS, Windows, Darwin and Linux on AMD64 and ARM64 ๐Ÿ’ช
That moment, when you're a little pipsqueak self-host(er) with infrastructure you're trying to protect from potentially rogue customers on Azure Cloud. You file an abuse report, but receive no response or acknowledgment for weeks. Now what? ๐Ÿค” Email the CEO! #Azure #Microsoft
That moment, when you're a little pipsqueak self-host(er) with infrastructure you're trying to protect from potentially rogue customers on Azure Cloud. You file an abuse report, but receive no response or acknowledgment for weeks. Now what? ๐Ÿค” Email the CEO! #Azure #Microsoft
Finally I'll also be setting up CubeFS (_finally mature enough to give it a serious go_) and slowly migrating workloads to use it as Persistent storage across the 3 Hypervisor nodes (_which will run KVM + CubeFS_) -- Thank goodness this thing (_CubeFS_) doesn't need to run on Kubernetes ๐Ÿ˜‚
Finally I'll also be setting up CubeFS (_finally mature enough to give it a serious go_) and slowly migrating workloads to use it as Persistent storage across the 3 Hypervisor nodes (_which will run KVM + CubeFS_) -- Thank goodness this thing (_CubeFS_) doesn't need to run on Kubernetes ๐Ÿ˜‚
Over the next few months, I'm a) Replacing all Boot disks b) Replacing all Storage disks c) Adding additional 32GB Memory to all my Hypervisor machines. I _think_ that'll take me the better part of 6 months. For the remainder thereafter in the year I'll be swapping out the 3.5" Disks in my NAS slowly (_one at a time_).
Over the next few months, I'm a) Replacing all Boot disks b) Replacing all Storage disks c) Adding additional 32GB Memory to all my Hypervisor machines. I _think_ that'll take me the better part of 6 months. For the remainder thereafter in the year I'll be swapping out the 3.5" Disks in my NAS slowly (_one at a time_).
Upcoming Products for M4 Mac mini - SONNETTECH Gonna buy myself one of these when they come out (_hopefully soonโ„ข_) and populate with 3 M4 Mac Mini(s) -- Just the base model is enough. Purpose? Migrate Plex to one of them for better performance, and run CI/CD Runners on all 3 as well as other I/O intensive tasks like syncing Youtube channels to Plex._
Upcoming Products for M4 Mac mini - SONNETTECH Gonna buy myself one of these when they come out (_hopefully soonโ„ข_) and populate with 3 M4 Mac Mini(s) -- Just the base model is enough. Purpose? Migrate Plex to one of them for better performance, and run CI/CD Runners on all 3 as well as other I/O intensive tasks like syncing Youtube channels to Plex._
@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.
@thecanine This looks sick as your new Avatar ๐Ÿ™Œ
@thecanine This looks sick as your new Avatar ๐Ÿ™Œ
@movq Thanks this is good to digest ๐Ÿ‘Œ
@movq Thanks this is good to digest ๐Ÿ‘Œ
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?! ๐Ÿคฆโ€โ™‚๏ธ
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)
}
@skinshafi Haha ๐Ÿ˜†
@skinshafi Haha ๐Ÿ˜†
> The purpose of this paper is to characterize simple sabotage, to outline its possible effects, and to present suggestions for inciting and executing it.
>
> Sabotage varies from highly technical coup de main acts that require detailed planning and the use of specially-trained operatives, to innumerable simple acts which the ordinary individual citizen-saboteur can perform. This paper is primarily concerned with the latter type. Simple sabotage does not require specially prepared tools or equipment; it is executed by an ordinary citizen who may or may not act individually and without the necessity for active connection with an organized group; and it is carried out in such a way as to involve a minimum danger of injury, detection, and reprisal.
> The purpose of this paper is to characterize simple sabotage, to outline its possible effects, and to present suggestions for inciting and executing it.
>
> Sabotage varies from highly technical coup de main acts that require detailed planning and the use of specially-trained operatives, to innumerable simple acts which the ordinary individual citizen-saboteur can perform. This paper is primarily concerned with the latter type. Simple sabotage does not require specially prepared tools or equipment; it is executed by an ordinary citizen who may or may not act individually and without the necessity for active connection with an organized group; and it is carried out in such a way as to involve a minimum danger of injury, detection, and reprisal.
You scared me! ๐Ÿคฃ
You scared me! ๐Ÿคฃ
@skinshafi Argggg! ๐Ÿ˜ฑ
@skinshafi Argggg! ๐Ÿ˜ฑ
@movq Interesting... ๐Ÿง Can you elaborate on why and your workflows? ๐Ÿ™

> Iโ€™m not a fan of IMAP (I donโ€™t want my server to create/keep data)
@movq Interesting... ๐Ÿง Can you elaborate on why and your workflows? ๐Ÿ™

> Iโ€™m not a fan of IMAP (I donโ€™t want my server to create/keep data)
@lyse Ita a terrible operator that makes code hard
Yo read as @kat difhtidu points out ๐Ÿ˜†
@lyse Ita a terrible operator that makes code hard
Yo read as @kat difhtidu points out ๐Ÿ˜†
So glad I decided to move my project's off GitHub ๐Ÿคฃ
So glad I decided to move my project's off GitHub ๐Ÿคฃ
@lukas No worries ๐Ÿ˜Œ
@lukas No worries ๐Ÿ˜Œ
@lukasthiel.de Welcome to Twtxt / Yarn.social ๐Ÿ˜…
@lukasthiel.de Welcome to Twtxt / Yarn.social ๐Ÿ˜…
My take on the discussion to introduce an `?` operator in Go ๐Ÿ‘ˆ No. For so many reasons.
My take on the discussion to introduce an `?` operator in Go ๐Ÿ‘ˆ No. For so many reasons.
Speaking of "yapping".... Seriously, do companies like microsoft.com and bird.com think they're above the law or something? Do they really think they can get away with not actioning abuse reports from pip squeaks like me? ๐Ÿ˜… Just watch me... ๐Ÿคฃ
Speaking of "yapping".... Seriously, do companies like microsoft.com and bird.com think they're above the law or something? Do they really think they can get away with not actioning abuse reports from pip squeaks like me? ๐Ÿ˜… Just watch me... ๐Ÿคฃ
@aelaraji Ahhh! That one doesn't even render any useful logo on mobile anyway ๐Ÿคฆโ€โ™‚๏ธ
@aelaraji Ahhh! That one doesn't even render any useful logo on mobile anyway ๐Ÿคฆโ€โ™‚๏ธ
@aelaraji that's why I just speak my mind on Twtxt ๐Ÿคฃ
@aelaraji that's why I just speak my mind on Twtxt ๐Ÿคฃ
@kat Glad you're having fun in the real world ๐Ÿ™Œ
@kat Glad you're having fun in the real world ๐Ÿ™Œ
*phew* ๐Ÿ˜ฎโ€๐Ÿ’จ


File system:  EXTFS
Device size:   29.8 GB = 7287552 Blocks
Space in use:   7.3 GB = 1789413 Blocks
Free Space:    22.5 GB = 5498139 Blocks
Block size:   4096 Byte
Elapsed: 13:01:07, Remaining: 00:00:00, Completed: 100.00%, Rate:   9.38MB/min,
Current block:    6823440, Total block:    7287552, Complete: 100.00%
Total Time: 13:01:07, Ave. Rate:   9.38MB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/sda1) to the image (/dev/sdb1)
Cloned successfully.
[root@sysrescue ~]#
*phew* ๐Ÿ˜ฎโ€๐Ÿ’จ


File system:  EXTFS
Device size:   29.8 GB = 7287552 Blocks
Space in use:   7.3 GB = 1789413 Blocks
Free Space:    22.5 GB = 5498139 Blocks
Block size:   4096 Byte
Elapsed: 13:01:07, Remaining: 00:00:00, Completed: 100.00%, Rate:   9.38MB/min,
Current block:    6823440, Total block:    7287552, Complete: 100.00%
Total Time: 13:01:07, Ave. Rate:   9.38MB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/sda1) to the image (/dev/sdb1)
Cloned successfully.
[root@sysrescue ~]#
@andros Oh this is Lisp right? ๐Ÿค” Well done! ๐Ÿ‘
@andros Oh this is Lisp right? ๐Ÿค” Well done! ๐Ÿ‘
Just run FrakenPHP or Road Runner ๐Ÿ˜€
Just run FrakenPHP or Road Runner ๐Ÿ˜€

[root@sysrescue ~]# partclone.ext4 -c -s /dev/sda1 -o /dev/sdb1
...
Elapsed: 00:05:32, Remaining: 23:46:57, Completed:   0.39%,   5.12MB/min,
Current block:       6912, Total block:    7287552, Complete:   0.09%


Bloody hell ๐Ÿ˜†

[root@sysrescue ~]# partclone.ext4 -c -s /dev/sda1 -o /dev/sdb1
...
Elapsed: 00:05:32, Remaining: 23:46:57, Completed:   0.39%,   5.12MB/min,
Current block:       6912, Total block:    7287552, Complete:   0.09%


Bloody hell ๐Ÿ˜†
@xuu I _think_ it's about time we start blocking invalid SPF and DMARC ๐Ÿคฃ
@xuu I _think_ it's about time we start blocking invalid SPF and DMARC ๐Ÿคฃ
Check this out ๐Ÿ˜…๐Ÿ˜…


Authentication-Results: mail.mills.io;
	spf=temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not iterable) smtp.mailfrom="msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com" smtp.helo=us.proxy.mills.io;
	dkim=neutral (invalid public key) header.i=@irp.stuartkenzie.com header.s=scph1124 header.a=rsa-sha256 header.b=BOHvtOsv;
	dmarc=none header.from=stuartkenzie.com
Received-SPF: temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not
 iterable) client-ip=172.30.0.5;
Received: from us.proxy.mills.io ([172.30.0.5])
	by mail.mills.io (Haraka) with ESMTP id 3CD19639-8117-48DB-8137-5B29E3732B5E.1
	envelope-from <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>;
	Sun, 26 Jan 2025 22:23:33 +0000
Received: from mta-174-87-76.smtp-out.sparkpostmail.com
 (mta-174-87-76.smtp-out.sparkpostmail.com [192.174.87.76]) by
 us.proxy.mills.io (envelope-sender
 <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>) with ESMTPS id
 74a301f9; Sun, 26 Jan 2025 22:23:33 +0000
Check this out ๐Ÿ˜…๐Ÿ˜…


Authentication-Results: mail.mills.io;
	spf=temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not iterable) smtp.mailfrom="msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com" smtp.helo=us.proxy.mills.io;
	dkim=neutral (invalid public key) header.i=@irp.stuartkenzie.com header.s=scph1124 header.a=rsa-sha256 header.b=BOHvtOsv;
	dmarc=none header.from=stuartkenzie.com
Received-SPF: temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not
 iterable) client-ip=172.30.0.5;
Received: from us.proxy.mills.io ([172.30.0.5])
	by mail.mills.io (Haraka) with ESMTP id 3CD19639-8117-48DB-8137-5B29E3732B5E.1
	envelope-from <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>;
	Sun, 26 Jan 2025 22:23:33 +0000
Received: from mta-174-87-76.smtp-out.sparkpostmail.com
 (mta-174-87-76.smtp-out.sparkpostmail.com [192.174.87.76]) by
 us.proxy.mills.io (envelope-sender
 <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>) with ESMTPS id
 74a301f9; Sun, 26 Jan 2025 22:23:33 +0000
Check this out ๐Ÿ˜…๐Ÿ˜…


Authentication-Results: mail.mills.io;
\tspf=temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not iterable) smtp.mailfrom="msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com" smtp.helo=us.proxy.mills.io;
\tdkim=neutral (invalid public key) header.i=@irp.stuartkenzie.com header.s=scph1124 header.a=rsa-sha256 header.b=BOHvtOsv;
\tdmarc=none header.from=stuartkenzie.com
Received-SPF: temperror (mail.mills.io: error in processing during lookup of msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com: responses is not
 iterable) client-ip=172.30.0.5;
Received: from us.proxy.mills.io ([172.30.0.5])
\tby mail.mills.io (Haraka) with ESMTP id 3CD19639-8117-48DB-8137-5B29E3732B5E.1
\tenvelope-from <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>;
\tSun, 26 Jan 2025 22:23:33 +0000
Received: from mta-174-87-76.smtp-out.sparkpostmail.com
 (mta-174-87-76.smtp-out.sparkpostmail.com [192.174.87.76]) by
 us.proxy.mills.io (envelope-sender
 <msprvs1=20121HZ44a1Eg=bounces-367050@irp.stuartkenzie.com>) with ESMTPS id
 74a301f9; Sun, 26 Jan 2025 22:23:33 +0000
How fucking dumb as these spammer little assholes?! ๐Ÿคฆโ€โ™‚๏ธ Not only does the domain in the Fron: have a bad TLS certificate, the domain in the Reply-To is a blank page. Wut dua fuw?! ๐Ÿคฃ And seriously, how du fuq did this even get through my Mail proxies? ๐Ÿค” @xuu ๐Ÿ˜…
How fucking dumb as these spammer little assholes?! ๐Ÿคฆโ€โ™‚๏ธ Not only does the domain in the Fron: have a bad TLS certificate, the domain in the Reply-To is a blank page. Wut dua fuw?! ๐Ÿคฃ And seriously, how du fuq did this even get through my Mail proxies? ๐Ÿค” @xuu ๐Ÿ˜…
@doesnm Threema is also known to be crippled to state actors and the five eyes. It has known crypto protocol weaknesses that can leak metadata.
@doesnm Threema is also known to be crippled to state actors and the five eyes. It has known crypto protocol weaknesses that can leak metadata.
@johanbove Why not Signal? ๐Ÿค”
@johanbove Why not Signal? ๐Ÿค”
@johanbove It's a good movie! ๐Ÿ‘Œ
@johanbove It's a good movie! ๐Ÿ‘Œ
@lyse Soonโ„ข soonโ„ข my friend ๐Ÿคฃ
@lyse Soonโ„ข soonโ„ข my friend ๐Ÿคฃ
At a gold club today for a friend's birthday ๐Ÿฅณ
At a gold club today for a friend's birthday ๐Ÿฅณ
Why are we touting such garbage anyway?! ๐Ÿค” Why is Apple even entertaining this nonsense?! ๐Ÿคฆโ€โ™‚๏ธ
Why are we touting such garbage anyway?! ๐Ÿค” Why is Apple even entertaining this nonsense?! ๐Ÿคฆโ€โ™‚๏ธ
Apple's so-called "Apple Intelligence" is also pretty shitโ„ข
Apple's so-called "Apple Intelligence" is also pretty shitโ„ข
Honestly Apple's Image Playground is pretty shitโ„ข
Honestly Apple's Image Playground is pretty shitโ„ข
@arne I do ๐Ÿ˜… Despite some opinions, I _actually_ love HTMX and use it in many of my projects, including yarnd to give it that nice SPA-like UX feel without all this Javascript React nonsense ๐Ÿ˜…
@arne I do ๐Ÿ˜… Despite some opinions, I _actually_ love HTMX and use it in many of my projects, including yarnd to give it that nice SPA-like UX feel without all this Javascript React nonsense ๐Ÿ˜…
Online meetup Yarn.social call is on! Come join us!

=> https://meet.mills.io/call/Yarn.social=
Online meetup Yarn.social call is on! Come join us!

=> https://meet.mills.io/call/Yarn.social=
@arne Nice! ๐Ÿ‘Œ