{"id":5738,"date":"2017-09-09T22:59:12","date_gmt":"2017-09-09T21:59:12","guid":{"rendered":"http:\/\/johnjohnston.info\/blog\/?p=5738"},"modified":"2017-09-09T22:59:12","modified_gmt":"2017-09-09T21:59:12","slug":"exiting-audioboom-part-1","status":"publish","type":"post","link":"https:\/\/johnjohnston.info\/blog\/exiting-audioboom-part-1\/","title":{"rendered":"Exiting audioboo(m) part 1"},"content":{"rendered":"<p>AudioBoom is closing its free tier:<\/p>\n<blockquote><p>If you take no action, then after 2nd October 2017, you will no longer be able to upload new content and your account will become private. We will continue to enable distribution of your existing content for a period of a month so all your RSS feeds and web embeds will continue to work for that period. If you choose to move to another podcast provider, let us know by emailing us at support@audioboom.com and we will redirect your RSS feeds for you. We\u2019ll need at least 5 working days to comply with your request. After 36 months from 30th August 2017, your account will be deleted (including your old podcasts and your RSS feeds, so we recommend that you arrange for redirection of your RSS feeds, download your old podcasts and back them up elsewhere, before that period expires.<\/p><\/blockquote>\n<p>from: <a href=\"https:\/\/audioboom.com\/about\/channel_subscription_changes\">Subscription Changes<\/a><\/p>\n<p>Which is depressing news for me and for <a href=\"http:\/\/edutalk.info\">Edutalk<\/a>. I have 50 odd boos which range over field recording, audio recorded for Edutalk and some microcast type posts. Edutalk has had several hundred contributions from many different people over the years.<\/p>\n<p>The situation at Edutalk is more worrying. I could pay $9.99 a month to keep my own account alive. But Edutalk has had contributions from many different people, we could not expect them to pay up for the privilege of having their content syndicated onto Edutalk.<\/p>\n<p>AudioBoom did not provide any export that would help with importing into WordPress (or anything else). This differs from the posterous closedown which did give a WordPress export option.<\/p>\n<p>We do have a while to sort this out. There is a month until the accounts become private.<\/p>\n<p>AudioBoom does have an API, and <a title=\"EDUtalk, post posterous part 1 |\" href=\"http:\/\/johnjohnston.info\/blog\/edutalk-post-posterous-part-1\/\">we used it before<\/a>.<\/p>\n<p>I am not intending to rush, so this is the plan.<\/p>\n<ol>\n<li>Download the information about the posts using the API<\/li>\n<li>Download all the mp3s by parsing the JSON the api provides.<\/li>\n<li>Delete all the posts on edutalk that have been syndicated from AudioBoom.<\/li>\n<li>Upload all the mp3s<\/li>\n<li>Create posts that embed all these mp3s with the matching titles and descriptions etc.<\/li>\n<\/ol>\n<p>Today I managed to download the json files and the mp3 I used AppleScript as I find it easier to get stuff done with that than pure shell scripting.<\/p>\n<p>Thank goodness for the <a href=\"https:\/\/itunes.apple.com\/gb\/app\/json-helper-for-applescript\/id453114608?mt=12\">JSON helper for AppleScript<\/a> which worked a treat.<\/p>\n<p>I&#8217;ve put the script here:<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style>\n<div style=\"tab-size: 8\" id=\"gist77682007\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container\">\n<div id=\"file-downloadboos-scpt\" class=\"file my-2\">\n<div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-applescript  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"downloadboos.scpt content, created by troutcolor on 11:50AM on September 09, 2017.\"\n    ><\/p>\n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n<p>  <template class=\"js-file-alert-template\"><\/p>\n<div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n    <span><br \/>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br \/>\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a><br \/>\n    <\/span><\/p>\n<div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters<br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><\/template><br \/>\n<template class=\"js-line-alert-template\"><br \/>\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\"><br \/>\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n<\/span><\/template><\/p>\n<table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"downloadboos.scpt\">\n<tr>\n<td id=\"file-downloadboos-scpt-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n<td id=\"file-downloadboos-scpt-LC1\" class=\"blob-code blob-code-inner js-file-line\">set downloadfolder to &quot;\/Users\/john\/Desktop\/audioboom\/edutalk\/&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n<td id=\"file-downloadboos-scpt-LC2\" class=\"blob-code blob-code-inner js-file-line\">&#8211;so this next bit could be a loop but doing it manual was not much of a hassle<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n<td id=\"file-downloadboos-scpt-LC3\" class=\"blob-code blob-code-inner js-file-line\">set pagecount to 9<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n<td id=\"file-downloadboos-scpt-LC4\" class=\"blob-code blob-code-inner js-file-line\">set tag to &quot;edutalk&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n<td id=\"file-downloadboos-scpt-LC5\" class=\"blob-code blob-code-inner js-file-line\">set itemcount to 100<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n<td id=\"file-downloadboos-scpt-LC6\" class=\"blob-code blob-code-inner js-file-line\">tell application &quot;JSON Helper&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L7\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n<td id=\"file-downloadboos-scpt-LC7\" class=\"blob-code blob-code-inner js-file-line\">\tset bURL to &quot;https:\/\/api.audioboom.com\/tag\/&quot; &amp; tag &amp; &quot;\/audio_clips?page[items]=&quot; &amp; itemcount &amp; &quot;&amp;page[number]=&quot; &amp; pagecount<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L8\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n<td id=\"file-downloadboos-scpt-LC8\" class=\"blob-code blob-code-inner js-file-line\">\tset boos to fetch JSON from bURL<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L9\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n<td id=\"file-downloadboos-scpt-LC9\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L10\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n<td id=\"file-downloadboos-scpt-LC10\" class=\"blob-code blob-code-inner js-file-line\">\tset myFile to open for access &quot;Macintosh HD:Users:john:Desktop:audioboom:edutalk_&quot; &amp; pagecount &amp; &quot;.json&quot; with write permission<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L11\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n<td id=\"file-downloadboos-scpt-LC11\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L12\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n<td id=\"file-downloadboos-scpt-LC12\" class=\"blob-code blob-code-inner js-file-line\">\tset boohoo to make JSON from boos<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L13\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n<td id=\"file-downloadboos-scpt-LC13\" class=\"blob-code blob-code-inner js-file-line\">\twrite boohoo to myFile<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L14\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n<td id=\"file-downloadboos-scpt-LC14\" class=\"blob-code blob-code-inner js-file-line\">\tclose access myFile<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L15\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n<td id=\"file-downloadboos-scpt-LC15\" class=\"blob-code blob-code-inner js-file-line\">\t\tset imageCount to count of audio_clips of body of boos<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L16\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n<td id=\"file-downloadboos-scpt-LC16\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L17\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n<td id=\"file-downloadboos-scpt-LC17\" class=\"blob-code blob-code-inner js-file-line\">\tset mp3urls to {}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L18\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n<td id=\"file-downloadboos-scpt-LC18\" class=\"blob-code blob-code-inner js-file-line\">\trepeat with boo in audio_clips of body of boos<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L19\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n<td id=\"file-downloadboos-scpt-LC19\" class=\"blob-code blob-code-inner js-file-line\">\t\tset end of mp3urls to high_mp3 of urls of boo<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L20\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n<td id=\"file-downloadboos-scpt-LC20\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L21\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n<td id=\"file-downloadboos-scpt-LC21\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L22\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n<td id=\"file-downloadboos-scpt-LC22\" class=\"blob-code blob-code-inner js-file-line\">\tend repeat<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L23\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n<td id=\"file-downloadboos-scpt-LC23\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L24\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n<td id=\"file-downloadboos-scpt-LC24\" class=\"blob-code blob-code-inner js-file-line\">end tell<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L25\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n<td id=\"file-downloadboos-scpt-LC25\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L26\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n<td id=\"file-downloadboos-scpt-LC26\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L27\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n<td id=\"file-downloadboos-scpt-LC27\" class=\"blob-code blob-code-inner js-file-line\">repeat with mp3 in mp3urls<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L28\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n<td id=\"file-downloadboos-scpt-LC28\" class=\"blob-code blob-code-inner js-file-line\">\tset cmd to &quot;curl -L &quot; &amp; mp3 &amp; &quot; &gt; &quot; &amp; downloadfolder &amp; filenamefromurl(mp3)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L29\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n<td id=\"file-downloadboos-scpt-LC29\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L30\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n<td id=\"file-downloadboos-scpt-LC30\" class=\"blob-code blob-code-inner js-file-line\">\tdo shell script cmd<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L31\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n<td id=\"file-downloadboos-scpt-LC31\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L32\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n<td id=\"file-downloadboos-scpt-LC32\" class=\"blob-code blob-code-inner js-file-line\">end repeat<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L33\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n<td id=\"file-downloadboos-scpt-LC33\" class=\"blob-code blob-code-inner js-file-line\">return cmd<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L34\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n<td id=\"file-downloadboos-scpt-LC34\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L35\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n<td id=\"file-downloadboos-scpt-LC35\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L36\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n<td id=\"file-downloadboos-scpt-LC36\" class=\"blob-code blob-code-inner js-file-line\">on filenamefromurl(theurl)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L37\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n<td id=\"file-downloadboos-scpt-LC37\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L38\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n<td id=\"file-downloadboos-scpt-LC38\" class=\"blob-code blob-code-inner js-file-line\">\tset s to &quot;url=\\&quot;&quot; &amp; theurl &amp; &quot;\\&quot;; echo \\&quot;${url##*\/}\\&quot;&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L39\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n<td id=\"file-downloadboos-scpt-LC39\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L40\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n<td id=\"file-downloadboos-scpt-LC40\" class=\"blob-code blob-code-inner js-file-line\">\treturn do shell script s<\/td>\n<\/tr>\n<tr>\n<td id=\"file-downloadboos-scpt-L41\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n<td id=\"file-downloadboos-scpt-LC41\" class=\"blob-code blob-code-inner js-file-line\">end filenamefromurl<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/troutcolor\/bcfad4dff0000f3781f5c32f88657883\/raw\/227dba48a15b56a9b136aa06ccd1d411234eef1a\/downloadboos.scpt\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a><br \/>\n        <a href=\"https:\/\/gist.github.com\/troutcolor\/bcfad4dff0000f3781f5c32f88657883#file-downloadboos-scpt\" class=\"Link--inTextBlock\"><br \/>\n          downloadboos.scpt<br \/>\n        <\/a><br \/>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>in case anyone is interested.<\/p>\n<p>I had to run it 10 times, I guess I could have just made a loop but as I ended up downloading 890 mp3 for a total of 2.6 GB batches of 100 files at a time seemed like a good idea.<\/p>\n<p>I am a wee bit worried that there are 2186 posts syndicated from audioboo on the Edutalk site, but there does seem to be a lot of duplication presumably caused by FeedWordPress.<\/p>\n<h3>Next Steps<\/h3>\n<p>I&#8217;ve now got all of the data and the mp3 files I can get.<\/p>\n<p>I know how to post to WordPress from AppleScript, but I&#8217;ve discovered a couple of hurdles. I don&#8217;t seem to be able to add an enclosure with AppleScript and I can&#8217;t see how to ad multiple tags to a post.<\/p>\n<p>The first is probably not a problem. These posts are all so old that they will not feature in our RSS feed. I would like to include all of the tags. I may end up creating a WordPress export file or try one of the csv import plugins. There is now not such a rush. I can test these approaches on this blog with my own boos.<\/p>\n<p>I guess the main lesson to be learnt here is about the temporary nature of the free layer of the web. The AudioBoo app and service were wonderful in their day but reliance on free services costs.<\/p>\n<p>The featured images is a gif captured with Licecap, of a mp3 download.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AudioBoom is closing its free tier: If you take no action, then after 2nd October 2017, you will no longer be able to upload new content and your account will become private. We will continue to enable distribution of your existing content for a period of a month so all your RSS feeds and web [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5739,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"webmentions_disabled_pings":false,"webmentions_disabled":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[660,6],"tags":[93,726,522],"post_format":[],"class_list":{"0":"post-5738","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-micro","8":"category-wwwd","9":"tag-applescript","10":"tag-audioboom","11":"tag-indieweb","12":"kind-article","14":"h-entry","15":"hentry"},"better_featured_image":{"id":5739,"alt_text":"","caption":"","description":"","media_type":"image","media_details":{"width":551,"height":306,"file":"2017\/09\/audioboo-dl.gif","sizes":{"thumbnail":{"file":"audioboo-dl-150x150.gif","width":150,"height":150,"mime-type":"image\/gif","source_url":"https:\/\/johnjohnston.info\/blog\/wp-content\/uploads\/2017\/09\/audioboo-dl-150x150.gif"},"rpwe-thumbnail":{"file":"audioboo-dl-45x45.gif","width":45,"height":45,"mime-type":"image\/gif","source_url":"https:\/\/johnjohnston.info\/blog\/wp-content\/uploads\/2017\/09\/audioboo-dl-45x45.gif"},"jetpack-portfolio-admin-thumb":{"file":"audioboo-dl-50x50.gif","width":50,"height":50,"mime-type":"image\/gif","source_url":"https:\/\/johnjohnston.info\/blog\/wp-content\/uploads\/2017\/09\/audioboo-dl-50x50.gif"}},"image_meta":{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0","keywords":[]}},"post":5738,"source_url":"https:\/\/johnjohnston.info\/blog\/wp-content\/uploads\/2017\/09\/audioboo-dl.gif"},"jetpack_featured_media_url":"https:\/\/johnjohnston.info\/blog\/wp-content\/uploads\/2017\/09\/audioboo-dl.gif","jetpack_shortlink":"https:\/\/wp.me\/p57zFQ-1uy","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"kind":false,"_links":{"self":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/5738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/comments?post=5738"}],"version-history":[{"count":2,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/5738\/revisions"}],"predecessor-version":[{"id":5741,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/5738\/revisions\/5741"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/media\/5739"}],"wp:attachment":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/media?parent=5738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/categories?post=5738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/tags?post=5738"},{"taxonomy":"post_format","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/post_format?post=5738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}