Add more blog posts

This commit is contained in:
Jeremy Dormitzer 2019-06-12 18:35:56 -04:00
parent 3098975214
commit 712de32791
5 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,27 @@
#lang pollen
(define-meta title "ActivityPub: good enough for jazz")
(define-meta published "2019-01-07")
heading-image[#:src "/images/activitypub.png"]
@link[#:href "https://pleroma.site/users/kaniini"]{Kaniini}, one of the lead developers of Pleroma, recently published a blog post called @link[#:href "https://blog.dereferenced.org/activitypub-the-worse-is-better-approach-to-federated-social-networking"]{ActivityPub: The “Worse is Better” Approach to Federated Social Networking}. Its a critique of the security and safety of the @link[#:href "https://jeremydormitzer.com/blog/what-is-activitypub-and-how-will-it-change-the-internet/"]{ActivityPub protocol}. They make some good points:
ul{
li{ActivityPub doesnt support fine-grained access control checks, e.g. I want someone to be able to see my posts but not respond to them}
li{Instances youve banned can still see threads from your instance in some ActivityPub implementations, because someone from a third instance replies to the thread and that reply reaches the banned instance}
}
The post also generated an @link[#:href "https://playvicious.social/@Are0h/101372851868909058"]{interesting Fediverse thread} discussing the tradeoffs between proliferating the existing protocol versus making changes to it, and whether it would be possible to improve the protocol without breaking backward compatibility. Its worth a read.
Heres the thing: ActivityPub is a protocol, and protocols are only valuable as long as there is software out there actually using the protocol. At the end of the day, thats the most important measure of success. Dont get me wrong protocols need to do the job they set out to do well. But at some point, the protocol works well enough that it becomes more important to foster adoption than to continue improving. I believe that ActivityPub has reached that point.
Now, Im not suggesting that we stop development on the protocol. But future improvements to it should be iterative, building on the existing specification, and backward compatible whenever possible. For example, by all means lets come up with a better access control model for ActivityPub but we should also come up with a compatibility layer that assumes some default set of access capabilities for implementations that havent upgraded. This lets us move forward without leaving the protocols participants behind, preserving ActivityPubs value.
We are in good company here. This model is exactly how HTTP became the protocol that powers the internet. If you have the time, check out this @link[#:href "https://hpbn.co/brief-history-of-http/"]{excellent (brief) history} of the HTTP protocol. Here are the highlights: Tim Berners-Lee came up with HTTP 0.9, which was an extremely simple protocol that allowed clients to request a resource and receive a response. HTTP 1.0 added headers and a variety of other features. HTTP 1.1 added performance optimizations and fixed ambiguities in the 1.0 specification.
Critically, all of these versions of HTTP were similar enough that a server that supported HTTP 1.1 could trivially also support HTTP 1.0 and 0.9 (because 0.9 is actually a subset of 1.1). In fact, the Apache and Nginx web servers, which power most websites on the internet, still support HTTP 0.9! By designing and iterating on HTTP in a way that preserved backward compatibility, the early web pioneers were able to build a robust, performant, secure protocol while still encouraging global adoption.
If we want the Fediverse to be just as robust, performant, secure, and globally adopted, we should take the same approach.
(define-meta tags '("activitypub" "fediverse"))

View File

@ -0,0 +1,36 @@
#lang pollen
(define-meta title "Announcing Pterotype")
(define-meta published "2018-11-15")
header-image[#:src "/images/pterotype.png"]
In @link[#:href "https://jeremydormitzer.com/blog/what-is-activitypub.html"]{my last post}, I wrote about an emerging web standard called ActivityPub that lets web services interoperate and form a federated, open social network. I made an argument about how important this new standard is how it tears down walled gardens, discourages monopolies and centralization, and encourages user freedom.
I genuinely believe what I wrote, too. And so, to put my money where my mouth is, Im excited to announce @link[#:href "https://getpterotype.com/"]{Pterotype}! Its a WordPress plugin that gives your blog an ActivityPub feed so that it can take advantage of all the benefits ActivityPub has to offer.
heading{Why WordPress?}
My mission is to open up the entire internet. I want every website, every social network, and every blog to be a part of the Fediverse. And WordPress @link[#:href "https://w3techs.com/technologies/overview/content_management/all"]{runs literally 30% of the internet}. Its not my favorite piece of software, and I certainly never expected to write any PHP, but the fact is that writing a WordPress plugin is the highest-impact way to grow the Fediverse the fastest.
heading{So wait, what does this actually do?}
Great question, glad you asked. Pterotype makes your blog look like a Mastodon/Pleroma/whatever account to users on those platforms. So, if you install Pterotype on your blog, Mastodon users will be able to search for code{blog@yourawesomesite.com} in Mastodon and see your blog as if it was a Mastodon user. If they follow your blog within Mastodon (or Pleroma, or), your new posts will show up in their home feed. This is what I meant in my last post about ActivityPub making sites first-class citizens in social networks you dont need a Mastodon account to make this work, and your content will show up in any service that implements ActivityPub without you needing an account on those platforms either.
Heres what this blog looks like from Mastodon:
image[#:src "/images/jeremy-mastodon.png"]
The plugin also syncs up comments between WordPress and the Fediverse. Replies from Mastodon et. al on your posts will show as WordPress comments, and comments from WordPress will show up as replies in the Fediverse. This is what I meant about tearing down walled gardens: people can comment on your blog posts using the platform of their choice, instead of being limited by the platform hosting the content.
heading{Sounds amazing! Can I use it now?}
Yes, with caveats. Pterotype is in early beta. The core features are in there your blog will get a Fediverse profile, posts will federate, and comments will sync up but its a pretty fiddly (and sometimes buggy) experience at the moment. If you do want to try it out, the plugin is in the @link[#:href "https://wordpress.org/plugins/pterotype/"]{plugin repository}. If you install it on your blog, please consider @link[#:href "https://getpterotype.com/beta"]{signing up for the beta program} as well its how Im collecting feedback and bug reports so I can make the plugin the best that it can be.
If youd rather just follow my progress and dive in when its finished, thats fine too! I made my development roadmap @link[#:href "https://getpterotype.com/roadmap"]{publicly available}, and the plugin itself is open-source @link[#:href "https://github.com/pterotype-project/pterotype"]{on GitHub}. Im currently doing a major refactor, pulling out all of the ActivityPub-related logic @link[#:href "https://github.com/pterotype-project/activitypub-php"]{into its own library} once thats done, itll be back to business as usual adding features and stability to Pterotype.
If youve read this far, and this project resonates with you, then you might be interested in @link[#:href "https://www.patreon.com/pterotype"]{becoming a sponsor on Patreon}. Pterotype is free and open-source, so this is its only source of funding. For moment-to-moment updates, you can @link[#:href "https://mastodon.technology/@jdormit"]{follow me on Mastodon}.
See you on the Fediverse!
(define-meta tags '("activitypub" "fediverse" "pterotype" "wordpress"))

BIN
src/images/activitypub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
src/images/pterotype.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB