@steve@social.technoetic.com
@steve@social.technoetic.com avatar

steve

@steve@social.technoetic.com

American living in Southern France. I'm interested in #computers, #SoftwareDevelopment, #SemanticWeb, #osint, #DistributedComputing, #pkm, #HomeAutomation, #PhysicalComputing, #iot, #rpi, #esp32, #hiking, #traveling, learning #french and lots of other stuff.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

steve, to fediverse
@steve@social.technoetic.com avatar

The AS2 specification used by requires standard JSON-LD compaction so messages can be processed as plain JSON. However, the standard compaction algorithm can be configured in various ways. For example, compactArrays can be configured to false. Is an AP implementation expected to handle the results of all combinations of JSON-LD compaction options?
/cc @evan

steve,
@steve@social.technoetic.com avatar

@evan Yes, I’ll add an issue. Thanks for the clarification.

steve,
@steve@social.technoetic.com avatar

@evan Yes, that’s the context. From a test suite perspective, I need to know what is compliant behavior. It could be interesting to highlight “compliant , but an interop risk” in the test report.

steve,
@steve@social.technoetic.com avatar

@evan I agree that AP/AS2 conformance could potentially be scored at the specification document level, although the scoring technique would probably lead to endless debate.

steve, to fediverse
@steve@social.technoetic.com avatar

TIL that {} is a valid (AS2) object. 🤔

chrisdavidmills, to random
@chrisdavidmills@front-end.social avatar

Federated Credential Management API extensions are now documented on MDN, namely getUserInfo(), loginHint, and context. To find out more, start at https://developer.mozilla.org/en-US/docs/Web/API/FedCM_API

steve,
@steve@social.technoetic.com avatar

@smallcircles @thisismissem @chrisdavidmills @J12t @evan submitted an OAuth FEP. Is that what you mean?

steve, to fediverse
@steve@social.technoetic.com avatar

Have you ever wondered how got its name and what other names were considered? Here's the transcript from the W3C meeting where the naming happened. https://www.w3.org/wiki/Socialwg/2016-01-12-minutes

steve, to fediverse
@steve@social.technoetic.com avatar

Other than "Linked Data Event Streams", does anybody know of applications using Activity Streams 2.0 without ?

steve,
@steve@social.technoetic.com avatar

@smallcircles Ah, right. I had forgotten about that one. Thanks!

steve, to fediverse
@steve@social.technoetic.com avatar

I wanted to be able to search and browse the Fediverse Enhancement Proposals (FEPs) so I converted them to an Obsidian vault. As a nice side-benefit, I can now view the graph of FEP dependencies and their color-coded status (green=FINAL, yellow=DRAFT, red=WITHDRAWN).

grunfink, to fediverse
@grunfink@comam.es avatar

One year of

If the source code version control history is to be trusted, I started developing snac (a simple, minimalistic instance server written in C) exactly one year ago (Sept 19th).

It was not my first experience with ActivityPub: I had built a prototype version in Python some months before (hence the "2" in the snac2 repository name), and back in 2019 I made some partial implementation for an unrelated (and now forgotten) blog project, so the protocol was not totally new to me.

These are my thoughts about one year of development.

Why did I start it? Because I read somewhere about the (still baffling to me) humoungous requirements of a basic installation. I read a lot of people affirming that was the bare minimum: "it CAN'T be done with less resources". But I've always seen it as a glorified short message application and challenged myself to write a feature-complete instance with the following goals: keeping it small, simple, easily deployed, and lacking the bloat software tendencies of modern times.

Did it come out as expected? not totally sure, but probably yes. I even implemented more things that I originally planned (I initially said a big NO to myself regarding adding Mastodon API support, but finally did it and it works mostly well). The program is still somewhat small (a stripped binary of less that 300k probably counts). The no-database, no-cookies, no-javascript absolute rules still apply. I'm fine with the (opinionated) web UI that shows conversations as threaded trees instead of the plain, dull stream of posts that Mastodon or Twitter show. It cooperates pretty well with the always growing ecosystem of ActivityPub applications.

