{"id":73093,"date":"2023-07-13T11:02:52","date_gmt":"2023-07-13T18:02:52","guid":{"rendered":"https:\/\/github.blog\/?p=73093"},"modified":"2023-07-13T12:56:24","modified_gmt":"2023-07-13T19:56:24","slug":"decoding-conventions","status":"publish","type":"post","link":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/","title":{"rendered":"(De)coding conventions"},"content":{"rendered":"<p><em>Subscribe to <a href=\"https:\/\/gh.io\/AAkt3lf\">The ReadME Podcast<\/a> on <a href=\"https:\/\/podcasts.apple.com\/us\/podcast\/the-readme-podcast\/id1567016194\">Apple Podcasts<\/a>, <a href=\"https:\/\/open.spotify.com\/show\/660KitvdJDX2vUmioAbwSQ\">Spotify<\/a>, or wherever you listen to podcasts.<\/em><\/p>\n<blockquote><p>\u201cYou can have programs that type check and still throw type errors, while programs that TypeScript finds fault with might not throw type errors. Although these situations are edge cases and relatively rare, they do occur. Generally, when confronted with such caveats, the typical response is, \u2018Well, it&#8217;s sufficient for my use case.\u2019 While this is a valid decision to make, it is important to bear in mind that this remains a potential disadvantage to consider.\u201d<\/p><\/blockquote>\n<p>That&#8217;s a quote from prolific open source maintainer, Jordan Harband, on July&#8217;s episode of The ReadME Podcast. Jordan believes that adding type checking, like TypeScript, introduces complexity to your code base, placing additional demands on developers to comprehend and maintain the code. When errors are unclear or inaccurate, it can consume a significant amount of time and, crucially, mental energy to stop what you were doing, diagnose the issue, and then proceed.<\/p>\n<p>Of course, TypeScript\u2019s growth in popularity might beg to disagree.<\/p>\n<p>The ReadME Podcast\u2019s July episode examines the ebbing tides of programming paradigms and how the development community responds to these cycles. GitHub Senior Editor, Mike Melanson, joins the podcast to discuss his newly published featured story titled, \u201c<a href=\"https:\/\/github.com\/readme\/featured\/typescript-gradual-types\">TypeScript and the dawn of gradual types<\/a>,\u201d outlining the evolution of the JavaScript ecosystem, the rise of TypeScript, and the shift toward gradual typing. Later, we hear from Aaron Gustafson, Principal Accessibility Innovation Strategist at Microsoft, as he discusses the potential for AI to revolutionize internet accessibility and highlights initiatives that are already in place to guide this progress.<\/p>\n<p>We also hear from Kingsley Mkpandiok, Open Source Design Advocate and UX Designer, as he answers a user-submitted question on encouraging <a href=\"https:\/\/github.com\/readme\/featured\/open-source-non-code-contributions\">non-code contributions<\/a>. Kingsley believes that inclusivity in the open source ecosystem means valuing all skills. No matter how small or unrelated your abilities may seem, they can still significantly contribute to improving a project.<\/p>\n<p>Catch all these stories and more in this month&#8217;s episode of The ReadME Podcast.<\/p>\n<div data-target=\"content-table-wrap.container\" class=\"content-table-wrap\"><content-table-wrap><table>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/github.com\/readme\/podcast\/decoding-conventions\">(De)coding conventions<\/a><\/td>\n<td>The evolution of TypeScript and the future of coding conventions, AI\u2019s role in improving accessibility, and practical advice on encouraging non-code contributions.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/readme\/podcast\/code-and-community\">Bridging code and community<\/a><\/td>\n<td>Navigating open source in a regulated environment, the crucial role of non-code contributions to open source success, and lessons from scaling projects like Kubernetes.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/readme\/podcast\/kelsey-hightower\">Kelsey Hightower\u2014Present<\/a><\/td>\n<td>In this special episode, Kelsey shares his origin story, insights on the future of Kubernetes, and advice on making complicated technology easier to understand.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/readme\/podcast\/open-closed-equilibrium\">The open\/closed equilibrium<\/a><\/td>\n<td>Striking a balance between openness and control in open source projects, preserving the integrity of community insights, and how humor can transform communities.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/content-table-wrap><\/div>\n<p>Next month, we&#8217;ll be venturing outside the hype cycle to highlight a programming community that\u2019s making the most of a vanguard technology. Make sure to <a href=\"https:\/\/github.com\/readme\/podcast\">subscribe to The ReadME Podcast<\/a> on Apple Podcasts, Spotify, or your preferred podcast platform to stay up to date!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript&#8217;s rise, to AI&#8217;s role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more.<\/p>\n","protected":false},"author":1778,"featured_media":73095,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"no","_gh_post_is_no_robots":"no","_gh_post_is_featured":"no","_gh_post_is_excluded":"no","_gh_post_is_unlisted":"no","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/1080x1080-ReadMe-IG_Post-ImageOnly-Typescript_Featured-Article.png","_gh_post_sq_img_id":"73108","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"Click Here to Learn More","_gh_post_recirc_hide":"no","_gh_post_recirc_col_1":"gh-auto-select","_gh_post_recirc_col_2":"65301","_gh_post_recirc_col_3":"65308","_gh_post_recirc_col_4":"65316","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[3332,67],"tags":[1960],"coauthors":[2444,2344],"class_list":["post-73093","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-maintainers","category-open-source","tag-the-readme-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>(De)coding conventions - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript&#039;s rise, to AI&#039;s role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"(De)coding conventions\" \/>\n<meta property=\"og:description\" content=\"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript&#039;s rise, to AI&#039;s role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-13T18:02:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-13T19:56:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Martin Woodward, Neha Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/martinwoodward\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Woodward, Neha Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/\"},\"author\":{\"name\":\"Martin Woodward\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/91e904d15dcf4d0429c01e53b5c8890e\"},\"headline\":\"(De)coding conventions\",\"datePublished\":\"2023-07-13T18:02:52+00:00\",\"dateModified\":\"2023-07-13T19:56:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/\"},\"wordCount\":501,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260\",\"keywords\":[\"The ReadME Project\"],\"articleSection\":[\"Maintainers\",\"Open Source\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/\",\"name\":\"(De)coding conventions - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260\",\"datePublished\":\"2023-07-13T18:02:52+00:00\",\"dateModified\":\"2023-07-13T19:56:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/91e904d15dcf4d0429c01e53b5c8890e\"},\"description\":\"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript's rise, to AI's role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260\",\"width\":2400,\"height\":1260,\"caption\":\"Image of Newton's cradle\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/decoding-conventions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Open Source\",\"item\":\"https:\\\/\\\/github.blog\\\/open-source\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Maintainers\",\"item\":\"https:\\\/\\\/github.blog\\\/open-source\\\/maintainers\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"(De)coding conventions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/91e904d15dcf4d0429c01e53b5c8890e\",\"name\":\"Martin Woodward\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=gd2dd56ead97b672d2d5f111b29b1888a\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=g\",\"caption\":\"Martin Woodward\"},\"description\":\"VP of Developer Relations\",\"sameAs\":[\"https:\\\/\\\/github.com\\\/martinwoodward\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/martinwoodward\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/martinwoodward\"],\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/martinwoodward\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"(De)coding conventions - The GitHub Blog","description":"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript's rise, to AI's role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/","og_locale":"en_US","og_type":"article","og_title":"(De)coding conventions","og_description":"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript's rise, to AI's role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more","og_url":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/","og_site_name":"The GitHub Blog","article_published_time":"2023-07-13T18:02:52+00:00","article_modified_time":"2023-07-13T19:56:24+00:00","og_image":[{"width":2400,"height":1260,"url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","type":"image\/png"}],"author":"Martin Woodward, Neha Batra","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/martinwoodward","twitter_misc":{"Written by":"Martin Woodward, Neha Batra","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#article","isPartOf":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/"},"author":{"name":"Martin Woodward","@id":"https:\/\/github.blog\/#\/schema\/person\/91e904d15dcf4d0429c01e53b5c8890e"},"headline":"(De)coding conventions","datePublished":"2023-07-13T18:02:52+00:00","dateModified":"2023-07-13T19:56:24+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/"},"wordCount":501,"image":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","keywords":["The ReadME Project"],"articleSection":["Maintainers","Open Source"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/","url":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/","name":"(De)coding conventions - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","datePublished":"2023-07-13T18:02:52+00:00","dateModified":"2023-07-13T19:56:24+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/91e904d15dcf4d0429c01e53b5c8890e"},"description":"Navigating the ebb and flow of programming paradigms\u2013from the shifts in the JavaScript ecosystem and TypeScript's rise, to AI's role in advancing accessibility, and strategies for encouraging non-code contributions\u2013tune in to the latest episode of The ReadME Podcast for more","breadcrumb":{"@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","width":2400,"height":1260,"caption":"Image of Newton's cradle"},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/open-source\/maintainers\/decoding-conventions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Open Source","item":"https:\/\/github.blog\/open-source\/"},{"@type":"ListItem","position":3,"name":"Maintainers","item":"https:\/\/github.blog\/open-source\/maintainers\/"},{"@type":"ListItem","position":4,"name":"(De)coding conventions"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/91e904d15dcf4d0429c01e53b5c8890e","name":"Martin Woodward","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=gd2dd56ead97b672d2d5f111b29b1888a","url":"https:\/\/secure.gravatar.com\/avatar\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3fc891891b6d101c60dfc9d5734f75a3a9622cf9b1e3e552117cad64079b562b?s=96&d=mm&r=g","caption":"Martin Woodward"},"description":"VP of Developer Relations","sameAs":["https:\/\/github.com\/martinwoodward","https:\/\/www.linkedin.com\/in\/martinwoodward","https:\/\/x.com\/https:\/\/twitter.com\/martinwoodward"],"url":"https:\/\/github.blog\/author\/martinwoodward\/"}]}},"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pamS32-j0V","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2023\/07\/253089649-bb738454-478f-4cf2-8021-15bb034f9410.png?fit=2400%2C1260","_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/1778"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=73093"}],"version-history":[{"count":9,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73093\/revisions"}],"predecessor-version":[{"id":73098,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/73093\/revisions\/73098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/73095"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=73093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=73093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=73093"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=73093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}