As part of my attempt to work on something IndieWeb every weekend, I decided to do a bit of a dive into the code for https://github.com/kylewm/silo.pub. It’s known as being a (working) example of using Micropub as a means of syndication. Conventionally, people do this using Webmentions via brid.gy - but I am curious about having such a system automatically add syndication back-links to my posts as well as being able to dynamically use it back-fill posts to my site (since it can do the former with potentially less magic than Webmention parsing).

I notice that in order to use silo.pub, you forward the entire incoming Micropub request to the remote endpoint (we can call it ‘syndication endpoint’). This feels a bit tricky to implement because I can see it being simpler as the originating site of the request to only just send a URL of the post that needed to be syndicated - part of the appeal of Bridgy is that. But having to forward the whole thing feels interesting. But it also allows for a means of insuring that a particular syndication location only gets what it can support or what’s appropriate for that destination (bookmarks could be formatted more differently on Twitter or how reading progress is reflected).

I think I can “get” with this approach but I’m going to take a bit of a different approach. Instead of forwarding the whole body, I’m going to send it a request to update a post. Something like the following:

POST /syndication/twitter


{
  "action": "update",
  "url": "https://jacky.wtf/a-post-to-share"
}

With no other arguments, this would tell the Micropub-powered syndication endpoint that it should update the provided post. Being that this one is optimized for Twitter, it could do the work of sending the tweet (or replying, or liking) and then sending a Micropub update to the original post with the change in the syndication URL. A server noticing that could use that as a way to determine that the syndication was successful with no extra need to add asynchronous processing - we get it for free.

Okay, finally ready to make https://jacky.wtf a static site powered by this new Micropub server. You can peek at the code at https://git.jacky.wtf/indieweb/koype-next but I’ll be aiming to use it to redo a lot of sites (like even https://koype.net because if I can’t use it there then I’m kidding myself, lol)

Social Attention: a modest prototype in shared presence (Interconnected)

I love, love, love this experiment from Matt—messin’ around in websites!

#presence #select #sharing #indieweb #personal #publishing #social #experimental

It was a treat to chat with @jayeless who has so many interesting interests! Have a listen to the latest episode of the Micro @monday podcast, as we cover: Melbourne, indieweb, linguistics and regional English, Harry Potter houses, and of course, Gidget the cat.

Looking forward to talking about all things #IndieWeb, owning your data, and some of the cool open standards and tech we've worked on to take back a bit of control 🤓

Join us next month as we welcome @JamieTanna to talk about the #indieWeb and owning your data! 📅 Free and online Monday 12th April 6.30pm ➡️ nott.tech/tn-apr-2021
#public-speaking #indieweb
this is a very shiny list of webmentions, but it could be even better by using the h-cite pattern http://microformats.org/wiki/h-cite
 

Thinking about this again, it does feel like this could be something that the Micropub server does but would be invoked by some external process. Like if it’s a property (like) that needs to change, then the remote service could perhaps trigger this (could happen from getting a Salmention).

@weh_kaniini There are definitely some using Craft for IndieWeb. There's a plugin for v2, but I don't think it's been updated for v3 yet. Details/examples: https://indieweb.org/Craft
this is a very shiny list of webmentions, but it could be even better by using the h-cite pattern http://microformats.org/wiki/h-cite

Have you read over the IndieAuth spec? I did read the WebID spec some time ago, back when people were toying to expose it in Mastodon and it never went through because it’s not friendly to portability (people change names, identities [think trans, non-binary folks, ex-pats]) nor is it friendly to being used offline

According to this incubating spec https://www.w3.org/2005/Incubator/webid/spec/ and https://www.w3.org/ns/auth/cert, it does require certificates (I never said TLS) to insure that it’s secure. Otherwise, you’d be reintroducing the era of FireSheep https://en.wikipedia.org/wiki/Firesheep.

Also IndieAuth would literally require only one of those “rings”.

If you want something you can give to people tomorrow and keep using as long as the Web is around, use IndieAuth. If you want to yak-shave and use it with three people, WebID’s ideal for that!