Was the time and effort worth it? On this, I'm not sure. I'm old and depressed and unemployed, so developing snac has kept my brain busy and entertained for a little while. But it has been more work that I expected: the ActivityPub specification is a bit diffuse in some areas, so every implementation does some things a bit different and many corner cases had to be implemented; some parts (specifically, the Mastodon API) have been very tedious to implement and test; and also, helping users debugging remote systems is difficult and very stressing for me. Fortunately, some fellow developers have helped me and I'm immensely thankful to them.

Has it been a success? I'm pretty sure about this: no. I thought that the small footprint, the lack of moving parts and the feature set would be attractive to a large base of users, but this has not been the case. Perhaps I've been unable to reach the neccessary potential users for it to reach some critical mass (a failure of the PR department 😆). Perhaps what I consider interesting features (minimalism, footprint, the web UI concept, Mastodon API compatibility, etc.) are not that valuable for most. Perhaps people disregard it just because it's not Mastodon. Perhaps there are errors and crashes that I'm not aware of. Perhaps snac is rubbish and I'm unable to see it. The reality is that snac is a niche and unknown part of the Fediverse ecosystem and there is no sign that the user base will grow from the current small fistful of deployments out there.

What about the future? I'm also not sure. Apart from some pending bugfixes and wishlist items mentioned in the TODO file, I've implemented all the features I initially expected and then many more, so I consider snac a finished program. New bugs will happen, that's for sure. New ActivityPub applications will show out there and, if experience tells me anything, they will all have slightly different protocol interpretations that will need some code tuning on my part. Development will continue; snac is a maintained program. But big changes will probably not happen anymore.

https://comam.es/what-is-snac

If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

steve,
@steve@social.technoetic.com avatar

@grunfink Thanks for the experience report. I found it very interesting.

smallcircles, to random
@smallcircles@social.coop avatar

🤔 What if used ?

Benefits would include:

  • Smaller documents
  • Faster File/Save times
  • Faster startup times
  • Less memory used
  • Document versioning
  • A better user experience

A nice thought experiment by the SQLite folks..

https://www.sqlite.org/affcase1.html

https://news.ycombinator.com/item?id=37553574

steve,
@steve@social.technoetic.com avatar

@sebsauvage @smallcircles This demo of running sqlite3 in a browser might be interesting? https://sqlite.org/wasm/doc/trunk/demo-123.md

bengo, (edited ) to random
@bengo@mastodon.social avatar

Should W3C Social Web Interest Community Group (open to all) resolve next week to charter a new Social Web Working Group (open only to employees of member companies) without clarifying why or to what ends?

Context:
It was almost proposed/passed without notice at unrecorded and hard to hear remotely in person meeting the other day at TPAC.
https://mastodon.social/@bengo/111051525999167046
It will be proposed on Sep 22:
https://lists.w3.org/Archives/Public/public-swicg/2023Sep/0012.html

Boost it

steve,
@steve@social.technoetic.com avatar

@evan @mauve @djsf @bengo "Lots of implementations" is not enough to prevent domination. If one implementation represents 90%+ of the AP Fediverse (like Mastodon does currently), domination is a real and significant risk. If Threads implements some variant of AP, they could potentially become the new dominant implementation.

steve, to random
@steve@social.technoetic.com avatar

I added search, RDF export and easier access to the existing RSS feed support to my @updates Postmarks fork (AP-enabled bookmark app).

steve, to fediverse
@steve@social.technoetic.com avatar

I've started collecting my web bookmarks in a self-hosted instance of Postmarks, an enabled bookmark manager. I've customized it with a dark mode and Docker support. Fun!

https://bookmarks.stevebate.dev/

https://github.com/ckolderup/postmarks

steve,
@steve@social.technoetic.com avatar

The Fediverse user for the bookmarks account is @updates if you want to follow it. I'm going to keep the bookmarks mostly focused on topics.

steve,
@steve@social.technoetic.com avatar

@andypiper Yeah, no problem at all.

steve, to fediverse
@steve@social.technoetic.com avatar

Proposed process for Including Extensions in Activity Streams 2.0.

https://w3c.github.io/activitystreams/draft-extensions-policy.html

