{"type":"feed","url":"/jf2/category/delete","name":"https://grant.codes JF2 Feed","author":{"type":"card","name":"Grant Richmond","photo":"https://grant.codes/img/me.jpg","url":"https://grant.codes"},"children":[{"type":"entry","uid":"https://grant.codes/2019/07/08/together","summary":"An update on what is new in Together","name":"Together v3","content":{"html":"<p>Over the last few months I have been completely rebuilding my social reader <a href=\"https://alltogethernow.io\">Together</a>. So I felt I should write a post about it to highlight what&#x27;s changed and show off what Together has to offer.</p><p>First off just a little info on the idea of a <a href=\"https://indieweb.org/reader\">social reader</a>: A social reader is an application that can be used to read and interact with content from all around the web, not just one walled garden.</p><p>In the world of the <a href=\"https://indieweb.org\">#indieweb</a> that means following other websites and owning all your own content on your own website.</p><h2>Features</h2><h3>Layouts</h3><p>The content you follow from around the web comes in all different forms, it doesn&#x27;t make sense to force a photo into the same layout as long form blog post.</p><p>To help with this Together supports a number of views:</p><h4>Timeline View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/timeline.jpg\" class=\"alignwide\"/><p>The timeline view is similar to what you might find in twitter or facebook.</p><p>Each post has it&#x27;s own card in a scrolling list of cards. Great for shorter format and mixed content.</p><h4>Classic View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/classic.jpg\" class=\"alignwide\"/><p>Inspired by classic RSS readers such as Google Reader (r.i.p.). The classic view uses a 2 column layout with small post previews on the left and you can click into a single post to view it on the right.</p><p>This view works well for longer form articles or news updates.</p><h4>Gallery View</h4><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/gallery.jpg\" class=\"alignwide\"/><p>The gallery view shows a grid of photos and videos from your feeds.</p><p>You can click into an individual photo or view to view it full screen and swipe through them.</p><p>I use this view to follow my instagram feed and the <a href=\"https://micro.blog/discover/photos\">micro.blog photo feed</a>.</p><h4>Map View</h4><p>A more niche view is the map view that shows where the most recent posts in a channel come from.</p><p>This can be used to have a nice view where your friends have checked in recently.</p><h3>Previews</h3><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/preview.jpg\" class=\"alignnone\"/><p>Something I worked on quite a bit for this release was the feed following and preview UI.</p><p>The preview and search is now contained in one unified box, it&#x27;s now much easier to see exactly what you searched for and what feed you are previewing.</p><h3>Inline actions</h3><p>Inline actions are not new in this version of Together, but have seen an update. The actions let you reply, like or repost to your website via <a href=\"https://indieweb.org/micropub\">micropub</a>, perform admin actions (like blocking and muting sources) and viewing or loading the original content.</p><p>New in v3 is the consistent option to attempt to reload the content again from the source. This is useful for (annoying) feeds that only provide a short preview of a posts content.</p><p>Another new feature in v3 are the improved notifications. When you post a reply or like, notifications now have buttons to view your created post or immediately delete it if your micropub endpoint supports <a href=\"https://www.w3.org/TR/micropub/#delete\">deletes</a>.</p><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/notification.jpg\" class=\"alignnone\"/><h3>Settings management</h3><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/following.jpg\" class=\"alignnone\"/><p>Channel settings have also seen a bit of an upgrade in v3, in particular the list of feeds you are following, or have blocked or muted. You can now more easily see exactly what each feed is and click through to view it.</p><h3>Micropub Queries</h3><p>This one is exciting to me! <a href=\"https://github.com/indieweb/micropub-extensions/issues/4\">Micropub queries</a> are very experimental but if your micropub endpoint supports them it allows Together to query your own website for recently published content that can then be displayed and managed.</p><p>My site also supports various <a href=\"https://indieweb.org/posts#Types_of_Posts\">post types</a>, so I can see my photos, notes, articles or a variety of other content.</p><p>When viewing these posts from your own site you can also edit and delete them all from within Together.</p><img alt=\"\" src=\"https://grant.codes/media/2019/07/08/micropub-query.jpg\" class=\"alignwide\"/><h3>Share Target</h3><p>I constantly find articles and content online that I want to interact with or store on my own website, and the Together share target helps facilitate that. Now if Together is installed as a PWA with chrome, you can natively share content to it, and then interact with that content, like writing a reply or liking the url.</p><h3>Contributions &amp; Donations\r</h3><p>\rWith this new release, I&#x27;ve also added the ability to donate money towards the development of Together if you are so inclined. Payments are handled via my own website at <a href=\"https://pay.grant.codes\">pay.grant.codes\r</a>. At some point I&#x27;d like to make this more obvious in a non-annoying way, but I&#x27;ve not thought of how to do that yet.</p><p>\rNon monetary contributions are also easier now too! In particular opening a GitHub issue is just a click away with error messages being autofilled into the issue.</p><h2>Tech details</h2><p>V3 of Together was a near total rewrite. Now the backend is a <a href=\"https://graphql.org\">GraphQL</a> server writtin in nodejs using Apollo and the frontend is a react app that reads from the server.</p><h3>Backend</h3><p>The <a href=\"https://github.com/alltogethernow/server\">new backend for Together</a> is a GraphQL server. It is totally independent from the frontend, so if you want to run your own version for your own project you are very much welcome to.</p><p>The backend is basically a bridge between <a href=\"https://graphql.org\">GraphQL</a> and <a href=\"https://indieweb.org/microsub\">Microsub</a> and <a href=\"https://indieweb.org/micropub\">Micropub</a>.</p><p>Microsub maps quite well to GraphQL as it is based on JF2 which is a strictly defined format.</p><p>But there are a few transformations that the Together server performs: It converts keys for all properties to camel case, and fills in a few properties with smart defaults, such as feed names are based on their url if there is no name, channels have a number of custom properties that mainly relate to Together settings, these are prefixed with &quot;_t_&quot;</p><p>Micropub on the other hand uses uses the much more fluid microformats2 format, which does not map nearly so well, so there is a bit of passing json strings involved and some conversion between mf2 and jf2.</p><p>For realtime updates, data is pushed from the server using GraphQL <a href=\"https://www.apollographql.com/docs/apollo-server/features/subscriptions\">subscriptions</a> over websockets.</p><p>On the server your microsub endpoint is polled every minute for updates, and if there is new data it is pushed to the client.</p><p>A small amount of persistent data is also stored in a <a href=\"https://www.mongodb.com/\">mongodb</a> database. This is mainly for user data, such as their endpoint info, token, and channel settings.</p><h3>Frontend</h3><p>The <a href=\"https://github.com/alltogethernow/web\">Together frontend</a> has always been built with react, but now it has been updated to be much more performant using newer features. All components have been converted to use <a href=\"https://reactjs.org/docs/hooks-intro.html\">react hooks</a>.</p><h2>Misc</h2><h3>IndieAuth Library</h3><p>A while back I made (with a lot of help from <a class=\"h-card\" href=\"https://martymcgui.re/\">@Marty McGuire</a>) an <a href=\"https://indieweb.org/indieauth\">IndieAuth</a> helper library that improves on a lot of issues with the auth implementation I had used before. So I now use that in together so there should be fewer issues with people trying to log in.</p><h3><a href=\"https://github.com/grantcodes/postrchild-editor-base\">@postrchild/editor-base</a></h3><p>As part of a bunch of my projects I have forms to create mf2 content for micropub posts, I had this extracted into a reusable form, but it previously was not very well made and didn&#x27;t follow a lot of react best practices.</p><p>But I have also rebuilt this to be way more performant and extendable, so now it is ideal for creating both super simple micropub client interfaces as well as far more advanced, customized interfaces.</p><h3><a href=\"https://microsub-middleware.glitch.me/\">Microsub Middleware</a></h3><p>This is another little side project that works independently of Together. It simply watches your microsub channels and then automatically performs actions on the content.</p><p>At the moment I mainly use it to roll up likes and bookmarks in my channels into one post per day instead of cluttering up my feeds.</p><p>It also has an option to only keep the most recent checkin post of all users in a channel, this lets me keep an up to date location map of my indieweb friends.</p><h3>Glitch Indieweb Starter</h3><p>Want to use all these awesome things I have mentioned but don&#x27;t know where to start? I&#x27;ve made something that can maybe help you with that! <a href=\"https://indieweb-starter.glitch.me\">indieweb-starter.glitch.me</a> is a pretty basic indieweb website that you can remix to instantly create your own (quite basic) website that supports IndieAuth, Micropub and Microsub - basically everything you need to get started using Together.</p><p>I wouldn&#x27;t recommend it as your main forever website, but it is a nice place to start out and try out some indieweb functionality before moving to something more permanent.</p><h3>PostrChild Browser Extension</h3><p>With the other updates I also needed to update the <a href=\"https://postrchild.com\">PostrChild browser extension</a>. So there will be a few updates there soon. The one I am currently happiest with is the automatic caching of a new post you are writing, it makes me feel much more comfortable knowing my content isn’t going to be lost.</p><h3>Granary</h3><p>I have to give a shoutout to <a href=\"https://granary.io\">granary</a> and <a href=\"https://snarfed.org\">snarfed</a>! Granary is a useful tool that can be used to convert data from silos such as twitter and instagram into a more friendly formats for the open web. I use this to covert my instagram feed and twitter lists into microformats2 html to follow in Together.<br/></p><p></p>","text":"Over the last few months I have been completely rebuilding my social reader Together https://alltogethernow.io. So I felt I should write a post about it to highlight what's changed and show off what Together has to offer.\n\nFirst off just a little info on the idea of a social reader https://indieweb.org/reader: A social reader is an application that can be used to read and interact with content from all around the web, not just one walled garden.\n\nIn the world of the #indieweb https://indieweb.org that means following other websites and owning all your own content on your own website.\n\nFEATURES\nLAYOUTS\nThe content you follow from around the web comes in all different forms, it doesn't make sense to force a photo into the same layout as long form blog post.\n\nTo help with this Together supports a number of views:\n\nTIMELINE VIEW\n[https://grant.codes/media/2019/07/08/timeline.jpg]The timeline view is similar to what you might find in twitter or facebook.\n\nEach post has it's own card in a scrolling list of cards. Great for shorter format and mixed content.\n\nCLASSIC VIEW\n[https://grant.codes/media/2019/07/08/classic.jpg]Inspired by classic RSS readers such as Google Reader (r.i.p.). The classic view uses a 2 column layout with small post previews on the left and you can click into a single post to view it on the right.\n\nThis view works well for longer form articles or news updates.\n\nGALLERY VIEW\n[https://grant.codes/media/2019/07/08/gallery.jpg]The gallery view shows a grid of photos and videos from your feeds.\n\nYou can click into an individual photo or view to view it full screen and swipe through them.\n\nI use this view to follow my instagram feed and the micro.blog photo feed https://micro.blog/discover/photos.\n\nMAP VIEW\nA more niche view is the map view that shows where the most recent posts in a channel come from.\n\nThis can be used to have a nice view where your friends have checked in recently.\n\nPREVIEWS\n[https://grant.codes/media/2019/07/08/preview.jpg]Something I worked on quite a bit for this release was the feed following and preview UI.\n\nThe preview and search is now contained in one unified box, it's now much easier to see exactly what you searched for and what feed you are previewing.\n\nINLINE ACTIONS\nInline actions are not new in this version of Together, but have seen an update. The actions let you reply, like or repost to your website via micropub https://indieweb.org/micropub, perform admin actions (like blocking and muting sources) and viewing or loading the original content.\n\nNew in v3 is the consistent option to attempt to reload the content again from the source. This is useful for (annoying) feeds that only provide a short preview of a posts content.\n\nAnother new feature in v3 are the improved notifications. When you post a reply or like, notifications now have buttons to view your created post or immediately delete it if your micropub endpoint supports deletes https://www.w3.org/TR/micropub/#delete.\n\n[https://grant.codes/media/2019/07/08/notification.jpg]SETTINGS MANAGEMENT\n[https://grant.codes/media/2019/07/08/following.jpg]Channel settings have also seen a bit of an upgrade in v3, in particular the list of feeds you are following, or have blocked or muted. You can now more easily see exactly what each feed is and click through to view it.\n\nMICROPUB QUERIES\nThis one is exciting to me! Micropub queries https://github.com/indieweb/micropub-extensions/issues/4 are very experimental but if your micropub endpoint supports them it allows Together to query your own website for recently published content that can then be displayed and managed.\n\nMy site also supports various post types https://indieweb.org/posts#Types_of_Posts, so I can see my photos, notes, articles or a variety of other content.\n\nWhen viewing these posts from your own site you can also edit and delete them all from within Together.\n\n[https://grant.codes/media/2019/07/08/micropub-query.jpg]SHARE TARGET\nI constantly find articles and content online that I want to interact with or store on my own website, and the Together share target helps facilitate that. Now if Together is installed as a PWA with chrome, you can natively share content to it, and then interact with that content, like writing a reply or liking the url.\n\nCONTRIBUTIONS & DONATIONS\nWith this new release, I've also added the ability to donate money towards the development of Together if you are so inclined. Payments are handled via my own website at pay.grant.codes https://pay.grant.codes. At some point I'd like to make this more obvious in a non-annoying way, but I've not thought of how to do that yet.\n\nNon monetary contributions are also easier now too! In particular opening a GitHub issue is just a click away with error messages being autofilled into the issue.\n\nTECH DETAILS\nV3 of Together was a near total rewrite. Now the backend is a GraphQL https://graphql.org server writtin in nodejs using Apollo and the frontend is a react app that reads from the server.\n\nBACKEND\nThe new backend for Together https://github.com/alltogethernow/server is a GraphQL server. It is totally independent from the frontend, so if you want to run your own version for your own project you are very much welcome to.\n\nThe backend is basically a bridge between GraphQL https://graphql.org and Microsub https://indieweb.org/microsub and Micropub https://indieweb.org/micropub.\n\nMicrosub maps quite well to GraphQL as it is based on JF2 which is a strictly defined format.\n\nBut there are a few transformations that the Together server performs: It converts keys for all properties to camel case, and fills in a few properties with smart defaults, such as feed names are based on their url if there is no name, channels have a number of custom properties that mainly relate to Together settings, these are prefixed with \"_t_\"\n\nMicropub on the other hand uses uses the much more fluid microformats2 format, which does not map nearly so well, so there is a bit of passing json strings involved and some conversion between mf2 and jf2.\n\nFor realtime updates, data is pushed from the server using GraphQL subscriptions https://www.apollographql.com/docs/apollo-server/features/subscriptions over websockets.\n\nOn the server your microsub endpoint is polled every minute for updates, and if there is new data it is pushed to the client.\n\nA small amount of persistent data is also stored in a mongodb https://www.mongodb.com/ database. This is mainly for user data, such as their endpoint info, token, and channel settings.\n\nFRONTEND\nThe Together frontend https://github.com/alltogethernow/web has always been built with react, but now it has been updated to be much more performant using newer features. All components have been converted to use react hooks https://reactjs.org/docs/hooks-intro.html.\n\nMISC\nINDIEAUTH LIBRARY\nA while back I made (with a lot of help from @Marty McGuire https://martymcgui.re/) an IndieAuth https://indieweb.org/indieauth helper library that improves on a lot of issues with the auth implementation I had used before. So I now use that in together so there should be fewer issues with people trying to log in.\n\n@POSTRCHILD/EDITOR-BASE HTTPS://GITHUB.COM/GRANTCODES/POSTRCHILD-EDITOR-BASE\nAs part of a bunch of my projects I have forms to create mf2 content for micropub posts, I had this extracted into a reusable form, but it previously was not very well made and didn't follow a lot of react best practices.\n\nBut I have also rebuilt this to be way more performant and extendable, so now it is ideal for creating both super simple micropub client interfaces as well as far more advanced, customized interfaces.\n\nMICROSUB MIDDLEWARE HTTPS://MICROSUB-MIDDLEWARE.GLITCH.ME/\nThis is another little side project that works independently of Together. It simply watches your microsub channels and then automatically performs actions on the content.\n\nAt the moment I mainly use it to roll up likes and bookmarks in my channels into one post per day instead of cluttering up my feeds.\n\nIt also has an option to only keep the most recent checkin post of all users in a channel, this lets me keep an up to date location map of my indieweb friends.\n\nGLITCH INDIEWEB STARTER\nWant to use all these awesome things I have mentioned but don't know where to start? I've made something that can maybe help you with that! indieweb-starter.glitch.me https://indieweb-starter.glitch.me is a pretty basic indieweb website that you can remix to instantly create your own (quite basic) website that supports IndieAuth, Micropub and Microsub - basically everything you need to get started using Together.\n\nI wouldn't recommend it as your main forever website, but it is a nice place to start out and try out some indieweb functionality before moving to something more permanent.\n\nPOSTRCHILD BROWSER EXTENSION\nWith the other updates I also needed to update the PostrChild browser extension https://postrchild.com. So there will be a few updates there soon. The one I am currently happiest with is the automatic caching of a new post you are writing, it makes me feel much more comfortable knowing my content isn’t going to be lost.\n\nGRANARY\nI have to give a shoutout to granary https://granary.io and snarfed https://snarfed.org! Granary is a useful tool that can be used to convert data from silos such as twitter and instagram into a more friendly formats for the open web. I use this to covert my instagram feed and twitter lists into microformats2 html to follow in Together."},"published":"2019-07-08T20:34:22.043Z","syndication":["https://twitter.com/grantcodes/status/1153311608342482945","https://www.facebook.com/photo.php?fbid=3228493567168437","https://news.indieweb.org/en/grant.codes/2019/07/08/together","https://t.me/Telegram/19"],"like":[{"type":"entry","uid":"tag:twitter.com,2013:1148329509298593792_favorited_by_14447132","author":{"type":"card","uid":"tag:twitter.com,2013:aaronpk","numeric-id":"14447132","name":"Aaron Parecki","url":"https://twitter.com/aaronpk","nickname":"aaronpk","photo":"https://pbs.twimg.com/profile_images/1103120425846857728/X3d0a2Tr.png"},"name":"","url":"https://twitter.com/grantcodes/status/1148329509298593792#favorited-by-14447132","like-of":["https://twitter.com/grantcodes/status/1148329509298593792","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_8151292","author":{"type":"card","uid":"tag:twitter.com,2013:darrell","numeric-id":"8151292","name":"Darrell Hilliker","url":"https://twitter.com/darrell","nickname":"darrell","photo":"https://pbs.twimg.com/profile_images/408072831/1708_8151292.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-8151292","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_982310114","author":{"type":"card","uid":"tag:twitter.com,2013:MstrKapowski","numeric-id":"982310114","name":"Chris M.","url":"https://twitter.com/MstrKapowski","nickname":"MstrKapowski","photo":"https://pbs.twimg.com/profile_images/1079783092037042182/qRr1Xdyc.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-982310114","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_18657020","author":{"type":"card","uid":"tag:twitter.com,2013:jaredcwhite","numeric-id":"18657020","name":"JaredWhite.com","url":"https://twitter.com/jaredcwhite","nickname":"jaredcwhite","photo":"https://pbs.twimg.com/profile_images/1009808311628132353/C9b3b8h6.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-18657020","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_719527167001018369","author":{"type":"card","uid":"tag:twitter.com,2013:chrisjonesio","numeric-id":"719527167001018369","name":"Chris Jones","url":"https://twitter.com/chrisjonesio","nickname":"chrisjonesio","photo":"https://pbs.twimg.com/profile_images/939981567362973696/JQ2vIjdS.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-719527167001018369","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_186169163","author":{"type":"card","uid":"tag:twitter.com,2013:kdkeck","numeric-id":"186169163","name":"Kevin D. Keck","url":"https://twitter.com/kdkeck","nickname":"kdkeck","photo":"https://pbs.twimg.com/profile_images/1115983191/portrait__B_W_.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-186169163","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"https://barryfrost.com/2019/07/24-073202","author":{"type":"card","uid":"https://barryfrost.com/","photo":"/barryfrost.jpg","url":"https://barryfrost.com/","name":"Barry Frost"},"like-of":"https://grant.codes/2019/07/08/together","name":"Liked https://grant.codes/2019/07/08/together","url":"https://barryfrost.com/2019/07/24-073202","published":"2019-07-24T07:32:02Z","category":["indieweb","reader"]},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_231445532","author":{"type":"card","uid":"tag:twitter.com,2013:johanbove","numeric-id":"231445532","name":"Johan Bové","url":"https://twitter.com/johanbove","nickname":"johanbove","photo":"https://pbs.twimg.com/profile_images/1141318931258511360/bVEu69td.png"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-231445532","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"https://p83.nl/posts/1177","author":[{"type":"card","uid":"https://p83.nl/","url":"https://p83.nl/","name":"","photo":["https://media-proxy.p83.nl/48/https://peterstuifzand.nl/img/profile.jpg","https://peterstuifzand.nl/img/profile.jpg"]},{"type":"card","uid":"https://p83.nl/","url":"https://p83.nl/"}],"like-of":"https://grant.codes/2019/07/08/together","url":"https://p83.nl/posts/1177","published":"2019-08-17T20:55:08Z","name":"liked a post on\n            grant.codes\n            \n            \n            \n              Aug 17 at\n              20:55"},{"type":"entry","uid":"tag:twitter.com,2013:1153311608342482945_favorited_by_1205973839970222083","author":{"type":"card","uid":"tag:twitter.com,2013:ZipperHost","numeric-id":"1205973839970222083","name":"ZipperHost","url":"https://twitter.com/ZipperHost","nickname":"ZipperHost","photo":"https://pbs.twimg.com/profile_images/1206546634299056130/yldTNauu.jpg"},"name":"","url":"https://twitter.com/grantcodes/status/1153311608342482945#favorited-by-1205973839970222083","like-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]}],"webmention":[{"type":"entry","uid":"tag:twitter.com,2013:1148332468212240390","published":"2019-07-08T20:46:10+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:cleverdevil","numeric-id":"639523","name":"Jonathan LaCour","url":["https://twitter.com/cleverdevil","https://cleverdevil.io"],"nickname":"cleverdevil","photo":"https://pbs.twimg.com/profile_images/744804831064317952/W-gMo7AO.jpg"},"url":"https://twitter.com/cleverdevil/status/1148332468212240390","content":{"html":"\n  \n  Congrats to Grant on Together v3! We’ve moved out of my GitHub namespace into a new organization. When Grant and I came up with Together back at IWS a few years ago, I had no idea it would get so far, so fast. Proud to have played a small part! - <a href=\"https://grant.codes/2019/07/08/together\">grant.codes/2019/07/08/tog…</a>\n  ","text":"Congrats to Grant on Together v3! We’ve moved out of my GitHub namespace into a new organization. When Grant and I came up with Together back at IWS a few years ago, I had no idea it would get so far, so fast. Proud to have played a small part! - grant.codes/2019/07/08/tog…"},"name":"Congrats to Grant on Together v3! We’ve moved out of my GitHub namespace into a new organization. When Grant and I came up with Together back at IWS a few years ago, I had no idea it would get so far, so fast. Proud to have played a small part! - grant.codes/2019/07/08/tog…"},{"type":"entry","uid":"tag:twitter.com,2013:1201286347929116673","published":"2019-12-01T23:45:58+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:GravesendWebDev","numeric-id":"2955281363","name":"Rob Sherwood","url":["https://twitter.com/GravesendWebDev","https://rob-sherwood.co.uk","http://rob-sherwood.co.uk","http://artificial-monkeys.com","http://hazyshade.co.uk"],"nickname":"GravesendWebDev","photo":"https://pbs.twimg.com/profile_images/935470465635799041/e1_snumb.jpg"},"url":"https://twitter.com/GravesendWebDev/status/1201286347929116673","content":{"html":"\n  \n  This <a href=\"https://twitter.com/search?q=%23IndieWeb\">#IndieWeb</a> RSS reader looks awesome; going to try it out <a href=\"https://grant.codes/2019/07/08/together\">grant.codes/2019/07/08/tog…</a>\n  ","text":"This #IndieWeb RSS reader looks awesome; going to try it out grant.codes/2019/07/08/tog…"},"name":"This #IndieWeb RSS reader looks awesome; going to try it out grant.codes/2019/07/08/tog…"},{"type":"entry","uid":"https://diggingthedigital.com/open-s01e07-lekker-buiten-bloggen-%f0%9f%93%9d/","entry-title":"OPEN S01E07 – Lekker buiten bloggen? 📝","name":"OPEN S01E07 – Lekker buiten bloggen? 📝","url":["https://diggingthedigital.com/open-s01e07-lekker-buiten-bloggen-%f0%9f%93%9d/","https://diggingthedigital.com/open-s01e07-lekker-buiten-bloggen-%f0%9f%93%9d/"],"updated":["","09:00"],"published":["","09:00"],"author":{"type":"card","name":"Frank Meeuwsen"},"content":{"html":"<p>Het zijn van die dagen om, zoals ik placht te zeggen, lekker te internetten met het raam open. Of zoals op onderstaande foto, bloggen met een zeezicht voor je neus, pijp in de mond en goede wijn naast je. Hoe dan ook, doe het rustig aan, geniet van de zonnige dagen en laat je niet boos maken door de algoritmes die je Boris Johnson of the White House Nazi voorschotelen. Jij verdient beter.</p>\n<hr />\n<figure style=\"width: 980px\" class=\"wp-caption alignnone\"><a href=\"https://www.flickr.com/photos/paolovalde/160711313/?utm_campaign=OPEN&#038;utm_medium=email&#038;utm_source=Revue%20newsletter\"><img alt=\"\" src=\"https://s3.amazonaws.com/revue/items/images/004/828/914/original/f4925eb819d764712ae6c295304e1bf6.jpeg?1563999173\" /><figcaption class=\"wp-caption-text\">Foto door Paolo Valdemarin, license CC BY-NC-ND</figcaption></a></figure>\n<h2>Dat ene artikel waar je de tijd voor neemt 👇</h2>\n<p><strong style=\"display: block;\"><a href=\"https://anildash.com/2019/07/22/20-years-of-blogging-what-ive-learned/?utm_campaign=OPEN&amp;utm_medium=email&amp;utm_source=Revue%20newsletter\">20 Years of Blogging: What I’ve Learned</a></strong></p>\n<p>Anil Dash is inmiddels zo&#8217;n 20 jaar bezig met zijn blog. Dan heb je alle recht om je fier uit te spreken over de tech industrie, hoe sociale netwerken beter kunnen worden en hoe identiteiten online worden geschapen. Waardevolle terugblikken en punten die worden verbonden!</p>\n<h2>Lunchpraat 🍞🥣 </h2>\n<p>Klare taal van Dries Buytaert, de bedenker van het Drupal CMS. Het huidige web is onherroepelijk stuk, het originele web krijgen we niet meer terug. We moeten iets doen. </p>\n<p><img loading=\"lazy\" width=\"140\" height=\"140\" alt=\"Drupal founder: Hate speech and privacy concerns have changed the internet. I want the old one back - CNN\" style=\"float: right; margin-left: 20px; margin-bottom: 20px;\" src=\"https://s3.amazonaws.com/revue/items/images/004/826/566/thumb/190703155909-01-drupal-dries-buytaert-file-super-tease.jpg?1563950373\" /><br />\n<strong style=\"display: block;\"><a href=\"https://edition.cnn.com/2019/07/19/perspectives/internet-privacy-hate-speech/index.html?utm_campaign=OPEN&amp;utm_medium=email&amp;utm_source=Revue%20newsletter\">Drupal founder: Hate speech and privacy concerns have changed the internet. I want the old one back &#8211; CNN</a> &mdash; <a href=\"https://edition.cnn.com/2019/07/19/perspectives/internet-privacy-hate-speech/index.html\">edition.cnn.com</a></strong></p>\n<blockquote><p>I want my kids to have a similar experience with the web that I had in college. I want the web to be a platform for publishing their thoughts, without the fear of being exploited; for connecting with others, without the fear of being bullied; </p></blockquote>\n<div style=\"clear: both;\"></div>\n<p><img loading=\"lazy\" width=\"140\" height=\"140\" alt=\"On Mobile Blogging\" style=\"float: left; margin-right: 20px; margin-bottom: 20px;\" src=\"https://s3.amazonaws.com/revue/items/images/004/826/519/thumb/48242518091_7f67393096_z.jpg?1563949543\" /><br />\n<strong style=\"display: block;\"><a href=\"https://www.zylstra.org/blog/2019/07/on-mobile-blogging/?utm_campaign=OPEN&amp;utm_medium=email&amp;utm_source=Revue%20newsletter\">On Mobile Blogging</a> &mdash; <a href=\"https://www.zylstra.org/blog/2019/07/on-mobile-blogging/\">www.zylstra.org</a></strong></p>\n<p>Vriend van de show Ton Zijlstra was op een welverdiende vakantie. Hij wilde wat blogposts maken op verouderde hardware, missende software en slechte internetverbindingen. Je begrijpt hoe dat eindigde&#8230; Gelukkig had hij nog zijn papieren notities om ons er aan te herinneren dat het nieuwe Web nog niet zo eenvoudig is te realiseren.</p>\n<div style=\"clear: both;\"></div>\n<p>🎪 Een W3C protocol is pas écht geaccepteerd als er een conferentie voor is. Dus komt <a href=\"https://dustycloud.org/blog/activitypub-conf-2019/\" target=\"_blank\" rel=\"noopener noreferrer\">ActivityPub Conf</a> in september naar Praag</p>\n<p>📚 Own Your Subscriptions. Social Reader <a href=\"https://grant.codes/2019/07/08/together\" target=\"_blank\" rel=\"noopener noreferrer\">Together is vernieuwd</a> en heeft nog meer mogelijkheden. Niet alleen artikelen in <em>feeds</em> lezen, maar er direct op reageren. </p>\n<p>👓 Op mijn blog <strong><em>Digging the Digital</em></strong> vind je <a href=\"https://diggingthedigital.com/start?utm_campaign=OPEN&amp;utm_medium=email&amp;utm_source=Revue%20newsletter\" target=\"_blank\" rel=\"noopener noreferrer\">nog meer links en tips</a> over het indieweb.</p>\n<p>Tot volgende week, <em>tell a friend</em>!</p>\n<p><strong><em>Blog on!</em></strong></p>\n<div id=\"syndication-links\"></div>\n","text":"Het zijn van die dagen om, zoals ik placht te zeggen, lekker te internetten met het raam open. Of zoals op onderstaande foto, bloggen met een zeezicht voor je neus, pijp in de mond en goede wijn naast je. Hoe dan ook, doe het rustig aan, geniet van de zonnige dagen en laat je niet boos maken door de algoritmes die je Boris Johnson of the White House Nazi voorschotelen. Jij verdient beter.\n\nFoto door Paolo Valdemarin, license CC BY-NC-ND\nDat ene artikel waar je de tijd voor neemt 👇\n20 Years of Blogging: What I’ve Learned\nAnil Dash is inmiddels zo’n 20 jaar bezig met zijn blog. Dan heb je alle recht om je fier uit te spreken over de tech industrie, hoe sociale netwerken beter kunnen worden en hoe identiteiten online worden geschapen. Waardevolle terugblikken en punten die worden verbonden!\nLunchpraat 🍞🥣 \nKlare taal van Dries Buytaert, de bedenker van het Drupal CMS. Het huidige web is onherroepelijk stuk, het originele web krijgen we niet meer terug. We moeten iets doen. \n\nDrupal founder: Hate speech and privacy concerns have changed the internet. I want the old one back – CNN — edition.cnn.com\nI want my kids to have a similar experience with the web that I had in college. I want the web to be a platform for publishing their thoughts, without the fear of being exploited; for connecting with others, without the fear of being bullied; \n\n\nOn Mobile Blogging — www.zylstra.org\nVriend van de show Ton Zijlstra was op een welverdiende vakantie. Hij wilde wat blogposts maken op verouderde hardware, missende software en slechte internetverbindingen. Je begrijpt hoe dat eindigde… Gelukkig had hij nog zijn papieren notities om ons er aan te herinneren dat het nieuwe Web nog niet zo eenvoudig is te realiseren.\n\n🎪 Een W3C protocol is pas écht geaccepteerd als er een conferentie voor is. Dus komt ActivityPub Conf in september naar Praag\n📚 Own Your Subscriptions. Social Reader Together is vernieuwd en heeft nog meer mogelijkheden. Niet alleen artikelen in feeds lezen, maar er direct op reageren. \n👓 Op mijn blog Digging the Digital vind je nog meer links en tips over het indieweb.\nTot volgende week, tell a friend!\nBlog on!"},"category":"Nieuwsbrieven"},{"type":"entry","uid":"https://fxzig.com/blog/notes/","url":"https://fxzig.com/blog/notes/","name":"FXZig Boomarks & Likes","summary":"Stages of developing of an automated trading strategy There are several steps from the initial idea for some rules that the trader thinks could be profitable to the moment when we start trader on a&hellip;","featured":"https://fxzig.com/blog/notes/fx-avatar.jpg"}],"url":"https://grant.codes/2019/07/08/together","author":{"type":"card","uid":"https://grant.codes","name":"Grant Richmond","url":"https://grant.codes","photo":"https://grant.codes/img/me.jpg"},"repost":[{"type":"entry","uid":"tag:twitter.com,2013:1153312473383968768","published":"2019-07-22T14:34:55+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:azmodie","numeric-id":"8731272","name":"azmodie","url":["https://twitter.com/azmodie","http://justdontask.co.uk"],"nickname":"azmodie","photo":"https://pbs.twimg.com/profile_images/52158772/Kris.jpg"},"url":"https://twitter.com/azmodie/status/1153312473383968768","content":{"html":"\n  \n  <div style=\"white-space: pre\">I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d</div>\n  ","text":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d"},"name":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d","photo":"https://pbs.twimg.com/media/EAFiynuWkAMdOTJ.jpg","repost-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153469879795814402","published":"2019-07-23T01:00:24+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:Cambridgeport90","numeric-id":"47860297","name":"Katherine Moss","url":["https://twitter.com/Cambridgeport90","http://cambridgeport90.net"],"nickname":"Cambridgeport90","photo":"https://pbs.twimg.com/profile_images/442822138806812672/NiWMJ1Y4.jpeg"},"url":"https://twitter.com/Cambridgeport90/status/1153469879795814402","content":{"html":"\n  \n  <div style=\"white-space: pre\">I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d</div>\n  ","text":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d"},"name":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d","photo":"https://pbs.twimg.com/media/EAFiynuWkAMdOTJ.jpg","repost-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1153543635519938560","published":"2019-07-23T05:53:29+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:indiewebcamp","numeric-id":"235193328","name":"IndieWebCamp","url":["https://twitter.com/indiewebcamp","http://indiewebcamp.com"],"nickname":"indiewebcamp","photo":"https://pbs.twimg.com/profile_images/741178760708292608/Yja7QCVS.jpg"},"url":"https://twitter.com/indiewebcamp/status/1153543635519938560","content":{"html":"\n  \n  <div style=\"white-space: pre\">I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d</div>\n  ","text":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d"},"name":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d","photo":"https://pbs.twimg.com/media/EAFiynuWkAMdOTJ.jpg","repost-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1158767915413516288","published":"2019-08-06T15:52:54+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:tchambers","numeric-id":"1427","name":"Tim Chambers","url":["https://twitter.com/tchambers","http://timothychambers.net/"],"nickname":"tchambers","photo":"https://pbs.twimg.com/profile_images/839671448960655361/WXTl_xQE.jpg"},"url":"https://twitter.com/tchambers/status/1158767915413516288","content":{"html":"\n  \n  <div style=\"white-space: pre\">I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d</div>\n  ","text":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d"},"name":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d","photo":"https://pbs.twimg.com/media/EAFiynuWkAMdOTJ.jpg","repost-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]},{"type":"entry","uid":"tag:twitter.com,2013:1159109796659941388","published":"2019-08-07T14:31:25+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:cswordpress","numeric-id":"1343505890","name":"Amanda J. Rush","url":["https://twitter.com/cswordpress","https://www.customerservant.com"],"nickname":"cswordpress","photo":"https://pbs.twimg.com/profile_images/809197756275367936/V9liaDUZ.jpg"},"url":"https://twitter.com/cswordpress/status/1159109796659941388","content":{"html":"\n  \n  <div style=\"white-space: pre\">I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d</div>\n  ","text":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d"},"name":"I'm calling this product launch #2 of the summer. A (currently) niche #indieweb reader: alltogethernow.io\n\nHarking back to the glory d","photo":"https://pbs.twimg.com/media/EAFiynuWkAMdOTJ.jpg","repost-of":["https://twitter.com/grantcodes/status/1153311608342482945","https://grant.codes/2019/07/08/together"]}],"comment":{"type":"entry","uid":"tag:twitter.com,2013:1153494343182798848","published":"2019-07-23T02:37:36+00:00","author":{"type":"card","uid":"tag:twitter.com,2013:FilAmPariah","numeric-id":"93174772","name":"Marcos 🇵🇭🇺🇸","url":["https://twitter.com/FilAmPariah","https://twitter.com"],"nickname":"FilAmPariah","photo":"https://pbs.twimg.com/profile_images/1129602263872225280/hS_yHEVX.jpg"},"url":"https://twitter.com/FilAmPariah/status/1153494343182798848","content":{"html":"\n  \n  I never really messed much with RSS readers, as was a former webmaster that once learned how to feed RSS in the 1st place.\n<a class=\"u-mention\" href=\"https://alltogethernow.io/\"></a>\n  ","text":"I never really messed much with RSS readers, as was a former webmaster that once learned how to feed RSS in the 1st place."},"mention":"https://alltogethernow.io/","location":{"type":"card","uid":"tag:twitter.com,2013:011a05612b6a331c","name":"Pasig City, National Capital Region"},"in-reply-to":"https://grant.codes/2019/07/08/together"},"category":["indieweb","delete"],"references":{"https://alltogethernow.io":{"type":"entry","uid":"https://alltogethernow.io","url":"https://alltogethernow.io","name":"Together","summary":"A social reader powered by the IndieWeb"},"":{"type":"entry","uid":"","url":"","name":"IndieAuth","summary":"IndieAuth is a federated login protocol for Web sign-in, enabling users to use their own domain to sign in to other sites and services.","children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"photo":["https://aaronparecki.com/images/profile.jpg"],"url":["/User:Aaronparecki.com"]}},{"value":"Sebastiaan Andeweg","type":["h-card"],"properties":{"name":["Sebastiaan Andeweg"],"photo":["https://seblog.nl/photo.jpg"],"url":["/User:Seblog.nl"]}},{"value":"Martijn van der Ven","type":["h-card"],"properties":{"url":["https://vanderven.se/martijn/"],"name":["Martijn van der Ven"]}},{"value":"Jeena Paradies","type":["h-card"],"properties":{"name":["Jeena Paradies"],"photo":["https://jeena.net/avatar.jpg"],"url":["/User:Jeena.net"]}},{"value":"Malcolm Blaney","type":["h-card"],"properties":{"name":["Malcolm Blaney"],"photo":["https://mblaney.xyz/public/profile_thumb.png"],"url":["/User:Mblaney.xyz"]}},{"value":"Kristof De Jaeger","type":["h-card"],"properties":{"name":["Kristof De Jaeger"],"photo":["https://realize.be/vue/images/swentel-200.png"],"url":["/User:Realize.be"]}},{"value":"pmc","type":["h-card"],"properties":{"name":["pmc"],"photo":["https://piperswe.me/images/profile-mini.png"],"url":["/User:Piperswe.me"]}},{"value":"Frank Meeuwsen","type":["h-card"],"properties":{"name":["Frank Meeuwsen"],"photo":["https://diggingthedigital.com/wp-content/uploads/dtd-avatar.png"],"url":["/User:Diggingthedigital.com"]}},{"value":"Dmitri Shuralyov","type":["h-card"],"properties":{"name":["Dmitri Shuralyov"],"photo":["https://dmitri.shuralyov.com/avatar-32.jpg"],"url":["https://dmitri.shuralyov.com/about"]}},{"value":"4X_Pro","type":["h-card"],"properties":{"name":["4X_Pro"],"photo":["https://socionics.me/upload/000/u4/2d/6f/08f95d38.jpg"],"url":["/User:4xpro.ru"]}},{"value":"Barry Frost","type":["h-card"],"properties":{"name":["Barry Frost"],"photo":["https://barryf.s3.amazonaws.com/barryfrost.jpg"],"url":["/User:Barryfrost.com"]}},{"value":"Barry Frost","type":["h-card"],"properties":{"name":["Barry Frost"],"photo":["https://barryf.s3.amazonaws.com/barryfrost.jpg"],"url":["/User:Barryfrost.com"]}},{"value":"Barry Frost","type":["h-card"],"properties":{"name":["Barry Frost"],"photo":["https://barryf.s3.amazonaws.com/barryfrost.jpg"],"url":["/User:Barryfrost.com"]}},{"value":"2020-04-13 Aaron Parecki: How to Sign Users In with IndieAuth","type":["h-cite"],"properties":{"published":["2020-04-13"],"author":["Aaron Parecki"],"url":["https://aaronparecki.com/2021/04/13/26/indieauth"],"name":["How to Sign Users In with IndieAuth"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2020-12-03 Aaron Parecki: IndieAuth Spec Updates 2020 (archived)","type":["h-cite"],"properties":{"published":["2020-12-03"],"author":["Aaron Parecki"],"url":["https://aaronparecki.com/2020/12/03/1/indieauth-2020","https://web.archive.org/web/20201206092226/https://aaronparecki.com/2020/12/03/1/indieauth-2020"],"name":["IndieAuth Spec Updates 2020"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2020-02-12 Desmond Rivet: Your Website Is Your Passport","type":["h-cite"],"properties":{"published":["2020-02-12"],"author":["Desmond Rivet"],"url":["https://desmondrivet.com/2020/02/12/website-identity"],"name":["Your Website Is Your Passport"]}},{"value":"2018-10-24 Aaron Parecki: Identity for the Decentralized Web with IndieAuth (archived)","type":["h-cite"],"properties":{"published":["2018-10-24"],"author":["Aaron Parecki"],"url":["https://hacks.mozilla.org/2018/10/dweb-identity-for-the-decentralized-web-with-indieauth/","http://web.archive.org/web/20181030031543/https://hacks.mozilla.org/2018/10/dweb-identity-for-the-decentralized-web-with-indieauth/"],"name":["Identity for the Decentralized Web with IndieAuth"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2018-07-07 Aaron Parecki: OAuth for the Open Web (archived)","type":["h-cite"],"properties":{"published":["2018-07-07"],"author":["Aaron Parecki"],"url":["https://aaronparecki.com/2018/07/07/7/oauth-for-the-open-web","http://web.archive.org/web/20180710220016/https://aaronparecki.com/2018/07/07/7/oauth-for-the-open-web"],"name":["OAuth for the Open Web"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2018-07-02 Manton Reece: IndieAuth for Micro.blog (archived)","type":["h-cite"],"properties":{"published":["2018-07-02"],"author":["Manton Reece"],"url":["https://manton.micro.blog/2018/07/02/indieauth-for-microblog.html","http://web.archive.org/web/20180717124757/https://manton.micro.blog/2018/07/02/indieauth-for-microblog.html"],"name":["IndieAuth for Micro.blog"]},"children":[{"value":"Manton Reece","type":["h-card"],"properties":{"name":["Manton Reece"],"url":["http://manton.org"]}}]},{"value":"2018-01-23 Aaron Parecki: WebSub and IndieAuth Published on w3.org! (archived)","type":["h-cite"],"properties":{"published":["2018-01-23"],"author":["Aaron Parecki"],"url":["https://aaronparecki.com/2018/01/23/34/w3c-websub-indieauth","http://web.archive.org/web/20180125010525/https://aaronparecki.com/2018/01/23/34/w3c-websub-indieauth"],"name":["WebSub and IndieAuth Published on w3.org!"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2016-08-30 Aaron Parecki: IndieAuth (archived)","type":["h-cite"],"properties":{"published":["2016-08-30"],"author":["Aaron Parecki"],"url":["https://www.oauth.com/oauth2-servers/indieauth/","https://web.archive.org/web/20171026202106/https://www.oauth.com/oauth2-servers/indieauth/"],"name":["IndieAuth"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2016-08-30 Aaron Parecki: IndieAuth Sign-In Workflow (archived)","type":["h-cite"],"properties":{"published":["2016-08-30"],"author":["Aaron Parecki"],"url":["https://www.oauth.com/oauth2-servers/indieauth/sign-in/","https://web.archive.org/web/20171026202346/https://www.oauth.com/oauth2-servers/indieauth/sign-in/"],"name":["IndieAuth Sign-In Workflow"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"2016-08-30 Aaron Parecki: IndieAuth Authorization Workflow (archived)","type":["h-cite"],"properties":{"published":["2016-08-30"],"author":["Aaron Parecki"],"url":["https://www.oauth.com/oauth2-servers/indieauth/authorization/","https://web.archive.org/web/20171026202415/https://www.oauth.com/oauth2-servers/indieauth/authorization/"],"name":["IndieAuth Authorization Workflow"]},"children":[{"value":"Aaron Parecki","type":["h-card"],"properties":{"name":["Aaron Parecki"],"url":["https://aaronparecki.com/"]}}]},{"value":"Jamie Tanna","type":["h-card"],"properties":{"name":["Jamie Tanna"],"photo":["https://www.jvt.me/img/profile.png"],"url":["/User:Www.jvt.me"]}}]},"https://micro.blog/discover/photos":{"type":"entry","uid":"https://micro.blog/discover/photos","url":"https://micro.blog/discover/photos","name":"Micro.blog","summary":"Sign up now: free 10-day trial Sign In Discover Pricing Help"},"https://www.w3.org/TR/2017/REC-micropub-20170523/":{"type":"entry","uid":"https://www.w3.org/TR/2017/REC-micropub-20170523/","name":"Micropub","published":"2017-05-23","url":"https://www.w3.org/TR/2017/REC-micropub-20170523/","author":{"type":"card","uid":"https://aaronparecki.com/","url":"https://aaronparecki.com/","name":"Aaron Parecki"},"summary":"The Micropub protocol is used to create, update and delete posts on one's own domain using third-party clients. Web apps and native apps (e.g., iPhone, Android) can use Micropub to post and edit articles, short notes, comments, likes, photos, events or other kinds of posts on your own website."},"https://github.com/indieweb/micropub-extensions/issues/4":{"type":"entry","uid":"https://github.com/indieweb/micropub-extensions/issues/4","url":"https://github.com/indieweb/micropub-extensions/issues/4","name":"Query for Post List � Issue #4 � indieweb/micropub-extensions","summary":"Discussion for adding a way to query a list of posts from the Micropub endpoint (https://indieweb.org/Micropub-extensions#Query_for_Post_List) Below are some thoughts from the brainstorming page. U...","featured":"https://opengraph.githubassets.com/777c45c2af8ea6bd955c66c64c5f2487ba08fbe8b69fa4a4aa27590e5367e6c8/indieweb/micropub-extensions/issues/4","author":{"type":"card","uid":"h"}},"https://pay.grant.codes":{"type":"entry","uid":"https://pay.grant.codes","url":"https://pay.grant.codes","name":"grant.codes B grant.codes","summary":"Grant Richmond is a Scottish freelance web developer specializing in WordPress, front end and other dumb stuff."},"https://graphql.org":{"type":"entry","uid":"https://graphql.org","url":"https://graphql.org","name":"A query language for your API","summary":"GraphQLLearnCodeCommunityFAQSpecFoundationNewsLandscapeGraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and&hellip;"},"https://github.com/alltogethernow/server":{"type":"entry","uid":"https://github.com/alltogethernow/server","url":"https://github.com/alltogethernow/server","name":"alltogethernow/server","summary":"GraphQL server backend. Mixes microsub and micropub into one easy to use package - alltogethernow/server","featured":"https://opengraph.githubassets.com/2890206795ac5c0da7093d674a9c24063728a9b3ea6dd6b346995d36903031cf/alltogethernow/server","author":{"type":"card","uid":"h"}},"https://apollographql.com/docs/apollo-server/features/subscriptions":{"type":"entry","uid":"https://apollographql.com/docs/apollo-server/features/subscriptions","url":"https://apollographql.com/docs/apollo-server/features/subscriptions","name":"Subscriptions","summary":"Persistent GraphQL read operations","featured":"https://res.cloudinary.com/apollographql/image/upload/w_1280,h_669,c_fill,q_auto,f_auto/w_1120,c_fit,co_rgb:FFFFFF,g_south_west,x_80,y_254,l_text:Source%20Sans%20Pro_80_bold:Subscriptions/w_1120,c_fit,co_rgb:FFFFFF,g_north_west,x_80,y_445,l_text:Source%20Sans%20Pro_48:Apollo%20Server%20%E2%80%BA%20Fetching%20Data/apollo-docs-template2_dohzxt"},"https://mongodb.com":{"type":"entry","uid":"https://mongodb.com","url":"https://mongodb.com","name":"The most popular database for modern apps","summary":"We're the creators of MongoDB, the most popular database for modern apps, and MongoDB Atlas, the global cloud database on AWS, Azure, and GCP. Easily organize, use, and enrich data \u0014 in real time,&hellip;","featured":"http://s3.amazonaws.com/info-mongodb-com/_com_assets/cms/mongodb-for-giant-ideas-bbab5c3cf8.png"},"https://github.com/alltogethernow/web":{"type":"entry","uid":"https://github.com/alltogethernow/web","url":"https://github.com/alltogethernow/web","name":"alltogethernow/web","summary":"Together web client. Contribute to alltogethernow/web development by creating an account on GitHub.","featured":"https://opengraph.githubassets.com/d0eb4258246d5fd33dc8950f41c92b170b76ddfd82d9f0041465e179d8a2c4ec/alltogethernow/web","author":{"type":"card","uid":"h"}},"https://reactjs.org/docs/hooks-intro.html":{"type":"entry","uid":"https://reactjs.org/docs/hooks-intro.html","url":"https://reactjs.org/docs/hooks-intro.html","name":"Introducing Hooks \u0013 React","summary":"A JavaScript library for building user interfaces","featured":"https://reactjs.org/logo-og.png"},"https://github.com/GRANTCODES/POSTRCHILD-EDITOR-BASE":{"type":"entry","uid":"https://github.com/GRANTCODES/POSTRCHILD-EDITOR-BASE","url":"https://github.com/GRANTCODES/POSTRCHILD-EDITOR-BASE","name":"grantcodes/postrchild-editor-base","summary":"A collection of react components to help making micropub clients - grantcodes/postrchild-editor-base","featured":"https://opengraph.githubassets.com/52ebb52fb5e493935cdcb575cbd18ea5754d84e06ddbae219714c291a0f45be6/grantcodes/postrchild-editor-base","author":{"type":"card","uid":"h"}},"https://indieweb-starter.glitch.me":{"type":"entry","uid":"https://indieweb-starter.glitch.me","url":"https://indieweb-starter.glitch.me","name":"Grant Richmond","summary":"=� watched Justice League Episode 5 Season 1 =� watched The Walking Dead Episode 5 Season 7 =� watched Batman Beyond Episode 25 Season 2 =� watched Batman Beyond Episode 25 Season 2","featured":"http://thetvdb.com/banners/seasons/153021-7-4.jpg"},"https://postrchild.com":{"type":"entry","uid":"https://postrchild.com","url":"https://postrchild.com","name":"PostrChild","summary":"PostrChild is a suite of micropub clients to help you post to your indieweb site. Currently available is a chat bot, a photo album creator and a browser extension Chat Bot The chat bot is built with&hellip;"},"https://granary.io":{"type":"entry","uid":"https://granary.io","url":"https://granary.io","name":"Granary","summary":"Fetches and converts data between social networks, HTML and JSON with microformats2, ActivityStreams 1 and 2, Atom, RSS, JSON Feed, and more. Try it below! Docs, source. Want social feeds in your feed&hellip;"},"https://snarfed.org":{"type":"entry","uid":"https://snarfed.org","url":"https://snarfed.org","name":"snarfed.org","summary":"Ryan Barrett's blog","featured":"https://snarfed.org/iraq_square.jpg"}}}]}