{ "type": "entry", "published": "2018-01-15T09:16:26-08:00", "url": "https://aaronparecki.com/2018/01/15/6/", "category": [ "IndieWebCamp", "indiewebcamp", "livestream", "slingstudio" ], "photo": [ "https://aaronparecki.com/2018/01/15/6/photo.jpg" ], "video": [ "https://aaronparecki.com/2018/01/15/6/packing-slingstudio.mp4" ], "syndication": [ "https://www.instagram.com/p/Bd-mfJpAA3t/", "https://twitter.com/aaronpk/status/952975266443177984" ], "content": { "text": "Packing for #IndieWebCamp Baltimore!", "html": "Packing for <a href=\"https://aaronparecki.com/tag/indiewebcamp\">#IndieWebCamp</a> Baltimore!" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "16206", "_source": "16", "_is_read": true }
{ "type": "entry", "published": "2018-01-14 20:33-0800", "url": "https://gregorlove.com/2018/01/2018-01-14-20-33-18/", "like-of": [ "https://microblog.pdemarest.net/the-52-things-project-2-set-up-webmentions-on-this-site/" ], "content": { "text": "\u2605 https://microblog.pdemarest.net/the-52-things-project-2-set-up-webmentions-on-this-site/", "html": "<p>\u2605 <a class=\"u-like-of\" href=\"https://microblog.pdemarest.net/the-52-things-project-2-set-up-webmentions-on-this-site/\">https://microblog.pdemarest.net/the-52-things-project-2-set-up-webmentions-on-this-site/</a></p>" }, "author": { "type": "card", "name": "gRegor Morrill", "url": "https://gregorlove.com/", "photo": "https://gregorlove.com/site/assets/files/3473/profile-2016-med.jpg" }, "_id": "17410", "_source": "95", "_is_read": true }
{ "type": "entry", "published": "2018-01-15T02:45:36+00:00", "url": "https://miklb.com/blog/2018/01/15/3223/", "syndication": [ "https://twitter.com/miklb/status/952733486942695424" ], "name": "02:45# \n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\nNice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/", "content": { "text": "Nice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/", "html": "<p>Nice update to <a href=\"https://twitter.com/brentsimmons\">@brentsimmons</a> Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. <a href=\"https://ranchero.com/evergreen/\">https://ranchero.com/evergreen/</a>\n</p>" }, "_id": "18348", "_source": "42", "_is_read": true }
{ "type": "entry", "published": "2018-01-15T02:45:36+00:00", "url": "https://miklb.com/2018/01/3223/", "syndication": [ "https://twitter.com/miklb/status/952733486942695424" ], "name": "02:45# \n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\nNice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/", "content": { "text": "Nice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/", "html": "<p>Nice update to <a href=\"https://twitter.com/brentsimmons\">@brentsimmons</a> Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. <a href=\"https://ranchero.com/evergreen/\">https://ranchero.com/evergreen/</a>\n</p>" }, "_id": "16287", "_source": "42", "_is_read": true }
{ "type": "entry", "author": { "name": "Peter Molnar", "url": "https://petermolnar.net", "photo": null }, "url": "https://petermolnar.net/linkedin-public-settings-ignored/", "published": "2018-01-14T12:00:00+00:00", "content": { "html": "<p>A few days ago, on the #indieweb Freenode channel<a href=\"https://petermolnar.net/#fn1\">1</a> one of the users asked if we knew an indieweb-friendly way of getting data out of LinkedIn. I wasn't paying attention to any recent news related to LinkedIn, though I've heard a few things, such as they are struggling to prevent data scraping: the note mentioned that they believe it's a problem that employers keep an eye on changes in LinkedIn profiles via 3rd party. This, indeed, can be an issue, but there are ways to manage this within LinkedIn: your public profile settings<a href=\"https://petermolnar.net/#fn2\">2</a>.</p>\n<p>In my case, this was set to visible to everyone for years, and by the time I had to set it up (again: years), it was working as intended. But a few days ago, for my surprise, visiting my profile while logged out resulted in this:</p>\n<a href=\"https://petermolnar.net/files/linkedin-public-profile-issues-authwall_b.png\"> <img src=\"https://petermolnar.net/files/linkedin-public-profile-issues-authwall_z.png\" title=\"\" alt=\"LinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\" /></a>\n\nLinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\n<p>and this:</p>\n<pre><code>$ wget -O- https://www.linkedin.com/in/petermolnareu\n--2018-01-14 10:26:12-- https://www.linkedin.com/in/petermolnareu\nResolving www.linkedin.com (www.linkedin.com)... 91.225.248.129, 2620:109:c00c:104::b93f:9001\nConnecting to www.linkedin.com (www.linkedin.com)|91.225.248.129|:443... connected.\nHTTP request sent, awaiting response... 999 Request denied\n2018-01-14 10:26:12 ERROR 999: Request denied.</code></pre>\n<p>or this:</p>\n<pre><code>$ curl https://www.linkedin.com/in/petermolnareu\n<html><head>\n<script type=\"text/javascript\">\nwindow.onload = function() {\n // Parse the tracking code from cookies.\n var trk = \"bf\";\n var trkInfo = \"bf\";\n var cookies = document.cookie.split(\"; \");\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"trkCode=\") == 0) && (cookies[i].length > 8)) {\n trk = cookies[i].substring(8);\n }\n else if ((cookies[i].indexOf(\"trkInfo=\") == 0) && (cookies[i].length > 8)) {\n trkInfo = cookies[i].substring(8);\n }\n }\n\n if (window.location.protocol == \"http:\") {\n // If \"sl\" cookie is set, redirect to https.\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"sl=\") == 0) && (cookies[i].length > 3)) {\n window.location.href = \"https:\" + window.location.href.substring(window.location.protocol.length);\n return;\n }\n }\n }\n\n // Get the new domain. For international domains such as\n // fr.linkedin.com, we convert it to www.linkedin.com\n var domain = \"www.linkedin.com\";\n if (domain != location.host) {\n var subdomainIndex = location.host.indexOf(\".linkedin\");\n if (subdomainIndex != -1) {\n domain = \"www\" + location.host.substring(subdomainIndex);\n }\n }\n\n window.location.href = \"https://\" + domain + \"/authwall?trk=\" + trk + \"&trkInfo=\" + trkInfo +\n \"&originalReferer=\" + document.referrer.substr(0, 200) +\n \"&sessionRedirect=\" + encodeURIComponent(window.location.href);\n}\n</script>\n</head></html></code></pre>\nSo I started digging. According to the LinkedIn FAQ<a href=\"https://petermolnar.net/#fn3\">3</a> there is a page where you can set your profile's public visibility. Those settings, for me, were still set to:\n<a href=\"https://petermolnar.net/files/linkedin-public-profile-issues-settings_b.png\"> <img src=\"https://petermolnar.net/files/linkedin-public-profile-issues-settings_z.png\" title=\"\" alt=\"LinkedIn public profile settings\" /></a>\n\nLinkedIn public profile settings\n<p>Despite the settings, there is no public profile for logged out users.</p>\n<p>I'd like to understand what it going on, because so far, this looks like a fat lie from LinkedIn. Hopefully just a bug.</p>\n<h2>UPDATE</h2>\n<p><del>I tried setting referrers and user agents, used different IP addresses, still nothing.</del> I can't type today and managed to mistype <code>https://google.com</code> - the referrer ended up as <code>https:/google.com</code>. So, following the notes on HN, setting a referrer to Google sometimes works. After a few failures it will lock you out again, referrer or not. This is even uglier if it was a proper authwall for everyone.</p>\n<pre><code>curl 'https://www.linkedin.com/in/petermolnareu' \\\n-e 'https://google.com/' \\\n-H 'accept-encoding: text' -H \\\n'accept-language: en-US,en;q=0.9,' \\\n-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'</code></pre>\n<pre><code><!DOCTYPE html>...</code></pre>\n\n\n<ol><li><p><a href=\"https://chat.indieweb.org/\">https://chat.indieweb.org</a><a href=\"https://petermolnar.net/#fnref1\">\u21a9</a></p></li>\n<li><p><a href=\"https://www.linkedin.com/public-profile/settings\">https://www.linkedin.com/public-profile/settings</a><a href=\"https://petermolnar.net/#fnref2\">\u21a9</a></p></li>\n<li><p><a href=\"https://www.linkedin.com/help/linkedin/answer/83?query=public\">https://www.linkedin.com/help/linkedin/answer/83?query=public</a><a href=\"https://petermolnar.net/#fnref3\">\u21a9</a></p></li>\n</ol>", "text": "A few days ago, on the #indieweb Freenode channel1 one of the users asked if we knew an indieweb-friendly way of getting data out of LinkedIn. I wasn't paying attention to any recent news related to LinkedIn, though I've heard a few things, such as they are struggling to prevent data scraping: the note mentioned that they believe it's a problem that employers keep an eye on changes in LinkedIn profiles via 3rd party. This, indeed, can be an issue, but there are ways to manage this within LinkedIn: your public profile settings2.\nIn my case, this was set to visible to everyone for years, and by the time I had to set it up (again: years), it was working as intended. But a few days ago, for my surprise, visiting my profile while logged out resulted in this:\n \n\nLinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\nand this:\n$ wget -O- https://www.linkedin.com/in/petermolnareu\n--2018-01-14 10:26:12-- https://www.linkedin.com/in/petermolnareu\nResolving www.linkedin.com (www.linkedin.com)... 91.225.248.129, 2620:109:c00c:104::b93f:9001\nConnecting to www.linkedin.com (www.linkedin.com)|91.225.248.129|:443... connected.\nHTTP request sent, awaiting response... 999 Request denied\n2018-01-14 10:26:12 ERROR 999: Request denied.\nor this:\n$ curl https://www.linkedin.com/in/petermolnareu\n<html><head>\n<script type=\"text/javascript\">\nwindow.onload = function() {\n // Parse the tracking code from cookies.\n var trk = \"bf\";\n var trkInfo = \"bf\";\n var cookies = document.cookie.split(\"; \");\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"trkCode=\") == 0) && (cookies[i].length > 8)) {\n trk = cookies[i].substring(8);\n }\n else if ((cookies[i].indexOf(\"trkInfo=\") == 0) && (cookies[i].length > 8)) {\n trkInfo = cookies[i].substring(8);\n }\n }\n\n if (window.location.protocol == \"http:\") {\n // If \"sl\" cookie is set, redirect to https.\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"sl=\") == 0) && (cookies[i].length > 3)) {\n window.location.href = \"https:\" + window.location.href.substring(window.location.protocol.length);\n return;\n }\n }\n }\n\n // Get the new domain. For international domains such as\n // fr.linkedin.com, we convert it to www.linkedin.com\n var domain = \"www.linkedin.com\";\n if (domain != location.host) {\n var subdomainIndex = location.host.indexOf(\".linkedin\");\n if (subdomainIndex != -1) {\n domain = \"www\" + location.host.substring(subdomainIndex);\n }\n }\n\n window.location.href = \"https://\" + domain + \"/authwall?trk=\" + trk + \"&trkInfo=\" + trkInfo +\n \"&originalReferer=\" + document.referrer.substr(0, 200) +\n \"&sessionRedirect=\" + encodeURIComponent(window.location.href);\n}\n</script>\n</head></html>\nSo I started digging. According to the LinkedIn FAQ3 there is a page where you can set your profile's public visibility. Those settings, for me, were still set to:\n \n\nLinkedIn public profile settings\nDespite the settings, there is no public profile for logged out users.\nI'd like to understand what it going on, because so far, this looks like a fat lie from LinkedIn. Hopefully just a bug.\nUPDATE\nI tried setting referrers and user agents, used different IP addresses, still nothing. I can't type today and managed to mistype https://google.com - the referrer ended up as https:/google.com. So, following the notes on HN, setting a referrer to Google sometimes works. After a few failures it will lock you out again, referrer or not. This is even uglier if it was a proper authwall for everyone.\ncurl 'https://www.linkedin.com/in/petermolnareu' \\\n-e 'https://google.com/' \\\n-H 'accept-encoding: text' -H \\\n'accept-language: en-US,en;q=0.9,' \\\n-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'\n<!DOCTYPE html>...\n\n\nhttps://chat.indieweb.org\u21a9\nhttps://www.linkedin.com/public-profile/settings\u21a9\nhttps://www.linkedin.com/help/linkedin/answer/83?query=public\u21a9" }, "name": "LinkedIn is ignoring user settings", "_id": "161767", "_source": "268", "_is_read": true }
{ "type": "entry", "published": "2018-01-11 15:00-0800", "url": "https://gregorlove.com/2018/01/star-1-million-webmentions/", "like-of": [ "https://snarfed.org/1-million-webmentions" ], "content": { "text": "\u2605 https://snarfed.org/1-million-webmentions", "html": "<p>\u2605 <a href=\"https://snarfed.org/1-million-webmentions\" class=\"u-like-of\">https://snarfed.org/1-million-webmentions</a></p>" }, "author": { "type": "card", "name": "gRegor Morrill", "url": "https://gregorlove.com/", "photo": "https://gregorlove.com/site/assets/files/3473/profile-2016-med.jpg" }, "_id": "17413", "_source": "95", "_is_read": true }
{ "type": "entry", "published": "2018-01-11T09:52:30-08:00", "url": "https://aaronparecki.com/2018/01/11/5/", "category": [ "indieweb" ], "content": { "text": "Test post for Superfeedr to see if it will find my #indieweb tagged posts", "html": "Test post for Superfeedr to see if it will find my <a href=\"https://aaronparecki.com/tag/indieweb\">#indieweb</a> tagged posts" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "14608", "_source": "16", "_is_read": true }
{ "type": "entry", "published": "2018-01-09 16:14-0800", "url": "https://gregorlove.com/2018/01/star-global-webmentions/", "like-of": [ "https://aaronparecki.com/2016/02/20/5/global-webmentions" ], "content": { "text": "\u2605 https://aaronparecki.com/2016/02/20/5/global-webmentions", "html": "<p>\u2605 <a href=\"https://aaronparecki.com/2016/02/20/5/global-webmentions\" class=\"u-like-of\">https://aaronparecki.com/2016/02/20/5/global-webmentions</a></p>" }, "author": { "type": "card", "name": "gRegor Morrill", "url": "https://gregorlove.com/", "photo": "https://gregorlove.com/site/assets/files/3473/profile-2016-med.jpg" }, "_id": "17418", "_source": "95", "_is_read": true }
{ "type": "entry", "published": "2018-01-08T23:16:14+00:00", "url": "https://cleverdevil.io/2018/great-progress-is-being-made-on-together---cleverdeviltogether", "syndication": [ "https://twitter.com/cleverdevil/status/950506461079228417" ], "content": { "text": "Great progress is being made on Together - https://github.com/cleverdevil/together - an open source \"reader\" for the open web, with support for IndieWeb standards like Micropub and Microsub. Check out this quick demo \u2013 http://share.cleverdevil.io/JNrG4pVNfY.mp4", "html": "Great progress is being made on Together - <a href=\"https://github.com/cleverdevil/together\">https://github.com/cleverdevil/together</a> - an open source \"reader\" for the open web, with support for IndieWeb standards like Micropub and Microsub. Check out this quick demo \u2013 <a href=\"http://share.cleverdevil.io/JNrG4pVNfY.mp4\">http://share.cleverdevil.io/JNrG4pVNfY.mp4</a>" }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/2fa19f964fb8970faaf20b909c69d6cb/thumb.png" }, "_id": "12709", "_source": "71", "_is_read": true }
{ "type": "entry", "published": "2018-01-08T17:46:14+00:00", "url": "https://cleverdevil.io/2018/micro-monday-eddie-hinkle", "syndication": [ "https://twitter.com/cleverdevil/status/950423413444706305" ], "name": "Micro Monday: Eddie Hinkle", "content": { "text": "Its our first ever Micro Monday, people! Thanks to @manton and @macgenie for deciding to make this happen. I think its a great way to grow the community of Indie Bloggers and Micro.blog itself. My first recommendation for my followers is @eddiehinkle. Eddie is a fellow IndieWeb developer that I've enjoyed getting to know over the past year or two. Eddie works on an iOS app called Indigenous: Indigenous is an iOS app that is in development. It\u2019s goal is to provide a native iOS interface to the indieweb movement. Indigenous is open source, written in Apple's Swift programming language. If you're an IndieWeb-curious developer on Apple platforms, I'd encourage you to get involved with Eddie, and help him with Indigenous! In addition to his work on the IndieWeb, I also appreciate following Eddie because he writes thoughtful posts about, you know, being a human. Its always refreshing to see someone share how their faith informs their life in an open and honest, accepting way. Thanks for being awesome, Eddie!", "html": "<p>Its our first ever <a href=\"http://micro.welltempered.net/2018/01/07/micro-monday-launches.html\">Micro Monday</a>, people! Thanks to <a href=\"https://micro.blog/manton\">@manton</a>\u00a0and <a href=\"https://micro.blog/macgenie\">@macgenie</a>\u00a0for deciding to make this happen. I think its a great way to grow the community of Indie Bloggers and <a href=\"https://micro.blog\">Micro.blog</a>\u00a0itself. My first recommendation for my followers is <a href=\"https://micro.blog/eddiehinkle\">@eddiehinkle</a>.</p>\n<p>Eddie is a fellow <a href=\"https://indieweb.org\">IndieWeb</a>\u00a0developer that I've enjoyed getting to know over the past year or two. Eddie works on an iOS app called <a href=\"https://eddiehinkle.com/projects/indigenous/\">Indigenous</a>:</p>\n<blockquote><p><strong>Indigenous</strong> is an iOS app that is in development. It\u2019s goal is to provide a native iOS interface to the indieweb movement.</p></blockquote>\n<p><a href=\"https://github.com/EdwardHinkle/indigenous-ios\">Indigenous is open source</a>, written in Apple's Swift programming language. If you're an IndieWeb-curious developer on Apple platforms, I'd encourage you to get involved with Eddie, and help him with Indigenous!</p>\n<p>In addition to his work on the IndieWeb, I also appreciate following Eddie because he writes <a href=\"https://eddiehinkle.com/2018/01/08/7/article/\">thoughtful</a>\u00a0<a href=\"https://eddiehinkle.com/2018/01/08/7/article/\">posts</a> about, you know, <em>being a human</em>. Its always refreshing to see someone share how their\u00a0faith informs their life in an open and honest, accepting way.</p>\n<p>Thanks for being awesome, Eddie!</p>" }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/2fa19f964fb8970faaf20b909c69d6cb/thumb.png" }, "_id": "12466", "_source": "71", "_is_read": true }
{ "type": "entry", "published": "2018-01-07T18:41:28+00:00", "url": "https://miklb.com/2018/01/3164/", "syndication": [ "https://twitter.com/miklb/status/950074698041356290" ], "in-reply-to": [ "https://twitter.com/shiflett/status/950067527958200320?ref_src=twsrc%5Etfw" ], "name": "January 7, 2018 \n\t\t\t\t\t\t\t\t\t\t\t\t18:41# \n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n \n\t\nI debated using Webmentions but ultimately decided no comments this time. Let people respond thoughtfully with a post of their own. Bring blogging back. :-) \u2014 Chris Shiflett (@shiflett) January 7, 2018 \n \n\nthat\u2019s what a webmention is \u2013 a post on my blog in reply to someone else\u2019s post. Just like how I\u2019m using my site to create this reply that goes to Twitter.", "content": { "text": "that\u2019s what a webmention is \u2013 a post on my blog in reply to someone else\u2019s post. Just like how I\u2019m using my site to create this reply that goes to Twitter.", "html": "<p>that\u2019s what a webmention is \u2013 a post on my blog in reply to someone else\u2019s post. Just like how I\u2019m using my site to create this reply that goes to Twitter.\n</p>" }, "refs": { "https://twitter.com/shiflett/status/950067527958200320?ref_src=twsrc%5Etfw": { "type": "entry", "url": "https://twitter.com/shiflett/status/950067527958200320?ref_src=twsrc%5Etfw", "content": { "text": "I debated using Webmentions but ultimately decided no comments this time. Let people respond thoughtfully with a post of their own. Bring blogging back. :-) \u2014 Chris Shiflett (@shiflett) January 7, 2018" } } }, "_id": "11784", "_source": "42", "_is_read": true }
{ "type": "entry", "published": "2018-01-06T14:49:39-08:00", "url": "https://aaronparecki.com/2018/01/06/13/code-snippets", "featured": "https://aaronparecki.com/2018/01/06/13/image-2.png", "category": [ "p3k", "indieweb", "code" ], "name": "Owning my Code Snippets", "content": { "text": "It's very convenient to be able to quickly share a link to a code snippet, which is something I've mostly done using gist.github.com. While often the code snippets are sort of throwaway, I still feel bad that I'm posting them in a place that I don't control.\nToday I added support to my site for natively posting code snippets. It wasn't nearly as hard as I was imagining it was going to be! Since my site doesn't have a posting interface of its own, that also meant that I needed to add support to Quill to create these posts via Micropub.\nSince this is still relatively experimental, I didn't add a button to it in Quill, but the page is live.\nThe only required part of this is the code box. The interface lets you optionally set a filename, which will automatically set the language if it matches a list of known languages. The language is included in order to indicate to my site which syntax highlighter to use. Here's what that ends up looking like on my site.\nI use the GeSHi syntax highlighter, which covers a wide range of languages and works very well, but I'm not super happy with the colors it uses. I'd like to find a stylesheet or even a different syntax highlighter that looks closer to the colors on GitHub. In the mean time, I'm happy enough with this to use it.\nI ended up doing quite a bit of fiddling with my CSS to make these posts look good. You'll notice the grey background of the code block extends to the edges of the post, whereas normally there would be some padding. I also changed the font of the post name to a fixed-width font. If there is no filename, then I wanted the grey background to extend to the top of the frame, which is also something unique to these posts.\nThe last step of making this actually useful is to integrate this into my browser workflow, including editing the posts easily. There is a bookmarklet that will either open up a new window or launch the editing interface depending on whether I'm looking at an existing code post.\nI'm pretty happy with this, and I hope I don't post on GitHub anymore unless I'm specifically using their fork feature of Gists!", "html": "<p>It's very convenient to be able to quickly share a link to a code snippet, which is something I've mostly done using <a href=\"https://gist.github.com\">gist.github.com</a>. While often the code snippets are sort of throwaway, I still feel bad that I'm posting them in a place that I don't control.</p>\n<p>Today I added support to my site for natively posting code snippets. It wasn't nearly as hard as I was imagining it was going to be! Since my site doesn't have a posting interface of its own, that also meant that I needed to add support to <a href=\"https://quill.p3k.io\">Quill</a> to create these posts via <a href=\"https://micropub.net\">Micropub</a>.</p>\n<p>Since this is still relatively experimental, I didn't add a button to it in Quill, but the page is live.</p>\n<img src=\"https://aaronparecki.com/2018/01/06/13/image-1.png\" alt=\"\" /><p>The only required part of this is the code box. The interface lets you optionally set a filename, which will automatically set the language if it matches a list of known languages. The language is included in order to indicate to my site which syntax highlighter to use. Here's what that ends up looking like on my site.</p>\n<img src=\"https://aaronparecki.com/2018/01/06/13/image-2.png\" alt=\"\" class=\"u-featured\" /><p>I use the <a href=\"http://qbnz.com/highlighter/\">GeSHi</a> syntax highlighter, which covers a wide range of languages and works very well, but I'm not super happy with the colors it uses. I'd like to find a stylesheet or even a different syntax highlighter that looks closer to the colors on GitHub. In the mean time, I'm happy enough with this to use it.</p>\n<p>I ended up doing quite a bit of fiddling with my CSS to make these posts look good. You'll notice the grey background of the code block extends to the edges of the post, whereas normally there would be some padding. I also changed the font of the post name to a fixed-width font. If there is no filename, then I wanted the grey background to extend to the top of the frame, which is also something unique to these posts.</p>\n<img src=\"https://aaronparecki.com/2018/01/06/13/image-3.png\" alt=\"\" /><p>The last step of making this actually useful is to integrate this into my browser workflow, including editing the posts easily. There is a bookmarklet that will either open up a new window or launch the editing interface depending on whether I'm looking at an existing code post.</p>\n<p>I'm pretty happy with this, and I hope I don't post on GitHub anymore unless I'm specifically using their fork feature of Gists!</p>" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "11663", "_source": "16", "_is_read": true }
{ "type": "entry", "published": "2018-01-06T14:35:09-08:00", "url": "https://aaronparecki.com/2018/01/06/12/blog-archives", "category": [ "indieweb", "p3k" ], "name": "Improved Blog Post Archives", "content": { "text": "I've been wanting to improve the layout of my blog post archive pages for some time. Previously, the page just listed out the full contents of the last 20 posts, and you could continue navigating back 20 posts at a time. I realize that some people like reading the full posts on the archive page, rather than having to click into each one, but it wasn't easy to just skim the post titles to get a sense of what was on the page.\nAs an intermediate step before launching a real archives view, I took Tantek's suggestion of adding a sort of \"table of contents\" view to my existing pages.\nNow on my \"articles\" page, there is a list at the top of the names of each post.\u00a0\nBelow that, I still show the full contents of each post. The table of contents also links to fragment IDs for each post on the page, so that you can quickly read the posts without doing full page loads.\nAs a bonus, this also works with my tag-filtered article pages, such as Articles Tagged #indieweb.\nI like this view since it makes it a little easier to find a lot of past content by topic rather than having to continue to page back 20 posts at a time.\nI'm still planning on improving the overall archive browsing on my site, but this was a relatively easy first step and is a good improvement.", "html": "<p>I've been wanting to improve the layout of my blog post archive pages for some time. Previously, the page just listed out the full contents of the last 20 posts, and you could continue navigating back 20 posts at a time. I realize that some people like reading the full posts on the archive page, rather than having to click into each one, but it wasn't easy to just skim the post titles to get a sense of what was on the page.</p>\n<p>As an intermediate step before launching a real archives view, I took <a href=\"http://tantek.com\">Tantek</a>'s suggestion of adding a sort of \"table of contents\" view to my existing pages.</p>\n<p>Now on my \"<a href=\"https://aaronparecki.com/articles\">articles</a>\" page, there is a list at the top of the names of each post.\u00a0</p>\n<img src=\"https://aaronparecki.com/2018/01/06/12/image-1.png\" alt=\"\" /><p>Below that, I still show the full contents of each post. The table of contents also links to fragment IDs for each post on the page, so that you can quickly read the posts without doing full page loads.</p>\n<p>As a bonus, this also works with my tag-filtered article pages, such as <a href=\"https://aaronparecki.com/articles?tag=indieweb\">Articles Tagged #indieweb</a>.</p>\n<img src=\"https://aaronparecki.com/2018/01/06/12/image-2.png\" alt=\"\" /><p>I like this view since it makes it a little easier to find a lot of past content by topic rather than having to continue to page back 20 posts at a time.</p>\n<p>I'm still planning on improving the overall archive browsing on my site, but this was a relatively easy first step and is a good improvement.</p>" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "11664", "_source": "16", "_is_read": true }
Hell, yeah!
I write to understand and remember. Sometimes that will be interesting to others, often it won’t be.
But it’s going to happen. Here, on my own site.
{ "type": "entry", "published": "2018-01-05T19:04:22Z", "url": "https://adactio.com/links/13280", "category": [ "indieweb", "writing", "publishing", "blogging", "data", "ownership", "content", "syndication", "sharing" ], "bookmark-of": [ "https://timkadlec.com/2018/01/owning-my-own-content/" ], "content": { "text": "Owning My Own Content - TimKadlec.com\n\n \n\nHell, yeah! \n\n\n I write to understand and remember. Sometimes that will be interesting to others, often it won\u2019t be. \n \n But it\u2019s going to happen. Here, on my own site.", "html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://timkadlec.com/2018/01/owning-my-own-content/\">\nOwning My Own Content - TimKadlec.com\n</a>\n</h3>\n\n<p>Hell, yeah!</p>\n\n<blockquote>\n <p>I write to understand and remember. Sometimes that will be interesting to others, often it won\u2019t be.</p>\n \n <p>But it\u2019s going to happen. Here, on my own site.</p>\n</blockquote>" }, "_id": "11106", "_source": "2", "_is_read": true }
{ "type": "entry", "published": "2018-01-05T19:02:54+00:00", "url": "https://cleverdevil.io/2018/indieweb-idea-follow-friday-but-for-blogsbrentsimmonsstatus949354384541990912", "syndication": [ "https://twitter.com/cleverdevil/status/949355546272034819" ], "content": { "text": "IndieWeb Idea: Follow Friday, but for blogs.\n\nhttps://twitter.com/brentsimmons/status/949354384541990912", "html": "IndieWeb Idea: Follow Friday, but for blogs.<a href=\"https://twitter.com/brentsimmons/status/949354384541990912\">https://twitter.com/brentsimmons/status/949354384541990912</a>" }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/2fa19f964fb8970faaf20b909c69d6cb/thumb.png" }, "_id": "11023", "_source": "71", "_is_read": true }
{ "type": "entry", "published": "2018-01-05T10:50:44-08:00", "url": "https://aaronparecki.com/2018/01/05/10/rich-link-previews", "featured": "https://aaronparecki.com/2018/01/05/10/image-1.jpg", "category": [ "indieweb", "p3k", "opengraph" ], "name": "Rich Link Previews for my Website on Facebook and Twitter", "content": { "text": "Ever since launching the new version of my website in 2016, I haven't had the special meta tags that Facebook, Twitter and Slack use for showing the nice preview of links shared. It's been annoying me a bit when I share a link to a blog post that they don't look good there.\nToday I begrudgingly added the Facebook Open Graph tags to my post permalinks so that my posts look better when shared.\nI say begrudgingly because my posts are already machine-parsable thanks to the Microformats on the page. For example, here's the parsed version of a recent blog post in Microformats JSON\u00a0format, as well as in the cleaned-up JF2 JSON format. It's certainly possible to use that data to generate a rich link preview, but in the mean time, Twitter and Facebook have their own formats using HTML meta tags.\nIn order to generate the tags for my site, I didn't need to add any additional properties to my storage. Generating the tags is straightforward for articles, I use the article name, featured image if set, and generating the summary involves taking the first few sentences of the first paragraph unless there is an explicit summary set.\nFor other kinds of posts it was a little trickier determining what to use. I had to write a little bit of logic to pull the first few words of note posts to use as the OGP title. Some of my posts don't have a \"photo\" property but instead have a map image, so I had to pull that value out explicitly.\nLastly, Twitter has their own set of tags, but will also use the Facebook tags if those are present. The only tag I needed to set on Twitter was telling it which style of card to use, either the large image style or standard. If my post has a featured image, then it will use the large image style, otherwise uses the small one.\nThankfully, Slack will also use the Facebook tags, so my posts will also look better when shared into Slack now too.", "html": "<p>Ever since launching the new version of my website <a href=\"https://aaronparecki.com/2016/01/30/13/\">in 2016</a>, I haven't had the special meta tags that Facebook, Twitter and Slack use for showing the nice preview of links shared. It's been annoying me a bit when I share a link to a blog post that they don't look good there.</p>\n<p>Today I begrudgingly added the Facebook <a href=\"http://ogp.me\">Open Graph</a> tags to my post permalinks so that my posts look better when shared.</p>\n<img src=\"https://aaronparecki.com/2018/01/05/10/image-1.jpg\" alt=\"\" class=\"u-featured\" /><p>I say begrudgingly because my posts are already machine-parsable thanks to the Microformats on the page. For example, here's the parsed version of a recent blog post in <a href=\"https://php.microformats.io/?url=https://aaronparecki.com/2017/12/10/8/payment-request\">Microformats JSON</a>\u00a0format, as well as in the cleaned-up <a href=\"https://xray.p3k.io/parse?url=https%3A%2F%2Faaronparecki.com%2F2017%2F12%2F10%2F8%2Fpayment-request\">JF2 JSON format</a>. It's certainly possible to use that data to generate a rich <a href=\"https://indieweb.org/link-preview\">link preview</a>, but in the mean time, Twitter and Facebook have their own formats using HTML meta tags.</p>\n<p>In order to generate the tags for my site, I didn't need to add any additional properties to my storage. Generating the tags is straightforward for articles, I use the article name, featured image if set, and generating the summary involves taking the first few sentences of the first paragraph unless there is an explicit summary set.</p>\n<p>For other kinds of posts it was a little trickier determining what to use. I had to write a little bit of logic to pull the first few words of note posts to use as the OGP title. Some of my posts don't have a \"photo\" property but instead have a map image, so I had to pull that value out explicitly.</p>\n<p>Lastly, Twitter has their own set of tags, but will also use the Facebook tags if those are present. The only tag I needed to set on Twitter was telling it which style of card to use, either the large image style or standard. If my post has a featured image, then it will use the large image style, otherwise uses the small one.</p>\n<p>Thankfully, Slack will also use the Facebook tags, so my posts will also look better when shared into Slack now too.</p>" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "11666", "_source": "16", "_is_read": true }
{ "type": "entry", "published": "2018-01-04T14:40:51-08:00", "url": "https://aaronparecki.com/2018/01/04/6/year-in-review-2017", "category": [ "indieweb", "yearinreview", "2017" ], "name": "My 2017 Year in Review", "content": { "text": "Curious what I was up to in 2017? So am I! Thankfully I developed a pretty regular habit of writing short blog posts any time I finished something, so I have a nice collection of posts to draw from for this year-in-review post!\n\nAside from all the IndieWeb work, I also managed to finish a few unrelated projects!\n\nOAuth 2.0 Simplified Book\n\n\n\nIn August, I released my book, OAuth 2.0 Simplified at Okta's conference in Las Vegas. It is now available in print, as an ePub, for Kindle, and PDF.\n\nBarBot\n\n\n\nIn February, I put the finishing touches on BarBot, my robot that pours drinks for me. It can also import h-recipes to make it easy to add new drinks to the database. I've been using it all year, and it's fantastic.\n\n100 Days of Music\n\nWhile I was doing the #100daysofindieweb project, I was also writing a song every day. These are all published on 100.aaronparecki.com, which was my last #100daysofindieweb project. Since this project wrapped up in March, it's been fun to be able to use these songs in other projects, as well as having other people use them in their own projects!\n\nMy Percolator microcast \nKmikeyM's Fortnightly Business Report\n\nMarty McGuire's This Week in the IndieWeb podcast\nAdam Procter's Fragmentum microcast\nLily's Oh My Dollar podcast and radio show\nWifi Desk Bell\n\n\n\nFor the week leading up to the end of Lily's Kickstarter, I made a desk bell that would ring every time someone pledged.\n\nEvents\n\nI helped run a few events this year:\n\nMay 13-14 IndieWebCamp D\u00fcsseldorf \ud83d\udcf7\n\nMay 20-21 IndieWebCamp N\u00fcrnberg \ud83d\udcf7\n\nWe had a great two IndieWebCamps in Germany in May!\n\nJun 24-25 IndieWeb Summit in Portland \ud83d\udcf7\n\nIndieWeb Summit was a lot of fun this year.\n\nJul 8 Lily's #Spy30 Birthday Scavenger Hunt \ud83d\udcf7\n\n\nLily organized a city-wide spy-themed scavenger hunt for her birthday! I wrote an app we used to have everyone submit their challenges and handle scoring, as well as ran a live GPS shuttle tracker for the karaoke bus, built a fake radio station that played a coded message.\n\nAug 15 #biketheeclipse \n\nI led a small group on a day trip bike ride to reach the totality of the eclipse!\n\nDec 9-10 IndieWebCamp Austin\n\nI was lucky enough to be able to make it out to the first IndieWebCamp in Austin.\n\n\nHomebrew Website Club\n\nDreamHost was kind enough to host our 2017 Homebrew Website Club meetups!\n\nI've continued to film the talks at DonutJS monthly.\nTalks\n\nMy Eight Year Old Bot\n\nIn January, I gave a talk at Google about my IRC Bot, Loqi. It was a slightly updated version of the talk I gave at the XOXO Bots meetup in 2016.\n\nOwning My Quantified Self Data\n\nAt the Quantified Self conference in Amsterdam, I gave a talk about how I keep all my quantified self data on my own website in a place I control.\n\n\n\nMore info and slides\nPosts from June 17\nPublishing Your Podcast\n\nAs part of our new class lineup for StreamPDX, I ran a workshop about how to take your podcast from the final audio file and publish it online. We're running a Podcasting 101 series again in 2018, and I'll be teaching this workshop three more times!\n\nOAuth 2.0 Simplified\n\nIn December I gave a talk about OAuth at the Portland Linux/Unix Group.\n\nMore info and slides\nMy Website\n\nAs part of my 100 Days of IndieWeb challenge, which ran from Dec 2016 through March 2017, I made a lot of progress on my website and other various IndieWeb tools! Here are some of the highlights of things I improved on my own website.\n\nPosting to my website from Alexa\nImproved comment display\n\nShowing full repost content, and automatically fetching reposted content\n\n\nDisplaying reply contexts, and automatically fetching reply context\n\nAudio posts so that I can publish podcast episodes\nRecipe support\nRedirects for old blog posts\nInclude featured photo when syndicating articles\nCreating sleep posts from FitBit import\nMedia Fragment URIs\n\nIndexing my emoji use, and autolinking emoji in posts\n\nLive chat widget\nReplaced my SSL certificates\nFinally got checkins on my site!\nIndicating the audience of posts\n#now page\nPulsing blue dot\nStories\nPayment requests using ApplePay\nShowing full contents of likes\nAutomatically POSSEing likes and reposts\nAdding weather info to posts\nIndieWeb Specs\n\nAs part of my work in the W3C Social Web Working Group, I was involved in writing a few specs as well as tools to help people test their implementations.\n\nWebmention\n\nIn January, Webmention reached the final stage of the standards process at the W3C and became a W3C Recommendation!\n\n\n\nI continued to improve the test suite, adding some tricky edge cases for discovery and redirects.\n\nI also did a big reorganization of the Webmention page on the IndieWeb wiki.\n\nMicropub\n\nMicropub reached Recommendation in May, after the Proposed Recommendation in April. I wrote some about the history of the spec and the standards process.\n\n\n\nI did a lot of work on the test suite, micropub.rocks, over the few months leading up to Recommendation. Since Micropub requires authentication, I had to build an OAuth server into the test suite so that you can sign in to other Micropub clients. I wrote several client tests, including filling out the implementation report automatically, tests for video and audio posts, and tests for updating posts.\n\nWebSub\n\nWebSub was a recent addition to the working group. Formerly known as PubSubHubbub, the group adopted the spec in order to continue refining it, and we decided to give it a new name as well.\n\nWe published the Candidate Recommendation in April, and continued iterating on it over the summer, publishing the Proposed Recommendation in October.\n\nI finished the test suite, websub.rocks in May.\n\nIndieAuth\n\nI finally managed to write up IndieAuth as a spec! Previously it was a series of tutorials on the wiki. I launched the first version of the spec on December 5th, and have been making minor changes since then based on community feedback.\n\nMicrosub\n\nEarly in the year, I drafted a spec intended to allow quicker development of reader applications by offloading feed fetching and parsing to a separate server. I called this spec Microsub. A few months later, I started prototyping out a server, which I've soft-launched as the reincarnation of Monocle. The spec has continued to iterate as I develop my Monocle server and Grant works on the front-end application, Together.\n\nIndieWeb Projects\n\nAgain, thanks to my 100 Days of IndieWeb challenge, I made a lot of progress on a bunch of different IndieWeb projects. Here are some of the highlights, grouped by project.\n\nOwnYourSwarm\n\nI launched OwnYourSwarm in March, including sending person-tags, sending Webmentions for Swarm coins, backfeeding comments and likes, and some documentation. It will even poll your past checkins for photos, and you can also import past checkins. Later in the year, I added a property to indicate when another user checks you in, checked in by.\n\nOwnYourGram\n\nOwnYourGram has been around for a few years, but I made some improvements to it in 2017. You can now whitelist and blacklist terms to control what photos are imported. OwnYourSwarm now sends full h-cards for locations, and finally supports multi-photos.\n\nQuill\n\nI added some new features to Quill, such as the ability to set tags, slug and post status and published date for posts, a better photo upload UI, supporting posting RSVPs, showing the reply context of the thing you're replying to, and cleaned up the HTML that the visual editor creates. I also improved the docs, made some other UI improvements, fixed a JS vulnerability.\n\nXRay\n\nMy work on XRay has continued to be useful in many different other projects. XRay parses contents from other websites and returns the data it finds in a normalized format. I added support for parsing Instagram photos, as well as tweets. I also added support for two new Microformats vocabularies, h-review and h-recipe. I made it easier for others to deploy XRay in various hosting environments. I had to jump through some hoops in order to deploy a Letsencrypt certificate on AppEngine where I run XRay.\n\nMiscellaneous IndieWeb Projects\n\nI published my GPS tracking app in the App Store! I also wrote some documentation for it.\n\nI made a few updates to IndieNews, our community news aggregator. Some small improvements to displaying text in posts, enabling WebSub for IndieNews feeds, added a Webmention form, added support for different timezones per post, and added a calendar view of all stories submitted.\n\nThe Slack/IRC gateway now works across all our channels, and Slack emoji are converted to unicode in IRC. The gateway now also supports image uploads from Slack.\n\nAtlas maps can now have curved lines.\n\nI published a few new libraries used in various projects:\n\nTimezone lookup for a location\nEmoji detection\nI had to make some changes to indieauth.com since Clef shut down. I also used that opportunity to remove SMS logins as it is not the most secure. I also updated the documentation.\n\nThe \"This Week in the IndieWeb\" newsletter now also includes podcasts.\n\nI submitted a PR to Known to improve its Micropub handling.\n\nI added a dashboard to webmention.io so that you can see at a glance the last few Webmentions you've received, as well as delete them if you want.\n\nI started publishing a podcast about my IndieWeb work, called Percolator. I managed to publish 16 episodes from October to December, without much regularity. I hope to continue this in 2018.\n\nI finished a major effort to finally update our MediaWiki to a modern version. Part of this work was also replacing the way authentication is handled, so that it can be used across our other subdomains. This also included archiving plaintext backups of our wiki as well as chat logs in Git repos.\n\nOne of the last things I did was create a set of tiny IndieWeb badges you can use on your site! I added them to the footer of my website as well. There are badges for IndieWebCamp, Webmention and Microformats.\n\nLooking Forward to 2018\n\nOverall I had a pretty full 2017! It felt both busy at times and slow at other times.\n\nI'm already looking forward to IndieWebCamp Baltimore later this month, and I'll begin planning IndieWeb Summit 2018 soon!\n\nSome of my concrete goals for 2018:\n\nFinally settle the indieauth.com naming confusion issue this year\nRun IndieWeb Summit in Portland\nContinue development of my IndieWeb reader, Monocle, as well as the Microsub spec\nLaunch and run the StreamPDX Podcast Fellowship\n\nContinue filming the monthly DonutJS meetups, and expand to cover more meetups as well", "html": "<p>Curious what I was up to in 2017? So am I! Thankfully I developed a pretty regular habit of writing short blog posts any time I finished something, so I have a nice collection of posts to draw from for this year-in-review post!</p>\n\n<p>Aside from all the IndieWeb work, I also managed to finish a few unrelated projects!</p>\n\n<h2>OAuth 2.0 Simplified Book</h2>\n\n<p><a href=\"https://oauth2simplified.com\"><img src=\"https://aaronparecki.com/2018/01/04/6/book-cover-large.jpg\" alt=\"OAuth 2.0 Simplified Now Available\" /></a></p>\n\n<p>In August, I released my book, <a href=\"https://oauth2simplified.com\">OAuth 2.0 Simplified</a> at <a href=\"https://aaronparecki.com/tag/oktane\">Okta's conference</a> in Las Vegas. It is <a href=\"https://oauth2simplified.com\">now available</a> in print, as an ePub, for Kindle, and PDF.</p>\n\n<h2>BarBot</h2>\n\n<p><a href=\"https://aaronparecki.com/tag/barbot\"><img src=\"https://aaronparecki.com/2018/01/04/6/barbot.jpg\" alt=\"BarBot\" /></a></p>\n\n<p>In February, I put the <a href=\"https://aaronparecki.com/2017/02/20/18/barbot\">finishing touches</a> on BarBot, my robot that pours drinks for me. It can also <a href=\"https://aaronparecki.com/2017/02/26/18/day-68-barbot-recipes\">import h-recipes</a> to make it easy to add new drinks to the database. I've been using it all year, and it's fantastic.</p>\n\n<h2>100 Days of Music</h2>\n\n<p>While I was doing the <a href=\"https://aaronparecki.com/tag/100daysofindieweb\">#100daysofindieweb</a> project, I was also writing a song every day. These are all published on <a href=\"https://100.aaronparecki.com\">100.aaronparecki.com</a>, which was <a href=\"https://aaronparecki.com/2017/03/30/10/day-100-website-for-100-days-of-music\">my last #100daysofindieweb project</a>. Since this project wrapped up in March, it's been fun to be able to use these songs in other projects, as well as having other people use them in their own projects!</p>\n\n<ul><li>My <a href=\"https://percolator.today/\">Percolator</a> microcast </li>\n<li>KmikeyM's <a href=\"https://www.youtube.com/watch?v=1DZdtnNXz1k&feature=youtu.be\">Fortnightly Business Report</a>\n</li>\n<li>Marty McGuire's <a href=\"https://martymcgui.re/tag/this-week-indieweb-podcast/\">This Week in the IndieWeb</a> podcast</li>\n<li>Adam Procter's <a href=\"http://fragmentum.adamprocter.co.uk/\">Fragmentum</a> microcast</li>\n<li>Lily's <a href=\"http://www.ohmydollar.com/podcast/\">Oh My Dollar</a> podcast and radio show</li>\n</ul><h2>Wifi Desk Bell</h2>\n\n<p><a href=\"https://aaronparecki.com/2017/11/13/5/kickstarter-desk-bell\"><img src=\"https://aaronparecki.com/2018/01/04/6/kickstarter-pledge-desk-bell.jpg\" alt=\"Kickstarter Desk Bell\" /></a></p>\n\n<p>For the week leading up to the end of <a href=\"https://ohmydollar.com/kickstarter\">Lily's Kickstarter</a>, I <a href=\"https://aaronparecki.com/2017/11/13/5/kickstarter-desk-bell\">made a desk bell</a> that would ring every time someone pledged.</p>\n\n<h2>Events</h2>\n\n<p>I helped run a few events this year:</p>\n\n<ul><li>May 13-14 <a href=\"https://indieweb.org/2017/D%C3%BCsseldorf\">IndieWebCamp D\u00fcsseldorf</a> <a href=\"https://www.flickr.com/photos/tollwerk/albums/72157680685498553\">\ud83d\udcf7</a>\n</li>\n<li>May 20-21 <a href=\"https://indieweb.org/2017/Nuremberg\">IndieWebCamp N\u00fcrnberg</a> <a href=\"https://www.flickr.com/photos/tollwerk/albums/72157684052275085\">\ud83d\udcf7</a>\n\n<ul><li>We had a great two IndieWebCamps in Germany in May!</li>\n</ul></li>\n<li>Jun 24-25 <a href=\"https://indieweb.org/2017\">IndieWeb Summit</a> in Portland <a href=\"https://www.flickr.com/photos/aaronpk/albums/72157683338925261\">\ud83d\udcf7</a>\n\n<ul><li>IndieWeb Summit was <a href=\"https://aaronparecki.com/2017/06/30/11/iws2017-wrap\">a lot of fun this year</a>.</li>\n</ul></li>\n<li>Jul 8 Lily's <a href=\"https://spy30.anomalily.net/scoreboard\">#Spy30</a> Birthday Scavenger Hunt <a href=\"https://www.flickr.com/photos/aaronpk/sets/72157686068134135\">\ud83d\udcf7</a>\n\n<ul><li>\n<a href=\"http://anomalily.net\">Lily</a> organized a city-wide spy-themed scavenger hunt for her birthday! I wrote an app we used to have everyone submit their challenges and handle <a href=\"https://aaronparecki.com/2017/07/08/20/\">scoring</a>, as well as ran a <a href=\"https://aaronparecki.com/2017/07/08/19/\">live GPS shuttle tracker</a> for the <a href=\"https://aaronparecki.com/2018/01/04/8/\">karaoke bus</a>, built a <a href=\"https://twitter.com/thatgirl/status/883776735149400064\">fake radio station</a> that played a coded message.</li>\n</ul></li>\n<li>Aug 15 <a href=\"https://aaronparecki.com/tag/biketheeclipse\">#biketheeclipse</a> \n\n<ul><li>I led a small group on a day trip bike ride to reach the totality of the eclipse!</li>\n</ul></li>\n<li>Dec 9-10 <a href=\"https://indieweb.org/2017/Austin\">IndieWebCamp Austin</a>\n\n<ul><li>I was lucky enough to be able to make it out to the first IndieWebCamp in Austin.</li>\n</ul></li>\n<li>\n<a href=\"https://indieweb.org/hwcpdx\">Homebrew Website Club</a>\n\n<ul><li>DreamHost was kind enough to host our 2017 Homebrew Website Club meetups!</li>\n</ul></li>\n<li>I've continued to <a href=\"https://www.youtube.com/channel/UCnm8RRKV7fuNW82fae_Lv2A\">film the talks at DonutJS</a> monthly.</li>\n</ul><h2>Talks</h2>\n\n<h3>My Eight Year Old Bot</h3>\n\n<p>In January, I gave a talk at Google about my IRC Bot, Loqi. It was a slightly updated version of the talk I gave at the <a href=\"https://aaronparecki.com/2016/09/09/19/bots\">XOXO Bots meetup</a> in 2016.</p>\n\n<h3>Owning My Quantified Self Data</h3>\n\n<p>At the Quantified Self conference in Amsterdam, I gave a talk about how I keep all my quantified self data on my own website in a place I control.</p>\n\n<p><img src=\"https://aaronparecki.com/2018/01/04/6/qs17.jpg\" alt=\"QS17\" /></p>\n\n<ul><li><a href=\"https://aaronparecki.com/2017/06/17/2/\">More info and slides</a></li>\n<li><a href=\"https://aaronparecki.com/2017/06/17/\">Posts from June 17</a></li>\n</ul><h3>Publishing Your Podcast</h3>\n\n<p>As part of our new class lineup for <a href=\"https://streampdx.com\">StreamPDX</a>, I ran a workshop about how to take your podcast from the final audio file and publish it online. We're running a <a href=\"https://streampdx.com/classes\">Podcasting 101</a> series again in 2018, and I'll be teaching this workshop three more times!</p>\n\n<h3>OAuth 2.0 Simplified</h3>\n\n<p>In December I gave a talk about OAuth at the <a href=\"http://pdxlinux.org/\">Portland Linux/Unix Group</a>.</p>\n\n<ul><li><a href=\"https://aaronparecki.com/2017/12/07/3/\">More info and slides</a></li>\n</ul><h2>My Website</h2>\n\n<p>As part of my <a href=\"https://aaronparecki.com/tag/100daysofindieweb\">100 Days of IndieWeb</a> challenge, which ran from Dec 2016 through March 2017, I made a lot of progress on my website and other various IndieWeb tools! Here are some of the highlights of things I improved on my own website.</p>\n\n<ul><li><a href=\"https://aaronparecki.com/2017/01/03/10/day14-alexa-app\">Posting to my website from Alexa</a></li>\n<li><a href=\"https://aaronparecki.com/2017/01/05/6/day-16-comments\">Improved comment display</a></li>\n<li>\n<a href=\"https://aaronparecki.com/2017/01/07/5/day-18-repost-content\">Showing full repost content</a>, and <a href=\"https://aaronparecki.com/2017/01/08/7/day-19-reposts\">automatically fetching reposted content</a>\n</li>\n<li>\n<a href=\"https://aaronparecki.com/2017/01/13/20/day24-reply-context\">Displaying reply contexts</a>, and <a href=\"https://aaronparecki.com/2017/01/14/3/day-25-reply-context\">automatically fetching reply context</a>\n</li>\n<li><a href=\"https://aaronparecki.com/2017/01/18/7/day29-p3k-media-support\">Audio posts so that I can publish podcast episodes</a></li>\n<li><a href=\"https://aaronparecki.com/2017/01/22/8/day-33-recipes\">Recipe support</a></li>\n<li><a href=\"https://aaronparecki.com/2017/01/24/14/day-35-redirects-and-oauth\">Redirects for old blog posts</a></li>\n<li><a href=\"https://aaronparecki.com/2017/01/28/14/day-39-featured-photos\">Include featured photo when syndicating articles</a></li>\n<li><a href=\"https://aaronparecki.com/2017/01/31/8/day-42-fitbit-sleep\">Creating sleep posts from FitBit import</a></li>\n<li><a href=\"https://aaronparecki.com/2017/02/19/4/day-61-media-fragments\">Media Fragment URIs</a></li>\n<li>\n<a href=\"https://aaronparecki.com/2017/02/20/6/day-62-emoji\">Indexing my emoji use</a>, and <a href=\"https://aaronparecki.com/2017/02/21/7/day-63-autolinking-emoji\">autolinking emoji in posts</a>\n</li>\n<li><a href=\"https://aaronparecki.com/2017/03/04/8/day-74-chat-widget\">Live chat widget</a></li>\n<li><a href=\"https://aaronparecki.com/2017/03/10/20/day-80-ssl\">Replaced my SSL certificates</a></li>\n<li><a href=\"https://aaronparecki.com/2017/03/18/14/day-88-checkins\">Finally got checkins on my site!</a></li>\n<li><a href=\"https://aaronparecki.com/2017/03/22/5/day-92-post-audience\">Indicating the audience of posts</a></li>\n<li><a href=\"https://aaronparecki.com/2017/04/27/9/now\">#now page</a></li>\n<li><a href=\"https://aaronparecki.com/2017/05/19/18/still-here\">Pulsing blue dot</a></li>\n<li><a href=\"https://aaronparecki.com/2017/11/05/7/indiewebcamp\">Stories</a></li>\n<li><a href=\"https://aaronparecki.com/2017/12/10/8/payment-request\">Payment requests using ApplePay</a></li>\n<li><a href=\"https://aaronparecki.com/2017/12/22/8/p3k\">Showing full contents of likes</a></li>\n<li><a href=\"https://aaronparecki.com/2017/12/27/15/auto-posse-likes\">Automatically POSSEing likes and reposts</a></li>\n<li><a href=\"https://aaronparecki.com/2017/12/30/10/weather\">Adding weather info to posts</a></li>\n</ul><h2>IndieWeb Specs</h2>\n\n<p>As part of my work in the <a href=\"https://www.w3.org/wiki/Socialwg\">W3C Social Web Working Group</a>, I was involved in writing a few specs as well as tools to help people test their implementations.</p>\n\n<h3>Webmention</h3>\n\n<p>In January, <a href=\"https://www.w3.org/TR/webmention/\">Webmention</a> reached the final stage of the standards process at the W3C and <a href=\"https://aaronparecki.com/2017/01/12/13/webmention-rec\">became a W3C Recommendation</a>!</p>\n\n<p><img src=\"https://aaronparecki.com/2018/01/04/6/webmention.png\" alt=\"Webmention spec\" /></p>\n\n<p>I continued to improve the test suite, adding some tricky edge cases for <a href=\"https://aaronparecki.com/2017/01/23/5/day-34-webmention-rocks\">discovery</a> and <a href=\"https://aaronparecki.com/2017/01/27/13/day-38-webmention-rocks\">redirects</a>.</p>\n\n<p>I also did a <a href=\"https://aaronparecki.com/2017/03/05/21/day-75-webmention\">big reorganization</a> of the <a href=\"https://indieweb.org/Webmention\">Webmention page</a> on the IndieWeb wiki.</p>\n\n<h3>Micropub</h3>\n\n<p><a href=\"https://www.w3.org/TR/micropub/\">Micropub</a> reached Recommendation in May, after the Proposed Recommendation <a href=\"https://www.w3.org/TR/2017/PR-micropub-20170413/\">in April</a>. I wrote some about the <a href=\"https://aaronparecki.com/2017/05/30/1/w3c-micropub\">history of the spec</a> and the standards process.</p>\n\n<a href=\"https://micropub.rocks/\"><img src=\"https://aaronparecki.com/2018/01/04/6/micropub-rocks.png\" alt=\"micropub-rocks.png\" /></a>\n\n<p>I did a lot of work on the test suite, <a href=\"https://micropub.rocks\">micropub.rocks</a>, over the few months leading up to Recommendation. Since Micropub requires authentication, I had to build an <a href=\"https://aaronparecki.com/2017/02/09/18/day-51-micropub-rocks\">OAuth server</a> into the test suite so that you can sign in to other Micropub clients. I wrote <a href=\"https://aaronparecki.com/2017/02/07/13/day-49-micropub-rocks\">several</a> <a href=\"https://aaronparecki.com/2017/02/15/14/day-57-micropub-rocks\">client</a> <a href=\"https://aaronparecki.com/2017/03/06/14/day-76-micropub-rocks-client-tests\">tests</a>, including <a href=\"https://aaronparecki.com/2017/03/07/10/day-77-micropub-rocks\">filling out the implementation report</a> automatically, tests for <a href=\"https://aaronparecki.com/2017/03/21/5/day-91-micropub-rocks\">video and audio posts</a>, and <a href=\"https://aaronparecki.com/2017/03/08/12/day-78-micropub-rocks\">tests for updating posts</a>.</p>\n\n<h3>WebSub</h3>\n\n<p><a href=\"https://www.w3.org/TR/websub/\">WebSub</a> was a recent addition to the working group. Formerly known as PubSubHubbub, the group adopted the spec in order to continue refining it, and we decided to give it a new name as well.</p>\n\n<p>We published the <a href=\"https://www.w3.org/TR/2017/CR-websub-20170411/\">Candidate Recommendation</a> in April, and continued iterating on it over the summer, publishing the <a href=\"https://www.w3.org/TR/2017/PR-websub-20171003/\">Proposed Recommendation</a> in October.</p>\n\n<p>I <a href=\"https://aaronparecki.com/2017/05/09/11/websub\">finished</a> the test suite, <a href=\"https://websub.rocks\">websub.rocks</a> in May.</p>\n\n<h3>IndieAuth</h3>\n\n<p>I finally managed to write up <a href=\"https://indieauth.spec.indieweb.org/\">IndieAuth</a> as a spec! <a href=\"https://aaronparecki.com/2017/03/16/17/day-86-indieauth\">Previously</a> it was a series of tutorials on the wiki. I launched the first version of the spec <a href=\"https://aaronparecki.com/2017/12/05/8/indieauth\">on December 5th</a>, and have been making minor changes since then based on community feedback.</p>\n\n<h3>Microsub</h3>\n\n<p>Early in the year, I drafted a spec intended to allow quicker development of reader applications by offloading feed fetching and parsing to a separate server. I called this spec <a href=\"https://indieweb.org/Microsub-spec\">Microsub</a>. A few months later, I started prototyping out a server, which I've soft-launched as the reincarnation of <a href=\"https://monocle.p3k.io/\">Monocle</a>. The spec has continued to iterate as I develop my Monocle server and Grant works on the front-end application, <a href=\"https://github.com/cleverdevil/together\">Together</a>.</p>\n\n<h2>IndieWeb Projects</h2>\n\n<p>Again, thanks to my <a href=\"https://aaronparecki.com/tag/100daysofindieweb\">100 Days of IndieWeb</a> challenge, I made a lot of progress on a bunch of different IndieWeb projects. Here are some of the highlights, grouped by project.</p>\n\n<h3>OwnYourSwarm</h3>\n\n<p>I <a href=\"https://aaronparecki.com/2017/03/19/7/day-89-ownyourswarm\">launched OwnYourSwarm</a> in March, including sending <a href=\"https://aaronparecki.com/2017/03/20/8/day-90-ownyourswarm\">person-tags</a>, sending <a href=\"https://aaronparecki.com/2017/03/24/9/day-94-ownyourswarm-coins\">Webmentions for Swarm coins</a>, <a href=\"https://aaronparecki.com/2017/03/25/5/day-95-swarm-backfeed\">backfeeding comments and likes</a>, and some <a href=\"https://aaronparecki.com/2017/03/26/8/day-96-ownyourswarm-docs\">documentation</a>. It will even <a href=\"https://aaronparecki.com/2017/03/23/12/day-93-ownyourswarm-photos\">poll your past checkins for photos</a>, and you can also <a href=\"https://aaronparecki.com/2017/03/28/6/day98-ownyourswarm-import\">import past checkins</a>. Later in the year, I added a property to indicate when another user checks you in, <a href=\"https://aaronparecki.com/2017/12/25/5/checked-in-by\">checked in by</a>.</p>\n\n<h3>OwnYourGram</h3>\n\n<p><a href=\"https://ownyourgram.com\">OwnYourGram</a> has been around for a few years, but I made some improvements to it in 2017. You can now <a href=\"https://aaronparecki.com/2017/01/01/6/ownyourgram-blacklist\">whitelist and blacklist</a> terms to control what photos are imported. OwnYourSwarm now sends full <a href=\"https://aaronparecki.com/2017/03/14/8/day-84-ownyourgram\">h-cards for locations</a>, and finally <a href=\"https://aaronparecki.com/2017/09/23/8/ownyourgram-multi-photo\">supports multi-photos</a>.</p>\n\n<h3>Quill</h3>\n\n<p>I added some new features to <a href=\"https://quill.p3k.io\">Quill</a>, such as the ability to set <a href=\"https://aaronparecki.com/2017/01/04/8/day-15-quill\">tags, slug and post status</a> and <a href=\"https://aaronparecki.com/2017/01/15/3/day26-quill\">published date</a> for posts, a better <a href=\"https://aaronparecki.com/2017/02/24/24/day-66-quill\">photo upload UI</a>, supporting posting <a href=\"https://aaronparecki.com/2017/03/13/11/day-83-quill-rsvp\">RSVPs</a>, <a href=\"https://aaronparecki.com/2017/09/25/10/\">showing the reply context</a> of the thing you're replying to, and <a href=\"https://aaronparecki.com/2017/02/02/18/day-44-quill\">cleaned up the HTML</a> that the visual editor creates. I also <a href=\"https://aaronparecki.com/2017/01/06/8/day-17-quill-docs\">improved</a> <a href=\"https://aaronparecki.com/2017/01/19/30/day30-quill\">the</a> <a href=\"https://aaronparecki.com/2017/03/17/16/day-87-quill\">docs</a>, made some other <a href=\"https://aaronparecki.com/2017/02/11/11/day-53-quill\">UI improvements</a>, <a href=\"https://aaronparecki.com/2017/02/12/11/day-54-quill\">fixed a JS vulnerability</a>.</p>\n\n<h3>XRay</h3>\n\n<p>My work on <a href=\"https://github.com/aaronpk/XRay\">XRay</a> has continued to be useful in many different other projects. XRay parses contents from other websites and returns the data it finds in a normalized format. I added support for <a href=\"https://aaronparecki.com/2017/01/09/4/day-20-instagram-for-xray\">parsing Instagram photos</a>, as well as <a href=\"https://aaronparecki.com/2017/01/10/6/day-21-twitter-xray\">tweets</a>. I also added support for two new Microformats vocabularies, <a href=\"https://aaronparecki.com/2017/01/25/14/day-36-xray-hreview\">h-review</a> and <a href=\"https://aaronparecki.com/2017/01/26/6/day-37-recipes\">h-recipe</a>. I made it easier for others <a href=\"https://aaronparecki.com/2017/01/11/8/xray-deploy\">to deploy XRay</a> in various hosting environments. I had to <a href=\"https://aaronparecki.com/2017/03/12/4/day-82-xray\">jump through some hoops</a> in order to deploy a Letsencrypt certificate on AppEngine where I run XRay.</p>\n\n<h3>Miscellaneous IndieWeb Projects</h3>\n\n<p>I <a href=\"https://aaronparecki.com/2017/10/07/4/overland-app\">published my GPS tracking app</a> in the App Store! I also <a href=\"https://aaronparecki.com/2017/02/22/7/day-64-gps-app\">wrote some documentation</a> for it.</p>\n\n<p>I made a few updates to <a href=\"https://news.indieweb.org\">IndieNews</a>, our community news aggregator. Some small <a href=\"https://aaronparecki.com/2017/01/20/13/day-31-indienews\">improvements to displaying text</a> in posts, <a href=\"https://aaronparecki.com/2017/01/21/4/day-32-indienews\">enabling WebSub</a> for IndieNews feeds, added a <a href=\"https://aaronparecki.com/2017/01/30/6/day-41-indienews\">Webmention form</a>, added support for <a href=\"https://aaronparecki.com/2017/02/01/4/day-43-timezones\">different timezones per post</a>, and added a <a href=\"https://aaronparecki.com/2017/12/31/3/indienews\">calendar view</a> of all stories submitted.</p>\n\n<p>The Slack/IRC gateway now <a href=\"https://aaronparecki.com/2017/02/04/8/day-46-slack-irc-gateway\">works across all our channels</a>, and <a href=\"https://aaronparecki.com/2017/02/05/8/day-47-slack-emoji\">Slack emoji are converted to unicode</a> in IRC. The gateway now also <a href=\"https://aaronparecki.com/2017/02/16/5/day-58-slack-images\">supports image uploads from Slack</a>.</p>\n\n<p><a href=\"https://aaronparecki.com/2017/01/02/6/day-13-curved-map-lines\">Atlas maps can now have curved lines</a>.</p>\n\n<p>I published a few new libraries used in various projects:</p>\n\n<ul><li><a href=\"https://aaronparecki.com/2017/01/12/8/day-23-timezone-library\">Timezone lookup for a location</a></li>\n<li><a href=\"https://aaronparecki.com/2017/02/18/12/day-60-emoji-detector\">Emoji detection</a></li>\n</ul><p>I had to <a href=\"https://aaronparecki.com/2017/03/11/22/day-81-indieauth\">make some changes</a> to indieauth.com since Clef shut down. I also used that opportunity to remove SMS logins as it is not the most secure. I also <a href=\"https://aaronparecki.com/2017/03/03/16/day-73-indieauth\">updated the documentation</a>.</p>\n\n<p>The \"This Week in the IndieWeb\" newsletter <a href=\"https://aaronparecki.com/2017/03/15/6/day-85-podcasts\">now also includes podcasts</a>.</p>\n\n<p>I <a href=\"https://aaronparecki.com/2017/03/27/9/day-97-known-micropub-json\">submitted a PR to Known</a> to improve its Micropub handling.</p>\n\n<p>I <a href=\"https://aaronparecki.com/2017/07/19/24/webmention-io\">added a dashboard to webmention.io</a> so that you can see at a glance the last few Webmentions you've received, as well as delete them if you want.</p>\n\n<p>I started publishing a podcast about my IndieWeb work, called <a href=\"https://percolator.today/\">Percolator</a>. I managed to publish 16 episodes from October to December, without much regularity. I hope to continue this in 2018.</p>\n\n<p>I finished a major effort to finally <a href=\"https://aaronparecki.com/2017/12/02/13/wiki-upgrades-and-backups\">update our MediaWiki</a> to a modern version. Part of this work was also replacing the way authentication is handled, so that it can be used across our other subdomains. This also included archiving plaintext backups of <a href=\"https://github.com/indieweb/wiki\">our wiki</a> as well as <a href=\"https://github.com/indieweb/indieweb-chat-archive\">chat logs</a> in Git repos.</p>\n\n<p>One of the last things I did was create a set of tiny <a href=\"https://aaronparecki.com/2017/12/30/7/indieweb-badge\">IndieWeb badges</a> you can use on your site! I added them to the footer of my website as well. There are badges for IndieWebCamp, Webmention and Microformats.</p>\n\n<h2>Looking Forward to 2018</h2>\n\n<p>Overall I had a pretty full 2017! It felt both busy at times and slow at other times.</p>\n\n<p>I'm already looking forward to <a href=\"https://2018.indieweb.org/baltimore\">IndieWebCamp Baltimore</a> later this month, and I'll begin planning IndieWeb Summit 2018 soon!</p>\n\n<p>Some of my concrete goals for 2018:</p>\n\n<ul><li>Finally settle the <a href=\"https://indieweb.org/IndieAuth#naming_confusion\">indieauth.com naming confusion</a> issue this year</li>\n<li>Run <a href=\"https://indieweb.org/2018\">IndieWeb Summit</a> in Portland</li>\n<li>Continue development of my IndieWeb reader, <a href=\"https://monocle.p3k.io\">Monocle</a>, as well as the <a href=\"https://indieweb.org/Microsub\">Microsub</a> spec</li>\n<li>Launch and run the <a href=\"https://streampdx.com/podcast-fellowship\">StreamPDX Podcast Fellowship</a>\n</li>\n<li>Continue filming the monthly <a href=\"http://donutjs.club\">DonutJS</a> meetups, and expand to cover more meetups as well</li>\n</ul>" }, "author": { "type": "card", "name": "Aaron Parecki", "url": "https://aaronparecki.com/", "photo": "https://aaronparecki.com/images/profile.jpg" }, "_id": "11668", "_source": "16", "_is_read": true }
{ "type": "entry", "published": "2018-01-02T22:15:22+0000", "url": "http://www.funwhilelost.com/2018/this-is-my-favorite-new-years-resolution-bring-back-your", "category": [ "indieweb" ], "in-reply-to": [ "http://mashable.com/2017/12/27/browser-bar-url-facebook-bad" ], "content": { "text": "This is my favorite new years resolution: Bring back your browser bar http://mashable.com/2017/12/27/browser-bar-url-facebook-bad/#k08SwFZ85mqa #indieweb", "html": "This is my favorite new years resolution: Bring back your browser bar <a href=\"http://mashable.com/2017/12/27/browser-bar-url-facebook-bad/#k08SwFZ85mqa\">http://mashable.com/2017/12/27/browser-bar-url-facebook-bad/#k08SwFZ85mqa</a> <a href=\"http://www.funwhilelost.com/tag/indieweb\" class=\"p-category\">#indieweb</a>" }, "author": { "type": "card", "name": "Andrew Jacobs", "url": "http://www.funwhilelost.com/profile/funwhilelost", "photo": "http://www.funwhilelost.com/file/fa79187640f271e6a8584ac106c82f5e/thumb.jpg" }, "_id": "123919", "_source": "232", "_is_read": true }
{ "type": "entry", "published": "2018-01-02T18:36:09+00:00", "url": "https://cleverdevil.io/2018/this-is-great-id-love-to-see-evergreen_mac-support-the", "category": [ "IndieWeb" ], "syndication": [ "https://twitter.com/cleverdevil/status/948261649265328128" ], "content": { "text": "This is great! I'd love to see @evergreen_mac support the broader #IndieWeb via Micropub and Microsub! We're doing that in Together \u2013 https://github.com/cleverdevil/together \u2013 but would love a native macOS alternative. Excited for @evergreen_mac!\n\nhttps://twitter.com/evergreen_mac/status/947562202730344448", "html": "This is great! I'd love to see @evergreen_mac support the broader <a href=\"https://cleverdevil.io/tag/IndieWeb\" class=\"p-category\">#IndieWeb</a> via Micropub and Microsub! We're doing that in Together \u2013 <a href=\"https://github.com/cleverdevil/together\">https://github.com/cleverdevil/together</a> \u2013 but would love a native macOS alternative. Excited for @evergreen_mac!<a href=\"https://twitter.com/evergreen_mac/status/947562202730344448\">https://twitter.com/evergreen_mac/status/947562202730344448</a>" }, "author": { "type": "card", "name": "Jonathan LaCour", "url": "https://cleverdevil.io/profile/cleverdevil", "photo": "https://cleverdevil.io/file/2fa19f964fb8970faaf20b909c69d6cb/thumb.png" }, "_id": "10513", "_source": "71", "_is_read": true }
{ "type": "entry", "url": "https://snarfed.org/2018-01-02_bridgy-stats-update-3", "name": "Bridgy stats update", "content": { "text": "A new year means new Bridgy stats. Perfect timing, too, since we\u2019re just about to hit 1 million webmentions!\nLet\u2019s go to the numbers. Since launch in December 2013: 4300 users, 940k webmentions sent successfully to >1500 unique domains, 9.5M responses handled (likes, comments etc), 26K POSSEs published, total cost ~$.02/user/month (up from ~$.01 18 months ago).\nData,\nmethodology,\npreviously,\npreviously,\npreviously.", "html": "<p>A new year means new <a href=\"https://brid.gy/\">Bridgy</a> stats. Perfect timing, too, since we\u2019re just about to hit <a href=\"https://snarfed.org/1-million-webmentions\">1 million webmentions!</a></p>\n<p>Let\u2019s go to the numbers. Since <a href=\"https://snarfed.org/2013-12-09_brid-gy-meet-webmentions\">launch in December 2013</a>: 4300 users, 940k <a href=\"http://webmention.net/\">webmentions</a> sent successfully to >1500 unique domains, 9.5M responses handled (likes, comments etc), 26K <a href=\"https://indiewebcamp.com/POSSE\">POSSE</a>s published, total cost ~$.02/user/month (up from ~$.01 18 months ago).</p>\n<p><a href=\"https://docs.google.com/spreadsheets/d/1VhGiZ9Z9PEl7f9ciiVZZgupNcUTsRVltQ8_CqFETpfU/edit\">Data</a>,\n<a href=\"https://github.com/snarfed/bridgy#stats\">methodology</a>,\n<a href=\"https://snarfed.org/2016-06-06_bridgy-stats-update-2\">previously</a>,\n<a href=\"https://snarfed.org/2015-12-07_bridgy-stats-update\">previously</a>,\n<a href=\"https://snarfed.org/2014-11-06_happy-1000th-bridgy\">previously</a>.</p>\n<p style=\"margin-left:0px;margin-right:-10px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/costs_vs_users.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/costs_vs_users_thumb.png\" alt=\"costs_vs_users_thumb.png\" /></a></p>\n\n<p style=\"margin-right:0px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/features.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/features_thumb.png\" alt=\"features_thumb.png\" /></a></p>\n\n<p style=\"margin-left:0px;margin-right:-10px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/accounts_stacked.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/accounts_stacked_thumb.png\" alt=\"accounts_stacked_thumb.png\" /></a>\n</p>\n<p style=\"margin-right:0px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/accounts.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/accounts_thumb.png\" alt=\"accounts_thumb.png\" /></a></p>\n\n<p style=\"margin-left:0px;margin-right:-10px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/activity.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/activity_thumb.png\" alt=\"activity_thumb.png\" /></a>\n</p>\n<p style=\"margin-right:0px;\">\n <a href=\"https://snarfed.org/bridgy_stats/2018/webmentions.png\">\n <img class=\"u-photo\" src=\"https://snarfed.org/bridgy_stats/2018/webmentions_thumb.png\" alt=\"webmentions_thumb.png\" /></a>\n</p>\n<p><br /></p>\n<ul><li><a class=\"u-syndication\" href=\"https://news.indieweb.org/en/snarfed.org/2018-01-02_bridgy-stats-update-3\"> </a></li></ul>" }, "author": { "type": "card", "name": "Ryan Barrett", "url": "https://snarfed.org/", "photo": "https://secure.gravatar.com/avatar/947b5f3f323da0ef785b6f02d9c265d6?s=96&d=blank&r=g" }, "_id": "9206", "_source": "3", "_is_read": true }