This is great! I'd love to see @evergreen_mac support the broader #IndieWeb via Micropub and Microsub! We're doing that in Together – https://github.com/cleverdevil/together – but would love a native macOS alternative. Excited for @evergreen_mac!https://twitter.com/evergreen_mac/status/947562202730344448
{
"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
}
{
"type": "entry",
"published": "2018-01-01T12:29:49Z",
"url": "https://adactio.com/journal/13257",
"category": [
"2017",
"writing",
"publishing",
"blogging",
"indieweb",
"words"
],
"syndication": [
"https://medium.com/@adactio/212162cad7bd"
],
"name": "Words I wrote in 2017",
"content": {
"text": "I wrote 78 blog posts in 2017. That works out at an average of six and a half blog posts per month. I\u2019ll take it. \n\nHere are some pieces of writing from 2017 that I\u2019m relatively happy with: \n\nGoing Rogue. A look at the ethical questions raised by Rogue One \n\nIn AMP we trust. My unease with Google\u2019s AMP format was growing by the day. \n\nA minority report on artificial intelligence. Revisiting two of Spielberg\u2019s films after a decade and a half. \n\nProgressing the web. I really don\u2019t want progressive web apps to just try to imitate native apps. They can be so much more. \n\nCSS. Simple, yes, but not easy. \n\nIntolerable. A screed. I still get very, very angry when I think about how that manifestbro duped people. \n\n\u0410\u043a\u0443\u043b\u0430. Recounting a story told by a taxi driver. \n\nHooked and booked. Does A/B testing lead to dark patterns? \n\nUbiquity and consistency. Different approaches to building on the web. \n\nI hope there\u2019s something in there that you like. It always a nice bonus when other people like something I\u2019ve written, but I write for myself first and foremost. Writing is how I figure out what I think. I will, of course, continue to write and publish on my website in 2018. I\u2019d really like it if you did the same.",
"html": "<p>I wrote <a href=\"https://adactio.com/journal/archive/2017\">78 blog posts in 2017</a>. That works out at an average of six and a half blog posts per month. I\u2019ll take it.</p>\n\n<p>Here are some pieces of writing from 2017 that I\u2019m relatively happy with:</p>\n\n<p><a href=\"https://adactio.com/journal/11702\">Going Rogue</a>. A look at the ethical questions raised by Rogue One</p>\n\n<p><a href=\"https://adactio.com/journal/12011\">In AMP we trust</a>. My unease with Google\u2019s AMP format was growing by the day.</p>\n\n<p><a href=\"https://adactio.com/journal/12230\">A minority report on artificial intelligence</a>. Revisiting two of Spielberg\u2019s films after a decade and a half.</p>\n\n<p><a href=\"https://adactio.com/journal/12461\">Progressing the web</a>. I really don\u2019t want progressive web apps to just try to imitate native apps. They can be so much more.</p>\n\n<p><a href=\"https://adactio.com/journal/12571\">CSS</a>. Simple, yes, but not easy.</p>\n\n<p><a href=\"https://adactio.com/journal/12658\">Intolerable</a>. A screed. I still get very, very angry when I think about how that manifestbro duped people.</p>\n\n<p><a href=\"https://adactio.com/journal/12898\">\u0410\u043a\u0443\u043b\u0430</a>. Recounting a story told by a taxi driver.</p>\n\n<p><a href=\"https://adactio.com/journal/13109\">Hooked and booked</a>. Does A/B testing lead to dark patterns?</p>\n\n<p><a href=\"https://adactio.com/journal/13229\">Ubiquity and consistency</a>. Different approaches to building on the web.</p>\n\n<p>I hope there\u2019s something in there that you like. It always a nice bonus when other people like something I\u2019ve written, but I write for myself first and foremost. Writing is how I figure out what I think. I will, of course, continue to write and publish on my website in 2018. I\u2019d really like it if you did the same.</p>"
},
"_id": "8997",
"_source": "2",
"_is_read": true
}
{
"type": "entry",
"published": "2017-12-31T18:45:35-08:00",
"url": "https://aaronparecki.com/2017/12/31/11/2017-in-numbers",
"category": [
"2017",
"indieweb",
"qs",
"quantifiedself",
"annualreport",
"stats"
],
"name": "2017 in Numbers",
"content": {
"text": "Transportation \nMy 2017 Transportation Stats \n Overall, I traveled a little less in 2017 compared to 2016. My biking was down (I no longer commute downtown every day), but train travel was up, since I now live next to a MAX stop. I biked a total of 1,149 miles in 2017, down from 1,529 in 2016. I flew 44,796 miles in 2017, down from 55,271 in 2016. I spent only a little more time in cars this year, my least-used mode of transport other than walking. Car trips include me driving a car2go (very rarely), getting a ride in someone else's car, as well as taxis and Lyft rides. Sadly my bike mileage was just shy of 2x my car mileage, so perhaps I should make it my 2018 goal to double my car mileage on bikes.\n \n \nWhile my plane trips dominate in mileage, the time spent in each mode tells a very different story. \n I spent more time on my bicycle than any other mode of transport! 126 hours on bikes, and the next highest mode is 101 hours on planes. \nBeverages \nMy 2017 Beverage Consumption My beverage consumption was split almost 50/50 between alcoholic and caffeinated beverages, with very little of anything else. (I don't track my plain water consumption because I drink way too much water to track it easily.) Out of 1,794 beverages consumed, only 5.7% were non-caffeinated and non-alcoholic. \nMy top drinks of 2017 were: Americano (coffee), Beer, Coffee, and the Boulevardier cocktail. \n Overall, I tracked 16 different types of coffee, and 24 named cocktails. I lump specialty cocktails together and track them just as \"Cocktail\" otherwise it would take too long to enter all the data. \nMy cocktail of choice this year was apparently the Boulevardier, followed by the Negroni. I will also note that the Vieux Carr\u00e9 is way up there, which is notable because that is one that I don't make at home, I only have it at Imperial in Downtown Portland. It's $5 during happy hour so it's hard to pass up! \nHow I Collect This Data \n\n All this data is collected by my own tools and stored in my website. You can see the individual entries for each bike ride, walk, and other transport, as well as everything I eat and drink.\n \n \nFor tracking food, I use a web app, Teacup, which I bookmark to my phone's home screen. The interface prompts me with the most often used food and drink, and I can also type in new values if I need to. \nTeacup Prompt for Drinks For my trip tracking, I use my GPS tracking app, Overland, which I recently published to the iOS App Store! It's a pretty barebones app, but it works well. \nOverland for iOS It tracks my location all the time, which is used to geotag all my posts, as well as provide the weather information for the posts. It also lets me choose a mode of transport and start tracking a trip. Overland first sends the data to my Compass database, which then sends trips to my server which adds a map image and stores it on disk. Later I can query the server to find all the trip and the time/distance for each.",
"html": "<h3>Transportation</h3>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-1.png\" alt=\"\" />My 2017 Transportation Stats<p>\n Overall, I traveled a little less in 2017 compared to 2016. My biking was down (I no longer commute downtown every day), but train travel was up, since I now live next to a MAX stop. I biked a total of <b>1,149 miles </b>in 2017, down from 1,529 in 2016. I flew 44,796 miles in 2017, down from 55,271 in 2016. I spent only a little more time in cars this year, my least-used mode of transport other than walking. Car trips include me driving a car2go (very rarely), getting a ride in someone else's car, as well as taxis and Lyft rides. Sadly my bike mileage was just shy of 2x my car mileage, so perhaps I should make it my 2018 goal to double my car mileage on bikes.\n </p>\n<p>While my plane trips dominate in mileage, the time spent in each mode tells a very different story.\u00a0</p>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-2.png\" alt=\"\" class=\"u-featured\" /><p><b>I spent more time on my bicycle than any other mode of transport! </b>126 hours on bikes, and the next highest mode is 101 hours on planes.\u00a0</p>\n<h3>Beverages</h3>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-3.png\" alt=\"\" />My 2017 Beverage Consumption<p>My beverage consumption was split almost 50/50 between alcoholic and caffeinated beverages, with very little of anything else. (I don't track my plain water consumption because I drink way too much water to track it easily.) Out of 1,794 beverages consumed, only 5.7% were non-caffeinated and non-alcoholic.\u00a0</p>\n<p>My top drinks of 2017 were: Americano (coffee), Beer, Coffee, and the <a href=\"https://makeitperfectly.com/drink/recipes/19f5c590-6ba2-11e5-b0db-97ade596895d\">Boulevardier</a> cocktail.</p>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-4.png\" alt=\"\" /><p>Overall, I tracked 16 different types of coffee, and 24 named cocktails. I lump specialty cocktails together and track them just as \"Cocktail\" otherwise it would take too long to enter all the data.</p>\n<p>My cocktail of choice this year was apparently the Boulevardier, followed by the Negroni. I will also note that the Vieux Carr\u00e9 is way up there, which is notable because that is one that I don't make at home, I only have it at <a href=\"http://www.imperialpdx.com/\">Imperial</a> in Downtown Portland. It's $5 during happy hour so it's hard to pass up!</p>\n<h3>How I Collect This Data</h3>\n<p>\n All this data is collected by my own tools and stored in my website. You can see the individual entries for each <a href=\"https://aaronparecki.com/rides\">bike ride</a>, <a href=\"https://aaronparecki.com/walks\">walk</a>, and <a href=\"https://aaronparecki.com/transport\">other transport</a>, as well as everything I <a href=\"https://aaronparecki.com/ate\">eat</a> and <a href=\"https://aaronparecki.com/drank\">drink</a>.\n </p>\n<p>For tracking food, I use a web app, <a href=\"https://teacup.p3k.io/\">Teacup</a>, which I bookmark to my phone's home screen. The interface prompts me with the most often used food and drink, and I can also type in new values if I need to.</p>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-5.png\" alt=\"\" />Teacup Prompt for Drinks<p>For my trip tracking, I use my GPS tracking app, <a href=\"https://overland.p3k.io/\">Overland</a>, which I recently published to the iOS App Store! It's a pretty barebones app, but it works well.\u00a0</p>\n<img src=\"https://aaronparecki.com/2017/12/31/11/image-6.png\" alt=\"\" /><a href=\"https://overland.p3k.io/\">Overland for iOS</a><p>It <a href=\"https://aaronparecki.com/gps/\">tracks my location</a> all the time, which is used to geotag all my posts, as well as provide the <a href=\"https://aaronparecki.com/2017/12/30/10/weather\">weather</a> information for the posts. It also lets me choose a mode of transport and start tracking a trip. Overland first sends the data to my <a href=\"https://github.com/aaronpk/Compass\">Compass database</a>, which then sends trips to my server which adds a map image and stores it on disk. Later I can query the server to find all the trip and the time/distance for each.</p>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aaronparecki.com/images/profile.jpg"
},
"_id": "11680",
"_source": "16",
"_is_read": true
}
Just pushed some updates to IndieNews! Notes like this one, (posts with no name) will now be displayed better, hopefully encouraging people to post more short stuff instead of just blog posts.
There is also a calendar view for posts, similar to the calendar on https://indieweb.org/2017-12-indieweb-challenge Thanks to @sknebel for the idea! I didn't link to the calendar permalinks from the UI yet, but you can browse to them with URLs like this: https://news.indieweb.org/en/2017/12
I also fixed an issue where the content and name of posts was not being truncated, which caused a minor IRC flood this morning due to a Microformats implied name containing an entire blog post being sent to IRC.
{
"type": "entry",
"published": "2017-12-31T10:19:11-08:00",
"url": "https://aaronparecki.com/2017/12/31/3/indienews",
"category": [
"indieweb",
"indiewebchallenge",
"indienews"
],
"photo": [
"https://aaronparecki.com/2017/12/31/3/photo.png"
],
"syndication": [
"https://news.indieweb.org/en/aaronparecki.com/2017/12/31/3/indienews"
],
"content": {
"text": "Just pushed some updates to IndieNews! Notes like this one, (posts with no name) will now be displayed better, hopefully encouraging people to post more short stuff instead of just blog posts. \n\nThere is also a calendar view for posts, similar to the calendar on https://indieweb.org/2017-12-indieweb-challenge Thanks to @sknebel for the idea! I didn't link to the calendar permalinks from the UI yet, but you can browse to them with URLs like this: https://news.indieweb.org/en/2017/12\n\nI also fixed an issue where the content and name of posts was not being truncated, which caused a minor IRC flood this morning due to a Microformats implied name containing an entire blog post being sent to IRC.",
"html": "Just pushed some updates to IndieNews! Notes like this one, (posts with no name) will now be displayed better, hopefully encouraging people to post more short stuff instead of just blog posts. \n\nThere is also a calendar view for posts, similar to the calendar on <a href=\"https://indieweb.org/2017-12-indieweb-challenge\">https://indieweb.org/2017-12-indieweb-challenge</a> Thanks to <a href=\"https://www.svenknebel.de/\">@sknebel</a> for the idea! I didn't link to the calendar permalinks from the UI yet, but you can browse to them with URLs like this: <a href=\"https://news.indieweb.org/en/2017/12\">https://news.indieweb.org/en/2017/12</a>\n\nI also fixed an issue where the content and name of posts was not being truncated, which caused a minor IRC flood this morning due to a Microformats implied name containing an entire blog post being sent to IRC."
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aaronparecki.com/images/profile.jpg"
},
"_id": "11681",
"_source": "16",
"_is_read": true
}
{
"type": "entry",
"published": "2017-12-30T20:15:08-08:00",
"url": "https://aaronparecki.com/2017/12/30/10/weather",
"category": [
"indieweb",
"newwwyear",
"weather"
],
"name": "Adding Weather to my Posts!",
"content": {
"text": "I'm super happy to be able to add myself to the list of people who publish weather info in their posts! \nI've had a long-standing goal to include weather info on all of my posts on my site! In fact, I actually started collecting historical weather info just so that I could backfill the data on my site once I added the feature. The weather database I've been collecting goes back to 2012! I decided it's been long enough and bit the bullet and sat down to finally knock it out. \nI've had the current weather up in my website header since 2016, and it turns out that I was able to reuse a lot of that existing code. \nToday I finally added support for storing weather info per post, and adding it when new posts are created. The weather is based on my current location, which I've already been automatically including in my posts for a long time. So now, when a new post is created, if the cached weather info that is shown in the header is recent enough, it bakes it into the post's storage file. \nNow my posts will all have little weather icons and the current temperature! \n I decided on using an icon font for the weather icons so that they are all visually consistent and inline with the text. The icon set I'm using is http://erikflowers.github.io/weather-icons/ The weather info itself comes from Wunderground, although I may switch to Dark Sky in the future since they have a higher per-day API limit. \nI also decided to put the weather info on the same line as the location name, since I feel like this information very closely linked to the location. (It's also stored in the location property internally.) \nI'm pretty excited to finally have this done, just in time for all my posts in 2018 to be weather-tagged! \nI'm postponing the work of backfilling all my past posts since that is going to take quite a bit of effort. I'll add it to the ever-growing list of old data to import to my site! \ud83d\ude02",
"html": "<p>I'm super happy to be able to add myself to the <a href=\"https://indieweb.org/weather#IndieWeb_Examples\">list of people</a> who publish weather info in their posts!</p>\n<p>I've had a long-standing goal to include weather info on all of my posts on my site! In fact, I actually started collecting historical weather info just so that I could backfill the data on my site once I added the feature. The weather database I've been collecting goes back to 2012! I decided it's been long enough and bit the bullet and sat down to finally knock it out.</p>\n<p>I've had the current weather up in my website header since 2016, and it turns out that I was able to reuse a lot of that existing code.</p>\n<p>Today I finally added support for storing weather info per post, and adding it when new posts are created. The weather is based on my current location, which I've already been automatically <a href=\"https://aaronparecki.com/gps/\">including in my posts</a> for a long time. So now, when a new post is created, if the cached weather info that is shown in the header is recent enough, it bakes it into the post's storage file.</p>\n<p>Now my posts will all have little weather icons and the current temperature!</p>\n<img src=\"https://aaronparecki.com/2017/12/30/10/image-1.png\" alt=\"\" /><p>I decided on using an icon font for the weather icons so that they are all visually consistent and inline with the text. The icon set I'm using is\u00a0<a href=\"http://erikflowers.github.io/weather-icons/\">http://erikflowers.github.io/weather-icons/</a>\u00a0The weather info itself comes from Wunderground, although I may switch to Dark Sky in the future since they have a higher per-day API limit.</p>\n<p>I also decided to put the weather info on the same line as the location name, since I feel like this information very closely linked to the location. (It's also stored in the location property internally.)\u00a0</p>\n<p>I'm pretty excited to finally have this done, just in time for all my posts in 2018 to be weather-tagged!\u00a0</p>\n<p>I'm postponing the work of backfilling all my past posts since that is going to take quite a bit of effort. I'll add it to the ever-growing list of old data to import to my site! \ud83d\ude02</p>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aaronparecki.com/images/profile.jpg"
},
"_id": "11682",
"_source": "16",
"_is_read": true
}
I made a goal of adding weather to my site by January 1st, 2018. Today, I’m happy to announce that I completed that goal. Here’s what it looks like:
{
"type": "entry",
"published": "2017-12-30T17:47:53-05:00",
"summary": "I made a goal of adding weather to my site by January 1st, 2018. Today, I\u2019m happy to announce that I completed that goal. Here\u2019s what it looks like:",
"url": "https://eddiehinkle.com/2017/12/30/20/article/",
"category": [
"indieweb",
"indieweb-goals"
],
"name": "Adding weather to my site",
"author": {
"type": "card",
"name": "Eddie Hinkle",
"url": "https://eddiehinkle.com",
"photo": null
},
"_id": "9543",
"_source": "39",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": null,
"url": "https://strugee.net/blog/",
"photo": null
},
"url": "https://strugee.net/blog/2017/12/announcing-lazymention-elegant-outbound-webmention-for-static-sites",
"published": "2017-12-29T18:52:04+00:00",
"content": {
"html": "<p>Last night I hit publish on version 1.0.0 of a new project, <a href=\"https://github.com/strugee/lazymention\">lazymention</a>! Whoohoo!</p>\n<p>tl;dr: lazymention exists to add Webmention support to static sites!</p>\n<p>To elaborate a little bit, I developed lazymention because I had a problem with this site: I wanted to send outbound <a href=\"https://indieweb.org/Webmention\">Webmentions</a> when I link to things, but my website is completely static. (Webmention, in case you didn't know, is a way to notify another website that you linked to them, so the other website can display some UI about your reply or whatever.) The page builds happen on my local machine, not on the server. One option would be to just send Webmentions from my local machine too, but this isn't really a good solution for a couple reasons. First, I couldn't do it automatically at build-time because the built pages wouldn't have been deployed to the server yet, so receivers of my Webmentions would reject the mentions due to the source being nonexistant. That meant that I would have to have a separate step, which wouldn't really be <em>that</em> big of a deal (lazymention reqires pinging a server too) except for the second reason: I would need some way to keep track of where I'd already sent Webmentions to, and that would require synchronizing across computers. Probably the only decent way to do that would be to check it into Git, but having a program's data store checked in right next to the source code just feels kinda ugly. Plus, then it can't be shared with other people as a service.</p>\n<p>So instead of doing it locally, I elected to build a server instead. Here's how it works: you mark up your stuff with <a href=\"https://indieweb.org/h-feed\"><code>h-feed</code></a> and <a href=\"https://indieweb.org/h-entry\"><code>h-entry</code></a>, and whenever anything happens (e.g. you publish a new blog post or whatever), you ping lazymention with the URL (either the feed or the post itself). lazymention will use your microformats2 markup to find the canonical location for a given post, then it will find all the links in the post and send Webmentions for them. And presto! You've just sent Webmentions for your blog. lazymention also records when it's sent mentions, so if you ping it again, nothing will happen unless you've updated your content. I'm also planning to add <a href=\"https://indieweb.org/WebSub\">WebSub</a> support to lazymention, too, and that'll work in the exact same way.</p>\n<p>lazymention is super easy to get started with, especially because I've provided thorough documentation in the <a href=\"https://github.com/strugee/lazymention/blob/master/README.md\">README</a>. If you find anything that's confusing or missing, please let me know by <a href=\"https://github.com/strugee/lazymention/issues/new\">filing an issue</a>! I'd love to get it fixed. In fact, I'd be thrilled to hear about both positive <em>and</em> negative installation experiences.</p>\n<p>Oh, and one more thing - lazymention is reusable in other applications. If you're writing a Node.js app and want to reuse its HTTP API, you can use its embedding API to get at the Express application and <code>Router</code> used internally. I'm not sure if people will actually find this useful, but I wrote it just for kicks anyway. See <a href=\"https://github.com/strugee/lazymention/blob/master/README.md#embedding\">the embedding documentation</a> for more!</p>\n<p>Cheers, and happy mentioning! Elegant outbound Webmention for static sites is here.</p>",
"text": "Last night I hit publish on version 1.0.0 of a new project, lazymention! Whoohoo!\ntl;dr: lazymention exists to add Webmention support to static sites!\nTo elaborate a little bit, I developed lazymention because I had a problem with this site: I wanted to send outbound Webmentions when I link to things, but my website is completely static. (Webmention, in case you didn't know, is a way to notify another website that you linked to them, so the other website can display some UI about your reply or whatever.) The page builds happen on my local machine, not on the server. One option would be to just send Webmentions from my local machine too, but this isn't really a good solution for a couple reasons. First, I couldn't do it automatically at build-time because the built pages wouldn't have been deployed to the server yet, so receivers of my Webmentions would reject the mentions due to the source being nonexistant. That meant that I would have to have a separate step, which wouldn't really be that big of a deal (lazymention reqires pinging a server too) except for the second reason: I would need some way to keep track of where I'd already sent Webmentions to, and that would require synchronizing across computers. Probably the only decent way to do that would be to check it into Git, but having a program's data store checked in right next to the source code just feels kinda ugly. Plus, then it can't be shared with other people as a service.\nSo instead of doing it locally, I elected to build a server instead. Here's how it works: you mark up your stuff with h-feed and h-entry, and whenever anything happens (e.g. you publish a new blog post or whatever), you ping lazymention with the URL (either the feed or the post itself). lazymention will use your microformats2 markup to find the canonical location for a given post, then it will find all the links in the post and send Webmentions for them. And presto! You've just sent Webmentions for your blog. lazymention also records when it's sent mentions, so if you ping it again, nothing will happen unless you've updated your content. I'm also planning to add WebSub support to lazymention, too, and that'll work in the exact same way.\nlazymention is super easy to get started with, especially because I've provided thorough documentation in the README. If you find anything that's confusing or missing, please let me know by filing an issue! I'd love to get it fixed. In fact, I'd be thrilled to hear about both positive and negative installation experiences.\nOh, and one more thing - lazymention is reusable in other applications. If you're writing a Node.js app and want to reuse its HTTP API, you can use its embedding API to get at the Express application and Router used internally. I'm not sure if people will actually find this useful, but I wrote it just for kicks anyway. See the embedding documentation for more!\nCheers, and happy mentioning! Elegant outbound Webmention for static sites is here."
},
"name": "Announcing lazymention: elegant outbound Webmention for static sites",
"_id": "123840",
"_source": "227",
"_is_read": true
}
Three technologies that Ada is excited about:
- a service: IndieAuth,
- a front end library: Comlink,
- a pattern: APIs as Web Components.
{
"type": "entry",
"published": "2017-12-29T11:29:45Z",
"url": "https://adactio.com/links/13247",
"category": [
"technology",
"frontend",
"development",
"indieauth",
"comlink",
"apis",
"webcomponents"
],
"bookmark-of": [
"https://medium.com/samsung-internet-dev/raindrops-on-roses-whiskers-on-kittens-declarative-web-apis-and-truly-serverless-web-endpoints-50d733e6d867"
],
"content": {
"text": "Raindrops on roses, whiskers on kittens, declarative web APIs and truly serverless web endpoints\n\n \n\nThree technologies that Ada is excited about: \n\na service: IndieAuth, \na front end library: Comlink, \na pattern: APIs as Web Components.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://medium.com/samsung-internet-dev/raindrops-on-roses-whiskers-on-kittens-declarative-web-apis-and-truly-serverless-web-endpoints-50d733e6d867\">\nRaindrops on roses, whiskers on kittens, declarative web APIs and truly serverless web endpoints\n</a>\n</h3>\n\n<p>Three technologies that Ada is excited about:</p>\n\n<ol><li>a service: IndieAuth,</li>\n<li>a front end library: Comlink,</li>\n<li>a pattern: APIs as Web Components.</li>\n</ol>"
},
"_id": "8377",
"_source": "2",
"_is_read": true
}
Dunstan is back, blogging again. Hurrah!
{
"type": "entry",
"published": "2017-12-29T11:20:18Z",
"url": "https://adactio.com/links/13246",
"category": [
"blogging",
"blogs",
"indieweb",
"personal",
"publishing"
],
"bookmark-of": [
"https://dunstanorchard.com/"
],
"content": {
"text": "Dunstan\u2019s blog\n\n \n\nDunstan is back, blogging again. Hurrah!",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://dunstanorchard.com/\">\nDunstan\u2019s blog\n</a>\n</h3>\n\n<p>Dunstan is back, blogging again. Hurrah!</p>"
},
"_id": "8378",
"_source": "2",
"_is_read": true
}
{
"type": "entry",
"published": "2017-12-27T20:25:53-05:00",
"url": "https://david.shanske.com/2017/12/27/thinking-homepage-mentions/",
"syndication": [
"https://www.facebook.com/100002356503167/posts/1556381637783705",
"https://twitter.com/dshanske/status/946190463857512450"
],
"name": "Thinking of Homepage Mentions",
"content": {
"text": "Going to get a bit technical. This is your only warning.\nOne of the challenges I have been looking at has actually come because of others. Now, if you\u2019ve been looking at my website, you might notice that, thanks to the efforts of myself, Matthias Pfefferle, and Ryan Barrett that there have been major improvements to the presentation of different types of responses on my site. I have a screenshot of the replies on a recent post.\nFacepiles, the row of faces representing people who \u2018liked\u2019 or what have you, was actually the first project I tackled when I joined the Indieweb community back in 2014. I\u2019ve learned a lot since then.\nEither way, the current work not only builds on what I\u2019ve learned, but the contributions by Ryan, who really wanted this feature available, really jumpstarted things. Now, all of these people below don\u2019t know they commented on my site\u2026as they commented elsewhere and I pulled it back to my site via webmention.\nSo, it brings me to a new problem I want to solve. Homepage mentions. What is that? So, in June, we implemented the ability to direct webmentions(which I\u2019ve talked about before) that reference your homepage as opposed to a specific article to a designated page.\nWordPress doesn\u2019t allow the attachment of responses directly to the homepage, and david.shanske.com represents me, having a direct relationship to me on Twitter, Facebook, etc. So, any mention of my website or my username on one of those sites generates a mention that is sent to my site.\nThis is a problem in display. In recent weeks, I\u2019ve had the following scenarios my website doesn\u2019t yet deal with in a satisfactory way\nSomeone referencing my website as me, effectively tagging me in their post as having been somewhere. Example: With David(david.shanske.com)\nSomeone referencing my website as me in mentioning something I did. Example: David(david.shanske.com) kindly helped me.\nNeither of this usages by others are displayed properly website, which is why they are not showing at all. I\u2019m not sure how or where to display them.\nShould someone mentioning me in this manner give me the option of generating a post, ala Facebook\u2019s service of letting others post on your timeline, even if I moderate it somehow?\nAt the least, it should generate a message appropriate to the situation. And if it does, where should it go? Should I display recent mentions on the sidebar of my homepage? On a dedicated page?\nThe Indieweb declares a person tag as a tag on a post that refers to a specific person by URL and is done as a explicit action. Many of these mentions are explicit, but some are less so.\nMy goal is by mid January to figure out how I\u2019m going to display these, one way or another, and write some code to do this. Perhaps as my project for Indiewebcamp Baltimore, coming up in late January.\n\u00a0",
"html": "Going to get a bit technical. This is your only warning.\n<p>One of the challenges I have been looking at has actually come because of others. Now, if you\u2019ve been looking at my website, you might notice that, thanks to the efforts of myself, <a href=\"https://notiz.blog/author/matthias-pfefferle/\">Matthias Pfefferle</a>, and <a href=\"https://snarfed.org/about\">Ryan Barrett</a> that there have been major improvements to the presentation of different types of responses on my site. I have a screenshot of the replies on a recent post.</p>\n<p>Facepiles, the row of faces representing people who \u2018liked\u2019 or what have you, was actually the first <a href=\"https://david.shanske.com/2014/05/26/semantic-comments-user-testing/\">project</a> I tackled when I joined the Indieweb community back in 2014. I\u2019ve learned a lot since then.</p>\n<p>Either way, the current work not only builds on what I\u2019ve learned, but the contributions by Ryan, who really wanted this feature available, really jumpstarted things. Now, all of these people below don\u2019t know they commented on my site\u2026as they commented elsewhere and I pulled it back to my site via webmention.</p>\n<p>So, it brings me to a new problem I want to solve. Homepage mentions. What is that? So, in June, we implemented the ability to direct webmentions(which I\u2019ve talked about before) that reference your homepage as opposed to a specific article to a designated page.</p>\n<p>WordPress doesn\u2019t allow the attachment of responses directly to the homepage, and david.shanske.com represents me, having a direct relationship to me on Twitter, Facebook, etc. So, any mention of my website or my username on one of those sites generates a mention that is sent to my site.</p>\n<p>This is a problem in display. In recent weeks, I\u2019ve had the following scenarios my website doesn\u2019t yet deal with in a satisfactory way</p>\n<ul><li>Someone referencing my website as me, effectively tagging me in their post as having been somewhere. Example: With David(david.shanske.com)</li>\n<li>Someone referencing my website as me in mentioning something I did. Example: David(david.shanske.com) kindly helped me.</li>\n</ul><p>Neither of this usages by others are displayed properly website, which is why they are not showing at all. I\u2019m not sure how or where to display them.</p>\n<p>Should someone mentioning me in this manner give me the option of generating a post, ala Facebook\u2019s service of letting others post on your timeline, even if I moderate it somehow?</p>\n<p>At the least, it should generate a message appropriate to the situation. And if it does, where should it go? Should I display recent mentions on the sidebar of my homepage? On a dedicated page?</p>\n<p>The Indieweb declares a person tag as a tag on a post that refers to a specific person by URL and is done as a explicit action. Many of these mentions are explicit, but some are less so.</p>\n<p>My goal is by mid January to figure out how I\u2019m going to display these, one way or another, and write some code to do this. Perhaps as my project for Indiewebcamp Baltimore, coming up in late January.</p>\n<p>\u00a0</p>\n<p><a href=\"https://david.shanske.com/wp-content/uploads/2017/12/Screenshot-from-2017-12-27-19-51-03.png\"><img src=\"https://david.shanske.com/wp-content/uploads/2017/12/Screenshot-from-2017-12-27-19-51-03.png\" alt=\"\" width=\"614\" height=\"546\" /></a></p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com",
"photo": "https://secure.gravatar.com/avatar/681eba02e72ba1d894097034a8110e61?s=125&d=default&r=g"
},
"_id": "8076",
"_source": "5",
"_is_read": true
}
So maybe we need to look at the whole package and create an… oh, I don’t know, what’s the phrase I need… an “indie web”?
{
"type": "entry",
"published": "2017-12-23T18:20:34Z",
"url": "https://adactio.com/links/13232",
"category": [
"indieweb",
"publishing",
"zines",
"design",
"trends"
],
"bookmark-of": [
"https://kottke.org/17/12/zines-are-the-future-of-media"
],
"content": {
"text": "Zines are the future of media\n\n \n\n\n So maybe we need to look at the whole package and create an\u2026 oh, I don\u2019t know, what\u2019s the phrase I need\u2026 an \u201cindie web\u201d?",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://kottke.org/17/12/zines-are-the-future-of-media\">\nZines are the future of media\n</a>\n</h3>\n\n<blockquote>\n <p>So maybe we need to look at the whole package and create an\u2026 oh, I don\u2019t know, what\u2019s the phrase I need\u2026 an \u201cindie web\u201d?</p>\n</blockquote>"
},
"_id": "7106",
"_source": "2",
"_is_read": true
}
The world-wide-web always scared the hell out of those who want to control what people consume and what their career is. The web was the equaliser.
A heartfelt missive by Christian on the eve of the US potentially losing net neutrality. I agree with every single word he’s written.
I hope that people still care that the web flows, no matter for whom or what the stream carries. The web did me a lot of good, and it can do so for many others. But it can’t do that if it turns into Cable TV. I’ve always seen the web as my media to control. To pick what I want to consume and question it by comparing it. A channel for me to publish and be scrutinised by others. A read-write medium. The only one we have. Let’s do more of the write part.
{
"type": "entry",
"published": "2017-12-22T12:13:06Z",
"url": "https://adactio.com/links/13227",
"category": [
"netneutrality",
"worldwideweb",
"history",
"personal",
"publishing",
"media",
"indieweb",
"control",
"freedom",
"resistance"
],
"bookmark-of": [
"https://christianheilmann.com/2017/12/17/the-web-we-may-have-lost/"
],
"content": {
"text": "The web we may have lost | Christian Heilmann\n\n \n\n\n The world-wide-web always scared the hell out of those who want to control what people consume and what their career is. The web was the equaliser. \n \n\nA heartfelt missive by Christian on the eve of the US potentially losing net neutrality. I agree with every single word he\u2019s written. \n\n\n I hope that people still care that the web flows, no matter for whom or what the stream carries. The web did me a lot of good, and it can do so for many others. But it can\u2019t do that if it turns into Cable TV. I\u2019ve always seen the web as my media to control. To pick what I want to consume and question it by comparing it. A channel for me to publish and be scrutinised by others. A read-write medium. The only one we have. Let\u2019s do more of the write part.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://christianheilmann.com/2017/12/17/the-web-we-may-have-lost/\">\nThe web we may have lost | Christian Heilmann\n</a>\n</h3>\n\n<blockquote>\n <p>The world-wide-web always scared the hell out of those who want to control what people consume and what their career is. The web was the equaliser.</p>\n</blockquote>\n\n<p>A heartfelt missive by Christian on the eve of the US potentially losing net neutrality. I agree with every single word he\u2019s written.</p>\n\n<blockquote>\n <p>I hope that people still care that the web flows, no matter for whom or what the stream carries. The web did me a lot of good, and it can do so for many others. But it can\u2019t do that if it turns into Cable TV. I\u2019ve always seen the web as my media to control. To pick what I want to consume and question it by comparing it. A channel for me to publish and be scrutinised by others. A read-write medium. The only one we have. Let\u2019s do more of the write part.</p>\n</blockquote>"
},
"_id": "6863",
"_source": "2",
"_is_read": true
}
This homepage is media-querytastic. It’s so refreshing to see this kind of fun experimentation on a personal site—have fun resizing your browser window!
{
"type": "entry",
"published": "2017-12-21T11:04:44Z",
"url": "https://adactio.com/links/13221",
"category": [
"responsive",
"mediaqueries",
"squishy",
"fun",
"homepage",
"indieweb",
"personal",
"publishing",
"design",
"css",
"frontend",
"development"
],
"bookmark-of": [
"https://lynnandtonic.com/"
],
"content": {
"text": "Lynn Fisher\n\n \n\nThis homepage is media-querytastic. It\u2019s so refreshing to see this kind of fun experimentation on a personal site\u2014have fun resizing your browser window!",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://lynnandtonic.com/\">\nLynn Fisher\n</a>\n</h3>\n\n<p>This homepage is media-querytastic. It\u2019s so refreshing to see this kind of fun experimentation on a personal site\u2014have fun resizing your browser window!</p>"
},
"_id": "6578",
"_source": "2",
"_is_read": true
}
I’m syndicating my notes to micro.blog now.
{
"type": "entry",
"published": "2017-12-19T22:35:20Z",
"url": "https://adactio.com/links/13211",
"category": [
"microblog",
"syndication",
"notes",
"federated",
"updates",
"blogging",
"indieweb"
],
"bookmark-of": [
"https://micro.blog/adactio"
],
"content": {
"text": "Micro.blog - @adactio\n\n \n\nI\u2019m syndicating my notes to micro.blog now.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://micro.blog/adactio\">\nMicro.blog - @adactio\n</a>\n</h3>\n\n<p>I\u2019m syndicating my notes to micro.blog now.</p>"
},
"_id": "6194",
"_source": "2",
"_is_read": true
}
As I’ve been doing my 100 Day of Reading Chapters challenge I’ve been thinking about my use of Goodreads and the various functions I use it for:
{
"type": "entry",
"published": "2017-12-15T13:18:05-05:00",
"summary": "As I\u2019ve been doing my 100 Day of Reading Chapters challenge I\u2019ve been thinking about my use of Goodreads and the various functions I use it for:",
"url": "https://eddiehinkle.com/2017/12/15/11/article/",
"category": [
"indieweb",
"indieweb-goals"
],
"name": "Further thoughts the future of owning my reading",
"author": {
"type": "card",
"name": "Eddie Hinkle",
"url": "https://eddiehinkle.com",
"photo": null
},
"_id": "9544",
"_source": "39",
"_is_read": true
}
In the name of holy engagement, the native experience of products like Twitter, Facebook, and Instagram are moving away from giving people the ability to curate. They do this by taking control away from you, the user. By showing what other people liked, or by showing recommendations, without any way to turn it off, they prevent people from creating a better experience for themselves.
{
"type": "entry",
"published": "2017-12-14T19:50:36Z",
"url": "https://adactio.com/links/13199",
"category": [
"curation",
"silos",
"facebook",
"twitter",
"instagram",
"indieweb",
"algorithms"
],
"bookmark-of": [
"https://snook.ca/archives/opinion/curation"
],
"content": {
"text": "Curation - Snook.ca\n\n \n\n\n In the name of holy engagement, the native experience of products like Twitter, Facebook, and Instagram are moving away from giving people the ability to curate. They do this by taking control away from you, the user. By showing what other people liked, or by showing recommendations, without any way to turn it off, they prevent people from creating a better experience for themselves.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://snook.ca/archives/opinion/curation\">\nCuration - Snook.ca\n</a>\n</h3>\n\n<blockquote>\n <p>In the name of holy engagement, the native experience of products like Twitter, Facebook, and Instagram are moving away from giving people the ability to curate. They do this by taking control away from you, the user. By showing what other people liked, or by showing recommendations, without any way to turn it off, they prevent people from creating a better experience for themselves.</p>\n</blockquote>"
},
"_id": "4919",
"_source": "2",
"_is_read": true
}
{
"type": "entry",
"published": "2017-12-13T20:53:43-05:00",
"url": "https://david.shanske.com/2017/12/13/update-read-posts-physical-books/",
"in-reply-to": [
"http://boffosocko.com/2017/12/11/an-update-to-read-posts-for-physical-books/#comment-40049"
],
"name": "An update to read posts for physical books by Chris AldrichChris Aldrich (Chris Aldrich | BoffoSocko) Inspired by gRegor Morrill\u2019s IndieWebCamp Austin project, I went back and took a look at some of my read posts, and particularly for books. \r\nFor online material, I use the Post Kinds Plugin which does a good job of adding h-cite and p-read-of (experimental) microformats classes to the data for the... This just gave me an idea\u2026\nhttps://github.com/dshanske/indieweb-post-kinds/issues/134 \n \n\t \n\n\tPosted on 8:53PM EST\nDecember 13, 2017Kind Reply5 Comments on An update to read posts for physical books",
"content": {
"text": "This just gave me an idea\u2026\nhttps://github.com/dshanske/indieweb-post-kinds/issues/134",
"html": "This just gave me an idea\u2026\n<p>https://github.com/dshanske/indieweb-post-kinds/issues/134</p>\n<p>\u00a0</p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com",
"photo": "https://secure.gravatar.com/avatar/681eba02e72ba1d894097034a8110e61?s=125&d=default&r=g"
},
"refs": {
"http://boffosocko.com/2017/12/11/an-update-to-read-posts-for-physical-books/#comment-40049": {
"type": "entry",
"url": "http://boffosocko.com/2017/12/11/an-update-to-read-posts-for-physical-books/#comment-40049",
"name": "An update to read posts for physical books",
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://boffosocko.com/author/chrisaldrich/",
"photo": "http://1.gravatar.com/avatar/d5fb4e498fe609cc29b04e5b7ad688c4?s=49&d=mm&r=pg"
}
}
},
"_id": "4725",
"_source": "5",
"_is_read": true
}
Since Tantek is still in Austin, we’re having a last-minute Homebrew Website Club meetup tonight! 6:30pm at Halcyon on 4th street. Join us to chat about the IndieWeb or work on your own site.
{
"type": "entry",
"author": {
"name": "manton",
"url": "http://www.manton.org",
"photo": null
},
"url": "http://www.manton.org/2017/12/6183.html",
"content": {
"html": "<p>Since Tantek is still in Austin, we\u2019re having a last-minute Homebrew Website Club meetup tonight! 6:30pm at Halcyon on 4th street. Join us to chat about the IndieWeb or work on your own site.</p>",
"text": "Since Tantek is still in Austin, we’re having a last-minute Homebrew Website Club meetup tonight! 6:30pm at Halcyon on 4th street. Join us to chat about the IndieWeb or work on your own site."
},
"published": "2017-12-13T14:01:01+00:00",
"updated": "2017-12-13T14:01:01+00:00",
"_id": "4569",
"_source": "12",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "manton",
"url": "http://www.manton.org",
"photo": null
},
"url": "http://www.manton.org/2017/12/indiewebcamp-austin-wrap-up.html",
"name": "IndieWebCamp Austin wrap-up",
"content": {
"html": "<p>Over the weekend we hosted the first IndieWebCamp in Austin. I\u2019m really happy with the way the event came together. I learned a lot in helping plan it, made a few mistakes that we can improve next time, but overall came away as inspired as ever to keep improving Micro.blog so that it\u2019s a standout platform of the IndieWeb movement.</p>\n<p>There\u2019s nothing like meeting in person with other members of the community. I know this from attending Apple developer conferences, but the weekend in Austin only underscored that I should be more active in the larger web community as well.</p>\n<p><img src=\"https://manton.org/images/2017/indiewebcamp_group_photo.png\" width=\"600\" height=\"400\" alt=\"IndieWebCamp group photo\" /></p>\n<p>The first day of IndieWebCamp started with introductions, a chance for attendees to demo their web sites, an overview of IndieWeb building blocks by Aaron Parecki, and then brainstorming <a href=\"http://www.manton.org/2017/12/6164.html\">what topics</a> the afternoon sessions should cover. After lunch, we held sessions on WordPress, static sites, Micropub posts, Webmentions, payment APIs, audio, decentralized aggregation, and post kinds.</p>\n<p>The second day was a hack day, with a chance to work on our own web sites. This was a very valuable day for me \u2014\u00a0being able to bounce ideas or questions off other attendees. I chose to make an improvement to Micro.blog\u2019s Micropub API endpoint to accept \u201cbookmark-of\u201d POSTs, mapping them to favorites. This evolved into opening up Micro.blog to allow favoriting any URL, even if the post doesn\u2019t exist in any feed that Micro.blog knows about yet.</p>\n<p>At the end of the day I was happy enough with the feature that I deployed my code and database changes. I demoed it using <a href=\"https://indieweb.org/Indigenous\">Indigenous</a> for iPhone and Micro.blog for Mac, favoriting an indiewebcat.com post on the web and watching it show up in the app under the post\u2019s domain name. Micro.blog got better support for Microformats with this change, pulling the author info, post text, and photo when you favorite a post via Micropub.</p>\n<p><img src=\"https://manton.org/images/2017/microblog_bookmark_of.png\" width=\"550\" height=\"590\" alt=\"Mac screenshot\" /></p>\n<p>For the last few years I\u2019ve attended WWDC and Release Notes each year, and I\u2019d usually give a talk at CocoaConf. This year I added WordCamp and IndieWebCamp, and gave a talk about indie microblogging at Refresh Austin. I hope that it works out to attend another IndieWebCamp or IndieWebSummit in 2018.</p>\n<p>Special thanks again to Tom Brown for helping out with planning IndieWebCamp Austin, EFF-Austin for hosting their holiday party after our event, and our sponsors DreamHost, Polycot Associates, and SuperBorrowNet. We should do this again next year.</p>",
"text": "Over the weekend we hosted the first IndieWebCamp in Austin. I’m really happy with the way the event came together. I learned a lot in helping plan it, made a few mistakes that we can improve next time, but overall came away as inspired as ever to keep improving Micro.blog so that it’s a standout platform of the IndieWeb movement.\nThere’s nothing like meeting in person with other members of the community. I know this from attending Apple developer conferences, but the weekend in Austin only underscored that I should be more active in the larger web community as well.\n\nThe first day of IndieWebCamp started with introductions, a chance for attendees to demo their web sites, an overview of IndieWeb building blocks by Aaron Parecki, and then brainstorming what topics the afternoon sessions should cover. After lunch, we held sessions on WordPress, static sites, Micropub posts, Webmentions, payment APIs, audio, decentralized aggregation, and post kinds.\nThe second day was a hack day, with a chance to work on our own web sites. This was a very valuable day for me \u2014\u00a0being able to bounce ideas or questions off other attendees. I chose to make an improvement to Micro.blog’s Micropub API endpoint to accept “bookmark-of” POSTs, mapping them to favorites. This evolved into opening up Micro.blog to allow favoriting any URL, even if the post doesn’t exist in any feed that Micro.blog knows about yet.\nAt the end of the day I was happy enough with the feature that I deployed my code and database changes. I demoed it using Indigenous for iPhone and Micro.blog for Mac, favoriting an indiewebcat.com post on the web and watching it show up in the app under the post’s domain name. Micro.blog got better support for Microformats with this change, pulling the author info, post text, and photo when you favorite a post via Micropub.\n\nFor the last few years I’ve attended WWDC and Release Notes each year, and I’d usually give a talk at CocoaConf. This year I added WordCamp and IndieWebCamp, and gave a talk about indie microblogging at Refresh Austin. I hope that it works out to attend another IndieWebCamp or IndieWebSummit in 2018.\nSpecial thanks again to Tom Brown for helping out with planning IndieWebCamp Austin, EFF-Austin for hosting their holiday party after our event, and our sponsors DreamHost, Polycot Associates, and SuperBorrowNet. We should do this again next year."
},
"published": "2017-12-12T17:39:26+00:00",
"updated": "2017-12-12T17:54:02+00:00",
"_id": "4449",
"_source": "12",
"_is_read": true
}