41554 blogs · [ { "id": "01a0b68b-4cd9-7085-acb3-750a21bcde90", "title": "Henry From Online", "url": "https://henry.codes", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33c8467a53", "title": "I made a Plex server", "url": "https://henry.codes/writing/i-made-a-plex-server/", "published_at": "2026-07-14T18:26:16+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33c8f460c2", "title": "It doesn’t matter if it works", "url": "https://henry.codes/writing/it-doesnt-matter-if-it-works/", "published_at": "2026-06-08T12:04:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33c98f2b9c", "title": "The first thing I did last year was run", "url": "https://henry.codes/writing/the-first-thing-i-did-last-year-was-run/", "published_at": "2026-01-07T09:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33ca85bff8", "title": "Things I did in 2025 that have nothing to do with the internet", "url": "https://henry.codes/writing/2025/", "published_at": "2026-01-03T15:03:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cb391ec4", "title": "A Website To Destroy All Websites", "url": "https://henry.codes/writing/a-website-to-destroy-all-websites/", "published_at": "2026-01-01T12:15:01+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cc0351ad", "title": "Economics & labor rights in AI skepticism", "url": "https://henry.codes/writing/economics-and-labor-rights-in-ai-skepticism/", "published_at": "2025-06-03T18:30:55+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cc4f2991", "title": "How to collect Webmentions for your site", "url": "https://henry.codes/writing/collecting-webmentions/", "published_at": "2025-05-23T17:59:28+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cd067b60", "title": "Well, what if I'm wrong?", "url": "https://henry.codes/writing/well-what-if-im-wrong/", "published_at": "2025-05-19T16:19:30+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cdc3cc2e", "title": "A case for unconditional giving", "url": "https://henry.codes/writing/a-case-for-unconditional-giving/", "published_at": "2025-03-06T04:09:30+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33ce2ad96d", "title": "Using Figma to design perfect gallery walls", "url": "https://henry.codes/writing/using-figma-to-design-gallery-walls/", "published_at": "2025-02-21T18:50:52+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33ceb49376", "title": "Correcting perspective in Figma images with the Galleria plugin", "url": "https://henry.codes/writing/correcting-perspective-in-figma-images-with-the-galleria-plugin/", "published_at": "2025-02-17T18:20:02+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cf042e6c", "title": "How I set up a new laptop", "url": "https://henry.codes/writing/how-i-set-up-a-new-laptop/", "published_at": "2024-03-23T20:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33cfd7a385", "title": "How to map a number between two ranges", "url": "https://henry.codes/writing/how-to-map-a-number-between-two-ranges/", "published_at": "2023-10-18T21:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d064b1e1", "title": "A one-liner for freeing ports on OS X", "url": "https://henry.codes/writing/a-one-liner-for-freeing-ports-on-os-x/", "published_at": "2023-02-28T19:07:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d0dc8e0e", "title": "Using focal points, aspect ratio & object-fit to crop images correctly", "url": "https://henry.codes/writing/pure-css-focal-points/", "published_at": "2023-02-19T03:27:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d1184f12", "title": "On leaving New York City", "url": "https://henry.codes/writing/leaving-new-york/", "published_at": "2023-02-12T17:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d14bb4bf", "title": "Can you be a designer if you have no training?", "url": "https://henry.codes/writing/can-you-be-a-designer-if-you-have-no-training/", "published_at": "2023-02-09T18:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d1c66ac0", "title": "How To Make a Website", "url": "https://henry.codes/writing/how-to-make-a-website/", "published_at": "2023-01-17T03:31:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d2220b8d", "title": "How to distort text with SVG filters", "url": "https://henry.codes/writing/how-to-distort-text-with-svg/", "published_at": "2022-12-23T00:33:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d3144e19", "title": "How to use Contentful with Eleventy", "url": "https://henry.codes/writing/how-to-use-contentful-with-eleventy/", "published_at": "2021-12-23T07:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d3484513", "title": "How to use Vue to template your Eleventy projects", "url": "https://henry.codes/writing/how-to-use-vue-to-template-your-eleventy-projects/", "published_at": "2021-12-17T05:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d367b9b0", "title": "What to say when you don't know what to say", "url": "https://henry.codes/writing/what-to-say/", "published_at": "2021-03-07T00:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d456798d", "title": "How to use the Spotify API and Netlify Functions to build a “Now Playing” widget", "url": "https://henry.codes/writing/spotify-now-playing/", "published_at": "2020-12-12T16:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d524313b", "title": "Naming variables in style code", "url": "https://henry.codes/writing/naming-variables-in-style-code/", "published_at": "2020-12-10T20:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d52632ca", "title": "Headless CMS solutions that aren’t Statamic (lol)", "url": "https://henry.codes/writing/headless-cms-solutions-that-arent-statamic-lol/", "published_at": "2020-11-03T22:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d59d04d0", "title": "How to convert variable TTF font files to WOFF2", "url": "https://henry.codes/writing/how-to-convert-variable-ttf-font-files-to-woff2/", "published_at": "2020-01-09T19:30:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d5e792a9", "title": "2019: Year in review", "url": "https://henry.codes/writing/2019-year-in-review/", "published_at": "2019-12-30T17:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d5ebf47d", "title": "Let’s talk about banning political ads on Twitter", "url": "https://henry.codes/writing/lets-talk-about-banning-political-ads-on-twitter/", "published_at": "2019-10-31T18:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d6592899", "title": "How to make an animated interactive vue.js slider", "url": "https://henry.codes/writing/how-to-make-an-animated-interactive-vue-js-slider/", "published_at": "2019-06-05T02:36:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d6e4baf4", "title": "Uses", "url": "https://henry.codes/writing/uses/", "published_at": "2019-05-01T06:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d7a595ee", "title": "Bad ux in everyday life: kitchen nightmares", "url": "https://henry.codes/writing/bad-ux-in-everyday-life-kitchen-nightmares/", "published_at": "2016-06-09T06:00:00+00:00" }, { "id": "01a08782-9a3c-7395-8395-bf33d86ce213", "title": "Agile for the rest of us", "url": "https://henry.codes/writing/agile-for-the-rest-of-us/", "published_at": "2015-01-05T06:00:00+00:00" } ] posts Claim your blog
Back to henry.codes
Blog · corpus.blog/blogs/henry.codes/posts

henry.codes

henry.codes

2026

2025

2024

2023

2022

2021

2020

2019

2016

2015