Not included in the above, but handy is also an alternative web UI for Reuters news: https://neuters.de
Not included in the above, but handy is also an alternative web UI for Reuters news: https://neuters.de
Good question! Sorry if this answer is weird :)
For me, I don’t actually interact from Mastodon per se. I wrote a couple of read-only Lemmy & Mastodon clients. One for a weird text editing environment I use (https://lemmy.sdf.org/post/1035382) and via email (https://gts.olowe.co/@o/statuses/01HMQ9N4HQ2ETGZWJS49K5NG5Y). To reply to or create posts, I use a write-only Mastodon client I wrote.
My idea is to exercise the fediverse. In principal I don’t think I should need separate accounts for Lemmy, PeerTube, Mastodon, Kbin, Akkoma, etc.
Right now I’m replying from an account on lemmy.sdf.org as I can’t reply from GoToSocial (Lemmy and GoToSocial don’t work well together right now) and my Mastodon server (hachyderm.io) has a post limit of 500 characters.
Ah ha makes sense now! The “Replying to comments” section of that article explains exactly what’s happening. If I understand correctly the community itself (!privacy@lemmy.ml in my above example) is not notified of my reply from Mastodon. If the community did know, then it would broadcast a notification of the activity to whoever else is subscribed to !privacy@lemmy.ml.
Gotcha. I had a feeling something around how Mastodon doesn’t support ActivityPub Groups (yet?) would be where things are going on. Congrats on piefed, by the way. I’ll start studying the codebase now as I’m keen to understand how server-to-server communication works more deeply than I do now. Sending Announce(?) and fetching stuff from other servers…
When I look at the ActivityPub Note object (via curl -H 'Accept: application/activity+json https://hachyderm.io//111887721960075860
) I see:
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount"
}
],
"id": "https://hachyderm.io/users/otl/statuses/111887721960075860",
"type": "Note",
"summary": null,
"inReplyTo": "https://ttrpg.network/comment/4965852",
"published": "2024-02-07T01:59:08Z",
"url": "https://hachyderm.io/@otl/111887721960075860",
"attributedTo": "https://hachyderm.io/users/otl",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://hachyderm.io/users/otl/followers",
"https://ttrpg.network/u/Neato",
"https://lemmy.world/u/ForgottenFlux"
],
"sensitive": false,
"atomUri": "https://hachyderm.io/users/otl/statuses/111887721960075860",
"inReplyToAtomUri": "https://ttrpg.network/comment/4965852",
"conversation": "tag:hachyderm.io,2024-02-06:objectId=123754186:objectType=Conversation",
"content": "<p><span>@<span>Neato</span></span> <span>@<span>ForgottenFlux</span></span> I totally get how you feel. One use-case I think of is machine-generated image alt-text. These are often not added to images. But with image-to-text ML models, visually-impaired people could hear a descriptions of images that before were never annotated.</p>",
"contentMap": {
"en": "<p><span>@<span>Neato</span></span> <span>@<span>ForgottenFlux</span></span> I totally get how you feel. One use-case I think of is machine-generated image alt-text. These are often not added to images. But with image-to-text ML models, visually-impaired people could hear a descriptions of images that before were never annotated.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://ttrpg.network/u/Neato",
"name": "@Neato@ttrpg.network"
},
{
"type": "Mention",
"href": "https://lemmy.world/u/ForgottenFlux",
"name": "@ForgottenFlux@lemmy.world"
}
],
"replies": {
"id": "https://hachyderm.io/users/otl/statuses/111887721960075860/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://hachyderm.io/users/otl/statuses/111887721960075860/replies?only_other_accounts=true&page=true",
"partOf": "https://hachyderm.io/users/otl/statuses/111887721960075860/replies",
"items": []
}
}
}
So I’m assuming an Announce
was posted to the shared inboxes at lemmy.ml, lemmy.world and ttrpg.network… hmm…
I better start reading!
Ah! Interesting.
Which instances? Do you mean hachyderm.io with, say, lemmy.one?
I wonder whether they are aware of the ForgeFed project?
Thought that’s already supported? e.g. https://gitlab.com/diasporg/diaspora.atom
Oh wow thanks! :) One program syncs my home Mastodon timeline, with all replies, to a Maildir. Dovecot serves that over IMAP. Sending involves a custom SMTP server which reads the mail message and creates a post from it.
For Mastodon it was all about converting statuses (toots? Posts?) into RFC 5322 messages. Using the status’ ID as Message-Id
in the message header is handy. Mail clients do the heavy lifting of rendering threads thankfully!
Ha good eyes! :) I have basic receive-only working with Lemmy using a virtual file system interface I wrote (https://pkg.go.dev/olowe.co/lemmy). Just realised we actually spoke about this a while ago haha (https://lemmy.sdf.org/post/1035382 )
But synchronising to disk is super inefficient: too many API calls. Should subscribe using ActivityPub proper and store updates received as RFC 5322 messages.
From there we could serve the messages via NNTP. Then, finally, we could use nntpfs(4)
For me it’s the bloody “video essay” format. Hyper narrated, spoken straight to the camera. Waste of traffic, waste of storage, waste of attention. People think the argument carries more weight, or is just more persuasive, when someone is speaking at you with some vaguely related visual in the background. But really a written piece could be pulled apart so much more quickly.
Unfortunately OpenAI’s Whisper doesn’t do written transcriptions fast enough on my workstation yet for me to use it full time.
You can report the message so that future messages from the spammer won’t send. Unfortunately no direct way to mark the message as junk automatically like email, but Signal does have Message Requests which may help? https://support.signal.org/hc/en-us/articles/360007459591-Signal-Profiles-and-Message-Requests
BYD employ about 570,000 people and by some measures are the largest carmaker in the world. I’d never heard of them either until a couple years ago. They’ve definitely got the cash to put into PR like this. Past couple years Australia started importing their electric cars. https://en.wikipedia.org/wiki/BYD_Company
I use it for my very basic static site generator: https://www.olowe.co/2021/01/site-build.html
Ah come on, we all know as software people we can never stop the spreadsheets from being the real data interchange format ;)
I’m not so surprised anymore. I’m self-taught using open-source software projects for guidance. But not everyone learns like that. For example in the commercial software dev world, having patches easy to apply with minimum tooling isn’t usually a priority (for better or worse).
This is actually a little story I had half written down; your comment prompted me to finish it. Thanks! https://www.srcbeat.com/2023/11/git-email/
Honestly, DNT as it’s implemented in browsers today is not a sufficient solution
I’ve come to the same conclusion (blogged about it here https://www.srcbeat.com/2023/11/linkedin-do-not-track/) after updating myself on where it’s all at.
I also think about pop-ups back in the 90s/00s. Imagine if browsers sent a “No-Popups” header (or something) back then. I doubt we would have seen any change in company behaviour. Instead, it took something like Firefox to implement pop-up blocking by default (https://lwn.net/Articles/130792/).
Yes that’s true. I guess what I wanted to point out is that GitLab has dependencies like Postgres, Redis, Ruby (with Rails), Vue.js… whereas Forgejo can use just SQLite and jQuery.
Something not mentioned yet: Forgejo, the software running Codeberg, has a smaller feature set and narrower scope than GitLab (“GitLab is the most comprehensive AI-powered DevSecOps Platform” from their website).
Forgejo is much easier to administrate for smaller groups. For example compare the dependencies mentioned in the Forgejo installation documentation and the Gitlab installation documentation.
Depends how you look at it! Here’s me accessing Mastodon and the fediverse via email: https://lemmy.world/post/11020167 I’ve written a a couple more prototypes to connect one to the other. If anyone is interested I could write up more about how it works or do a more public demo