steve, to random
@steve@social.technoetic.com avatar

I can create Mastodon timelines for sets/lists of accounts and I can create timelines for hashtags. I wish I could make a timeline combining the two (possibly even with nested, publicly-shareable lists).

steve,
@steve@social.technoetic.com avatar

@Brendanjones Exactly… and user-managed custom ranking/boosting too…

steve,
@steve@social.technoetic.com avatar

@Brendanjones Yes. One that I control for myself. Mastodon has an algorithmic feed already. It’s just hard-coded to mostly-reverse-chronological-except-for-boosts-sometimes-and-post-threads-etc. That would be the default for my custom timelines if I haven’t customized it.

erlend, (edited ) to rust
@erlend@writing.exchange avatar

https://blog.erlend.sh/transitioning-r-rust-to-the-threadiverse

Three months ago I submitted a post to the sub-reddit called 'Building a better /r/rust together' wherein I hailed as a fitting successor.

Today we have 3 moderately active Rust spaces on the threadiverse. To counteract community fragmentation we need the ability for groups (Lemmy community or magazine) to follow other groups.

Help needed from fedi-curious Rust developer out there: Implement FEP-d36d for Lemmy!

https://socialhub.activitypub.rocks/t/fep-d36d-sharing-content-across-federated-forums/3366

steve,
@steve@social.technoetic.com avatar

@erlend @helge Just an editorial comment... the FEP was drafted by Zack Dunn (I don't know his AP address). https://codeberg.org/fediverse/fep/src/branch/main/fep/d36d/fep-d36d.md

hrefna, to fediverse
@hrefna@hachyderm.io avatar

When I think about tradeoffs in I think in part about what problems are hard or easy, and who might have solved it.

For example: I could write my own queue, but building something that wouldn't embarass me if it appeared in a ( https://jepsen.io ) blog entry is actually really difficult.

Something that won't lose data in a variety of failure modes and that can be relocated to a separate container/system if needed.

So it's a no-brainer to use someone else's.

steve,
@steve@social.technoetic.com avatar

@hrefna "that's basically the same pattern". Correct me if I'm wrong, but I think that it's not possible to easily swap the task queue implementation in Mastodon. My point is that separation doesn't necessarily support swapping implementations. I think abstraction of the task queue is what's important. With that, the task queue could be embedded or separated, allowing the system to scale up or down as needed.

steve, to fediverse
@steve@social.technoetic.com avatar

@bengo Have you had any thoughts about how to represent "conditional MUST" behaviors in the specification? Also, as a side note, it's great that you are including JSON-LD contexts in the behavior YAML files. This will be useful for combining the behavior data with other RDF data sets.

smallcircles, to fediverse
@smallcircles@social.coop avatar

Today's question for a resilient is whether various different initiatives are willing to collaborate and cross-pollinate, while keeping their independence.

There's great opportunity to increase the cohesion of the developer community and creating strong joins:

  1. @w3c working on improvements

  2. @fedidevs documenting existing fedi

  3. process on @Codeberg

  4. as forum

  5. @dansup

https://socialhub.activitypub.rocks/t/ideating-organization-structure-for-the-grassroots-fediverse-wiki/3037

steve,
@steve@social.technoetic.com avatar

@jwildeboer @danjac @smallcircles @w3c @fedidevs @Codeberg @dansup @EC_NGI @EC_DIGIT Re: "Let's declare Mastodon (or Friendica, Firefish) as the reference implementation for the ActivityPub standard." That could work for a microblogging-specific subset of AP, but is much more general than that specific kind of application. That's both a blessing and a curse.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • cubers
  • cisconetworking
  • osvaldo12
  • magazineikmin
  • Youngstown
  • thenastyranch
  • rosin
  • slotface
  • Durango
  • mdbf
  • khanakhh
  • megavids
  • tacticalgear
  • InstantRegret
  • normalnudes
  • modclub
  • ngwrru68w68
  • everett
  • GTA5RPClips
  • ethstaker
  • anitta
  • Leos
  • tester
  • provamag3
  • lostlight
  • All magazines