{
"type": "entry",
"published": "2019-10-13T16:55:24-04:00",
"url": "https://david.shanske.com/2019/10/13/wordpress-webmentions-plugin-version-4-0-0-released/",
"syndication": [
"https://news.indieweb.org/en/david.shanske.com/2019/10/13/wordpress-webmentions-plugin-version-4-0-0-released/",
"https://twitter.com/dshanske/status/1183486701479628800"
],
"name": "WordPress Webmentions Plugin Version 4.0.0 Released",
"content": {
"text": "It has been a long while since a major release of webmentions, and it is not the end of the plans we have. It is merely the first step.\nIn the lastest version, several useful features were added.\nInstead of an option to enable webmention support for pages, the plugin now let\u2019s you select the option to declare support for any public post type. This means, by default, you can add support to Media(attachments)\nFor outgoing webmentions, the plugin will now only send actual links, not plaintext URLs in content. It will not send webmentions for media files linked to in img tags or such unless you set this setting. Most sites don\u2019t support receiving them directly to the file anyway.\nAvatar Support was previously handled by the Semantic Linkbacks plugin. A new implementation of this was added to this plugin and a version of Semantic Linkbacks will be released that will disable its handling if this is enabled.\nThe new avatar support allows for either a URL or an attachment ID.\nFor webmentions without an email address, it will serve a local anonymous avatar(a copy of the WordPress default avatar) rather than asking for one from Gravatar.\nIf there is an email address, it will cache whether there is a gravatar for a defined period of time\u2026defaultly one week and if not serve the local file as well. This reduces unneeded calls to gravatar.\nWebmention endpoint headers are now only available on URLs on the site that support them. You can disable this and show on all pages. Caching has been enabled to ensure this doesn\u2019t slow page load.\nMisc improvements to the settings and metadata templates in the admin.\nThis is all part of a longer project to migrate features from Semantic Linkbacks over to Webmentions. But both plugins are several years old, and therefore it will take time to do it right. The goal is to upgrade, improve, and sometimes completely rewrite each part as it comes over, rather than merge the older code together and fix some of the issues subsequently.\nThe minimum PHP version for Webmentions is now PHP5.4, to accommodate the current official minimum of PHP-MF2, which will be merged in future when the microformats parsing is migrated to this plugin.",
"html": "It has been a long while since a major release of webmentions, and it is not the end of the plans we have. It is merely the first step.\n<p>In the lastest version, several useful features were added.</p>\n<ul><li>Instead of an option to enable webmention support for pages, the plugin now let\u2019s you select the option to declare support for any public post type. This means, by default, you can add support to Media(attachments)</li>\n<li>For outgoing webmentions, the plugin will now only send actual links, not plaintext URLs in content. It will not send webmentions for media files linked to in img tags or such unless you set this setting. Most sites don\u2019t support receiving them directly to the file anyway.</li>\n<li>Avatar Support was previously handled by the Semantic Linkbacks plugin. A new implementation of this was added to this plugin and a version of Semantic Linkbacks will be released that will disable its handling if this is enabled.</li>\n<li>The new avatar support allows for either a URL or an attachment ID.</li>\n<li>For webmentions without an email address, it will serve a local anonymous avatar(a copy of the WordPress default avatar) rather than asking for one from Gravatar.</li>\n<li>If there is an email address, it will cache whether there is a gravatar for a defined period of time\u2026defaultly one week and if not serve the local file as well. This reduces unneeded calls to gravatar.</li>\n<li>Webmention endpoint headers are now only available on URLs on the site that support them. You can disable this and show on all pages. Caching has been enabled to ensure this doesn\u2019t slow page load.</li>\n<li>Misc improvements to the settings and metadata templates in the admin.</li>\n</ul><p>This is all part of a longer project to migrate features from Semantic Linkbacks over to Webmentions. But both plugins are several years old, and therefore it will take time to do it right. The goal is to upgrade, improve, and sometimes completely rewrite each part as it comes over, rather than merge the older code together and fix some of the issues subsequently.</p>\n<p>The minimum PHP version for Webmentions is now PHP5.4, to accommodate the current official minimum of PHP-MF2, which will be merged in future when the microformats parsing is migrated to this plugin.</p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/author/dshanske/",
"photo": "https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-49.png"
},
"post-type": "article",
"_id": "5704401",
"_source": "1905"
}
{
"type": "entry",
"published": "2019-10-07T13:38:00-04:00",
"url": "https://david.shanske.com/2019/10/07/thinking-about-time/",
"name": "Thinking about Time",
"content": {
"text": "One of my projects over the last few weeks was to improve my code related to time and location.\nPart of going into this code, aside from normally doing the rounds of updates & bugfixes on my projects was because WordPress introduced some new functions to better handle date and time functionality. I backported them into my code and adopted them and added several based on the new methodology. \nThe time handling functionality in my Simple Location plugin started in 2015. I was in a timezone 7 hours later than home, and didn\u2019t like my posts were showing 3AM\u2026it completely changed the context of the post. So, I not only added to my site the timezone, but I wrote the code to transform the post\u2019s time based on a per post setting that would be derived from the post\u2019s location(functionality provided by the plugin already).\nIf you look at my recent posts, you\u2019d see this adjustment, as I just fixed a few bugs in it. My California posts say PDT, as opposed to my normal EDT.\nI also added a widget to my site that can show the current time where I am.\nHow I can take this further? So, I spent time at IWC NYC learning about sunrise and sunset. PHP, the language WordPress is written in, has built in functions for calculating sunrise and sunset\u2026but it turns out that they don\u2019t properly factor in elevation\u2026which means that the visible sunrise and sunset could be off by as much as 2 minutes. My code does actually derive elevation from an API, so it can make the adjustment. \nBeing that type of astronomy and math is not my area of expertise, I had to do some reading. And now, with some modifications, my code is now a bit more accurate.\nSo, why is sunrise and sunset important? I wouldn\u2019t mind my site changing based on time day, but it is mostly that in the Jewish calendar, observances begin at sunset, not midnight. So, I want to be able to account for that.\nThere are some plugins for calculations, but not with the location based goal I have\u2026it is usually to show the start of holidays and such at a specific location, not to follow me around where I am. So, I want to incorporate work off of this. It makes for an interesting challenge.\nThere is always more to do. A new Simple Location should be out in the coming days/week and I\u2019ll post about the features.",
"html": "One of my projects over the last few weeks was to improve my code related to time and location.\n<p>Part of going into this code, aside from normally doing the rounds of updates & bugfixes on my projects was because WordPress introduced some new functions to better handle date and time functionality. I backported them into my code and adopted them and added several based on the new methodology. </p>\n<p>The time handling functionality in my Simple Location plugin started in 2015. I was in a timezone 7 hours later than home, and didn\u2019t like my posts were showing 3AM\u2026it completely changed the context of the post. So, I not only added to my site the timezone, but I wrote the code to transform the post\u2019s time based on a per post setting that would be derived from the post\u2019s location(functionality provided by the plugin already).</p>\n<p>If you look at my recent posts, you\u2019d see this adjustment, as I just fixed a few bugs in it. My California posts say PDT, as opposed to my normal EDT.</p>\n<p>I also added a widget to my site that can show the current time where I am.</p>\n<p>How I can take this further? So, I spent time at IWC NYC learning about sunrise and sunset. PHP, the language WordPress is written in, has built in functions for calculating sunrise and sunset\u2026but it turns out that they don\u2019t properly factor in elevation\u2026which means that the visible sunrise and sunset could be off by as much as 2 minutes. My code does actually derive elevation from an API, so it can make the adjustment. </p>\n<p>Being that type of astronomy and math is not my area of expertise, I had to do some reading. And now, with some modifications, my code is now a bit more accurate.</p>\n<p>So, why is sunrise and sunset important? I wouldn\u2019t mind my site changing based on time day, but it is mostly that in the Jewish calendar, observances begin at sunset, not midnight. So, I want to be able to account for that.</p>\n<p>There are some plugins for calculations, but not with the location based goal I have\u2026it is usually to show the start of holidays and such at a specific location, not to follow me around where I am. So, I want to incorporate work off of this. It makes for an interesting challenge.</p>\n<p>There is always more to do. A new Simple Location should be out in the coming days/week and I\u2019ll post about the features.</p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/author/dshanske/",
"photo": "https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-49.png"
},
"post-type": "article",
"_id": "5704403",
"_source": "1905"
}
{
"type": "entry",
"published": "2019-10-07T13:11:00-04:00",
"url": "https://david.shanske.com/2019/10/07/2999/",
"content": {
"text": "Had fun at IWC NYC this weekend. Still working on a variety of different things that came up there."
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/author/dshanske/",
"photo": "https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-49.png"
},
"post-type": "note",
"_id": "5704404",
"_source": "1905"
}
{
"type": "entry",
"published": "2019-10-06T23:30:48-04:00",
"url": "https://david.shanske.com/2019/10/06/playing-with-image-tagging-for-workflow/",
"name": "Playing with Image Tagging for Workflow",
"content": {
"text": "At IndieWebCamp NYC this weekend, the discussion came up regarding workflow of saving various things. Media was one of them, particularly photos.\nNow, in more recent years, my photography has moved from a digital camera to a cell phone. I just recently bought tools to better hold my cell phone when taking a lot of pictures and I enjoy taking pictures.\nOne of the issues has been with documenting the photos. Not everyone will I post online. Photos taken digitally will have a date, details of the hardware, and if with a cell phone, a location embedded(if that is turned on), but not notes on what it is.\nI already had a rather complex app that allowed me to edit all embedded metadata on photos, but I found a simple one that only allowed editing 4 fields\u2026namely title and author, and included bulk editing options.\nI then, at the camp, fixed some issues that would pull that information out of a photo when uploaded and use it as the title and/or caption in the backend.\nThe problem is multi-fold. For one, will I actually label photos on my phone? Secondly, I upload to multiple places automatically\u2026I\u2019m not sure if the changes would sync before or after the automatic upload.\nGlad that I am trying this, but more to figure out before it works.",
"html": "At IndieWebCamp NYC this weekend, the discussion came up regarding workflow of saving various things. Media was one of them, particularly photos.\n<p>Now, in more recent years, my photography has moved from a digital camera to a cell phone. I just recently bought tools to better hold my cell phone when taking a lot of pictures and I enjoy taking pictures.</p>\n<p>One of the issues has been with documenting the photos. Not everyone will I post online. Photos taken digitally will have a date, details of the hardware, and if with a cell phone, a location embedded(if that is turned on), but not notes on what it is.</p>\n<p>I already had a rather complex app that allowed me to edit all embedded metadata on photos, but I found a simple one that only allowed editing 4 fields\u2026namely title and author, and included bulk editing options.</p>\n<p>I then, at the camp, fixed some issues that would pull that information out of a photo when uploaded and use it as the title and/or caption in the backend.</p>\n<p>The problem is multi-fold. For one, will I actually label photos on my phone? Secondly, I upload to multiple places automatically\u2026I\u2019m not sure if the changes would sync before or after the automatic upload.</p>\n<p>Glad that I am trying this, but more to figure out before it works.</p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/author/dshanske/",
"photo": "https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-49.png"
},
"post-type": "article",
"_id": "5704405",
"_source": "1905"
}
{
"type": "entry",
"published": "2019-09-24T14:29:00-07:00",
"url": "https://david.shanske.com/2019/09/24/2992/",
"syndication": [
"https://twitter.com/dshanske/status/1176609671853092864"
],
"content": {
"text": "I\u2019ve Got a Golden Ticket from Willy Wonka and the Chocolate Factory l, performed by Jack Albertson just came up on shuffle. I always enjoy this song."
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/author/dshanske/",
"photo": "https://david.shanske.com/wp-content/uploads/avatar-privacy/cache/gravatar/2/c/2cb1f8afd9c8d3b646b4071c5ed887c970d81d625eeed87e447706940e2c403d-49.png"
},
"post-type": "note",
"_id": "5704408",
"_source": "1905"
}
{
"type": "entry",
"published": "2019-10-20T07:44:39+00:00",
"url": "https://twitter.com/jackyalcine/status/1185824133155737600",
"quotation-of": "https://twitter.com/marthasjones_/status/1185493250007883776",
"content": {
"text": "This is why English is a trash language"
},
"author": {
"type": "card",
"name": "jackyalcine really couldn't give a fuck",
"url": "https://twitter.com/jackyalcine",
"photo": "https://pbs.twimg.com/profile_images/1184322969549582336/T7KtYdaZ.jpg"
},
"post-type": "note",
"refs": {
"https://twitter.com/marthasjones_/status/1185493250007883776": {
"type": "entry",
"published": "2019-10-19T09:49:50+00:00",
"url": "https://twitter.com/marthasjones_/status/1185493250007883776",
"content": {
"text": "\u201c... it appears Mr. Cummings may be the first African-American lawmaker to lie in state in the Capitol.\u201d nytimes.com/2019/10/18/us/\u2026",
"html": "\u201c... it appears Mr. Cummings may be the first African-American lawmaker to lie in state in the Capitol.\u201d <a href=\"https://www.nytimes.com/2019/10/18/us/politics/elijah-cummings-capitol.html\">nytimes.com/2019/10/18/us/\u2026</a>"
},
"author": {
"type": "card",
"name": "Martha S. Jones, JD, PhD",
"url": "https://twitter.com/marthasjones_",
"photo": "https://pbs.twimg.com/profile_images/1035622172612427776/1qJd1jqX.jpg"
},
"post-type": "note"
}
},
"_id": "5702892",
"_source": "2773"
}
{
"type": "entry",
"published": "2019-10-20T07:07:50+00:00",
"url": "https://twitter.com/gRegorLove/status/1185814869267775489",
"quotation-of": "https://twitter.com/fuckthem00n/status/1185288927579648002",
"content": {
"text": "My first reading of this I thought \"drawing\" like with a pencil. I can't decide which version I like better now."
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://twitter.com/gRegorLove",
"photo": "https://pbs.twimg.com/profile_images/714490697764716545/je7VCyLC.jpg"
},
"post-type": "note",
"refs": {
"https://twitter.com/fuckthem00n/status/1185288927579648002": {
"type": "entry",
"published": "2019-10-18T20:17:56+00:00",
"url": "https://twitter.com/fuckthem00n/status/1185288927579648002",
"content": {
"text": "boss: i found your twitter\n\nme: oh\n\nboss: you want to kill the moon\n\nme: erm...yes\n\nboss: [drawing gun] im in"
},
"author": {
"type": "card",
"name": "fuck the moon",
"url": "https://twitter.com/fuckthem00n",
"photo": "https://pbs.twimg.com/profile_images/1185255611753209856/oJAvdlkT.jpg"
},
"post-type": "note"
}
},
"_id": "5702801",
"_source": "2773"
}
{
"type": "entry",
"published": "2019-10-20T05:07:44+00:00",
"url": "https://twitter.com/andigalpern/status/1185784645364830208",
"photo": [
"https://pbs.twimg.com/media/EHTA2T-U8AAJPD_.jpg",
"https://pbs.twimg.com/media/EHTA2UmUYAEV-yk.jpg"
],
"content": {
"text": "I didn\u2019t realize it until recently, but I think I\u2019m a gamer. Pinball is a game and I play a lot of it."
},
"author": {
"type": "card",
"name": "Andi Galpern",
"url": "https://twitter.com/andigalpern",
"photo": "https://pbs.twimg.com/profile_images/1162560868543893504/uo_XA_EA.jpg"
},
"post-type": "photo",
"_id": "5702373",
"_source": "2773"
}
{
"type": "entry",
"published": "2019-10-20T05:04:18+00:00",
"url": "https://twitter.com/andigalpern/status/1185783777793986560",
"content": {
"text": "I have jet lag and I\u2019m winding down at 10pm because it feels like midnight. \n\nFriends: What time do you go to sleep on weekends?"
},
"author": {
"type": "card",
"name": "Andi Galpern",
"url": "https://twitter.com/andigalpern",
"photo": "https://pbs.twimg.com/profile_images/1162560868543893504/uo_XA_EA.jpg"
},
"post-type": "note",
"_id": "5702374",
"_source": "2773"
}
{
"type": "entry",
"published": "2019-10-20T04:34:12+00:00",
"url": "https://twitter.com/jackyalcine/status/1185776204227366912",
"content": {
"text": "It's community night over in @Drunkn_Buddha's stream! We sipping and playing @Jackbox games! twitch.tv/drunkn_buddha",
"html": "It's community night over in <a href=\"https://twitter.com/Drunkn_Buddha\">@Drunkn_Buddha</a>'s stream! We sipping and playing <a href=\"https://twitter.com/JackBox\">@Jackbox</a> games! <a href=\"https://www.twitch.tv/drunkn_buddha\">twitch.tv/drunkn_buddha</a>"
},
"author": {
"type": "card",
"name": "jackyalcine really couldn't give a fuck",
"url": "https://twitter.com/jackyalcine",
"photo": "https://pbs.twimg.com/profile_images/1184322969549582336/T7KtYdaZ.jpg"
},
"post-type": "note",
"_id": "5702296",
"_source": "2773"
}
{
"type": "entry",
"published": "2019-10-20T03:03:07+00:00",
"url": "https://twitter.com/jackyalcine/status/1185753283090157569",
"photo": [
"https://pbs.twimg.com/media/EHSkUbtXkAcKTdh.jpg",
"https://pbs.twimg.com/media/EHSkUlrXkAIaMZ1.jpg",
"https://pbs.twimg.com/media/EHSkUvbX4AABDKg.jpg",
"https://pbs.twimg.com/media/EHSkU67W4AA0MlU.jpg"
],
"content": {
"text": "Got a chance to meet Raden IRL and he bodied me son #AfroComicCon (v2.jacky.wtf/post/0239bc40-\u2026)",
"html": "Got a chance to meet Raden IRL and he bodied me son <a href=\"https://twitter.com/search?q=%23AfroComicCon\">#AfroComicCon</a> (<a href=\"https://v2.jacky.wtf/post/0239bc40-5229-4d45-840b-1c3c23fba0c9\">v2.jacky.wtf/post/0239bc40-\u2026</a>)"
},
"author": {
"type": "card",
"name": "jackyalcine is stressed tbh",
"url": "https://twitter.com/jackyalcine",
"photo": "https://pbs.twimg.com/profile_images/1184322969549582336/T7KtYdaZ.jpg"
},
"post-type": "photo",
"_id": "5701919",
"_source": "2773"
}