#ActivityPubInClojure

2022-12-21
2022-12-20

I'm still looking for a repository of #ActivityPub sample documents to run tests against. There's one of #ActivityStreams documents here

github.com/w3c-social/activity

but they don't conform to the ActivityPub specification. Please, has anyone got pointers?

Captures of actual live interchanges between ActivityPub servers would be especially useful.

#ActivityPubInClojure

2022-12-19

OK, #Clojure friends, #ActivityPub friends, and especially #ActivityPubInClojure friends, I am delighted to welcome you all to The Old Dog and Duck.

github.com/simon-brooke/dog-an

The Old Dog and Duck in St George's Fields, London; painted by Thomas H. Shepherd in the 19th century, based on a 1646 drawing. Shepherd specialised in painting old London buildings before they were demolished.
2022-12-19

OK, so, the #activitystreams test documents in this repository have id URIs which don't point to anything valid, so it's not possible to reify objects referenced. Is there a suite of test documents anywhere where the id URIs do point to valid data?

#ActivityPubInClojure
#ActivityPub

git@github.com:w3c-social/activitystreams-test-documents.git

2022-12-18

@jahfer, have you any preferences for RSA/PGP implementations for ActivityPub work? I'm considering Greg Look's [mvxcvi/clj-pgp "1.1.0"], which wraps Bouncy Castle.

clojars.org/mvxcvi/clj-pgp

#ActivityPubInClojure

Arne Brasseurplexus@toot.cat
2022-12-16

Episode 3 of #ActivityPubInClojure is up! It was really quiet on the chat, which was a bummer. Hope to get a bit more interaction on future streams. A few people posting in chat makes the difference between invigorating and mentally draining...

Stuff is starting to come together though, we've implemented our first two endpoints. We can generate test users, and see them pop up in the API. So a lot of the plumbing is there now and we should be able to iterate on the protocol stuff really nicely going forward.

youtu.be/cru7E96pLAM

#Clojure #ActivityPub

Arne Brasseurplexus@toot.cat
2022-12-16

Alrighty, part 3 of #ActivityPubInClojure coming up! Gonna do a bit more prep, expecting to start the stream in 1.5 hours, i.e. 11:00 UTC

We should be able to start getting to some actual protocol stuff today, I'll also be demonstrating the use of Facai (our test factory library) for data modeling.

youtu.be/cru7E96pLAM

#clojure #livecoding #activitypub #programming

Mikko Koski 🇫🇮rap1ds
2022-12-16

I been really enjoying watching @plexus 's live stream (youtube.com/watch?v=c8Gc4hIfSwc). It teaches so much to watch someone else code! I've learned many small but useful things like user/jit macro (didn't even know about requiring-resolve!), cljr-add-project-dependency, charred, hato etc.

Arne Brasseurplexus@toot.cat
2022-12-08

Two streams in with #ActivityPubInClojure and I'm already starting to run behind 🙈 this has been a crazy busy week with Gaiwan supporting the DevOps Enterprise Summit. Hoping to do a stream over the weekend, but I may also decide to stay away from the computer and just recharge.

Arne Brasseurplexus@toot.cat
2022-12-04

Today's #ActivityPubInClojure was probably less interesting than the first session. I had some boilerplate and other setup to get through.

But it probably also wasn't really clear what I'm aiming for. My plan is to build a persistence layer based on postgres, but that stays very close to the activitypub model, so we can move these ActivityPub objects in and out of storage, and can resolve links (as in linked data), either from the db or from the network, with minimal ceremony.

Anyway next time we should start getting to the real stuff, Actors and Activities!

Arne Brasseurplexus@toot.cat
2022-12-04

I'll go live again with #ActivityPubInClojure in about an hour (11:00 UTC)

Today will be going over a bunch of boilerplate project setup, and looking at how we'll handle talking to the database.

youtu.be/-niQTZ3cNYo

#ActivityPub #Clojure #LiveCoding

@plexus Just watched it. Can't wait to see the next one, live I hope. #ActivityPubInClojure
Arne Brasseurplexus@toot.cat
2022-12-02

The first #ActivityPubInClojure went well I think. We talked JSON-LD, RDF, and looked at how to convert back and forth to idiomatic Clojure data.

Hoping to stream again around the same time on Sunday.

Video: youtu.be/c8Gc4hIfSwc

Arne Brasseurplexus@toot.cat
2022-12-02

The first #ActivityPubInClojure stream will start in one hour, so 7:45am UTC

That should give me a bit more time to prep, and enough time to wrap up before #reClojure starts.

Stream: youtu.be/c8Gc4hIfSwc

The video will be available afterwards on the Lambda Island channel on youtube: youtube.com/c/LambdaIsland

Arne Brasseurplexus@toot.cat
2022-12-01

Ok, no actual stream yet today, I <del>wasted</del> spent my allotted time tweaking Obs and youtube. But we should be ready to get cracking tomorrow!

#ActivityPubInClojure

Arne Brasseurplexus@toot.cat
2022-12-01

Since this is going to get asked multiple times, some notes about my setup.

OS/Desktop: Ubuntu/KDE(+dmenu)
Terminal/shell/prompt: kitty(+ tmux)/zsh/spaceship
Editor: Emacs (built from master)
Editor font: Iosevka Fixed SS14
Color Theme: sanityinc-tomorrow-night
Emacs distribution: Corgi! (of course)

github.com/lambdaisland/corgi
in particular
github.com/GaiwanTeam/emacs.d

I don't use LSP or Kondo. Yes, I know what I'm doing.

#ActivityPubInClojure

Arne Brasseurplexus@toot.cat
2022-11-30
Arne Brasseurplexus@toot.cat
2022-11-30

I guess hashtags don't work in the CW field? That's disappointing... #ActivityPubInClojure

toot.cat/@plexus/1094345110212

Arne Brasseurplexus@toot.cat
2022-11-30

In the coming weeks I'll be live streaming implementing ActivityPub using Clojure! Planning to stream a few times a week.

I'll probably do my first stream tomorrow morning (somewhere around 7~8am UTC), but it will be episode zero, i.e. a messy stream where i sort out my setup and other prep work. First proper stream will be on Friday!

I'll post updates and stream times here. Official hashtag: #ActivityPubInClojure

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst