{ "type": "entry", "published": "2019-11-01T08:20:24-05:00", "url": "https://aaronparecki.com/2019/11/01/6/indiewebcamp-brighton", "name": "IndieWebCamp Brighton 2019", "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg" }, "post-type": "article", "_id": "5912379", "_source": "16", "_is_read": true }
Kevin Marks wearing an IndieWebCamp t-shirt leading a discussion session with a projector screen next to him showing an indie event for Homebrew Website Club On Friday 2019-10-25 I participated in Redecentralize Conference 2019, a one-day unconference in London, England on the topics of decentralisa...
{ "type": "entry", "author": { "name": "Neil Mather", "url": "https://doubleloop.net/", "photo": null }, "url": "https://doubleloop.net/2019/10/31/6348/", "published": "2019-10-31T21:58:53+00:00", "content": { "html": "Liked <a href=\"https://tantek.com/2019/301/b1/redecentralize-indieweb-standards-methods\">#Redecentralize 2019 Session: IndieWeb Decentralized Standards and Methods</a> by <a href=\"https://tantek.com/\"><img src=\"https://tantek.com/logo.jpg\" alt=\"Tantek \u00c7elik\" />Tantek \u00c7elik</a>\n<blockquote>Kevin Marks wearing an IndieWebCamp t-shirt leading a discussion session with a projector screen next to him showing an indie event for Homebrew Website Club\nOn Friday 2019-10-25 I participated in Redecentralize Conference 2019, a one-day unconference in London, England on the topics of decentralisa...</blockquote>", "text": "Liked #Redecentralize 2019 Session: IndieWeb Decentralized Standards and Methods by Tantek \u00c7elik\nKevin Marks wearing an IndieWebCamp t-shirt leading a discussion session with a projector screen next to him showing an indie event for Homebrew Website Club\nOn Friday 2019-10-25 I participated in Redecentralize Conference 2019, a one-day unconference in London, England on the topics of decentralisa..." }, "post-type": "note", "_id": "5904477", "_source": "1895", "_is_read": true }
{ "type": "entry", "published": "2019-10-31T19:29:00Z", "url": "https://adactio.com/journal/16058", "category": [ "maps", "mapping", "geo", "polylines", "indiewebcamp", "brighton", "indieweb", "visualisation", "javascript", "code", "coding", "frontend", "development", "travelling" ], "syndication": [ "https://medium.com/@adactio/ee4e568f914c" ], "name": "Indy maps", "content": { "text": "Remember when I wrote about adding travel maps to my site at the recent Indie Web Camp Brighton? I must confess that the last line I wrote was an attempt to catch a fish from the river of the lazy web:\n\n\n It\u2019s a shame that I can\u2019t use the lovely Stamen watercolour tiles for these static maps though.\n\n\nIn the spirit of Cunningham\u2019s Law, I was hoping that somebody was going to respond with \u201cIt\u2019s totally possible to use Stamen\u2019s watercolour tiles for static maps, dumbass\u2014look!\u201d (to which my response would have been \u201cthank you very much!\u201d).\n\nAlas, no such response was forthcoming. The hoped-for schooling never forthcame.\n\nStill, I couldn\u2019t quite let go of the idea of using those lovely watercolour maps somewhere on my site. But I had decided that dynamic maps would have been overkill for my archive pages:\n\n\n Sure, it looked good, but displaying the map required requests for a script, a style sheet, and multiple map tiles.\n\n\nThen I had a thought. What if I keep the static maps on my archive pages, but make them clickable? Then, on the other end of that link, I can have the dynamic version. In other words, what if I had a separate URL just for the dynamic maps?\n\nThese seemed like a good plan to me, so while I was travelling by Eurostar\u2014the only way to travel\u2014back from the lovely city of Antwerp where I had been speaking at Full Stack Europe, I started hacking away on making the dynamic maps even more dynamic. After all, now that they were going to have their own pages, I could go all out with any fancy features I wanted.\n\nI kept coming back to my original goal:\n\n\n I was looking for something more like the maps in Indiana Jones films\u2014a line drawn from place to place to show the movement over time.\n\n\nI found a plug-in for Leaflet.js that animates polylines\u2014thanks, Iv\u00e1n! With a bit of wrangling, I was able to get it to animate between the lat/lon points of whichever archive section the map was in. Rather than have it play out automatically, I also added a control so that you can start and stop the animation. While I was at it, I decided to make that \u201cplay/pause\u201d button do something else too. Ahem.\n\nIf you\u2019d like to see the maps in action, click the \u201cplay\u201d button on any of these maps:\n\n\nEverything from this August.\n\nLinks from June 2017.\n\nPhotos from October 2014.\n\nThe entirety of 2018\u2014that might take a while.\nYou get the idea. It\u2019s all very silly really. It\u2019s right up there with the time I made my sparklines playable. But that\u2019s kind of the point. It\u2019s my website so I can do whatever I want with it, no matter how silly.\n\nFirst of all, the research department for adactio.com (that\u2019s me) came up with the idea. Then that had to be sold in to upper management (that\u2019s me too). A team was spun up to handle design and development (consisting of me and me). Finally, the finished result went live thanks to the tireless efforts of the adactio.com ops group (that would be me). Any feedback should be directed at the marketing department (no idea who that is).", "html": "<p>Remember when I wrote about <a href=\"https://adactio.com/journal/15992\">adding travel maps to my site</a> at the recent Indie Web Camp Brighton? I must confess that the last line I wrote was an attempt to catch a fish from the river of the lazy web:</p>\n\n<blockquote>\n <p>It\u2019s a shame that I can\u2019t use the lovely Stamen watercolour tiles for these static maps though.</p>\n</blockquote>\n\n<p>In the spirit of <a href=\"https://meta.wikimedia.org/wiki/Cunningham%27s_Law\">Cunningham\u2019s Law</a>, I was hoping that somebody was going to respond with \u201cIt\u2019s totally possible to use Stamen\u2019s watercolour tiles for static maps, dumbass\u2014look!\u201d (to which my response would have been \u201cthank you very much!\u201d).</p>\n\n<p>Alas, no such response was forthcoming. The hoped-for schooling never forthcame.</p>\n\n<p>Still, I couldn\u2019t quite let go of the idea of using those lovely watercolour maps somewhere on my site. But I had decided that dynamic maps would have been overkill for my archive pages:</p>\n\n<blockquote>\n <p>Sure, it looked good, but displaying the map required requests for a script, a style sheet, and multiple map tiles.</p>\n</blockquote>\n\n<p>Then I had a thought. What if I keep the static maps on my archive pages, but make them clickable? Then, on the other end of that link, I can have the dynamic version. In other words, what if I had a separate URL just for the dynamic maps?</p>\n\n<p>These seemed like a good plan to me, so while I was travelling by Eurostar\u2014the only way to travel\u2014back from the lovely city of Antwerp where I had been speaking at <a href=\"https://fullstackeurope.com/\">Full Stack Europe</a>, I started hacking away on making the dynamic maps even more dynamic. After all, now that they were going to have their own pages, I could go all out with any fancy features I wanted.</p>\n\n<p>I kept coming back to my original goal:</p>\n\n<blockquote>\n <p>I was looking for something more like <a href=\"https://www.youtube.com/watch?v=5TY5Fp6O5iM\">the maps in Indiana Jones films</a>\u2014a line drawn from place to place to show the movement over time.</p>\n</blockquote>\n\n<p>I found a plug-in for <a href=\"https://leafletjs.com/\">Leaflet.js</a> that animates polylines\u2014thanks, <a href=\"https://ivan.sanchezortega.es/\">Iv\u00e1n</a>! With a bit of wrangling, I was able to get it to animate between the lat/lon points of whichever archive section the map was in. Rather than have it play out automatically, I also added a control so that you can start and stop the animation. While I was at it, I decided to make that \u201cplay/pause\u201d button do something else too. Ahem.</p>\n\n<p>If you\u2019d like to see the maps in action, click the \u201cplay\u201d button on any of these maps:</p>\n\n<ul><li>\n<a href=\"https://adactio.com/archive/2019/08/map\">Everything from this August</a>.</li>\n<li>\n<a href=\"https://adactio.com/links/archive/2017/06/map\">Links from June 2017</a>.</li>\n<li>\n<a href=\"https://adactio.com/notes/photos/2014/10/map\">Photos from October 2014</a>.</li>\n<li>\n<a href=\"https://adactio.com/archive/2018/map\">The entirety of 2018</a>\u2014that might take a while.</li>\n</ul><p>You get the idea. It\u2019s all very silly really. It\u2019s right up there with <a href=\"https://adactio.com/journal/12811\">the time I made my sparklines playable</a>. But that\u2019s kind of the point. It\u2019s my website so I can do whatever I want with it, no matter how silly.</p>\n\n<p>First of all, the research department for adactio.com (that\u2019s me) came up with the idea. Then that had to be sold in to upper management (that\u2019s me too). A team was spun up to handle design and development (consisting of me and me). Finally, the finished result went live thanks to the tireless efforts of the adactio.com ops group (that would be me). Any feedback should be directed at the marketing department (no idea who that is).</p>" }, "author": { "type": "card", "name": "Jeremy Keith", "url": "https://adactio.com/", "photo": "https://adactio.com/images/photo-150.jpg" }, "post-type": "article", "_id": "5900046", "_source": "2", "_is_read": true }
It came to my attention after writing my blog post about how we choose the web we want that the pessimism is about not being able to make a living from blogging.
Brent gives an in-depth response to this concern about not making a living from blogging. It’s well worth a read. I could try to summarise it, but I think it’s better if you read the whole thing for yourself.
{ "type": "entry", "published": "2019-10-31T19:14:04Z", "url": "https://adactio.com/links/16057", "category": [ "blogs", "blogging", "writing", "sharing", "indieweb", "independent", "publishing", "choice" ], "bookmark-of": [ "https://inessential.com/2019/10/30/you_choose_follow_up" ], "content": { "text": "inessential: You Choose: Follow-Up\n\n\n\n\n It came to my attention after writing my blog post about how we choose the web we want that the pessimism is about not being able to make a living from blogging.\n\n\nBrent gives an in-depth response to this concern about not making a living from blogging. It\u2019s well worth a read. I could try to summarise it, but I think it\u2019s better if you read the whole thing for yourself.", "html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://inessential.com/2019/10/30/you_choose_follow_up\">\ninessential: You Choose: Follow-Up\n</a>\n</h3>\n\n<blockquote>\n <p>It came to my attention after writing my blog post about how <a href=\"https://inessential.com/2019/10/29/you_choose\">we choose the web we want</a> that the pessimism is about not being able to make a living from blogging.</p>\n</blockquote>\n\n<p>Brent gives an in-depth response to this concern about not making a living from blogging. It\u2019s well worth a read. I could try to summarise it, but I think it\u2019s better if you read the whole thing for yourself.</p>" }, "author": { "type": "card", "name": "Jeremy Keith", "url": "https://adactio.com/", "photo": "https://adactio.com/images/photo-150.jpg" }, "post-type": "bookmark", "_id": "5900047", "_source": "2", "_is_read": true }
{ "type": "entry", "published": "2019-10-31T19:07:00Z", "url": "https://www.jvt.me/mf2/2019/10/9qmmi/", "category": [ "indieweb", "microformats", "indieauth", "microsub" ], "bookmark-of": [ "https://tantek.com/2019/301/b1/redecentralize-indieweb-standards-methods" ], "name": "#Redecentralize 2019 Session: IndieWeb Decentralized Standards and Methods", "content": { "text": "A great writeup of what sounds like a great session!", "html": "<p>A great writeup of what sounds like a great session!</p>" }, "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "bookmark", "_id": "5899871", "_source": "2169", "_is_read": true }
{ "type": "entry", "published": "2019-10-30T23:37:56.324+01:00", "url": "https://www.jvt.me/mf2/2019/10/quzxs/", "bookmark-of": [ "https://www.jhsheridan.com/officially-indieweb/" ], "name": "I\u2019m Officially Part of the IndieWeb", "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "bookmark", "_id": "5883857", "_source": "2169", "_is_read": true }
{ "type": "entry", "summary": "Replying publicly to an email about my continual webmention sending.", "url": "https://www.jvt.me/posts/2019/10/30/reader-mail-webmention-spam/", "name": "Reader Mail: Webmention Spam", "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "article", "_id": "5882909", "_source": "2169", "_is_read": true }
{ "type": "entry", "summary": "Answering a question by a reader about how to get started with writing a Micropub endpoint for use with Hugo.", "url": "https://www.jvt.me/posts/2019/10/30/reader-mail-hugo-micropub/", "name": "Reader Mail: Getting Started with Hugo and Micropub", "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "article", "_id": "5882910", "_source": "2169", "_is_read": true }
You can entertain, you can have fun, you can push the boundaries of the form, if you want to. Or you can just write about cats as you develop your voice. Whatever you want!
I couldn’t agree more with this sentiment:
You choose the web you want. But you have to do the work.
A lot of people are doing the work. You could keep telling them, discouragingly, that what they’re doing is dead. Or you could join in the fun.
{ "type": "entry", "published": "2019-10-30T11:17:26Z", "url": "https://adactio.com/links/16047", "category": [ "blogs", "blogging", "writing", "sharing", "indieweb", "independent", "publishing", "choice" ], "bookmark-of": [ "https://inessential.com/2019/10/29/you_choose" ], "content": { "text": "inessential: You Choose\n\n\n\n\n You can entertain, you can have fun, you can push the boundaries of the form, if you want to. Or you can just write about cats as you develop your voice. Whatever you want!\n\n\nI couldn\u2019t agree more with this sentiment:\n\n\n You choose the web you want. But you have to do the work.\n \n A lot of people are doing the work. You could keep telling them, discouragingly, that what they\u2019re doing is dead. Or you could join in the fun.", "html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://inessential.com/2019/10/29/you_choose\">\ninessential: You Choose\n</a>\n</h3>\n\n<blockquote>\n <p>You can entertain, you can have fun, you can push the boundaries of the form, if you want to. Or you can just write about cats as you develop your voice. Whatever you want!</p>\n</blockquote>\n\n<p>I couldn\u2019t agree more with this sentiment:</p>\n\n<blockquote>\n <p><em>You choose the web you want</em>. But you have to do the work.</p>\n \n <p>A lot of people <em>are</em> doing the work. You could keep telling them, discouragingly, that what they\u2019re doing is dead. Or you could join in the fun.</p>\n</blockquote>" }, "author": { "type": "card", "name": "Jeremy Keith", "url": "https://adactio.com/", "photo": "https://adactio.com/images/photo-150.jpg" }, "post-type": "bookmark", "_id": "5870846", "_source": "2", "_is_read": true }
{ "type": "entry", "author": { "name": "Manton Reece", "url": "https://www.manton.org/", "photo": "https://micro.blog/manton/avatar.jpg" }, "url": "https://www.manton.org/2019/10/29/register-your-domain.html", "name": "Register your domain name on Micro.blog", "content": { "html": "<p>Since the very beginning of Micro.blog we\u2019ve encouraged you to use your own domain name with your microblog. It\u2019s the best way to control your content and <a href=\"https://indieweb.org/principles\">an important principle of the IndieWeb</a>. Now it\u2019s even easier.</p>\n\n<p>If you don\u2019t have a domain name yet \u2014 or need a new one! \u2014\u00a0Micro.blog can handle registration for you. We are using the Name.com API to purchase and configure the domain name for you. Payment is handled on your existing Micro.blog subscription and everything is automatic. No messing with DNS records.</p>\n\n<p>Here\u2019s a screenshot of finding a domain name, which is linked under the domain name section on Posts \u2192 Design:</p>\n\n<p><img src=\"https://www.manton.org/uploads/2019/c3e6388fd7.png\" alt=\"Micro.blog screenshot\" border=\"0\" width=\"550\" height=\"449\" /></p>\n\n<p>I\u2019m very excited about this feature. We\u2019ll be expanding it based on feedback but it is already quite powerful, even including email forwarding. And of course, you can always register a domain name elsewhere on the web and point it to Micro.blog.</p>", "text": "Since the very beginning of Micro.blog we\u2019ve encouraged you to use your own domain name with your microblog. It\u2019s the best way to control your content and an important principle of the IndieWeb. Now it\u2019s even easier.\n\nIf you don\u2019t have a domain name yet \u2014 or need a new one! \u2014\u00a0Micro.blog can handle registration for you. We are using the Name.com API to purchase and configure the domain name for you. Payment is handled on your existing Micro.blog subscription and everything is automatic. No messing with DNS records.\n\nHere\u2019s a screenshot of finding a domain name, which is linked under the domain name section on Posts \u2192 Design:\n\n\n\nI\u2019m very excited about this feature. We\u2019ll be expanding it based on feedback but it is already quite powerful, even including email forwarding. And of course, you can always register a domain name elsewhere on the web and point it to Micro.blog." }, "published": "2019-10-29T12:23:14-05:00", "category": [ "Photos", "Essays" ], "post-type": "article", "_id": "5859194", "_source": "12", "_is_read": true }
{ "type": "entry", "published": "2019-10-28 19:00-0700", "url": "http://tantek.com/2019/301/b1/redecentralize-indieweb-standards-methods", "featured": "https://indieweb.org/images/thumb/a/a4/2019-298-redecentralize-indieweb-standards.jpg/799px-2019-298-redecentralize-indieweb-standards.jpg", "name": "#Redecentralize 2019 Session: IndieWeb Decentralized Standards and Methods", "content": { "text": "On Friday 2019-10-25 I participated in \nRedecentralize Conference 2019, a one-day unconference in London, England on the topics of decentralisation, privacy, autonomy, and digital infrastructure.\n\nAfter giving a \n3 minute lightning talk, I helped \nKevin Marks run a session in the first time slot of the \u201cunconference\u201d portion of the day. I participated in two more sessions, and gave a closing statement in the end of day circle. This post is from the Etherpad session notes and my own memory recall from three days ago.\n\n\nKevin Marks started the session by having me bring up the tabs that I\u2019d shown in my lightning talk earlier, digging into the specifications, tools, and services linked therein. Participants asked questions and Kevin & I answered, demonstrating additional resources as necessary.\n\nIndieWeb Profiles and IndieWebify\n\nOne of the first questions was about how do people represent themselves on the IndieWeb, in a way that is discoverable and expresses various properties.\n\n\nKevin described how \nthe h-card standard \nworks and is used to express a person\u2019s name, their logo or photo, and other bits of optional information. He showed his own site \nkevinmarks.com and asked me to Show View Source to illustrate the markup.\n\n\nNext we showed \nindiewebify.me \nwhich has a form to check your h-card, show what it found and suggest properties you could add to your profile on your home page.\n\nChecking microformats and JSON output\n\nFrom the consuming code perspective, we demonstrated the \nmicroformats2 parser at microformats.io using Kevin\u2019s site again. We went through the standard parser JSON output with clear values for the name, photo, and other properties.\n\n\nSimilarly we took a look at one of my posts parsed by microformats.io \nas an examle of parsing an \nh-entry\nand seeing the author, content etc. properties in the JSON output.\n\nIndieWeb Standards, W3C Micropub Recommendation & Test Suite\n\nNext we walked through the\noverview of IndieWeb specifications that I\u2019d quickly mentioned by name in my lightning talk but had not explicitly described.\nWe explained each of these building block standards, its features, and what user functionality each provides when implemented.\n\n\nIn particular we spent some time on the \nMicropub living standard \nfor client software and websites to post and update content.\nThe living standard editor\u2019s draft has errata and updates from the \nofficial W3C Micropub Recommendation which itself was finished using the\nMicropub.rocks test suite & implementation results used to demonstrate that each feature was interoperably implementable, by several implementations.\n\n\nLastly we noted that many more Micropub clients & servers have been interoperably developed since then using the test suite, and the importance of test suites for longterm interopability and dependable standards in general.\n\nIndieWeb Events & RSVPs\n\nKevin used his mobile phone to post an \nIndie RSVP post \nin response to the \nIndie Event post \nthat I\u2019d shown in my talk. He had me bring it up again to show that this time it had \nan RSVP from him.\n\nClicking it took us to \nKevin\u2019s Known site \nwhich he\u2019d used to post the RSVP from his mobile. \nI had to enable JavaScript for the \u201cFilter Content\u201d dropdown navigation menu to work\n(It really should work without JS, via CSS using googleable well established techniques).\nChoosing RSVP showed a \nlist of recent RSVPs,\nat the top the one he\u2019d just posted: \nRSVP No: But I do miss it.\n\n\nWe viewed the source of the RSVP post and walked through the markup, identifying the \np-rsvp property that was used along with the no value. Additionaly we ran it through \nmicroformats.io to show the resulting JSON with \nthe \"p-rsvp\" property and \"no\" value.\n\nIndieWeb Identity, Signing-in, and IndieAuth\n\nAs had been implied so far, the IndieWeb built upon the widely existing practice \nof using personal domain names for identity. While initially we had used OpenID, \nearly usage & implementation frustrations (from confusing markup to out of date PHP libraries etc.) led us down the path of using the XFN \nrel=me \nvalue to authenticate using providers that allowed linking back to your site. \nWe mentioned \nRelMeAuth and \nWeb Sign-in accordingly.\n\n\nWe used yet another form on \nindiewebify.me \nto check the rel=me markup on KevinMarks.com and my own site tantek.com.\nAs a demonstration I signed out of \nindieweb.org \nand click sign-in in the top right corner.\n\n\nI entered my domain https://tantek.com/ and the site redirected to Indie Login authentication screen where it found one confirmed provider, GitHub, and showed a green button accordingly. Clicking the green button briefly redirected to GitHub for authentication (I was already signed into GitHub) and then returned back through the flow to IndieWeb.org which now showed that I was logged-in in the top right corner with tantek.com.\n\n\nTo setup your own domain to sign-into IndieWeb.org, we showed the\nsetup instructions for the IndieLogin service, \nnoting in addition to rel=me to an OAuth-based identity provider like GitHub, you could use a PGP public key. If you choose PGP at the confirmed provider screen, IndieLogin provides challenge text for you to encrypt with your private key and submit, and it decrypts with your public key that you\u2019ve provided to confirm your identity.\n\n\nPopping up a level, we noted that the IndieLogin service works by implementing the \nIndieAuth protocol as a provider, that IndieWeb.org uses as a default authentication provider (sites can specify their own authetication providers, naturally).\n\n\nAndre (Soapdog) asked:\n\nHow do I add a new way to authenticate, like SecureScuttleButt (SSB)?\n\nThe answer is to make an IndieAuth provider that handles SSB authentication. See \nthe IndieAuth specification \nfor reference, however, first read \nAaron Parecki's \narticle on \n\"OAuth for the Open Web\"\n\nSocial Readers and Microsub\n\nAnother asked:\n\nHow does reading work on the IndieWeb?\n\nFrom the longterm experience with classic Feed Readers (RSS Readers), \nthe IndieWeb community figured out that there was a need to modularize readers. In particular there was a clear difference in developer expertise and incentive models of serverside feed aggregators and clientside feed readers that would be better served by independent development, with a standard protocol for communicating between the two.\n\n\nThe \nMicrosub standard was designed from this experience and these identified needs. In the past couple of years, several Microsub clients and a few servers have been developed, listed in the section on \nSocial Readers.\n\n\nSocial Readers also build upon the IndieAuth authentication standard for signing-in, \nand then associate your information with your domain accordingly. I demonstrated this \nby signing into the \nAperture feed aggregator (and Microsub server) \nwith my own domain name, and it listed my channels and feeds therein.\n\n\nI demonstarted adding another feed to aggregate in my \"IndieWeb\" channel by entering\nKevin Marks\u2019s Known, \nchoosing its microformats \nh-feed,\nwhich then resulted in 200+ new unread items!\n\n\nI signed-into the \nMonocle \nsocial reader which showed notifications by default and a list of channels. \nSelecting the IndieWeb channel showed the unread items from Kevin\u2019s site.\n\nDoes this work with static sites?\n\nIn short, yes. The IndieWeb works great with static sites.\n\n\nOne of the most common questions we get in the IndieWeb community is whether or not any one partcular standard or technique works with static sites and static site generator setups.\n\n\nDuring the many years on the \nW3C Social Web Working group, many different approaches were presented for solving various social web use-cases. So many of these approaches had strong dynamic assumptions that they outright rejected static sites as a use-case. It was kind of shocking to be honest, as if the folks behind those particular approaches had not actually encountered the real world diversity of web site developers and techniques that were out there.\n\n\nFortunately we were able to uphold static sites as a legitimate use-case for the majority of specifications, and thus at least all the W3C Recommendations which were the result of incubations and contributions by the IndieWeb community were designed to support static sites.\n\n\nThere are couple of great reference pages on the IndieWeb wiki for static site setups:\n\nStatic Site CMS\nStatic Site Generator\n\nIn addition, there are IndieWeb pages for any particular static site system with \nparticular recommendations and setup steps for adding support for various IndieWeb standards.\n\n\nKevin also pointed out that his home page \nkevinmarks.com \nis simple static HTML page that uses the Heroku Webmention service to \ndisplay comments, likes, and mentions of his home page in the footer.\n\n\nWhat Next: Join Chat & IndieWebCamps!\n\n\nAs we got the 2 minute warning that our session time was almost up we wrapped up \nthe session with how to keep the conversation going. We encouraged everyone to join \nthe online IndieWeb Chat which is available via IRC (Freenode #indieweb), Slack, Matrix, Discourse, and of course the web.\n\n\nSee: chat.indieweb.org to view today\u2019s chats, \nand links to join from Slack, Matrix, etc.\n\n\nLastly we announced the next two IndieWebCamps coming up!\n\nNov 23-24: IndieWebCamp Berlin2\n\nDec 7-8: IndieWebCamp San Francisco\n\n\nWe encouraged all the Europeans to sign-up for IndieWebCamp Berlin, while encouraging folks from the US to sign-up for San Francisco.\n\n\nWith that we thanked everyone for their participation, excellent questions & discussion and look forward to seeing them online and meeting up in person!", "html": "<p><img class=\"u-featured\" src=\"https://aperture-media.p3k.io/indieweb.org/cc4c9d83e50d626afacdc72b38bab89f289e25f195750567636d599f528ae8d3.jpg\" alt=\"Kevin Marks wearing an IndieWebCamp t-shirt leading a discussion session with a projector screen next to him showing an indie event for Homebrew Website Club\" /></p>\n\n<p>On Friday 2019-10-25 I participated in \n<a href=\"https://redecentralize.org/events/2019-conference/\">Redecentralize Conference 2019</a>, a one-day unconference in London, England on the topics of decentralisation, privacy, autonomy, and digital infrastructure.\n</p>\n<p>After giving a \n<a href=\"http://tantek.com/2019/298/t1/lightning-talk-redecentralize-rdc19\">3 minute lightning talk</a>, I helped \n<a class=\"h-card\" href=\"http://kevinmarks.com/\">Kevin Marks</a> run a session in the first time slot of the \u201cunconference\u201d portion of the day. I participated in two more sessions, and gave a closing statement in the end of day circle. This post is from the Etherpad session notes and my own memory recall from three days ago.\n</p>\n<p>\nKevin Marks started the session by having me bring up the tabs that I\u2019d shown in <a href=\"http://tantek.com/2019/298/t1/lightning-talk-redecentralize-rdc19\">my lightning talk earlier</a>, digging into the specifications, tools, and services linked therein. Participants asked questions and Kevin & I answered, demonstrating additional resources as necessary.\n</p>\n<h2>IndieWeb Profiles and IndieWebify</h2>\n<p>\nOne of the first questions was about how do people represent themselves on the IndieWeb, in a way that is discoverable and expresses various properties.\n</p>\n<p>\nKevin described how \n<a href=\"http://microformats.org/wiki/h-card\">the h-card standard</a> \nworks and is used to express a person\u2019s name, their logo or photo, and other bits of optional information. He showed his own site \n<a href=\"http://kevinmarks.com/\">kevinmarks.com</a> and asked me to Show View Source to illustrate the markup.\n</p>\n<p>\nNext we showed \n<a href=\"https://indiewebify.me/\">indiewebify.me</a> \nwhich has a form to check your h-card, show what it found and suggest properties you could add to your profile on your home page.\n</p>\n<h2>Checking microformats and JSON output</h2>\n<p>\nFrom the consuming code perspective, we demonstrated the \n<a href=\"https://microformats.io/\">microformats2 parser at microformats.io</a> using Kevin\u2019s site again. We went through the standard parser JSON output with clear values for the name, photo, and other properties.\n</p>\n<p>\nSimilarly we took a look at one of my posts parsed by microformats.io \nas an examle of parsing an \n<a href=\"http://microformats.org/wiki/h-entry\">h-entry</a>\nand seeing the author, content etc. properties in the JSON output.\n</p>\n<h2>IndieWeb Standards, W3C Micropub Recommendation & Test Suite</h2>\n<p>\nNext we walked through the\n<a href=\"https://spec.indieweb.org/\">overview of IndieWeb specifications</a> that I\u2019d quickly mentioned by name in my lightning talk but had not explicitly described.\nWe explained each of these building block standards, its features, and what user functionality each provides when implemented.\n</p>\n<p>\nIn particular we spent some time on the \n<a href=\"https://micropub.net/draft/\">Micropub living standard</a> \nfor client software and websites to post and update content.\nThe living standard editor\u2019s draft has errata and updates from the \n<a href=\"https://www.w3.org/TR/micropub\">official W3C Micropub Recommendation</a> which itself was finished using the\n<a href=\"https://Micropub.rocks\">Micropub.rocks</a> test suite & implementation results used to demonstrate that each feature was interoperably implementable, by several implementations.\n</p>\n<p>\nLastly we noted that many more Micropub clients & servers have been interoperably developed since then using the test suite, and the importance of test suites for longterm interopability and dependable standards in general.\n</p>\n<h2>IndieWeb Events & RSVPs</h2>\n<p>\nKevin used his mobile phone to post an \n<a href=\"https://indieweb.org/rsvp\">Indie RSVP post</a> \nin response to the \n<a href=\"https://tantek.com/2019/303/e1/homebrew-website-club-sf\">Indie Event post</a> \nthat I\u2019d shown in my talk. He had me bring it up again to show that this time it had \nan RSVP from him.\n</p>\n<p>Clicking it took us to \n<a href=\"http://known.kevinmarks.com/\">Kevin\u2019s Known site</a> \nwhich he\u2019d used to post the RSVP from his mobile. \nI had to enable JavaScript for the \u201cFilter Content\u201d dropdown navigation menu to work\n(It really should work without JS, via CSS using googleable well established techniques).\nChoosing RSVP showed a \n<a href=\"http://known.kevinmarks.com/content/rsvp/\">list of recent RSVPs</a>,\nat the top the one he\u2019d just posted: \n<a href=\"http://known.kevinmarks.com/2019/no-but-i-do-miss-it\">RSVP No: But I do miss it</a>.\n</p>\n<p>\nWe viewed the source of the RSVP post and walked through the markup, identifying the \n<code>p-rsvp</code> property that was used along with the <code>no</code> value. Additionaly we ran it through \n<a href=\"https://microformats.io/\">microformats.io</a> to show the resulting JSON with \nthe <code>\"p-rsvp\"</code> property and <code>\"no\"</code> value.\n</p>\n<h2>IndieWeb Identity, Signing-in, and IndieAuth</h2>\n<p>\nAs had been implied so far, the IndieWeb built upon the widely existing practice \nof using personal domain names for identity. While initially we had used OpenID, \nearly usage & implementation frustrations (from confusing markup to out of date PHP libraries etc.) led us down the path of using the XFN \n<a href=\"http://microformats.org/wiki/rel-me\">rel=me</a> \nvalue to authenticate using providers that allowed linking back to your site. \nWe mentioned \n<a href=\"http://microformats.org/wiki/RelMeAuth\">RelMeAuth</a> and \n<a href=\"http://microformats.org/wiki/web-sign-in\">Web Sign-in</a> accordingly.\n</p>\n<p>\nWe used yet another form on \n<a href=\"https://indiewebify.me\">indiewebify.me</a> \nto check the <code>rel=me</code> markup on KevinMarks.com and my own site tantek.com.\nAs a demonstration I signed out of \n<a href=\"https://indieweb.org/\">indieweb.org</a> \nand click sign-in in the top right corner.\n</p>\n<p>\nI entered my domain https://tantek.com/ and the site redirected to Indie Login authentication screen where it found one confirmed provider, GitHub, and showed a green button accordingly. Clicking the green button briefly redirected to GitHub for authentication (I was already signed into GitHub) and then returned back through the flow to IndieWeb.org which now showed that I was logged-in in the top right corner with tantek.com.\n</p>\n<p>\nTo setup your own domain to sign-into IndieWeb.org, we showed the\n<a href=\"https://indielogin.com/setup\">setup instructions for the IndieLogin service</a>, \nnoting in addition to <code>rel=me</code> to an OAuth-based identity provider like GitHub, you could use a PGP public key. If you choose PGP at the confirmed provider screen, IndieLogin provides challenge text for you to encrypt with your private key and submit, and it decrypts with your public key that you\u2019ve provided to confirm your identity.\n</p>\n<p>\nPopping up a level, we noted that the IndieLogin service works by implementing the \n<a href=\"https://indieauth.net/\">IndieAuth protocol</a> as a provider, that IndieWeb.org uses as a default authentication provider (sites can specify their own authetication providers, naturally).\n</p>\n<p>\nAndre (Soapdog) asked:\n</p>\n<blockquote>How do I add a new way to authenticate, like SecureScuttleButt (SSB)?</blockquote>\n<p>\nThe answer is to make an IndieAuth provider that handles SSB authentication. See \n<a href=\"https://indieauth.spec.indieweb.org/\">the IndieAuth specification</a> \nfor reference, however, first read \n<a class=\"h-card\" href=\"https://aaronpk.com/\">Aaron Parecki</a>'s \narticle on \n\"<a href=\"https://aaronparecki.com/2018/07/07/7/oauth-for-the-open-web\">OAuth for the Open Web</a>\"\n</p>\n<h2>Social Readers and Microsub</h2>\n<p>\nAnother asked:\n</p>\n<blockquote>How does reading work on the IndieWeb?</blockquote>\n<p>\nFrom the longterm experience with classic Feed Readers (RSS Readers), \nthe IndieWeb community figured out that there was a need to modularize readers. In particular there was a clear difference in developer expertise and incentive models of serverside feed aggregators and clientside feed readers that would be better served by independent development, with a standard protocol for communicating between the two.\n</p>\n<p>\nThe \n<a href=\"https://indieweb.org/Microsub\">Microsub standard</a> was designed from this experience and these identified needs. In the past couple of years, several Microsub clients and a few servers have been developed, listed in the section on \n<a href=\"https://indieweb.org/reader#Social_Readers\">Social Readers</a>.\n</p>\n<p>\nSocial Readers also build upon the IndieAuth authentication standard for signing-in, \nand then associate your information with your domain accordingly. I demonstrated this \nby signing into the \n<a href=\"https://aperture.p3k.io/\">Aperture feed aggregator</a> (and Microsub server) \nwith my own domain name, and it listed my channels and feeds therein.\n</p>\n<p>\nI demonstarted adding another feed to aggregate in my \"IndieWeb\" channel by entering\n<a href=\"http://known.kevinmarks.com/\">Kevin Marks\u2019s Known</a>, \nchoosing its microformats \n<a href=\"http://microformats.org/wiki/h-feed\">h-feed</a>,\nwhich then resulted in 200+ new unread items!\n</p>\n<p>\nI signed-into the \n<a href=\"https://monocle.p3k.io/\">Monocle</a> \nsocial reader which showed notifications by default and a list of channels. \nSelecting the IndieWeb channel showed the unread items from Kevin\u2019s site.\n</p>\n<h2>Does this work with static sites?</h2>\n<p>\nIn short, yes. The IndieWeb works great with static sites.\n</p>\n<p>\nOne of the most common questions we get in the IndieWeb community is whether or not any one partcular standard or technique works with static sites and static site generator setups.\n</p>\n<p>\nDuring the many years on the \n<a href=\"https://www.w3.org/wiki/SocialWG\">W3C Social Web Working group</a>, many different approaches were presented for solving various social web use-cases. So many of these approaches had strong dynamic assumptions that they outright rejected static sites as a use-case. It was kind of shocking to be honest, as if the folks behind those particular approaches had not actually encountered the real world diversity of web site developers and techniques that were out there.\n</p>\n<p>\nFortunately we were able to uphold static sites as a legitimate use-case for the majority of specifications, and thus at least all the W3C Recommendations which were the result of incubations and contributions by the IndieWeb community were designed to support static sites.\n</p>\n<p>\nThere are couple of great reference pages on the IndieWeb wiki for static site setups:\n</p>\n<ul><li><a href=\"https://indieweb.org/static_site_cms\">Static Site CMS</a></li>\n<li><a href=\"https://indieweb.org/static_site_generator\">Static Site Generator</a></li>\n</ul><p>\nIn addition, there are IndieWeb pages for any particular static site system with \nparticular recommendations and setup steps for adding support for various IndieWeb standards.\n</p>\n<p>\nKevin also pointed out that his home page \n<a href=\"http://www.kevinmarks.com/\">kevinmarks.com</a> \nis simple static HTML page that uses the Heroku Webmention service to \ndisplay comments, likes, and mentions of his home page in the footer.\n</p>\n\n<h2>What Next: Join Chat & IndieWebCamps!</h2>\n\n<p>\nAs we got the 2 minute warning that our session time was almost up we wrapped up \nthe session with how to keep the conversation going. We encouraged everyone to join \nthe online IndieWeb Chat which is available via IRC (Freenode #indieweb), Slack, Matrix, Discourse, and of course the web.\n</p>\n<p>\nSee: <a href=\"https://chat.indieweb.org/\">chat.indieweb.org</a> to view today\u2019s chats, \nand links to join from Slack, Matrix, etc.\n</p>\n<p>\nLastly we announced the next two IndieWebCamps coming up!\n</p>\n<ul><li>Nov 23-24: <a href=\"https://2019.indieweb.org/berlin2\">IndieWebCamp Berlin2</a>\n</li>\n<li>Dec 7-8: <a href=\"https://indieweb.org/2019/SF\">IndieWebCamp San Francisco</a>\n</li>\n</ul><p>\nWe encouraged all the Europeans to sign-up for IndieWebCamp Berlin, while encouraging folks from the US to sign-up for San Francisco.\n</p>\n<p>\nWith that we thanked everyone for their participation, excellent questions & discussion and look forward to seeing them online and meeting up in person!\n</p>" }, "author": { "type": "card", "name": "Tantek \u00c7elik", "url": "http://tantek.com/", "photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg" }, "post-type": "article", "_id": "5846910", "_source": "1", "_is_read": true }
{ "type": "entry", "author": { "name": "Piper Haywood", "url": "https://piperhaywood.com/", "photo": null }, "url": "https://piperhaywood.com/notes-from-redecentralize-2019/", "published": "2019-10-28T22:48:34+00:00", "content": { "html": "<p>Been a busy few days with <a href=\"https://redecentralize.org/\">Redecentralize</a> on Friday followed by Mozfest over the weekend. Redecentralize was a one-day <a href=\"https://en.wikipedia.org/wiki/Unconference\">unconference</a> at 4th Floor Studios in Whitechapel. The event was expertly organised by <a href=\"http://shevski.com/\">Ira Bolychevsky</a> and her crack team.</p>\n<p>It was a day of thought-provoking conversations and notebook scribbling. This is an attempt to decode the scribbles, make some follow-up plans, and to generally summarise the day from my perspective. There was a lot going on so I can\u2019t cover it all, but I\u2019m going to keep an eye out for other people\u2019s notes via the <a href=\"http://eepurl.com/DgRA1\">Redecentralize newsletter</a>.</p>\n<pre>\n\\ \\ \\ \\\n\\\\\\ \\ \\ \\\\ \\ \\\\ \\ \\ \\\\\n\\\\\\\\\\ \\\\\\ \\\\\\ \\\\\\ \\ \\ \\\\ \\ \\\\\\ \\ \\\\ \\ \\\\ \\\\\\ \\\n\\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\\\\ \\\\\\ \\\\\\\\\\\\\\\\\n\\\\ \\\\\\ \\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\n \\ \\ \\\\ \\ \\ \\\\\\ \\ \\\\\\ \\ \\ \\\\\\ \\\\\\ \\\\\\ \\ \n \\ \\ \\ \\ \\ \\\n</pre>\n\n<h2><a href=\"https://piperhaywood.com/#kickoff\">Kickoff and lightning talks</a></h2>\n<p><a href=\"https://perfectpath.co.uk/\">Lloyd Davis</a> did an excellent job facilitating the event. He got everything going by describing the shape of the day and introducing us all to <a href=\"https://openspaceworld.org/wp2/what-is/\">Open Space Technology</a> with these overarching guidelines:</p>\n<ul><li>Whatever happens is the only thing that could have</li>\n<li>Whoever comes are the right people</li>\n<li>Whenever it starts is the right time</li>\n<li>When it\u2019s over, it\u2019s over</li>\n<li>Abide by the Law of Mobility (move around!)</li>\n</ul><p>The activity started with lightning talks, <a href=\"https://youtu.be/SZK8FZ2XIKk\">watch them in full on YouTube</a> (0:26\u201341:10). The talks in brief were:</p>\n<ul><li><a href=\"https://sunbeam.city/@kawaiipunk\">KawaiiPunk</a> on starting a tech workers co-operative, organisational structures, and working without bosses; suggested we all check out <a href=\"https://www.coops.tech/\">CoTech</a>, a network of ethical co-operatives providing technology, digital and creative services</li>\n<li><a href=\"http://www.simongrant.org/home.html\">Simon Grant</a> on the challenges faced by decentralized commons standardisation; suggested that we need more commonspace interoperability standards rather than less and highlighted the risks of centralized standards both on an organisational level and on a personal level</li>\n<li><a href=\"https://twitter.com/james_monaghan\">James Monaghan</a> on the current state of decentralized identity including <a href=\"https://www.hyperledger.org/\">Hyperledger</a>, <a href=\"https://sovrin.org/\">Sovrin Network</a> for identity management, and <a href=\"https://w3c-ccg.github.io/did-spec/\">Decentralized Identifiers (DIDs)</a></li>\n<li><a href=\"https://andregarzia.com/\">Andre Garzia</a> on <a href=\"https://addons.mozilla.org/en-GB/firefox/addon/patchfox/\">Patchfox</a>, a <a href=\"https://www.scuttlebutt.nz/\">Secure Scuttlebutt</a> client on the browser; emphasised that in order to have better uptake of decentralized technologies, we need to provide users with more bridges between the current web and decentralized protocols</li>\n<li><a href=\"https://csarven.ca/\">Sarven Capadisli</a> on <a href=\"https://solid.mit.edu/\">Solid</a>, socially linked data, the read-write decentralized web, and open web standards</li>\n<li><a href=\"https://twitter.com/sachameckler?lang=en\">Sacha Meckler</a> on system change in context of the climate crisis and <a href=\"https://medium.com/@sachameckler/a-big-scary-climate-idea-one-way-to-solve-the-climate-crisis-4f059668dcf2\">DRaCULA</a>, a decentralized economic model / framework</li>\n<li><a href=\"https://twitter.com/jtompl\">Jack Tomaszewski</a> questioning what can we offer to the end-user that current monopolies don\u2019t</li>\n<li><a href=\"https://half-shot.uk/\">Will Hunt</a> from <a href=\"https://matrix.org/\">Matrix</a> on platforms that let you bridge in Slack, Twitter, etc. to your own standard</li>\n<li><a href=\"https://github.com/MichaelMure\">Michael Mur\u00e9</a> on <a href=\"https://github.com/MichaelMure/git-bug\">git-bug</a>, a distributed, offline-first bug tracker fully embedded in Git</li>\n<li><a href=\"http://tantek.com/\">Tantek \u00c7elik</a> demonstrating the <a href=\"https://indieweb.org/\">IndieWeb</a> via his site <a href=\"http://tantek.com/\">tantek.com</a></li>\n<li><a href=\"https://crowdhailer.me/\">Peter Saxton</a> asserting that passwords are a blocker when considering the problems surrounding online identities; see <a href=\"https://forgetpasswords.com/\">F0rgetPa$$w0rds</a>, a forum where people can discuss these issues</li>\n<li><a href=\"https://twitter.com/matthewjosef?lang=en\">Matt Schutte</a> asking everyone to consider the differences between distributed systems and ecosystems; that distributed systems allow the dissemination of information whereas ecosystems support this *plus* the transformation of this information</li>\n<li><a href=\"http://shevski.com/\">Ira Bolychevsky</a> on how increasingly critical interoperability standards are for policymaking and regulation; we also need language that allows technologists and non-technologists to communicate on these topics</li>\n</ul><pre>\n\u256d-----*---\u256e------\u256e--*\u256e \u256d--\u256e\u256d-*\u256e \u256d--*---------\u256e \u256d-*-\u256e-------*--\u256e\n| \u256d-|---*--\u256e \u256d-*-\u256e | *\u256e *\u256f--|-|--\u256f \u256d---*-\u256f | | \u256d*--\u256e | |\n*---\u256e | \u256d---* | \u2570-*-\u256f| \u2570---*-\u256f | \u256d-*--*\u256f | \u2570-* * | |\n\u2570-\u256e *-\u256f--*-\u256e \u2570-*---*-\u256f *----*\u256f * | | \u2570--*-\u256f | \u2570-\u256f\u256d-*\n\u256d-*-|----\u256f *--\u256e----|--\u256e \u2570--*-|----\u256e\u2570-*-\u256f-|---\u256e \u256d--*\u256f--*---*\u256e\n| \u2570-|--*---\u256f *---\u256e| *-\u256f \u2570-*----* | | *---* \u256d*--\u256f|\n\u2570--*\u256f--\u256f \u2570------*\u256f--\u2570--*---\u256f \u2570-*\u256f---\u2570-*-\u256f \u2570-----*\u256f\u2570---*\n</pre>\n<h2><a href=\"https://piperhaywood.com/#sessions\">Sessions: business models, moderation, policy, privacy, identity, interoperability, and so much more</a></h2>\n<p>After the talks, Lloyd walked us through the session-wrangling process by inviting anyone present to come up and suggest a topic by jotting it down on a piece of paper. All of the suggested topics went up on the wall and were sorted in to one of three session slots, forming the schedule for the remainder of the day.</p>\n<p>The range in topics was <em>vast</em>. Sessions included:</p>\n<ul><li><em>Steward Ownership & Business Models</em> with <a href=\"https://twitter.com/adewunmi?lang=en\">Ade Adewunmi</a></li>\n<li><em>Learning how to create distributed systems</em> with Michael Mur\u00e9</li>\n<li>A presentation on DRaCULA by Sacha Meckler</li>\n<li><em>Identity: a fluid conversation through several contexts</em> with <a href=\"https://twitter.com/matthewjosef?lang=en\">Matt Schutte</a></li>\n<li><em>Preventing Abuse in Decentralised Systems</em> with <a href=\"https://mastodon.social/@dajbelshaw\">Doug Belshaw</a></li>\n<li><em>Web Interoperability Standards</em> with Sarven Capadisli</li>\n<li><em>IndieWeb Standards and Methods</em> with <a href=\"http://www.kevinmarks.com/\">Kevin Marks</a></li>\n<li><em>EU Policy Lobbying: Creating decent policy for decent tech</em> with Gerben</li>\n<li><em>Mental Health in the decentralization space</em> with <a href=\"https://www.burntfen.com/\">Richard Littauer</a></li>\n<li>A presentation on <a href=\"https://peergos.org/\">Peergos</a> by founder Ian Preston</li>\n<li><em>What is / will be the decentralized tech stack vs. the current tech stack?</em> with John Nugent</li>\n<li><em>Minimum Viable DID Ecosystem: Exploring the participants and standards</em> with James Monaghan</li>\n<li><em>Decentralised Identity & Rethinking Reputation</em> with Kate</li>\n<li><em>Mainstreaming P2P Apps</em> with <a href=\"http://artbrock.com/\">Arthur Brock</a></li>\n<li><em>UX Patterns for Decentralization</em> with <a href=\"https://bumble.blue/\">Eileen Wagner</a></li>\n<li><em>Intro to Scuttlebutt</em> with Andre Garzia</li>\n<li><em>Building Bridges & Breaking the Law</em> with Jack Tomaszewski</li>\n<li><em>Mapping the space: an awesome list of projects and protocols</em> with Gerben</li>\n<li>A presentation on git-bug by Michael Mur\u00e9</li>\n<li><em>Decentralization is Feminist</em> with Mauve</li>\n<li><em>Matrix 1.0 Decentralised Comms at Scale</em> with <a href=\"https://fragile.org.uk/\">Neil Johnson</a></li>\n<li><em>Email: mailbox encryption, burner identities, interoperability, etc.</em> with Tim</li>\n<li><em>GPS and identity tracking: SIMs, phones, and more</em></li>\n<li>An ethics discussion with <a href=\"https://www.burntfen.com/\">Richard Littauer</a></li>\n<li>15 minutes of movement games with Eric Bear</li>\n<li><em>Open Standards and Interoperability</em> with Ira Bolychevsky</li>\n</ul><p>I was able to make it to three sessions, though I would have <em>loved</em> to get to more. I\u2019ll focus on the preventing abuse session below and hope to cover the UX patterns and feminist topics in later posts.</p>\n<pre>\n\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25c9\u25c9\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ce\u25ef\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ce\u25ef\u25ce\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25c9\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25c9\u25ce\u25ce\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\n\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ce\u25ce\u25ce\u25c9\u25c9\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25cf\n</pre>\n<h2><a href=\"https://piperhaywood.com/#preventing-abuse\">Preventing Abuse in Decentralized Systems</a></h2>\n<p>The real-world catalyst for the <em>Preventing Abuse</em> session was Gab, a social network that has become a cesspit of hateful speech and has been directly linked to some lethally violent events. The Verge has a good article on <a href=\"https://www.theverge.com/2019/7/12/20691957/mastodon-decentralized-social-network-gab-migration-fediverse-app-blocking\">recent events involving Gab</a>. In summary, the Gab creators and users see moderation as their biggest threat. To fight moderation, they\u2019ve forked <a href=\"https://blog.joinmastodon.org/\">Mastodon</a>. Since Mastodon is released under an open-source free software license, Mastodon can\u2019t prevent Gab from using their software. Since Mastodon is decentralized, it has no control over the entire platform and can only undertake piecemeal counter-measures to fight abuse.</p>\n<p>Mastodon has tried to take a few steps to limit Gab. They\u2019ve released a <a href=\"https://blog.joinmastodon.org/2019/07/statement-on-gabs-fork-of-mastodon/\">statement</a> on the issue, Gab is not included in the list of instances on Mastodon\u2019s official site since they don\u2019t abide by the <a href=\"https://blog.joinmastodon.org/2019/05/introducing-the-mastodon-server-covenant/\">Mastodon Server Covenant</a>, individual instance admins have blocked Gab\u2019s instance so that it is less likely to form part of the <a href=\"https://en.wikipedia.org/wiki/Fediverse\">fediverse</a>, and some developers of mobile apps such as Tusky and Toot! are attempting to block Gab in one way or another. Unfortunately, these steps may not have done much. Gab asserts that it has over a million users on Mastodon, though who knows how many are actually active.</p>\n<p>These events amount to a crisis in both open source tech and the decentralized web. If behaviour on the decentralized web is as bad or worse than the centralized systems we already have, we\u2019re screwing something up.</p>\n\n<p>After a bit of an introductory conversation about Gab and related issues, the session broke in to three groups to discuss the problem from technical, philosophical, and design standpoints. I was part of the \u201cdesign\u201d group.</p>\n<h3><a href=\"https://piperhaywood.com/#internet-physical-space\">The Internet as a physical space</a></h3>\n<p>How do you design a solution to a problem that has no precedent? We reached for metaphors. In particular, we compared the internet to physical places. This harks back to discussions at the <a href=\"https://blog.datproject.org/2018/10/18/whyspace-mozfesthouse/\">Whyspace event at MozFest House</a> last year.</p>\n<p>So many questions came up. Are you a village, town, or city person? How do you deal with a jerk in a tiny village pub versus a Sam Smith\u2019s in the middle of Soho? How do you deal with people that are just being slightly terrible versus people that are actually committing a crime? How can you take mental health issues and rehabilitation in to consideration when deciding how to handle people that behave poorly? How does the infrastructure of a place or the architecture of a space encourage or discourage bad behaviour?</p>\n<p>Another consideration that was raised: No space or place is entirely neutral, and that can be a <em>very good</em> thing. Some US states usually vote Democrat, others Republican. In pubs you can tell bawdy jokes and curse as you please with <a href=\"https://www.theguardian.com/lifeandstyle/2017/jul/01/samuel-smith-pub-boss-anti-swearing-crusade-sacked-on-spot\">some exceptions</a>, in a nursery you\u2019d better not. Society needs a multiplicity of spaces, of micro-cultures with their own practices and norms. Why do so many tech platforms pretend that a truly neutral stance is possible or even right? What about exploring the benefits of a deliberately non-neutral approach?</p>\n<p>Comparing real-life spaces to the internet became a useful game. Usually conversations about abuse and moderation get pretty depressing bordering on nihilistic. This was both more fun and more productive.</p>\n<h3><a href=\"https://piperhaywood.com/#ssb-incident\">Abuse on Secure Scuttlebutt</a></h3>\n<p>The discussion about the internet as a place brought us to Secure Scuttlebutt\u2019s (SSB) \u201c<a href=\"https://www.scuttlebutt.nz/faq/basics/pub\">pubs</a>\u201d and then to a real-life instance of abuse on SSB. I\u2019d love to find a writeup by someone personally familiar with the matter, I\u2019ve only heard about it in conversation with people like <a href=\"http://tenthousandthings.org.uk/\">Kieran</a> at the <a href=\"https://piperhaywood.com/tag/server-co-op/\">Server Co-op</a> meetups.</p>\n<p>My current understanding of the incident is that one or more people joined SSB, followed a few existing users and <a href=\"https://www.scuttlebutt.nz/faq/basics/pub\">pubs</a>, and then started posting bigoted things. To counter this, users started changing the miscreants\u2019 nicknames to something that creatively indicated their gross behaviour, blocked them, and added them to shared blocklists. The nicknames gave other users social proof of the problematic behaviour, and the block cut the misbehaving user out of that part of the network. Eventually, the bad users were blocked by so many people and pubs that they were excised from the wider network.</p>\n<p>This prevents trolling and makes it harder for bad actors to gain a wide reach, but it doesn\u2019t prevent them from using the platform for organisational purposes. They may still be out there somewhere in their own sort of cell. That\u2019s more than a little scary.</p>\n<p>It feels important to note that what happened to SSB isn\u2019t a million miles away from what has happened to Mastodon. If the technical barrier to using SSB were just a little lower, if there were a few more bridges between the current web and SSB via software like <a href=\"https://github.com/soapdog/patchfox\">Patchfox</a>, SSB could be another platform option for a similar group of misanthropic users.</p>\n<h3><a href=\"https://piperhaywood.com/#next-steps\">Next steps and further thoughts</a></h3>\n<p>As a follow-up, I\u2019m going to read <a href=\"https://www.patternlanguage.com/labyrinth/apl-tour1.html\"><em>A Pattern Language</em></a> written by Christopher Alexander, Sara Ishikawa and Murray Silverstein from the Center for Environmental Structure at UC Berkeley in 1977. This was suggested by Eileen in relation to considering villages vs cities, the microscopic vs the macroscopic. It\u2019s available in full online, pretty cool.</p>\n<p>I\u2019m hoping that <a href=\"https://github.com/Happy0\">Gordon</a> will write a retrospective on the SSB incident (*please* do!), I\u2019ll certainly be reading that if so. I may also do some digging to see if other decentralized protocols and platforms have encountered harmful users. It seems inevitable, some must have. If so, we should be pooling these experiences to try to come up with some collective answers.</p>\n<p>Can we create new open source software licenses that include moral clauses limiting hate speech and bigotry? The <a href=\"https://firstdonoharm.dev/\">Hippocratic License</a>, <a href=\"https://piperhaywood.com/Anti-996%20License\">Anti-996 License</a>, and <a href=\"https://github.com/raisely/NoHarm\">Do No Harm License</a> all look promising but are in varying draft states, read \u201c<a href=\"https://www.torkinmanes.com/our-resources/publications-presentations/publication/ethical-open-source-is-the-world-ready\">Ethical Open Source: Is the world ready?</a>\u201d by Canadian law firm Torkin Manes for a good outline of the state of ethical open source software licensing. A related but separate consideration: how, if at all, do <a href=\"https://creativecommons.org/\">Creative Commons</a> licenses help protect against the malicious use of content?</p>\n\n<p>So many Mozfest sessions were relevant to this topic as well. Ira called on us to <a href=\"https://medium.com/@shevski/instead-of-breaking-up-big-tech-lets-break-it-open-7535b59dc2f6\">break Big Tech open</a> with stronger interoperability standards and regulations, Eileen taught how to remix UX patterns for distributed systems, and <a href=\"http://www.daniellecrobinson.com/\">Danielle Robinson</a> modelled the perhaps more mundane but <em>extremely</em> critical non-technical threats that open source projects face including licensing and governance. It is heartening to hear so many people talking about similar problems, hopefully we can bring the conversations together and amplify them.</p>\n\n<p>Really wish I could have attended all of the Redecentralize sessions! I was particularly gutted to miss out on the IndieWeb how-to. I\u2019ve tried to implement webmentions on my site but have a feeling I\u2019m missing something\u2026 Will have to go to one of their <a href=\"https://indieweb.org/Events\">events</a> instead.</p>\n<p>If anyone has additional thoughts on any of the above, please share them with me! Email me at mail@piperhaywood.com. Thanks again to Ira, Gerben, Anna, and all of the other organisers. It was a great event.</p>\n<p>This note, <a href=\"https://piperhaywood.com/notes-from-redecentralize-2019/\">Notes from Redecentralize 2019</a>, is from <a href=\"https://piperhaywood.com/\">piperhaywood.com</a>.</p>", "text": "Been a busy few days with Redecentralize on Friday followed by Mozfest over the weekend. Redecentralize was a one-day unconference at 4th Floor Studios in Whitechapel. The event was expertly organised by Ira Bolychevsky and her crack team.\nIt was a day of thought-provoking conversations and notebook scribbling. This is an attempt to decode the scribbles, make some follow-up plans, and to generally summarise the day from my perspective. There was a lot going on so I can\u2019t cover it all, but I\u2019m going to keep an eye out for other people\u2019s notes via the Redecentralize newsletter.\n\n\\ \\ \\ \\\n\\\\\\ \\ \\ \\\\ \\ \\\\ \\ \\ \\\\\n\\\\\\\\\\ \\\\\\ \\\\\\ \\\\\\ \\ \\ \\\\ \\ \\\\\\ \\ \\\\ \\ \\\\ \\\\\\ \\\n\\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\\\\ \\\\\\ \\\\\\\\\\\\\\\\\n\\\\ \\\\\\ \\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\n \\ \\ \\\\ \\ \\ \\\\\\ \\ \\\\\\ \\ \\ \\\\\\ \\\\\\ \\\\\\ \\ \n \\ \\ \\ \\ \\ \\\n\n\nKickoff and lightning talks\nLloyd Davis did an excellent job facilitating the event. He got everything going by describing the shape of the day and introducing us all to Open Space Technology with these overarching guidelines:\nWhatever happens is the only thing that could have\nWhoever comes are the right people\nWhenever it starts is the right time\nWhen it\u2019s over, it\u2019s over\nAbide by the Law of Mobility (move around!)\nThe activity started with lightning talks, watch them in full on YouTube (0:26\u201341:10). The talks in brief were:\nKawaiiPunk on starting a tech workers co-operative, organisational structures, and working without bosses; suggested we all check out CoTech, a network of ethical co-operatives providing technology, digital and creative services\nSimon Grant on the challenges faced by decentralized commons standardisation; suggested that we need more commonspace interoperability standards rather than less and highlighted the risks of centralized standards both on an organisational level and on a personal level\nJames Monaghan on the current state of decentralized identity including Hyperledger, Sovrin Network for identity management, and Decentralized Identifiers (DIDs)\nAndre Garzia on Patchfox, a Secure Scuttlebutt client on the browser; emphasised that in order to have better uptake of decentralized technologies, we need to provide users with more bridges between the current web and decentralized protocols\nSarven Capadisli on Solid, socially linked data, the read-write decentralized web, and open web standards\nSacha Meckler on system change in context of the climate crisis and DRaCULA, a decentralized economic model / framework\nJack Tomaszewski questioning what can we offer to the end-user that current monopolies don\u2019t\nWill Hunt from Matrix on platforms that let you bridge in Slack, Twitter, etc. to your own standard\nMichael Mur\u00e9 on git-bug, a distributed, offline-first bug tracker fully embedded in Git\nTantek \u00c7elik demonstrating the IndieWeb via his site tantek.com\nPeter Saxton asserting that passwords are a blocker when considering the problems surrounding online identities; see F0rgetPa$$w0rds, a forum where people can discuss these issues\nMatt Schutte asking everyone to consider the differences between distributed systems and ecosystems; that distributed systems allow the dissemination of information whereas ecosystems support this *plus* the transformation of this information\nIra Bolychevsky on how increasingly critical interoperability standards are for policymaking and regulation; we also need language that allows technologists and non-technologists to communicate on these topics\n\n\u256d-----*---\u256e------\u256e--*\u256e \u256d--\u256e\u256d-*\u256e \u256d--*---------\u256e \u256d-*-\u256e-------*--\u256e\n| \u256d-|---*--\u256e \u256d-*-\u256e | *\u256e *\u256f--|-|--\u256f \u256d---*-\u256f | | \u256d*--\u256e | |\n*---\u256e | \u256d---* | \u2570-*-\u256f| \u2570---*-\u256f | \u256d-*--*\u256f | \u2570-* * | |\n\u2570-\u256e *-\u256f--*-\u256e \u2570-*---*-\u256f *----*\u256f * | | \u2570--*-\u256f | \u2570-\u256f\u256d-*\n\u256d-*-|----\u256f *--\u256e----|--\u256e \u2570--*-|----\u256e\u2570-*-\u256f-|---\u256e \u256d--*\u256f--*---*\u256e\n| \u2570-|--*---\u256f *---\u256e| *-\u256f \u2570-*----* | | *---* \u256d*--\u256f|\n\u2570--*\u256f--\u256f \u2570------*\u256f--\u2570--*---\u256f \u2570-*\u256f---\u2570-*-\u256f \u2570-----*\u256f\u2570---*\n\nSessions: business models, moderation, policy, privacy, identity, interoperability, and so much more\nAfter the talks, Lloyd walked us through the session-wrangling process by inviting anyone present to come up and suggest a topic by jotting it down on a piece of paper. All of the suggested topics went up on the wall and were sorted in to one of three session slots, forming the schedule for the remainder of the day.\nThe range in topics was vast. Sessions included:\nSteward Ownership & Business Models with Ade Adewunmi\nLearning how to create distributed systems with Michael Mur\u00e9\nA presentation on DRaCULA by Sacha Meckler\nIdentity: a fluid conversation through several contexts with Matt Schutte\nPreventing Abuse in Decentralised Systems with Doug Belshaw\nWeb Interoperability Standards with Sarven Capadisli\nIndieWeb Standards and Methods with Kevin Marks\nEU Policy Lobbying: Creating decent policy for decent tech with Gerben\nMental Health in the decentralization space with Richard Littauer\nA presentation on Peergos by founder Ian Preston\nWhat is / will be the decentralized tech stack vs. the current tech stack? with John Nugent\nMinimum Viable DID Ecosystem: Exploring the participants and standards with James Monaghan\nDecentralised Identity & Rethinking Reputation with Kate\nMainstreaming P2P Apps with Arthur Brock\nUX Patterns for Decentralization with Eileen Wagner\nIntro to Scuttlebutt with Andre Garzia\nBuilding Bridges & Breaking the Law with Jack Tomaszewski\nMapping the space: an awesome list of projects and protocols with Gerben\nA presentation on git-bug by Michael Mur\u00e9\nDecentralization is Feminist with Mauve\nMatrix 1.0 Decentralised Comms at Scale with Neil Johnson\nEmail: mailbox encryption, burner identities, interoperability, etc. with Tim\nGPS and identity tracking: SIMs, phones, and more\nAn ethics discussion with Richard Littauer\n15 minutes of movement games with Eric Bear\nOpen Standards and Interoperability with Ira Bolychevsky\nI was able to make it to three sessions, though I would have loved to get to more. I\u2019ll focus on the preventing abuse session below and hope to cover the UX patterns and feminist topics in later posts.\n\n\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25c9\u25c9\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ce\u25ef\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25ce\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ce\u25ce\u25ef\u25ce\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25c9\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25c9\u25c9\u25c9\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25c9\u25ce\u25ce\u25ef\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\n\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ef\u25ce\u25ce\u25ce\u25c9\u25c9\n\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25c9\u25cf\u25cf\u25cf\u25c9\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ef\u25ce\u25ce\u25c9\u25c9\u25c9\u25cf\n\nPreventing Abuse in Decentralized Systems\nThe real-world catalyst for the Preventing Abuse session was Gab, a social network that has become a cesspit of hateful speech and has been directly linked to some lethally violent events. The Verge has a good article on recent events involving Gab. In summary, the Gab creators and users see moderation as their biggest threat. To fight moderation, they\u2019ve forked Mastodon. Since Mastodon is released under an open-source free software license, Mastodon can\u2019t prevent Gab from using their software. Since Mastodon is decentralized, it has no control over the entire platform and can only undertake piecemeal counter-measures to fight abuse.\nMastodon has tried to take a few steps to limit Gab. They\u2019ve released a statement on the issue, Gab is not included in the list of instances on Mastodon\u2019s official site since they don\u2019t abide by the Mastodon Server Covenant, individual instance admins have blocked Gab\u2019s instance so that it is less likely to form part of the fediverse, and some developers of mobile apps such as Tusky and Toot! are attempting to block Gab in one way or another. Unfortunately, these steps may not have done much. Gab asserts that it has over a million users on Mastodon, though who knows how many are actually active.\nThese events amount to a crisis in both open source tech and the decentralized web. If behaviour on the decentralized web is as bad or worse than the centralized systems we already have, we\u2019re screwing something up.\n\nAfter a bit of an introductory conversation about Gab and related issues, the session broke in to three groups to discuss the problem from technical, philosophical, and design standpoints. I was part of the \u201cdesign\u201d group.\nThe Internet as a physical space\nHow do you design a solution to a problem that has no precedent? We reached for metaphors. In particular, we compared the internet to physical places. This harks back to discussions at the Whyspace event at MozFest House last year.\nSo many questions came up. Are you a village, town, or city person? How do you deal with a jerk in a tiny village pub versus a Sam Smith\u2019s in the middle of Soho? How do you deal with people that are just being slightly terrible versus people that are actually committing a crime? How can you take mental health issues and rehabilitation in to consideration when deciding how to handle people that behave poorly? How does the infrastructure of a place or the architecture of a space encourage or discourage bad behaviour?\nAnother consideration that was raised: No space or place is entirely neutral, and that can be a very good thing. Some US states usually vote Democrat, others Republican. In pubs you can tell bawdy jokes and curse as you please with some exceptions, in a nursery you\u2019d better not. Society needs a multiplicity of spaces, of micro-cultures with their own practices and norms. Why do so many tech platforms pretend that a truly neutral stance is possible or even right? What about exploring the benefits of a deliberately non-neutral approach?\nComparing real-life spaces to the internet became a useful game. Usually conversations about abuse and moderation get pretty depressing bordering on nihilistic. This was both more fun and more productive.\nAbuse on Secure Scuttlebutt\nThe discussion about the internet as a place brought us to Secure Scuttlebutt\u2019s (SSB) \u201cpubs\u201d and then to a real-life instance of abuse on SSB. I\u2019d love to find a writeup by someone personally familiar with the matter, I\u2019ve only heard about it in conversation with people like Kieran at the Server Co-op meetups.\nMy current understanding of the incident is that one or more people joined SSB, followed a few existing users and pubs, and then started posting bigoted things. To counter this, users started changing the miscreants\u2019 nicknames to something that creatively indicated their gross behaviour, blocked them, and added them to shared blocklists. The nicknames gave other users social proof of the problematic behaviour, and the block cut the misbehaving user out of that part of the network. Eventually, the bad users were blocked by so many people and pubs that they were excised from the wider network.\nThis prevents trolling and makes it harder for bad actors to gain a wide reach, but it doesn\u2019t prevent them from using the platform for organisational purposes. They may still be out there somewhere in their own sort of cell. That\u2019s more than a little scary.\nIt feels important to note that what happened to SSB isn\u2019t a million miles away from what has happened to Mastodon. If the technical barrier to using SSB were just a little lower, if there were a few more bridges between the current web and SSB via software like Patchfox, SSB could be another platform option for a similar group of misanthropic users.\nNext steps and further thoughts\nAs a follow-up, I\u2019m going to read A Pattern Language written by Christopher Alexander, Sara Ishikawa and Murray Silverstein from the Center for Environmental Structure at UC Berkeley in 1977. This was suggested by Eileen in relation to considering villages vs cities, the microscopic vs the macroscopic. It\u2019s available in full online, pretty cool.\nI\u2019m hoping that Gordon will write a retrospective on the SSB incident (*please* do!), I\u2019ll certainly be reading that if so. I may also do some digging to see if other decentralized protocols and platforms have encountered harmful users. It seems inevitable, some must have. If so, we should be pooling these experiences to try to come up with some collective answers.\nCan we create new open source software licenses that include moral clauses limiting hate speech and bigotry? The Hippocratic License, Anti-996 License, and Do No Harm License all look promising but are in varying draft states, read \u201cEthical Open Source: Is the world ready?\u201d by Canadian law firm Torkin Manes for a good outline of the state of ethical open source software licensing. A related but separate consideration: how, if at all, do Creative Commons licenses help protect against the malicious use of content?\n\nSo many Mozfest sessions were relevant to this topic as well. Ira called on us to break Big Tech open with stronger interoperability standards and regulations, Eileen taught how to remix UX patterns for distributed systems, and Danielle Robinson modelled the perhaps more mundane but extremely critical non-technical threats that open source projects face including licensing and governance. It is heartening to hear so many people talking about similar problems, hopefully we can bring the conversations together and amplify them.\n\nReally wish I could have attended all of the Redecentralize sessions! I was particularly gutted to miss out on the IndieWeb how-to. I\u2019ve tried to implement webmentions on my site but have a feeling I\u2019m missing something\u2026 Will have to go to one of their events instead.\nIf anyone has additional thoughts on any of the above, please share them with me! Email me at mail@piperhaywood.com. Thanks again to Ira, Gerben, Anna, and all of the other organisers. It was a great event.\nThis note, Notes from Redecentralize 2019, is from piperhaywood.com." }, "name": "Notes from Redecentralize 2019", "post-type": "note", "_id": "5843445", "_source": "251", "_is_read": true }
{ "type": "entry", "author": { "name": "Manton Reece", "url": "https://www.manton.org/", "photo": "https://micro.blog/manton/avatar.jpg" }, "url": "https://www.manton.org/2019/10/28/content-ownership-is.html", "name": "Content ownership is not complicated", "content": { "html": "<p>There have been a few <a href=\"https://indieweb.org/IndieWebCamps\">IndieWebCamps</a> recently, including in Amsterdam, New York, and Brighton. I\u2019ve enjoyed reviewing the sessions, and after the Amsterdam event I noticed <a href=\"https://infullflow.net/2019/09/indieweb-its-about-first-ownership/\">this post about content ownership</a>:</p>\n\n<blockquote>\n<p>When it comes to posting to Facebook or Twitter, you play a different game. You write and post it on their servers, therefore those companies own your data, not you. A photo (or video for that matter) is a special kind of data. Its file size creates limitations to its distribution, but no matter where it\u2019s uploaded, it is always owned by its creator first.</p>\n</blockquote>\n\n<p>While it\u2019s good to acknowledge the unique hosting requirements of photos and videos, how we define content ownership shouldn\u2019t be any different. People get lost in the weeds with running their own server, how to set up cross-posting to other social networks, where to post first, what formats and protocols to use, etc. But it\u2019s actually much simpler than that.</p>\n\n<p>I think in the tech world \u2014\u00a0and especially as programmers \u2014\u00a0we tend to make things more complicated than they need to be. We know <em>too much</em> about content ownership, most of it irrelevant for mainstream users.</p>\n\n<p>If you want to control your content on the web, post it at your own personal domain name. <strong>That\u2019s it.</strong> Everything else you want to do is icing on the cake.</p>\n\n<p>Likewise, nothing else can be a replacement for that simple act of using your own domain name. You could write your own blog software with a custom database designed for ActivityPub and run it on a server in your basement. It doesn\u2019t matter. Without the domain name, all you have is a pile of icing.</p>\n\n<p>This has been the messaging for <a href=\"https://micro.blog/\">Micro.blog</a> from the beginning. Keep it simple and make it easy for anyone to participate in the open web.</p>", "text": "There have been a few IndieWebCamps recently, including in Amsterdam, New York, and Brighton. I\u2019ve enjoyed reviewing the sessions, and after the Amsterdam event I noticed this post about content ownership:\n\n\nWhen it comes to posting to Facebook or Twitter, you play a different game. You write and post it on their servers, therefore those companies own your data, not you. A photo (or video for that matter) is a special kind of data. Its file size creates limitations to its distribution, but no matter where it\u2019s uploaded, it is always owned by its creator first.\n\n\nWhile it\u2019s good to acknowledge the unique hosting requirements of photos and videos, how we define content ownership shouldn\u2019t be any different. People get lost in the weeds with running their own server, how to set up cross-posting to other social networks, where to post first, what formats and protocols to use, etc. But it\u2019s actually much simpler than that.\n\nI think in the tech world \u2014\u00a0and especially as programmers \u2014\u00a0we tend to make things more complicated than they need to be. We know too much about content ownership, most of it irrelevant for mainstream users.\n\nIf you want to control your content on the web, post it at your own personal domain name. That\u2019s it. Everything else you want to do is icing on the cake.\n\nLikewise, nothing else can be a replacement for that simple act of using your own domain name. You could write your own blog software with a custom database designed for ActivityPub and run it on a server in your basement. It doesn\u2019t matter. Without the domain name, all you have is a pile of icing.\n\nThis has been the messaging for Micro.blog from the beginning. Keep it simple and make it easy for anyone to participate in the open web." }, "published": "2019-10-28T11:05:42-05:00", "category": [ "Essays" ], "post-type": "article", "_id": "5838151", "_source": "12", "_is_read": true }
{ "type": "entry", "author": { "name": "Manton Reece", "url": "https://www.manton.org/", "photo": "https://micro.blog/manton/avatar.jpg" }, "url": "https://www.manton.org/2019/10/28/swarm-checkins-and.html", "name": "Swarm check-ins and Micro.blog", "content": { "html": "<p>Following <a href=\"https://manton.coffee/\">my experiment</a> with importing Foursquare data, I\u2019ve officially updated Micro.blog to support storing location information. The Micropub API now accepts <code>checkin</code> and <code>location</code> properties for sending venue name, URL, latitude, and longitude to Micro.blog. This works with the JSON format in <a href=\"https://ownyourswarm.p3k.io/\">OwnYourSwarm</a>, which connects Foursquare/Swarm to your microblog.</p>\n\n<p>Micro.blog on the web and the native apps <em>do not</em> send any location information. Right now this is purely an opt-in feature for third-party apps like OwnYourSwarm and custom solutions using the API. We consider location information very private and will never enable it automatically.</p>\n\n<p>When a post has location information, you can see the coordinates in the posts list on your account:</p>\n\n<p><img src=\"https://www.manton.org/uploads/2019/40afcd5dc4.png\" alt=\"Location screenshot\" border=\"0\" width=\"343\" height=\"87\" style=\"width:343px;height:87px;\" /></p>\n\n<p>The default Micro.blog themes do not currently do anything with this information. You can create a custom theme to access the coordinates as custom parameters, like this:</p>\n\n<pre>{{ if .Params.location_latitude }}\n <img src=\"https://example-mapping-service.com/?center={{ .Params.location_latitude }},{{ .Params.location_longitude}}\" />\n{{ end }}</pre>\n\n<p>The 4 available parameters are <code>location_name</code>, <code>location_url</code>, <code>location_latitude</code>, and <code>location_longitude</code>. The venue name is automatically prepended to post content so that no theme changes are necessary. I\u2019d like to explore offering maps as a built-in feature in the future. Enjoy!</p>", "text": "Following my experiment with importing Foursquare data, I\u2019ve officially updated Micro.blog to support storing location information. The Micropub API now accepts checkin and location properties for sending venue name, URL, latitude, and longitude to Micro.blog. This works with the JSON format in OwnYourSwarm, which connects Foursquare/Swarm to your microblog.\n\nMicro.blog on the web and the native apps do not send any location information. Right now this is purely an opt-in feature for third-party apps like OwnYourSwarm and custom solutions using the API. We consider location information very private and will never enable it automatically.\n\nWhen a post has location information, you can see the coordinates in the posts list on your account:\n\n\n\nThe default Micro.blog themes do not currently do anything with this information. You can create a custom theme to access the coordinates as custom parameters, like this:\n\n{{ if .Params.location_latitude }}\n <img src=\"https://example-mapping-service.com/?center={{ .Params.location_latitude }},{{ .Params.location_longitude}}\" />\n{{ end }}\n\nThe 4 available parameters are location_name, location_url, location_latitude, and location_longitude. The venue name is automatically prepended to post content so that no theme changes are necessary. I\u2019d like to explore offering maps as a built-in feature in the future. Enjoy!" }, "published": "2019-10-28T10:03:00-05:00", "category": [ "Photos", "Essays" ], "post-type": "article", "_id": "5838152", "_source": "12", "_is_read": true }
{ "type": "entry", "published": "2019-10-28T02:09:16+00:00", "url": "http://stream.boffosocko.com/2019/aspittel-the-best-beginner-projects-are-building-things-to-use", "category": [ "hacktoberfest" ], "syndication": [ "https://twitter.com/ChrisAldrich/status/1188638842582130688" ], "in-reply-to": [ "https://twitter.com/ASpittel/status/1188510167517806593?s=09" ], "content": { "text": "@ASpittel The best beginner projects are building things to use for one's self. They could try building and improving their own websites. Indieweb.org has lots of ideas, open source code samples, and a helpful community. #hacktoberfest", "html": "<a href=\"https://twitter.com/ASpittel\">@ASpittel</a> The best beginner projects are building things to use for one's self. They could try building and improving their own websites. Indieweb.org has lots of ideas, open source code samples, and a helpful community. <a href=\"http://stream.boffosocko.com/tag/hacktoberfest\" class=\"p-category\">#hacktoberfest</a>" }, "author": { "type": "card", "name": "Chris Aldrich", "url": "http://stream.boffosocko.com/profile/chrisaldrich", "photo": "http://stream.boffosocko.com/file/600427b81f7785e704eadfe511a9270f/thumb.jpg" }, "post-type": "reply", "_id": "5829839", "_source": "192", "_is_read": true }
{ "type": "entry", "published": "2019-10-27T17:52:00Z", "url": "https://www.jvt.me/mf2/2019/10/tmnqi/", "category": [ "indieweb" ], "bookmark-of": [ "https://www.marketgoo.com/blog/2019/04/30/why-support-indieweb/" ], "name": "Why I'm supporting the IndieWeb (and you should too) - marketgoo", "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "bookmark", "_id": "5821915", "_source": "2169", "_is_read": true }
This is an update to my 2018 article on how I set up my WordPress site. Standard Plugins EWWW Image Optimizer(Link) – It reduces file sizes for images to ensure faster loading Pushover Notifications(Link)or the forked alternative Pushbullet Notifications(Link) for WordPress – This plugin sends n...
{ "type": "entry", "author": { "name": "Neil Mather", "url": "https://doubleloop.net/", "photo": null }, "url": "https://doubleloop.net/2019/10/27/6321/", "published": "2019-10-27T06:25:12+00:00", "content": { "html": "Liked <a href=\"https://david.shanske.com/2019/02/01/how-i-set-up-my-wordpress-indieweb-website-2019-edition/\">How I Set up my WordPress Indieweb Website \u2013 2019 Edition</a> by <a href=\"https://david.shanske.com/\"><img src=\"https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-42.png\" alt=\"David Shanske\" />David Shanske</a>\n<blockquote>This is an update to my 2018 article on how I set up my WordPress site.\nStandard Plugins EWWW Image Optimizer(Link) \u2013 It reduces file sizes for images to ensure faster loading Pushover Notifications(Link)or the forked alternative Pushbullet Notifications(Link) for WordPress \u2013 This plugin sends n...</blockquote>", "text": "Liked How I Set up my WordPress Indieweb Website \u2013 2019 Edition by David Shanske\nThis is an update to my 2018 article on how I set up my WordPress site.\nStandard Plugins EWWW Image Optimizer(Link) \u2013 It reduces file sizes for images to ensure faster loading Pushover Notifications(Link)or the forked alternative Pushbullet Notifications(Link) for WordPress \u2013 This plugin sends n..." }, "post-type": "note", "_id": "5816921", "_source": "1895", "_is_read": true }
{ "type": "entry", "published": "2019-10-26T14:07:00+01:00", "url": "https://www.jvt.me/mf2/2019/10/zrhmv/", "category": [ "indiewebcamp" ], "bookmark-of": [ "https://calumryan.com/blog/indiewebcamp-brighton-2019/" ], "name": "IndieWebCamp Brighton 2019", "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "bookmark", "_id": "5804090", "_source": "2169", "_is_read": true }
{ "type": "entry", "published": "2019-10-26T07:19:00+01:00", "url": "https://www.jvt.me/mf2/2019/10/xyvsw/", "in-reply-to": [ "https://andregarzia.com/2019/10/adding-indieweb-support-to-this-site.html" ], "name": "Reply to https://andregarzia.com/2019/10/adding-indieweb-support-to-this-site.html", "content": { "text": "Congrats and welcome to the IndieWeb!", "html": "<p>Congrats and welcome to the IndieWeb!</p>" }, "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "reply", "_id": "5801255", "_source": "2169", "_is_read": true }
Woo, thanks to https://realize.be/ for releasing an update of the wonderful Android app https://indigenous.realize.be/ which adds in a fix to not send multiple bearer tokens in Micropub requests ( https://github.com/swentel/indigenous-android/issues/241 ) This started breaking for me when I upgraded my Micropub endpoint to use the spring-oauth2-resource-server module ( https://gitlab.com/jamietanna/www-api/merge_requests/27 ) which is a well-formed OAuth2 server, whereas my previous implementation was not. Super speedy fix, and glad to be back to using the app again!
{ "type": "entry", "published": "2019-10-25T22:50:00+01:00", "url": "https://www.jvt.me/mf2/2019/10/yyxkk/", "category": [ "micropub" ], "content": { "text": "Woo, thanks to https://realize.be/ for releasing an update of the wonderful Android app https://indigenous.realize.be/ which adds in a fix to not send multiple bearer tokens in Micropub requests ( https://github.com/swentel/indigenous-android/issues/241 )\n\nThis started breaking for me when I upgraded my Micropub endpoint to use the spring-oauth2-resource-server module ( https://gitlab.com/jamietanna/www-api/merge_requests/27 ) which is a well-formed OAuth2 server, whereas my previous implementation was not.\n\nSuper speedy fix, and glad to be back to using the app again!", "html": "<p>Woo, thanks to <a href=\"https://realize.be/\">https://realize.be/</a> for releasing an update of the wonderful Android app <a href=\"https://indigenous.realize.be/\">https://indigenous.realize.be/</a> which adds in a fix to not send multiple bearer tokens in Micropub requests ( <a href=\"https://github.com/swentel/indigenous-android/issues/241\">https://github.com/swentel/indigenous-android/issues/241</a> )\n\nThis started breaking for me when I upgraded my Micropub endpoint to use the spring-oauth2-resource-server module ( <a href=\"https://gitlab.com/jamietanna/www-api/merge_requests/27\">https://gitlab.com/jamietanna/www-api/merge_requests/27</a> ) which is a well-formed OAuth2 server, whereas my previous implementation was not.\n\nSuper speedy fix, and glad to be back to using the app again! </p>" }, "author": { "type": "card", "name": "Jamie Tanna", "url": "https://www.jvt.me", "photo": "https://www.jvt.me/img/profile.png" }, "post-type": "note", "_id": "5796482", "_source": "2169", "_is_read": true }