long activitypub question

Here's a weird, maybe misguided ActivityPub protocol question:

Let's say I have an Thermometer actor that honors Follow activity messages.

Would it be weird if that Thermometer later sent off different activities depending on the type of Actor that had followed?

Let's say that Person actors receive Create Note activities - e.g. a natural language description of current temperature, essentially compatible with Mastodon statuses.

But, say there's an extended actor type called WeatherMonitor.

Imagine that it instead receives Create TemperatureRecord activities from the Thermometer. The TemperatureRecord object type would be a richer data schema than Note - e.g. suitable for insertion into a temperature time series database.

So, in a nutshell, different representations of the same underlying data for different kinds of following actors meant for different end use cases.

Would that be... problematic?

re: long activitypub question

I think I'm kind of looking for an analogous feature to the HTTP Accept header, except in ActivityPub?

Maybe rather than special Actor types, it should be some extended property of the Follow activity? (i.e. "actor is requesting to follow specifically for TemperatureRecord activities")

re: long activitypub question

@chris Yeah, you can add properties to an existing object type like Note - castling.club does this to add chess move metadata to what otherwise looks like a plain old toot

github.com/stephank/castling.c

re: long activitypub question

@by_caballero Yeah, I guess that's the interop I want... default to sending out more common Note objects, unless a follower specifically requested a different kind of object

re: long activitypub question

@chris I might be overthinking it and just sprinkling in some additional properties in Note could be good enough 🤔

re: long activitypub question

@chris oof Docker... I've been procrastinating figuring out how to dockerize a mastodon bot that itself spins up Docker containers as sandboxes 🤯

@Wrewdison @randomgeek baby don't hurt me, no more

re: long activitypub question

@rckenned I feel like there was a period where I totally understood MIME but a) I probably didn't and b) I think I replaced all those memories with mid-2010's internet memes

re: long activitypub question

@chris FWIW, this is the bot on my backburner - it runs a LOGO program from a toot and then posts a video of the result. The LOGO runner is dockerized

github.com/lmorchard/logotron/

Oh, hmm, I guess if my bot relies on a docker container image that it has to build first, it's not going to respond in a timely manner to my toot :blobsadleft:​

d'aww! Catsby does this thing where he kind of walks up a wall as far as he can stretch and then twists his head around upside down to look behind him - and it looks just like this serval when he does it. I haven't seen any other cat do this?

botsin.space/@ServalEveryHr/11

#

Les Orchard

it's a day for Meat Beat Manifesto turned up to 11, here

"Think we'll ever find any real intelligent life out there?"

"Who cares?"

youtube.com/watch?v=UWmlE-q9cF

does logobot live?

@logotron are you receiving me?

to randomwalk
repeat 1000 [
setpencolor (random 1 15)
make "r random 3
if :r = 0 [ fd 20 ]
if :r = 1 [ rt 90 fd 20 ]
if :r = 2 [ lt 90 fd 20 ]
wait 1
]
end

fullscreen
randomwalk

wait 120
bye

#

Les Orchard

Yay, I got @logotron running again. Someday I'll get it fully dockerized so I can neglect it somewhere with more stability than a tmux session

spiral

@logotron Try drawing a spiral?

to spiral :size
make "n 1
make "turns 0
while [:n < :size] [
make "n :n + 5
make "turns turns + 1
if :turns > 3 [
make "turns 0
setpencolor (random 1 15)
]
fd :n rt 90
]
end

clearscreen
fullscreen
setpensize 2
spiral 2000

spiral slower?

@logotron try drawing a slower spiral

to spiral :size
make "n 1
make "turns 0
while [:n < :size] [
make "n :n + 5
make "turns turns + 1
if :turns > 3 [
make "turns 0
setpencolor (random 1 15)
]
fd :n rt 90
wait 1
]
end

clearscreen
fullscreen
setpensize 2
spiral 2000

#

Les Orchard

I need a word which conveys both pride and embarrassment for this pile of shell scripting hacks I managed to assemble which records video of a Logo program execution in a headless X11 session run via Docker

github.com/lmorchard/logotron/

@giflian Well, embarrassment because it's a bunch of commands kind of duct taped together in weird ways and I just sort of copy/pasted bits until it worked. It's not even a very good shell script except that it does the needful 😅

@giflian That said, I'm not sure it would be better if I'd written it in, say, Python rather than bash

@mathowie Nah, there's supposedly a new "AI Playlist" option in the "+" add button from "Your LIbrary" - except it seems not entirely rolled out, since I haven't seen it yet (oh, I guess only available in United Kingdom and Australia so far?)

newsroom.spotify.com/2024-04-0

Been trying out this AI-generated PocketPod news podcast thing over the past week or so.

It's weird, it sounds a bit like an infomercial version of an NPR news cast - complete with multiple hosts ping-pong'ing back & forth on reading lines a little too slickly. The effort seems kind of clever but also a bit too nestled in the uncanny valley and triggers distrust that they're selling me something or trying to work me over

news.pocketpod.app/

@emma Yeah, I used to listen to Spotify non-stop, years ago. These days I pretty much only listen to a few DJ streams, some Twitch DJs, a few Mixcloud shows, and the enormous pile of FLAC files ripped from my ancient CD collection. Weird future

(circus music plays)

#

Les Orchard

@carithlee Hah, I wrote my first two blog posts in over a year and then did 5 live streams from my workbench all in one week. I was like "I'm in a groove!" and then proceeded to have zero energy for anything interesting for the following 3 weeks

I need a bot to randomly invite me to a scattering of :15 to :45 minute long events to serve as chaff to help fend off incoming free-time-seeking meetings

@mavica_again those are great languages to program in on a MAC

Weird Rust question I've been putting off figuring out: I'm building a CLI tool (i.e. fossilizer) that essentially depends on another CLI tool (i.e. pagefind).

I'd like to integrate the two. They're both implemented in Rust and they're both MIT-licensed. But, the second tool isn't really offered as a convenient library. So, it's easiest to run it as a standalone CLI binary.

The user can just download both and run them one after the other. But, just having one executable to download is one of the reasons I started this project using Rust. I think it would be neat if they could just download my tool and get a twofer with pagefind bundled in.

An interesting thing is that a node.js wrapper for pagefind exists - it basically depends on another NPM package containing the platform-appropriate pagefind executable and talks to it from a node.js module. So, my notion seems not too far off from intended use?

(OTOH, maybe this is a terrible idea and instructions to the user to download both tools separately is just how it goes)

Just saw someone refer to sites for pirating media as "online sailing forums" :dead:​

@cinebox points for that!

2024/04/11