41554 blogs · [ { "id": "01a087df-0e3f-71a7-8032-7403523344be", "title": "My music database in Obsidian", "url": "https://shanehudson.net/articles/music-database-in-obsidian", "published_at": "2026-07-16T00:00:00+00:00" }, { "id": "01a087df-0e3f-71a7-8032-740351772d60", "title": "Write reviews for the apps you like", "url": "https://shanehudson.net/articles/write-reviews-for-apps-you-like", "published_at": "2026-04-22T00:00:00+00:00" }, { "id": "01a087df-0e3f-71a7-8032-7403507dd6cd", "title": "Blink mode and printing in Value Study", "url": "https://shanehudson.net/articles/value-study-blink-mode-and-printing", "published_at": "2026-04-20T00:00:00+00:00" }, { "id": "01a087df-0e3f-71a7-8032-7403500ffe58", "title": "Introducing Scale Study", "url": "https://shanehudson.net/articles/introducing-scale-study", "published_at": "2026-02-05T09:00:00+00:00" }, { "id": "01a087df-0e3f-71a7-8032-74034fe71c19", "title": "Lessons From Building an Indie App for Artists", "url": "https://shanehudson.net/articles/indie-app-for-artists", "published_at": "2025-12-22T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de36f9e05e", "title": "Adventures in Beijing", "url": "https://shanehudson.net/articles/adventures_in_beijing", "published_at": "2024-04-30T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de361d56a7", "title": "Dreams", "url": "https://shanehudson.net/articles/poem_dreams", "published_at": "2023-11-08T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de354d2b9d", "title": "Let Me Sink", "url": "https://shanehudson.net/articles/poem_let_me_sink", "published_at": "2023-10-03T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de34ae1217", "title": "Words Out Loud, A Room Full of Soul", "url": "https://shanehudson.net/articles/poem_words_out_loud", "published_at": "2023-07-04T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de347de47f", "title": "A poem about a mushroom", "url": "https://shanehudson.net/articles/a-poem-about-a-mushroom", "published_at": "2023-04-04T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de347b9461", "title": "Making Your Collaboration Problems Go Away By Sharing Components", "url": "https://shanehudson.net/articles/making-your-collaboration-problems-go-away-by-sharing-components", "published_at": "2023-01-10T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de337d31ee", "title": "How To Improve And Measure Your Progress Learning Web Design", "url": "https://shanehudson.net/articles/improve-measure-progress-learning-web-design", "published_at": "2022-08-30T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de32e370e8", "title": "Value Study - The Journey So Far", "url": "https://shanehudson.net/articles/value-study-the-journey-so-far", "published_at": "2022-05-22T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de31f5b351", "title": "PDF breaking Safari", "url": "https://shanehudson.net/articles/pdf-breaking-safari", "published_at": "2022-01-25T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de318992c0", "title": "Perceived Wisdom: Artificial Intelligence", "url": "https://shanehudson.net/articles/perceived-wisdom-artificial-intelligence", "published_at": "2021-06-26T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de30980630", "title": "Introducing Value Study", "url": "https://shanehudson.net/articles/introducing-value-study", "published_at": "2021-03-07T20:56:33+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2fc68c34", "title": "Building a microsite using GraphQL, CraftCMS and 11ty", "url": "https://shanehudson.net/articles/building-a-microsite-using-graphql-craftcms-and-11ty", "published_at": "2020-07-29T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2f1a48f3", "title": "How To Make Life Easier When Using Git", "url": "https://shanehudson.net/articles/how-to-make-life-easier-when-using-git", "published_at": "2020-06-26T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2ecb0cfa", "title": "Using Bash on Windows 10", "url": "https://shanehudson.net/articles/using-bash-on-windows-10", "published_at": "2020-06-12T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2be0d6cd", "title": "How it feels to make the right decision", "url": "https://shanehudson.net/articles/how-it-feels-to-make-the-right-decision", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2c6d0896", "title": "New Adventures 2020 – Akil Benjamin's Clean your studio. Draw on walls. Don’t break things. Radical is close to home.", "url": "https://shanehudson.net/articles/new-adventures-2020-akil-benjamin-s-clean-your-studio.draw-on-walls.don-t-break-things.radical-is-close-to-home.", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2cf00008", "title": "New Adventures 2020 – Cennydd Bowles on Building Better Worlds", "url": "https://shanehudson.net/articles/new-adventures-2020-cennydd-bowles-on-building-better-worlds", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2d5fbb22", "title": "New Adventures 2020 - Florence Okoye on Designing for a collective futurity: mapping the unseen", "url": "https://shanehudson.net/articles/new-adventures-2020-florence-okoye-on-designing-for-a-collective-futurity-mapping-the-unseen", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2dc90eed", "title": "New Adventures 2020 – Laura Kalbag on defying the mainstream: building technology that respects our rights", "url": "https://shanehudson.net/articles/new-adventures-2020-laura-kalbag-on-defying-the-mainstream-building-technology-that-respects-our-rights", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2dea9bbb", "title": "New Adventures 2020 – Liz Jackson's Productivity recreates disability", "url": "https://shanehudson.net/articles/new-adventures-2020-liz-jackson-s-productivity-recreates-disability", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2df1eef8", "title": "New Adventures 2020 – Natalie Kane's Unknown Unknowns: Collecting our digital lives", "url": "https://shanehudson.net/articles/new-adventures-2020-natalie-kane-s-unknown-unknowns-collecting-our-digital-lives", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2e17eabb", "title": "New Adventures 2020 – Tatiana Mac's Our Banal Binary", "url": "https://shanehudson.net/articles/new-adventures-2020-tatiana-mac-s-our-banal-binary", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2a8351a2", "title": "AR Bookmarks - Dev Notes #10 - Mission failed", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-10-mission-failed", "published_at": "2019-12-03T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2aeddca1", "title": "Halloween Quiz with Pumpkin Buzzers", "url": "https://shanehudson.net/articles/halloween-quiz-with-pumpkin-buzzers", "published_at": "2019-12-03T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2a4f10aa", "title": "Taking GDPR Seriously", "url": "https://shanehudson.net/articles/taking-gdpr-seriously", "published_at": "2019-11-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de29593ada", "title": "How to find the branch you lost in Git", "url": "https://shanehudson.net/articles/how-to-find-the-branch-you-lost-in-git", "published_at": "2019-09-13T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de26210646", "title": "Patterns Day 2019 - Amy Hupe", "url": "https://shanehudson.net/articles/patterns-day-2019-amy-hupe", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de26ea33fb", "title": "Patterns Day 2019 - Danielle Huntrods", "url": "https://shanehudson.net/articles/patterns-day-2019-danielle-huntrods", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de27065a40", "title": "Patterns Day 2019 - Emil Björklund", "url": "https://shanehudson.net/articles/patterns-day-2019-emil-bjorklund", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de273dadb5", "title": "Patterns Day 2019 - Heydon Pickering", "url": "https://shanehudson.net/articles/patterns-day-2019-heydon-pickering", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de27cb7080", "title": "Patterns Day 2019 - Inayaili de León", "url": "https://shanehudson.net/articles/patterns-day-2019-inayaili-de-leon", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2877c498", "title": "Patterns Day 2019 - Una Kravets", "url": "https://shanehudson.net/articles/patterns-day-2019-una-kravets", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de292c528f", "title": "Patterns Day 2019 - Varya Stepanova", "url": "https://shanehudson.net/articles/patterns-day-2019-varya-stepanova", "published_at": "2019-07-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de25de19eb", "title": "Patterns Day 2019 - Alla Kholmatova", "url": "https://shanehudson.net/articles/patterns-day-2019-alla-kholmatova", "published_at": "2019-06-28T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de25532b5e", "title": "AR Bookmarks Dev Diaries", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-diaries", "published_at": "2019-06-13T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de257e5c9b", "title": "AR Bookmarks - Dev Notes #9 - Titles Not Links", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-9-titles-not-links", "published_at": "2019-06-13T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de24607f60", "title": "Are your third-party tools accessible?", "url": "https://shanehudson.net/articles/are-your-third-party-tools-accessible", "published_at": "2019-06-03T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de243ca2fd", "title": "Clowns, Jokers, and Echo Chambers", "url": "https://shanehudson.net/articles/clowns-jokers-and-echo-chambers", "published_at": "2019-04-08T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de24094933", "title": "Designing A Textbox", "url": "https://shanehudson.net/articles/designing-a-textbox-unabridged", "published_at": "2019-03-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2345f73c", "title": "AR Bookmarks - Dev Notes #7 - Persistant Storage", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-7-persistant-storage", "published_at": "2019-02-26T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de23dd532e", "title": "AR Bookmarks - Dev Notes #8 - Other Ideas", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-8-other-ideas", "published_at": "2019-02-26T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de23128542", "title": "Agile Training Day", "url": "https://shanehudson.net/articles/agile-training-day", "published_at": "2019-02-16T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1f952007", "title": "New Adventures 2019 - Ashley Baxter Idea to Execution and Beyond", "url": "https://shanehudson.net/articles/new-adventures-2019-ashley-baxter-idea-to-execution-and-beyond", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2075c61b", "title": "New Adventures 2019 - Brendan Dawes' Universal Assembly", "url": "https://shanehudson.net/articles/new-adventures-2019-brendan-dawes-universal-assembly", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de21165ba0", "title": "New Adventures 2019 - Ethan Marcotte The World-Wide Work", "url": "https://shanehudson.net/articles/new-adventures-2019-ethan-marcotte-the-world-wide-work", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de215a7942", "title": "New Adventures 2019 - Helen Joy's Whose Design is it Anyway", "url": "https://shanehudson.net/articles/new-adventures-2019-helen-joy-s-whose-design-is-it-anyway", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de2162cbd3", "title": "New Adventures 2019 - Naz Hamid on Diverse Design: How We Build for People", "url": "https://shanehudson.net/articles/new-adventures-2019-naz-hamid-on-diverse-design-how-we-build-for-people", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de22410efe", "title": "New Adventures 2019", "url": "https://shanehudson.net/articles/new-adventures-2019", "published_at": "2019-01-29T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1dc6f90b", "title": "Dev Diary - Bookmark Uploader", "url": "https://shanehudson.net/articles/dev-diary-bookmark-uploader", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1e320b9f", "title": "New Adventures 2019 - Clare Sutcliffe Confessions of an Overnight CEO", "url": "https://shanehudson.net/articles/new-adventures-2019-clare-sutcliffe-confessions-of-an-overnight-ceo", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1f2ff0b2", "title": "New Adventures 2019 - Jeremy Keith on Building", "url": "https://shanehudson.net/articles/new-adventures-2019-jeremy-keith-on-building", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1f3ef479", "title": "New Adventures 2019 - Jessica White's The Future is Cross-Functional", "url": "https://shanehudson.net/articles/new-adventures-2019-jessica-white-s-the-future-is-cross-functional", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1f4e718f", "title": "New Adventures 2019 - Josh Brewer on Demystifying Design", "url": "https://shanehudson.net/articles/new-adventures-2019-josh-brewer-on-demystifying-design", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1d04b3ed", "title": "AR Bookmarks - Dev Notes #6 - Changing how links are placed", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-6-changing-how-links-are-placed", "published_at": "2019-01-15T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1c3ea167", "title": "AR Bookmarks - Dev Notes #5 - User Experience", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-5-user-experience", "published_at": "2018-11-06T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1ae3ba3c", "title": "AR Bookmarks - Dev Notes #1 - v0.1", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-1-v0.1", "published_at": "2018-09-17T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1ae79cb2", "title": "AR Bookmarks - Dev Notes #2 - v0.2", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-2-v0.2", "published_at": "2018-09-17T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1b29752d", "title": "AR Bookmarks - Dev Notes #3 - Link Creation", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-3-link-creation", "published_at": "2018-09-17T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de1c0b3733", "title": "AR Bookmarks - Dev Notes #4 - Icon", "url": "https://shanehudson.net/articles/ar-bookmarks-dev-notes-4-icon", "published_at": "2018-09-17T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de19eba1b1", "title": "Designing A Textbox, Unabridged", "url": "https://shanehudson.net/articles/designing-a-textbox-unabridged-external", "published_at": "2018-09-05T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de18eec77a", "title": "Wallcat for Android", "url": "https://shanehudson.net/articles/wallcat-for-android", "published_at": "2018-07-03T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de187e2c06", "title": "Only a matter of time", "url": "https://shanehudson.net/articles/only-a-matter-of-time", "published_at": "2017-07-17T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de17bb8dec", "title": "Building an App Store With Vue.js", "url": "https://shanehudson.net/articles/building-an-app-store-with-vue.js", "published_at": "2017-07-03T23:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de17536727", "title": "Gravity Forms Conditional Shortcode in post", "url": "https://shanehudson.net/articles/gravity-forms-conditional-shortcode-in-post", "published_at": "2016-12-15T00:00:00+00:00" }, { "id": "01a087df-0e3e-706d-bfe6-f1de17102405", "title": "First Steps in VR", "url": "https://shanehudson.net/articles/first-steps-in-vr", "published_at": "2016-12-11T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298479ba1c04", "title": "SVG Tricks", "url": "https://shanehudson.net/articles/svg-tricks", "published_at": "2016-11-03T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298479b6ca4e", "title": "The Subtle Web", "url": "https://shanehudson.net/articles/the-subtle-web", "published_at": "2016-10-25T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298478d1f923", "title": "Websites as they are now, but with a twist", "url": "https://shanehudson.net/articles/websites-as-they-are-now-but-with-a-twist", "published_at": "2016-10-22T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298477e2ef92", "title": "Creating my 10k Apart entry", "url": "https://shanehudson.net/articles/creating-my-10k-apart-entry", "published_at": "2016-10-04T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298477bc450d", "title": "What I Read in 2015", "url": "https://shanehudson.net/articles/what-i-read-in-2015", "published_at": "2015-12-30T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-2984770a9c1f", "title": "Book Review for the Journal of Functional Programming", "url": "https://shanehudson.net/articles/book-review-for-the-journal-of-functional-programming", "published_at": "2015-10-21T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298476d2eea0", "title": "Flexbox with Fantasai", "url": "https://shanehudson.net/articles/flexbox-with-fantasai", "published_at": "2015-07-18T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298475ef78ea", "title": "Interview for Workspiration", "url": "https://shanehudson.net/articles/interview-for-workspiration", "published_at": "2015-07-02T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298475379eef", "title": "AsyncJS Talk: Putting Design On The Map", "url": "https://shanehudson.net/articles/asyncjs-talk-putting-design-on-the-map", "published_at": "2015-05-25T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29847444dc3a", "title": "Putting Design on the Map", "url": "https://shanehudson.net/articles/putting-design-on-the-map", "published_at": "2014-12-11T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298473cf19e0", "title": "Goodwood Revival 2014", "url": "https://shanehudson.net/articles/goodwood-revival-2014", "published_at": "2014-09-16T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-2984734262a5", "title": "An Adventure In China", "url": "https://shanehudson.net/articles/an-adventure-in-china", "published_at": "2014-07-02T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298472db7bb7", "title": "Foreword For You Don't Know JS", "url": "https://shanehudson.net/articles/foreword-for-you-don-t-know-js", "published_at": "2014-06-02T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298471ed6212", "title": "Shane Hudson and the Magic of Real Life", "url": "https://shanehudson.net/articles/shane-hudson-and-the-magic-of-real-life", "published_at": "2014-05-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-2984710dbe24", "title": "Class Match Radio Button", "url": "https://shanehudson.net/articles/class-match-radio-button", "published_at": "2014-04-08T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-2984705a2e24", "title": "Edge Conf 3 Notes", "url": "https://shanehudson.net/articles/edge-conf-3-notes", "published_at": "2014-03-23T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846fbf5bae", "title": "What is the web?", "url": "https://shanehudson.net/articles/what-is-the-web", "published_at": "2014-03-11T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846ee5dd1c", "title": "OPEC Data Visualisation Portal", "url": "https://shanehudson.net/articles/opec-data-visualisation-portal", "published_at": "2014-02-23T00:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846e657819", "title": "The State Of Play - LXJS 2013", "url": "https://shanehudson.net/articles/the-state-of-play-lxjs-2013", "published_at": "2013-10-08T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846df997c9", "title": "Responsive Images Meeting Notes", "url": "https://shanehudson.net/articles/responsive-images-meeting-notes", "published_at": "2013-09-09T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846df64909", "title": "Implementing Web Mentions", "url": "https://shanehudson.net/articles/implementing-web-mentions", "published_at": "2013-09-07T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846b5f8bd0", "title": "Dragons Head", "url": "https://shanehudson.net/articles/dragons-head", "published_at": "2013-08-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846c4ccfa1", "title": "Sleeping On The Wall", "url": "https://shanehudson.net/articles/sleeping-on-the-wall", "published_at": "2013-08-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846cbc4ec5", "title": "The Fifth Day", "url": "https://shanehudson.net/articles/the-fifth-day", "published_at": "2013-08-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846d291b14", "title": "The Italian Job", "url": "https://shanehudson.net/articles/the-italian-job", "published_at": "2013-08-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846d660ca9", "title": "The Temple", "url": "https://shanehudson.net/articles/the-temple", "published_at": "2013-08-23T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846a79bcdf", "title": "Careful Not To Fall", "url": "https://shanehudson.net/articles/careful-not-to-fall", "published_at": "2013-08-21T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846acb3ba3", "title": "Honk Honk Honk", "url": "https://shanehudson.net/articles/honk-honk-honk", "published_at": "2013-08-21T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-29846b14e4f0", "title": "Lost In Beijing", "url": "https://shanehudson.net/articles/lost-in-beijing", "published_at": "2013-08-21T23:00:00+00:00" }, { "id": "01a087df-0e3d-721f-9a47-298469872ae1", "title": "Flying to Beijing", "url": "https://shanehudson.net/articles/flying-to-beijing", "published_at": "2013-08-13T23:00:00+00:00" } ] posts Claim your blog
Back to shanehudson.net
Blog · corpus.blog/blogs/shanehudson.net/posts

shanehudson.net

shanehudson.net

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013