Is it time to go live?
Almost. Gimme like 15 minutes. Going to do more #IndieWeb coding; around making a hosted Webmention service. Pull up https://jacky.wtf/twitch
{
"type": "entry",
"published": "2020-05-13T18:17:55.16240-07:00",
"url": "https://v2.jacky.wtf/post/893da4b2-57ae-40f5-be35-8deb40a5c591",
"category": [
"IndieWeb"
],
"content": {
"text": "Is it time to go live?Almost. Gimme like 15 minutes. Going to do more #IndieWeb coding; around making a hosted Webmention service. Pull up https://jacky.wtf/twitch",
"html": "<p>Is it time to go live?</p><p>Almost. Gimme like 15 minutes. Going to do more <strong class=\"p-category\">#IndieWeb</strong> coding; around making a hosted Webmention service. Pull up <a href=\"https://jacky.wtf/twitch\">https://jacky.wtf/twitch</a></p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "11558832",
"_source": "1886",
"_is_read": true
}
{
"type": "entry",
"published": "2020-05-13T17:23:23+00:00",
"url": "https://fireburn.ru/posts/1589390603",
"category": [
"programming",
"frontend",
"Kittybox"
],
"name": "Choosing the right website building paradigm, or \"The Lazy Programmer Method\"",
"content": {
"text": "While struggling with frontend development of my new blog software, Kittybox, I've came to a conclusion. I was pursuing the wrong thing all along.\nWhen building a product, you need to ask yourself: \"What do I want to have on my website?\" Then, as ideas come into your mind, write them down, preferrably in a text document on your computer. Then order the features that you want to have by their complexity.\nAnd then go from least complex, to the most, implementing it in the laziest way possible.\nThe lazy programmer method\nI'm not exactly sure I invented something new, but I think I'd like to call it \"The lazy programmer method\". Why lazy? Because programmers need to be lazy. Invention is a product of laziness. We invent new stuff to have more time to be lazy and get some rest.\nPeople in my country say that the leap from the apes to homo sapiens\u00a0was performed when the concept of labor was invented. That tools were invented out of labor. No! They were invented out of laziness. Using a simple tool, an ape could get its job done faster, receive food more efficiently, and thus, have more time to enjoy the fruits of its labor. Humans are the same.\nWhen you implement features you want in your product in the laziest way possible, sorted by complexity, three things happen:\nYour code becomes simple and easy to debug\nThis may or may not be obvious. But when you write as little code as possible, you may not find yourself as tangled when something goes wrong. Less code means less places to make mistakes, after all!\nYour code evolves in a natural way\nGoing from simple to complex is just how everything in nature works. Writing code the lazy way allows you to learn as you go. When one of the features you want to implement requires a thing you never knew about, you can pick it up as you go, and not try to cram stuff into your brain as if you're studying for an exam.\nAnd we all know that everything you cram for an exam will disappear as soon as you go and write it on paper. (That's why I stopped making notes in school one day, because I tend to forget stuff I write down)\nYou only implement what you need\nRemember, how I said: \"write things down first\"? This helps you with planning. Sometimes my brain tends to make me want to cram as much shiny stuff in my blog as possible; this led me to working on the new redesign for over a year already. I understand now that I need to start from scratch and apply everything I wrote above in my own practice.\nThe lazy girl's website\nOk, so you know the method, let me try showing you how it works in real life and try to fit my new blog frontend's concept in this method.\nFeatures\nStatic rendering - of course, a proper IndieWeb website should be available without JS.\n Dark and light themes - for sane people and for people who want their eyes to burn.\n \n Support for most content types I usually post:\n Notes - simple Twitter-like posts\n Articles - long-form posts with a title\n Photos and videos - I list them together because these media types are very similar to each other\n Food and drinks - because who doesn't want to turn their blog into a food porn collection?\n Exercise - umm, yeah, might be tough on quarantine but I still want to get my physical activity up\n Check-ins - might feel a little bit non-relevant on quarantine too but I want to highlight some local businesses that need our love and support!\n \n Ability to log in to the website to view private posts\n A service worker to cache the website's content\n A simple admin interface just for me, built right into the frontend, as a stretch goal\nMy past mistakes\nMy first mistake was starting in the unknown lands, with React. Next.js turned out to be a well-made framework, but it wasn't built for sites like mine, which need to be able to be stupidly simple. So I guess I should've started with some good old HTML templating.\nMy second mistake was then trying to overthink and overengineer the system - while the onboarding screen I've shown y'all earlier (I think it was even featured at IWC Online 2020!) was really good, the implementation was kinda messy and it wasn't completed before I realized that the framework choice I made was holding me back.\nMy third mistake was not realizing it and continuing to fight further, when it was clearly time for a fresh start. If only I got the idea for this post... a little earlier!",
"html": "<p>While struggling with frontend development of my new blog software, Kittybox, I've came to a conclusion. I was pursuing the wrong thing all along.</p>\n<p>When building a product, you need to ask yourself: \"What do I want to have on my website?\" Then, as ideas come into your mind, write them down, preferrably in a text document on your computer. Then order the features that you want to have by their complexity.</p>\n<p>And then go from least complex, to the most, implementing it in the <b>laziest way possible</b>.</p>\n<h2>The lazy programmer method</h2>\n<p>I'm not exactly sure I invented something new, but I think I'd like to call it \"The lazy programmer method\". Why lazy? Because programmers need to be lazy. Invention is a product of laziness. We invent new stuff to have more time to be lazy and get some rest.</p>\n<p>People in my country say that the leap from the apes to <i>homo sapiens</i>\u00a0was performed when the concept of labor was invented. That tools were invented out of labor. No! They were invented out of laziness. Using a simple tool, an ape could get its job done faster, receive food more efficiently, and thus, have more time to enjoy the <i>fruits </i>of its labor. Humans are the same.</p>\n<p>When you implement features you want in your product in the laziest way possible, sorted by complexity, three things happen:</p>\n<h3>Your code becomes simple and easy to debug</h3>\n<p>This may or may not be obvious. But when you write as little code as possible, you may not find yourself as tangled when something goes wrong. Less code means less places to make mistakes, after all!</p>\n<h3>Your code evolves in a natural way</h3>\n<p>Going from simple to complex is just how everything in nature works. Writing code the lazy way allows you to learn as you go. When one of the features you want to implement requires a thing you never knew about, you can pick it up as you go, and not try to cram stuff into your brain as if you're studying for an exam.</p>\n<p>And we all know that everything you cram for an exam will disappear as soon as you go and write it on paper. <i>(That's why I stopped making notes in school one day, because I tend to forget stuff I write down)</i></p>\n<h3>You only implement what you need</h3>\n<p>Remember, how I said: \"write things down first\"? This helps you with planning. Sometimes my brain tends to make me want to cram as much shiny stuff in my blog as possible; this led me to working on the new redesign for over a year already. I understand now that I need to start from scratch and apply everything I wrote above in my own practice.</p>\n<h2>The lazy girl's website</h2>\n<p>Ok, so you know the method, let me try showing you how it works in real life and try to fit my new blog frontend's concept in this method.</p>\n<h3>Features</h3>\n<ul><li>Static rendering - of course, a proper IndieWeb website should be available without JS.</li>\n <li>Dark and light themes - for sane people and for people who want their eyes to burn.</li>\n <li>\n Support for most content types I usually post:\n <ul><li>Notes - simple Twitter-like posts</li>\n <li>Articles - long-form posts with a title</li>\n <li>Photos and videos - I list them together because these media types are very similar to each other</li>\n <li>Food and drinks - because who doesn't want to turn their blog into a food porn collection?</li>\n <li>Exercise - umm, yeah, might be tough on quarantine but I still want to get my physical activity up</li>\n <li>Check-ins - might feel a little bit non-relevant on quarantine too but I want to highlight some local businesses that need our love and support!</li>\n </ul></li>\n <li>Ability to log in to the website to view private posts</li>\n <li>A service worker to cache the website's content</li>\n <li>A simple admin interface just for me, built right into the frontend, as a stretch goal</li>\n</ul><h3>My past mistakes</h3>\n<p>My first mistake was starting in the unknown lands, with React. Next.js turned out to be a well-made framework, but it wasn't built for sites like mine, which need to be able to be stupidly simple. So I guess I should've started with some good old HTML templating.</p>\n<p>My second mistake was then trying to overthink and overengineer the system - while the onboarding screen I've shown y'all earlier (I think it was even featured at IWC Online 2020!) was really good, the implementation was kinda messy and it wasn't completed before I realized that the framework choice I made was holding me back.</p>\n<p>My third mistake was not realizing it and continuing to fight further, when it was clearly time for a fresh start. If only I got the idea for this post... a little earlier!</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/media/f1/5a/fb/9b/081efafb97b4ad59f5025cf2fd0678b8f3e20e4c292489107d52be09.png"
},
"post-type": "article",
"_id": "11552753",
"_source": "1371",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2020/05/13/ia-writer-adds.html",
"name": "iA Writer adds Micro.blog publishing",
"content": {
"html": "<p><a href=\"https://ia.net/writer/blog/new-pdf-preview-better-web-publishing-improved-editing\">Exciting news</a> today: the latest version of <a href=\"https://ia.net/writer\">iA Writer</a> for both iOS and macOS can publish to Micro.blog-hosted blogs. It uses the Micropub API, which is Micro.blog\u2019s native API for posting.</p>\n\n<p>To get started in iA Writer on iOS, go back to the first screen in the app and tap the settings icon \u2192 Accounts \u2192 Add Account \u2192 Micropub. You\u2019ll be prompted to approve iA Writer in Micro.blog. If you\u2019re not signed in yet in mobile Safari, you can sign in first and then try again:</p>\n\n<p><a href=\"https://www.manton.org/uploads/2020/e43ceea796.png\"><img src=\"https://www.manton.org/uploads/2020/e43ceea796.png\" alt=\"iA Writer setup\" border=\"0\" width=\"423\" height=\"450\" style=\"max-width:450px;\" /></a></p>\n\n<p>In a text document, tap the share icon \u2192 Publish \u2192 New Draft on Micro.blog:</p>\n\n<p><a href=\"https://www.manton.org/uploads/2020/6d116d907c.png\"><img src=\"https://www.manton.org/uploads/2020/6d116d907c.png\" alt=\"iA Writer publish\" border=\"0\" width=\"423\" height=\"450\" style=\"max-width:450px;\" /></a></p>\n\n<p>When you publish a post, it\u2019s saved on Micro.blog as a draft, and iA Writer opens a preview of the draft on Micro.blog. From there, you can tap to publish it.</p>\n\n<p>Thanks to the iA Writer team for making this happen! And because it\u2019s built on IndieWeb standards, it\u2019s not just tied to Micro.blog. I\u2019d love to see similar support in other popular text editors.</p>",
"text": "Exciting news today: the latest version of iA Writer for both iOS and macOS can publish to Micro.blog-hosted blogs. It uses the Micropub API, which is Micro.blog\u2019s native API for posting.\n\nTo get started in iA Writer on iOS, go back to the first screen in the app and tap the settings icon \u2192 Accounts \u2192 Add Account \u2192 Micropub. You\u2019ll be prompted to approve iA Writer in Micro.blog. If you\u2019re not signed in yet in mobile Safari, you can sign in first and then try again:\n\n\n\nIn a text document, tap the share icon \u2192 Publish \u2192 New Draft on Micro.blog:\n\n\n\nWhen you publish a post, it\u2019s saved on Micro.blog as a draft, and iA Writer opens a preview of the draft on Micro.blog. From there, you can tap to publish it.\n\nThanks to the iA Writer team for making this happen! And because it\u2019s built on IndieWeb standards, it\u2019s not just tied to Micro.blog. I\u2019d love to see similar support in other popular text editors."
},
"published": "2020-05-13T10:15:39-05:00",
"category": [
"Photos",
"Essays"
],
"post-type": "article",
"_id": "11545771",
"_source": "12",
"_is_read": true
}
Working from the couch today under a very sleepy @indiewebcat
{
"type": "entry",
"published": "2020-05-13T08:08:16-07:00",
"url": "https://aaronparecki.com/2020/05/13/13/wfh",
"category": [
"wfh"
],
"photo": [
"https://aperture-media.p3k.io/aaronparecki.com/40b1e8c910a420e166157da6b6cdcab88123095a52a9a8cf5a6645090d2730fd.jpg"
],
"syndication": [
"https://twitter.com/aaronpk/status/1260587686777110528"
],
"content": {
"text": "Working from the couch today under a very sleepy @indiewebcat",
"html": "Working from the couch today under a very sleepy <a href=\"https://indiewebcat.com\">@indiewebcat</a>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "photo",
"_id": "11543988",
"_source": "16",
"_is_read": true
}
Sharing more information about Micropub clients that have created a post, if possible.
{
"type": "entry",
"published": "2020-05-13 13:42:33 +0100 BST",
"summary": "Sharing more information about Micropub clients that have created a post, if possible.",
"url": "https://www.jvt.me/posts/2020/05/13/render-micropub-client-data/",
"category": [
"www.jvt.me",
"indieweb",
"micropub",
"microformats"
],
"name": "Rendering Micropub Client Data on Posts",
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "article",
"_id": "11542337",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"published": "2020-05-10T21:06:03-07:00",
"url": "https://aaronparecki.com/2020/05/10/28/meetable",
"category": [
"meetable",
"events"
],
"name": "Meetable: Updates for Virtual Events",
"content": {
"text": "Meetable is the software that runs events.indieweb.org and a couple other event sites that I host. Over the last couple months, we've had to cancel a bunch of IndieWeb events or convert them to virtual events, and I've been watching for patterns to see if there was anything the software could do to facilitate this.\nToday I just launched a few new features that will help out event organizers posting events on Meetable websites! I decided on adding these features by looking for things people were already doing by editing the event names or descriptions.\nEvent Status\nEvents now have a \"status\", which can be \"confirmed\" (the default), \"postponed\", \"tentative\", or \"cancelled\". Anything other than \"confirmed\" will show a little badge next to the event name calling out the event status.\u00a0\nThis badge also appears on the event pages themselves. For postponed events, the date now says \"TBD\" in addition to the originally scheduled date.\nThis status can be set when you create the event initially, or edited later. This is useful for cases such as a regular weekly meeting that skips a week when you want to make sure attendees know that the event is actually cancelled and you didn't just forget to post it. Thanks to Tantek for that suggestion!\nThis status is included in the ICS feed as well, so you should see those statuses in your calendar app if you've subscribed to the ICS feeds.\nCancelled events also hide the RSVP button and stop accepting webmentions.\n\"Postponed\" isn't one of the statuses in the iCal spec, but it's come up enough times that I thought it was worth adding anyway. I'm also not 100% sold on the icons and colors I chose for these, so suggestions are welcome. Please only suggest icons from the font-awesome collection though otherwise it's a lot more work.\nVirtual Meeting URLs\nNow that all of our events have been happening online, we need a place to share the link to join the online meeting. This isn't the same as the event website field that currently exists, since that's more for when you add an event that exists elsewhere like a related conference. Instead, this is specifically a link that you will click just before (or during) the event to join the online meeting, whether that's Zoom, Jitsi, Google Hangouts, or something else.\u00a0\nOne of the patterns that's emerged from doing this manually is that people will update the event description to say \"come back 15 minutes before the events starts to find the meeting link\". This is for two reasons. Some platforms don't give you a meeting link until you start the meeting, and if the meeting link is persistent, then you don't want to share it too far in advance otherwise you might attract the zoombombers.\nI added a new field to Meetable's event creation UI specifically to add the meeting URL. Meetable will hide the URL until 15 minutes before the event starts, and it will disappear again after the event is over.\nBefore the event starts, you'll see a note that the meeting link will be revealed 15 minutes before the event.\nOnce the event is less than 15 minutes away, the event page shows the join link.\nThis works regardless of what meeting platform you're using since all it's doing is conditionally showing a URL!\nBuilt-In Zoom Scheduling\nWe give IndieWeb event organizers the option of using a shared IndieWeb Zoom account to host meetings. (Event organizers are always welcome to use whatever platform they choose, but we make this available thanks to our community sponsors in case organizers want to use it.)\u00a0\nSince Zoom has skyrocketed in popularity as well has had some pretty major issues around zoombombing when being used for public events like this, it's become a lot more important to use unique meeting IDs and passwords for each event, whereas before we could get away with the lazy approach of using the permanent meeting ID on the account. This has lead to a lot more manual work by organizers when planning an event to go an log in and create a scheduled meeting. So I added a feature to Meetable which will use the Zoom API to automatically create a scheduled meeting at the right time for the event, and set the meeting URL to the zoom link!\nNow when you create a virtual event in Meetable, you have a checkbox you can check which will go create a scheduled Zoom meeting for you!\nThen 15 minutes before the event starts, the link will be shown on the page! As the organizer, you can log in to the Zoom account and you'll see the scheduled event in the Zoom app.\u00a0\nSince Zoom includes the password in the link itself, it's still one click to join the meeting this way!\nThat's about it! I hope you enjoy the new features, and let me know if you're using Meetable yourself!\nIf you'd like to see Meetable in action, check out the three instances I maintain:\nevents.indieweb.org\n events.oauth.net\n oktadev.events\nYou can install Meetable on Heroku in about 5 minutes using the Heroku Deploy button! It even has a little installer so you can quickly install it on shared hosting as well!\nIf you have any ideas for additional features, please let me know! The best way is to open an issue on GitHub, and if you see an existing issue that sounds like something you want, please comment or upvote it!",
"html": "<p>Meetable is the software that runs <a href=\"https://events.indieweb.org\">events.indieweb.org</a> and a couple other event sites that I host. Over the last couple months, we've had to cancel a bunch of IndieWeb events or convert them to virtual events, and I've been watching for patterns to see if there was anything the software could do to facilitate this.</p>\n<p>Today I just launched a few new features that will help out event organizers posting events on Meetable websites! I decided on adding these features by looking for things people were already doing by editing the event names or descriptions.</p>\n<h3>Event Status</h3>\n<p>Events now have a \"status\", which can be \"confirmed\" (the default), \"postponed\", \"tentative\", or \"cancelled\". Anything other than \"confirmed\" will show a little badge next to the event name calling out the event status.\u00a0</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/c01de2afdba865b01f7b527528fbc57070375d313573359992e338640b9c8ed7.png\" alt=\"\" /><p>This badge also appears on the event pages themselves. For postponed events, the date now says \"TBD\" in addition to the originally scheduled date.</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/92c69d7ae2b43e05f7157803f7ef5352641f2feae522795b99d5e95865fad6c6.png\" alt=\"\" /><p>This status can be set when you create the event initially, or edited later. This is useful for cases such as a regular weekly meeting that skips a week when you want to make sure attendees know that the event is actually cancelled and you didn't just forget to post it. Thanks to Tantek for <a href=\"https://tantek.com/2020/062/b5/\">that suggestion</a>!</p>\n<p>This status is included in the ICS feed as well, so you should see those statuses in your calendar app if you've subscribed to the ICS feeds.</p>\n<p>Cancelled events also hide the RSVP button and stop accepting webmentions.</p>\n<p>\"Postponed\" isn't one of the statuses in the iCal spec, but it's come up enough times that I thought it was worth adding anyway. I'm also not 100% sold on the icons and colors I chose for these, so suggestions are welcome. Please only suggest icons from the <a href=\"https://fontawesome.com/icons?m=free\">font-awesome</a> collection though otherwise it's a lot more work.</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/4bbfa1b8dcd94f2e69b12b3a00e8b213122814092f7f35eaaf0e969d030ee7d9.png\" alt=\"\" /><h3>Virtual Meeting URLs</h3>\n<p>Now that all of our events have been happening online, we need a place to share the link to join the online meeting. This isn't the same as the event website field that currently exists, since that's more for when you add an event that exists elsewhere like a related conference. Instead, this is specifically a link that you will click just before (or during) the event to join the online meeting, whether that's Zoom, Jitsi, Google Hangouts, or something else.\u00a0</p>\n<p>One of the patterns that's emerged from doing this manually is that people will update the event description to say \"come back 15 minutes before the events starts to find the meeting link\". This is for two reasons. Some platforms don't give you a meeting link until you start the meeting, and if the meeting link is persistent, then you don't want to share it too far in advance otherwise you might attract the zoombombers.</p>\n<p>I added a new field to Meetable's event creation UI specifically to add the meeting URL. Meetable will hide the URL until 15 minutes before the event starts, and it will disappear again after the event is over.</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/e94d2afbe6c396773c5d8e4e381cc28bfc41364273658f1586e0d46eff99859d.png\" alt=\"\" /><p>Before the event starts, you'll see a note that the meeting link will be revealed 15 minutes before the event.</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/741d3cacc28a6c12ba0b0fac83f3167522df332578abf3cc76406391d1c11a8e.png\" alt=\"\" /><p>Once the event is less than 15 minutes away, the event page shows the join link.</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/1f4a859d166a71a687891d0a8a5e39d1585df28ac23d2a63a38d94ac169b65c0.png\" alt=\"\" /><p>This works regardless of what meeting platform you're using since all it's doing is conditionally showing a URL!</p>\n<h3>Built-In Zoom Scheduling</h3>\n<p>We give IndieWeb event organizers the option of using a shared IndieWeb Zoom account to host meetings. (Event organizers are always welcome to use whatever platform they choose, but we make this available thanks to our <a href=\"https://opencollective.com/indieweb\">community sponsors</a> in case organizers want to use it.)\u00a0</p>\n<p>Since Zoom has skyrocketed in popularity as well has had some pretty major issues around zoombombing when being used for public events like this, it's become a lot more important to use unique meeting IDs and passwords for each event, whereas before we could get away with the lazy approach of using the permanent meeting ID on the account. This has lead to a lot more manual work by organizers when planning an event to go an log in and create a scheduled meeting. So I added a feature to Meetable which will use the Zoom API to automatically create a scheduled meeting at the right time for the event, and set the meeting URL to the zoom link!</p>\n<p>Now when you create a virtual event in Meetable, you have a checkbox you can check which will go create a scheduled Zoom meeting for you!</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/0b0af8db400ec15a5fc5dffed4598a2eaba90da6cb51e2074d240fd16c1e596d.png\" alt=\"\" /><p>Then 15 minutes before the event starts, the link will be shown on the page! As the organizer, you can log in to the Zoom account and you'll see the scheduled event in the Zoom app.\u00a0</p>\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/d9c28dd589b6e16c0a885d9453b092e5e577a41883c479539f5c51fc74a4992f.png\" alt=\"\" /><p>Since Zoom includes the password in the link itself, it's still one click to join the meeting this way!</p>\n<p>That's about it! I hope you enjoy the new features, and let me know if you're using Meetable yourself!</p>\n<p>If you'd like to see Meetable in action, check out the three instances I maintain:</p>\n<ul><li><a href=\"https://events.indieweb.org\">events.indieweb.org</a></li>\n <li><a href=\"https://events.oauth.net\">events.oauth.net</a></li>\n <li><a href=\"https://oktadev.events\">oktadev.events</a></li>\n</ul><p>You can install Meetable on Heroku in about 5 minutes using the <a href=\"https://github.com/aaronpk/Meetable#meetable\">Heroku Deploy</a> button! It even has a little <a href=\"https://aaronparecki.com/2020/01/18/7/meetable-updates\">installer</a> so you can quickly install it on shared hosting as well!</p>\n<p>If you have any ideas for additional features, please let me know! The best way is to <a href=\"https://github.com/aaronpk/Meetable/issues\">open an issue</a> on GitHub, and if you see an existing issue that sounds like something you want, please comment or upvote it!</p>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "article",
"_id": "11474452",
"_source": "16",
"_is_read": true
}
{
"type": "entry",
"published": "2020-05-09T15:30:00+02:00",
"url": "https://www.jeremycherfas.net/blog/a-garden-with-a-water-feature",
"name": "A garden with a water feature",
"content": {
"text": "People have written some interesting things following on from the pop-up IndieWebCamp that Chris Aldrich organised a couple of weeks ago. The Garden and the Stream set out to compare and contrast wikis and weblogs and how the two might be used. It was a terrific success, and I\u2019m sorry I wasn\u2019t able to be there. The topic interests me and is something I\u2019ve thought about on and off for a long time. This morning, I treated myself to thinking about it some more.",
"html": "<p>People have written some interesting things following on from the pop-up IndieWebCamp that Chris Aldrich organised a couple of weeks ago. <a href=\"https://boffosocko.com/2020/04/26/a-short-post-mortem-video-and-note-links-and-challenge-from-the-garden-and-the-stream-indiewebcamp-pop-up-session/\">The Garden and the Stream</a> set out to compare and contrast wikis and weblogs and how the two might be used. It was a terrific success, and I\u2019m sorry I wasn\u2019t able to be there. The topic interests me and is something I\u2019ve thought about on and off for a long time. This morning, I treated myself to thinking about it some more.</p>"
},
"author": {
"type": "card",
"name": "Jeremy Cherfas",
"url": "https://jeremycherfas.net",
"photo": "https://www.jeremycherfas.net/user/themes/tailwind/images/zoot.jpg"
},
"post-type": "article",
"_id": "11434414",
"_source": "202",
"_is_read": true
}
ngl I do not understand why Twitter and Facebook have two different “markup” systems that give the same jist of info. like is it solely business - it can’t be a markup thing
microformats or json-ld would do the same (though json-ld requires depublication of content)
{
"type": "entry",
"published": "2020-05-08T16:47:54.66174-07:00",
"url": "https://v2.jacky.wtf/post/9d1b2776-69a0-49fa-ad95-27ebe29692a9",
"content": {
"text": "ngl I do not understand why Twitter and Facebook have two different \u201cmarkup\u201d systems that give the same jist of info. like is it solely business - it can\u2019t be a markup thingmicroformats or json-ld would do the same (though json-ld requires depublication of content)",
"html": "<p>ngl I do not understand why Twitter and Facebook have two different \u201cmarkup\u201d systems that give the same jist of info. like is it solely business - it can\u2019t be a markup thing</p><p>microformats or json-ld would do the same (though json-ld requires depublication of content)</p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "11423783",
"_source": "1886",
"_is_read": true
}
This weekend might be the one of cranking out the service. Resolving the links is very important. After that, I’ll want to do some sort of ranking to see how viable each link is and might hold that info for like an hour. From there, I can then send and queue up Webmentions! I think I might go even further with a stretch goal with allowing pass through endpoints so you can use this service as a relay! Get all of the benefits with minimal migration efforts!
{
"type": "entry",
"published": "2020-05-08T13:57:00.00000-07:00",
"url": "https://v2.jacky.wtf/post/9dfb4eb4-79a4-4f99-86ab-2c8dc216a3ea",
"category": [
"webmention",
"side projects",
"lighthouse"
],
"content": {
"text": "This weekend might be the one of cranking out the service. Resolving the links is very important. After that, I\u2019ll want to do some sort of ranking to see how viable each link is and might hold that info for like an hour. From there, I can then send and queue up Webmentions! I think I might go even further with a stretch goal with allowing pass through endpoints so you can use this service as a relay! Get all of the benefits with minimal migration efforts!",
"html": "<p>This weekend might be the one of cranking out the service. Resolving the links is very important. After that, I\u2019ll want to do some sort of ranking to see how viable each link is and might hold that info for like an hour. From there, I can then send and queue up Webmentions! I think I might go even further with a stretch goal with allowing pass through endpoints so you can use this service as a relay! Get all of the benefits with minimal migration efforts!</p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "11420142",
"_source": "1886",
"_is_read": true
}
#100days 8 - Set up the new feeds plugin on my site so I've got rss, atom, json feed, jf2 and microformats json feeds for my content.
It could probably do with some more filtering, like options for post types to show up in the main feed and add feeds for individual types and categories.
{
"type": "entry",
"published": "2020-05-08T16:12:14.560Z",
"url": "https://grant.codes/2020/05/08/100days-8-set-up-the-new-feeds-plugin-on-my",
"syndication": [
"https://t.me/Telegram/204"
],
"content": {
"text": "#100days 8 - Set up the new feeds plugin on my site so I've got rss, atom, json feed, jf2 and microformats json feeds for my content.\nIt could probably do with some more filtering, like options for post types to show up in the main feed and add feeds for individual types and categories.",
"html": "<p>#100days 8 - Set up the new feeds plugin on my site so I've got rss, atom, json feed, jf2 and microformats json feeds for my content.</p>\n<p>It could probably do with some more filtering, like options for post types to show up in the main feed and add feeds for individual types and categories.</p>"
},
"author": {
"type": "card",
"name": "Grant Richmond",
"url": "https://grant.codes/",
"photo": "https://images.weserv.nl/?url=grant.codes%2Fimg%2Fme.jpg&errorredirect=grant.codes%2Fimg%2Fme.jpg&w=20&h=20&fit=contain&dpr=2"
},
"post-type": "note",
"_id": "11412253",
"_source": "11",
"_is_read": true
}
Going to go (early!) live around nowish continuing work on my hosted Webmention service! Pull up to https://jacky.wtf/twitch around then (and turn on notifications)!
{
"type": "entry",
"published": "2020-05-07T16:29:26.50205-07:00",
"url": "https://v2.jacky.wtf/post/99760042-96c5-41f5-8132-51404035bf1a",
"content": {
"text": "Going to go (early!) live around nowish continuing work on my hosted Webmention service! Pull up to https://jacky.wtf/twitch around then (and turn on notifications)!",
"html": "<p>Going to go (early!) live around nowish continuing work on my hosted Webmention service! Pull up to <a href=\"https://jacky.wtf/twitch\">https://jacky.wtf/twitch</a> around then (and turn on notifications)!</p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "11395055",
"_source": "1886",
"_is_read": true
}
{
"type": "entry",
"published": "2020-05-06 16:40-0700",
"rsvp": "yes",
"url": "http://tantek.com/2020/127/t1/homebrew-website-club-west-coast",
"in-reply-to": [
"https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh"
],
"content": {
"text": "going to ONLINE Homebrew Website Club West Coast\n\ud83d\uddd3 18:00 today, now weekly!\n\ud83c\udf9f RSVP & more: https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh\n\u2709\ufe0f Join us! @brb_irl @Kongaloosh @AllAboutGeorge @JackyAlcine @AndiGalpern @indirect @generativist @BenWerd @pvh @JohnMattDavis @html5cat",
"html": "going to ONLINE Homebrew Website Club West Coast<br />\ud83d\uddd3 18:00 today, now weekly!<br />\ud83c\udf9f RSVP & more: <a href=\"https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh\">https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh</a><br />\u2709\ufe0f Join us! <a class=\"h-cassis-username\" href=\"https://twitter.com/brb_irl\">@brb_irl</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/Kongaloosh\">@Kongaloosh</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/AllAboutGeorge\">@AllAboutGeorge</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/JackyAlcine\">@JackyAlcine</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/AndiGalpern\">@AndiGalpern</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/indirect\">@indirect</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/generativist\">@generativist</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/BenWerd\">@BenWerd</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/pvh\">@pvh</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/JohnMattDavis\">@JohnMattDavis</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/html5cat\">@html5cat</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "rsvp",
"refs": {
"https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh": {
"type": "entry",
"url": "https://events.indieweb.org/2020/05/online-homebrew-website-club-west-coast-GX4yAV3eoPwh",
"name": "an IndieWeb event",
"post-type": "article"
}
},
"_id": "11368754",
"_source": "1",
"_is_read": true
}
{
"type": "entry",
"published": "2020-05-06T19:50:00+01:00",
"url": "https://www.jvt.me/mf2/2020/05/rapit/",
"category": [
"indieweb",
"privacy"
],
"bookmark-of": [
"https://perezbox.com/2020/04/the-open-web-is-dying/"
],
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "bookmark",
"_id": "11359328",
"_source": "2169",
"_is_read": true
}
And I’m live! Taking a different path today, going to work on making a IndieWeb-centric Webmention service that should be plug-n-play for other people to use (long-term goal is to have my site use it!)
Join me at https://jacky.wtf/twitch!
{
"type": "entry",
"published": "2020-05-05T19:48:47.81947-07:00",
"url": "https://v2.jacky.wtf/post/daa933ff-9a50-45ef-932b-7204e3aac887",
"content": {
"text": "And I\u2019m live! Taking a different path today, going to work on making a IndieWeb-centric Webmention service that should be plug-n-play for other people to use (long-term goal is to have my site use it!)Join me at https://jacky.wtf/twitch!",
"html": "<p>And I\u2019m live! Taking a different path today, going to work on making a IndieWeb-centric Webmention service that should be plug-n-play for other people to use (long-term goal is to have my site use it!)</p><p>Join me at <a href=\"https://jacky.wtf/twitch\">https://jacky.wtf/twitch</a>!</p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "11339614",
"_source": "1886",
"_is_read": true
}
Ten years ago the death of Blogger FTP two days before inspired introducing “the indie web” as a definite noun phrase:
> Blogger turned off FTP May 1st [2010] Who/what will step up for the indie web?
http://tantek.com/2010/123/t2/blogger-turned-off-ftp-what-indie-web-diso (https://twitter.com/t/status/13329370781)
“The indie web” was a name given to the collective us that used and still uses our domains for our actively independent web presence, a practice Blogger FTP helped enable for many years, for many people. Our sites worked (were at least viewable) without requiring (truly independent of) another web site or service being actively up & running.
Blogger FTP was a nice-to-have, even if/when it was down, your site and permalinks were still browsable, and you could still manually FTP and edit your site, your blog, on whatever generic web hosting service you were using. You could migrate your blog by FTPing your static storage files from one web host to another. Without any database export/import/(re)configuration.
Subsequently of course https://indiewebcamp.com/ was founded, eventually (and currently) https://indieweb.org/, recognizing a pre-existing practice by naming it and giving it a community focus. A community to discover & find each other, to actively collaborate, building on each other’s ideas & building blocks, evolving our sites, innovating the practical peer-to-peer web with a plurality of approaches, designs, interoperable implementations, and sustainable solutions.
{
"type": "entry",
"published": "2020-05-03 13:01-0700",
"url": "http://tantek.com/2020/124/t1/ten-years-ago-the-indie-web-definite-noun",
"content": {
"text": "Ten years ago the death of Blogger FTP two days before inspired introducing \u201cthe indie web\u201d as a definite noun phrase:\n> Blogger turned off FTP May 1st [2010] Who/what will step up for the indie web?\nhttp://tantek.com/2010/123/t2/blogger-turned-off-ftp-what-indie-web-diso (https://twitter.com/t/status/13329370781)\n\n\u201cThe indie web\u201d was a name given to the collective us that used and still uses our domains for our actively independent web presence, a practice Blogger FTP helped enable for many years, for many people. Our sites worked (were at least viewable) without requiring (truly independent of) another web site or service being actively up & running.\n\nBlogger FTP was a nice-to-have, even if/when it was down, your site and permalinks were still browsable, and you could still manually FTP and edit your site, your blog, on whatever generic web hosting service you were using. You could migrate your blog by FTPing your static storage files from one web host to another. Without any database export/import/(re)configuration.\n\nSubsequently of course https://indiewebcamp.com/ was founded, eventually (and currently) https://indieweb.org/, recognizing a pre-existing practice by naming it and giving it a community focus. A community to discover & find each other, to actively collaborate, building on each other\u2019s ideas & building blocks, evolving our sites, innovating the practical peer-to-peer web with a plurality of approaches, designs, interoperable implementations, and sustainable solutions.",
"html": "Ten years ago the death of Blogger FTP two days before inspired introducing \u201cthe indie web\u201d as a definite noun phrase:<br />> Blogger turned off FTP May 1st [2010] Who/what will step up for the indie web?<br /><a href=\"http://tantek.com/2010/123/t2/blogger-turned-off-ftp-what-indie-web-diso\">http://tantek.com/2010/123/t2/blogger-turned-off-ftp-what-indie-web-diso</a> (<a href=\"https://twitter.com/t/status/13329370781\">https://twitter.com/t/status/13329370781</a>)<br /><br />\u201cThe indie web\u201d was a name given to the collective us that used and still uses our domains for our actively independent web presence, a practice Blogger FTP helped enable for many years, for many people. Our sites worked (were at least viewable) without requiring (truly independent of) another web site or service being actively up & running.<br /><br />Blogger FTP was a nice-to-have, even if/when it was down, your site and permalinks were still browsable, and you could still manually FTP and edit your site, your blog, on whatever generic web hosting service you were using. You could migrate your blog by FTPing your static storage files from one web host to another. Without any database export/import/(re)configuration.<br /><br />Subsequently of course <a href=\"https://indiewebcamp.com/\">https://indiewebcamp.com/</a> was founded, eventually (and currently) <a href=\"https://indieweb.org/\">https://indieweb.org/</a>, recognizing a pre-existing practice by naming it and giving it a community focus. A community to discover & find each other, to actively collaborate, building on each other\u2019s ideas & building blocks, evolving our sites, innovating the practical peer-to-peer web with a plurality of approaches, designs, interoperable implementations, and sustainable solutions."
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "http://tantek.com/",
"photo": "https://aperture-media.p3k.io/tantek.com/acfddd7d8b2c8cf8aa163651432cc1ec7eb8ec2f881942dca963d305eeaaa6b8.jpg"
},
"post-type": "note",
"_id": "11289852",
"_source": "1",
"_is_read": true
}
Splitting out my content feeds, so it's (hopefully) more applicable and less noisy for consumers.
{
"type": "entry",
"published": "2020-05-04 08:29:50 +0100 BST",
"summary": "Splitting out my content feeds, so it's (hopefully) more applicable and less noisy for consumers.",
"url": "https://www.jvt.me/posts/2020/05/04/firehose-feed/",
"category": [
"www.jvt.me",
"indieweb",
"feed",
"hugo"
],
"name": "Creating a 'Firehose' Feed",
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "article",
"_id": "11289679",
"_source": "2169",
"_is_read": true
}
my cat is constantly obnoxiously meowing at night trying to annoy people, I don’t know how to stop it, it wakes up the whole house, plz send help #cats #catsofindieweb
{
"type": "entry",
"published": "2020-05-04T00:49:25+00:00",
"url": "https://fireburn.ru/posts/1588553365",
"syndication": [
"https://twitter.com/kisik21/status/1257110066626539523"
],
"content": {
"text": "my cat is constantly obnoxiously meowing at night trying to annoy people, I don\u2019t know how to stop it, it wakes up the whole house, plz send help #cats #catsofindieweb",
"html": "<p>my cat is constantly obnoxiously meowing at night trying to annoy people, I don\u2019t know how to stop it, it wakes up the whole house, plz send help #cats #catsofindieweb</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/media/f1/5a/fb/9b/081efafb97b4ad59f5025cf2fd0678b8f3e20e4c292489107d52be09.png"
},
"post-type": "note",
"_id": "11286287",
"_source": "1371",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Neil Mather",
"url": "https://doubleloop.net/",
"photo": null
},
"url": "https://doubleloop.net/2020/05/03/read-reader/",
"published": "2020-05-03T12:31:20+00:00",
"content": {
"html": "<p><a href=\"https://commonplace.doubleloop.net/20200317094029-ton.html\">Ton</a> made a <a href=\"https://www.zylstra.org/blog/2020/04/federated-bookshelves/\">post</a> recently about federated bookshelves, sparked by a <a href=\"https://tomcritchlow.com/2020/04/15/library-json/\">post</a> from <a href=\"https://commonplace.doubleloop.net/20200503131847-tom_critchlow.html\">Tom</a>. It\u2019s an idea that <a href=\"https://commonplace.doubleloop.net/20200503132107-gregor_love.html\">Gregor</a> has done a good bit of <a href=\"https://gregorlove.com/2020/04/a-lot-of-interesting-ideas/\">thinking about</a> from an IndieWeb perspective.</p>\n<p>Book recommendations is something I\u2019m always interesting in. At base, all it needs is a feed you can follow just of what people have been reading. I\u2019ve set up a channel in my <a href=\"https://commonplace.doubleloop.net/20200503132315-social_reader.html\">social reader</a> called \u2018Good Reads\u2019, and subscribed to Ton\u2019s <a href=\"https://www.zylstra.org/blog/category/myreads/\">list of books</a>, as the sci-fi focus looks right up my street. If anyone else has a feed of read books, let me know!</p>\n<p>I am keeping my own list of <a href=\"https://commonplace.doubleloop.net/books.html\">books I\u2019ve read</a> in my wiki \u2013 sadly not marked up in any useful way at present \u2013 something for me to do there.</p>",
"text": "Ton made a post recently about federated bookshelves, sparked by a post from Tom. It\u2019s an idea that Gregor has done a good bit of thinking about from an IndieWeb perspective.\nBook recommendations is something I\u2019m always interesting in. At base, all it needs is a feed you can follow just of what people have been reading. I\u2019ve set up a channel in my social reader called \u2018Good Reads\u2019, and subscribed to Ton\u2019s list of books, as the sci-fi focus looks right up my street. If anyone else has a feed of read books, let me know!\nI am keeping my own list of books I\u2019ve read in my wiki \u2013 sadly not marked up in any useful way at present \u2013 something for me to do there."
},
"name": "Read reader",
"post-type": "article",
"_id": "11273550",
"_source": "1895",
"_is_read": true
}
Liked Displaying Webmentions on TiddlyWiki (BoffoSocko)
I've got a few mental models about how one might implement showing Webmentions in TiddlyWiki, but it may take some more thinking to figure out which way may be the best or most efficient.
{
"type": "entry",
"author": {
"name": "Neil Mather",
"url": "https://doubleloop.net/",
"photo": null
},
"url": "https://doubleloop.net/2020/05/03/6836/",
"published": "2020-05-03T07:58:00+00:00",
"content": {
"html": "Liked <a href=\"https://doubleloop.net/Array\">Displaying Webmentions on TiddlyWiki</a> <em>(BoffoSocko)</em>\n<blockquote>I've got a few mental models about how one might implement showing Webmentions in TiddlyWiki, but it may take some more thinking to figure out which way may be the best or most efficient.</blockquote>",
"text": "Liked Displaying Webmentions on TiddlyWiki (BoffoSocko)\nI've got a few mental models about how one might implement showing Webmentions in TiddlyWiki, but it may take some more thinking to figure out which way may be the best or most efficient."
},
"post-type": "note",
"_id": "11270952",
"_source": "1895",
"_is_read": true
}
Thanks to gRegor for the IndieWebCamp swag for Animal Crossing!
{
"type": "entry",
"published": "2020-05-02T11:44:30-0400",
"url": "https://martymcgui.re/2020/05/02/114430/",
"category": [
"ACNH",
"IndieWeb"
],
"photo": [
"https://res.cloudinary.com/schmarty/image/fetch/w_960,c_fill/https://media.martymcgui.re/da/c6/1a/1a/da9c1affe7d63867497e7a89671228fa5ec0ab6a3bcec2d7ad0342fd.jpg",
"https://res.cloudinary.com/schmarty/image/fetch/w_960,c_fill/https://media.martymcgui.re/5b/21/d4/14/6716b3e3ace1558878f6be509e387a726c31f37a57b19f6c17616190.jpg"
],
"in-reply-to": [
"https://gregorlove.com/2020/04/represent-the-indieweb/"
],
"content": {
"text": "Thanks to gRegor for the IndieWebCamp swag for Animal Crossing!",
"html": "<a href=\"https://media.martymcgui.re/da/c6/1a/1a/da9c1affe7d63867497e7a89671228fa5ec0ab6a3bcec2d7ad0342fd.jpg\"></a>\n\n <a href=\"https://media.martymcgui.re/5b/21/d4/14/6716b3e3ace1558878f6be509e387a726c31f37a57b19f6c17616190.jpg\"></a>\n\n <p>Thanks to <a href=\"https://gregorlove.com/\">gRegor</a> for the IndieWebCamp swag for Animal Crossing!</p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "reply",
"refs": {
"https://gregorlove.com/2020/04/represent-the-indieweb/": {
"type": "entry",
"published": "2020-04-30 17:13-0700",
"summary": "Represent the #indieweb on your Animal Crossing island! To get your own, access the kiosk in the Able Sisters store and search for Design ID MO-5MDH-M0LJ-3MX1.",
"url": "https://gregorlove.com/2020/04/represent-the-indieweb/",
"photo": [
"https://res.cloudinary.com/schmarty/image/fetch/w_960,c_fill/https://gregorlove.com/site/assets/files/5812/ew5auntvaaaf0wl.1000x0-is.jpg"
],
"author": {
"type": "card",
"name": "gregorlove.com",
"url": "http://gregorlove.com",
"photo": null
},
"post-type": "photo"
}
},
"_id": "11259421",
"_source": "175",
"_is_read": true
}