WebID has to use certificates - you’d be fighting for provider support. It also ignores other clients like phones, CLI tools, etc. IndieAuth’s an extension of OAuth2 - used everywhere. You used it to post this tweet on your phone or sync your e-mail to your phone.

After a bit of a hunting, I think it’ll be very possible to continue building a Micropub server that uses Hypercore/Dat as a storage medium! My long term goal here is to lean on Hypercore to provide a controlled, distributed file system for the flat file storage of posts (instead of leaning on a centralized though self-hostable system like https://min.io/ with free versioning and a means of handling access control for the content. Truthfully, I’d want the Micropub server to have access to two “drives”. We can name them /public for the generated pages of one’s site that then can be automatically available to the general public (or not! the ACL should work on a file-level from the docs so something similar to protected posts could work here) and another /content drive that holds the more intimate details on one’s site - the preprocessed bits like the raw templates, database for just quicker indexing (maybe sticking to SQLite because I’ve invested a lot into SQL, lol) and the raw posts and images.

This is very exciting and potentially the basis of making it easy to automate publishing from your conventional Website into the distributed Web!

I want this as well so badly. I can see parts of this already being here in a way with something like https://commentpara.de/. But I think the other bits you mentioned are things we’d still need to investigate - especially in the IndieWeb. I could see https://www.blockpartyapp.com/ even doing some sort of integration to help with the automatic moderation and prevention.

Pitch: a discussion community you can add to any website with one line of code, or embed in any app. Advanced analytics, customization, SSO. Compatible with micropub. Full export. Abuse prevention and moderation. Optionally charge for entry to all or part.
#indieweb #microformats #micropub #microsub #webmention #community

Bumping this because I have an interest in using Hyperdrivers as a storage layer for my project’s Micropub server - all IndieWeb technologies.

I have seen https://github.com/kappa-db/multifeed but I’d like to see something a bit more supported - especially since https://github.com/kappa-db/multifeed/issues/19 doesn’t seem to be a feature; something that would be critical to this.

I've been thinking about how I want my site to work (and additionally how I'd like to share it with other people so they can get it running for their own use cases) over the last few weeks as I had my head down working on [Fortress](https://indieweb.org/Fortress). It's been some time (it'll be 5 years this October 17th!) since I've joined the IndieWeb - and began exploring more people-centric social networking systems in general so it's about time.

I’ve went from a Jekyll site to working on my newer site project. This is what cloc shows for the site currently:

     595 text files.
     583 unique files.
      55 files ignored.


github.com/AlDanial/cloc v 1.74  T=1.35 s (410.3 files/s, 48459.7 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
Elixir                          336           4509            552          22526
HTML                              2           6009              0          13872
JSON                             43              0              0          13300
EEx                              44              3              3           1265
liquid                           78             16              8           1166
Sass                             12            144             17            727
Vuejs Component                   5             12              7            264
YAML                              3             23             45            257
Bourne Shell                     17             82             19            225
JavaScript                        4             32              7            185
Cucumber                          4             20              0            107
PO File                           1             21             19             57
make                              4              8              0             32
Bourne Again Shell                1              1              0              2
CSS                               1              0              1              1
--------------------------------------------------------------------------------
SUM:                            555          10880            678          53986
--------------------------------------------------------------------------------

And now, to be honest, I’m thinking about blowing all of it away!

Hear me out - I’ve learned a lot about the IndieWeb by working on this and even more so about the general space of things and now I want to try out something different. Koype works as a ‘monolith’, it has the support for things like Webmentions, IndieAuth and what not. But currently, I haven’t given myself a lot of room to consider other things like templating or making it easy to extend. This is potentially an issue with the framework I chose to work on this project with but blaming the tools doesn’t really fix the problem.

As I’ve continued to work on my site, I’ve seen other projects from people grow and flourish. I envy the flexibility that others have as I kept rushing to cobble more features into my site without taking other parts of it seriously enough. I do have a plan though!

I want to see if I can refactor my site down to a point where it’s truly just a set of “parts”:

  • a flexible Micropub server
  • something like silo.pub to handle syndication
  • finishing up Lwa to act as a Webmention hub (as well as a WebSub hub, contacts manager, and mention feeds)
  • getting Fortress ready with AutoAuth and provisioning protected content (feeds, posts, etc)

I think that once the basis of the above is in place, I can think more on how I want to handle other things like actually showing the site. I really don’t want to go back to static site generation because the build times for Jekyll really frustrated me and was only justified when I was only writing like blog posts. Since I plan to have my website be my identity, place and hub on the Web, that doesn’t work for me anymore. By refactoring Koype down to just the Micropub server (with some extra kicks, of course), I can go and use the same file storage for content as the backing for a very thin server that can act as the ‘front-end’ for my site. Having two apps running to work as my site is a bit weird but it gives me a bit of power in decoupling how I work on my presentation layer of my site without worrying about breaking how things in the background.

I can imagine this sounding so complex but oddly enough, it’s a lot simpler than the general state of Web development (React! ‘Serverless’! Service Workers! oh my! Offload-all-of-the-work-on-client-devices-because-why-not!). I am excited to start working on this too because it’ll be a lot easier to make progress with things too.

I've been thinking about how I want my site to work (and additionally how I'd like to share it with other people so they can get it running for their own use cases) over the last few weeks as I had my head down working on [Fortress](https://indieweb.org/Fortress). It's been some time (it'll be 5 years this October 17th!) since I've joined the IndieWeb - and began exploring more people-centric social networking systems in general so it's about time.

I’ve went from a Jekyll site to working on my newer site project. This is what cloc shows for the site currently:

     595 text files.
     583 unique files.
      55 files ignored.


github.com/AlDanial/cloc v 1.74  T=1.35 s (410.3 files/s, 48459.7 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
Elixir                          336           4509            552          22526
HTML                              2           6009              0          13872
JSON                             43              0              0          13300
EEx                              44              3              3           1265
liquid                           78             16              8           1166
Sass                             12            144             17            727
Vuejs Component                   5             12              7            264
YAML                              3             23             45            257
Bourne Shell                     17             82             19            225
JavaScript                        4             32              7            185
Cucumber                          4             20              0            107
PO File                           1             21             19             57
make                              4              8              0             32
Bourne Again Shell                1              1              0              2
CSS                               1              0              1              1
--------------------------------------------------------------------------------
SUM:                            555          10880            678          53986
--------------------------------------------------------------------------------

And now, to be honest, I’m thinking about blowing all of it away!

Hear me out - I’ve learned a lot about the IndieWeb by working on this and even more so about the general space of things and now I want to try out something different. Koype works as a ‘monolith’, it has the support for things like Webmentions, IndieAuth and what not. But currently, I haven’t given myself a lot of room to consider other things like templating or making it easy to extend. This is potentially an issue with the framework I chose to work on this project with but blaming the tools doesn’t really fix the problem.

As I’ve continued to work on my site, I’ve seen other projects from people grow and flourish. I envy the flexibility that others have as I kept rushing to cobble more features into my site without taking other parts of it seriously enough. I do have a plan though!

I want to see if I can refactor my site down to a point where it’s truly just a set of “parts”:

  • a flexible Micropub server
  • something like silo.pub to handle syndication
  • finishing up Lwa to act as a Webmention hub (as well as a WebSub hub, contacts manager, and mention feeds)
  • getting Fortress ready with AutoAuth and provisioning protected content (feeds, posts, etc)

I think that once the basis of the above is in place, I can think more on how I want to handle other things like actually showing the site. I really don’t want to go back to static site generation because the build times for Jekyll really frustrated me and was only justified when I was only writing like blog posts. Since I plan to have my website be my identity, place and hub on the Web, that doesn’t work for me anymore. By refactoring Koype down to just the Micropub server (with some extra kicks, of course), I can go and use the same file storage for content as the backing for a very thin server that can act as the ‘front-end’ for my site. Having two apps running to work as my site is a bit weird but it gives me a bit of power in decoupling how I work on my presentation layer of my site without worrying about breaking how things in the background.

I can imagine this sounding so complex but oddly enough, it’s a lot simpler than the general state of Web development (React! ‘Serverless’! Service Workers! oh my! Offload-all-of-the-work-on-client-devices-because-why-not!). I am excited to start working on this too because it’ll be a lot easier to make progress with things too.