41554 blogs · [ { "id": "01a0b68b-4ccd-7049-8d37-eee51a2b9548", "title": "blakewatson.com", "url": "https://blakewatson.com", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a08741-3792-705a-94eb-4ef8cc0b77f3", "title": "Rediscovering Sublime Text", "url": "https://blakewatson.com/journal/rediscovering-sublime-text/", "published_at": "2026-08-30T22:30:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f2221eb0", "title": "The SLAP stack is the last server stack you'll ever need", "url": "https://blakewatson.com/journal/the-slap-stack-is-the-last-server-stack-youll-ever-need/", "published_at": "2026-07-18T18:30:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f2f562ec", "title": "If I want more IRL, I must go AFK", "url": "https://blakewatson.com/journal/if-i-want-more-irl-i-must-go-afk/", "published_at": "2026-06-30T22:04:39+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f380633e", "title": "Things I enjoy about Dungeons & Dragons", "url": "https://blakewatson.com/journal/things-i-enjoy-about-dungeons-dragons/", "published_at": "2026-05-31T22:11:52+00:00" }, { "id": "01a08741-3795-738b-86ef-e4465b93ad27", "title": "Statuslog on 2026-05-31", "url": "https://blakewatson.com/undefined", "published_at": "2026-05-31T18:28:36+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f399f150", "title": "Dice rolling and more on Minimal Character Sheet", "url": "https://blakewatson.com/journal/dice-rolling-and-more-on-minimal-character-sheet/", "published_at": "2026-04-18T23:51:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f43793dc", "title": "100 webmaster questions", "url": "https://blakewatson.com/journal/100-webmaster-questions/", "published_at": "2026-03-29T12:02:10+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f4e8b800", "title": "I used Claude Code and GSD to build the accessibility tool I’ve always wanted", "url": "https://blakewatson.com/journal/i-used-claude-code-and-gsd-to-build-the-accessibility-tool-ive-always-wanted/", "published_at": "2026-02-18T19:18:38+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f5de58bb", "title": "New: link blog and RSS feeds", "url": "https://blakewatson.com/journal/new-rss-feeds/", "published_at": "2026-01-28T10:01:54+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f608b1f9", "title": "Default apps, 2026", "url": "https://blakewatson.com/journal/default-apps-2026/", "published_at": "2026-01-27T18:19:56+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f68ae15b", "title": "I tried solo RPG with Ironsworn: Starforged", "url": "https://blakewatson.com/journal/i-tried-solo-rpg-with-ironsworn-starforged/", "published_at": "2026-01-25T12:54:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f7812355", "title": "2025: my year in review", "url": "https://blakewatson.com/journal/2025-my-year-in-review/", "published_at": "2025-12-31T15:44:26+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f7d9eb9c", "title": "I ranted about frontend build steps at MagnoliaConf 2025", "url": "https://blakewatson.com/journal/i-ranted-about-frontend-build-steps-at-magnoliaconf-2025/", "published_at": "2025-11-30T11:20:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f82c4abc", "title": "NaNoWriMo is dead, long live NaNoWriMo!", "url": "https://blakewatson.com/journal/nanowrimo-is-dead-long-live-nanowrimo/", "published_at": "2025-10-26T13:50:40+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f8b1f80b", "title": "Understanding, not slop, is what’s interesting about LLMs", "url": "https://blakewatson.com/journal/understanding-not-slop-is-whats-interesting-about-llms/", "published_at": "2025-09-28T13:40:16+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f8b5ddfb", "title": "I changed my fonts after six years of using Cloud.typography", "url": "https://blakewatson.com/journal/i-changed-my-fonts-after-six-years-of-using-cloud.typography/", "published_at": "2025-08-24T21:38:07+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f96565be", "title": "blakewatson.com turns 20", "url": "https://blakewatson.com/journal/blakewatson-com-turns-twenty/", "published_at": "2025-08-08T11:20:24+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61f9f93248", "title": "Your freeform digital character sheet for D&D 5e", "url": "https://blakewatson.com/journal/your-freeform-digital-character-sheet-for-dd-5e/", "published_at": "2025-07-23T23:42:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fa1b9ce5", "title": "40", "url": "https://blakewatson.com/journal/40/", "published_at": "2025-06-24T20:57:33+00:00" }, { "id": "01a0e2c2-82db-73d8-96f8-9c935f0c3b77", "title": "Blake Watson", "url": "https://blakewatson.com/", "published_at": "2025-05-27T23:02:57+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fa7c2809", "title": "A decade of employment", "url": "https://blakewatson.com/journal/a-decade-of-employment/", "published_at": "2025-05-04T09:17:58+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fb7aae1c", "title": "I’m fascinated by the scale of things in space", "url": "https://blakewatson.com/journal/im-fascinated-by-the-scale-of-things-in-space/", "published_at": "2025-04-28T17:17:15+00:00" }, { "id": "01a08741-3797-71a5-98b7-194107ba1364", "title": "Losing You", "url": "https://blakewatson.com/false", "published_at": "2025-03-25T20:24:37+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fba9e7aa", "title": "My computer treats me like a computer", "url": "https://blakewatson.com/journal/my-computer-treats-me-like-a-computer/", "published_at": "2025-03-20T17:56:11+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fc848fdf", "title": "Introducing A Fine Start version 3", "url": "https://blakewatson.com/journal/introducing-a-fine-start-version-3/", "published_at": "2025-03-04T22:04:19+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fc8fcc59", "title": "IndexedDB made easy like localStorage", "url": "https://blakewatson.com/journal/indexeddb-made-easy-like-localstorage/", "published_at": "2025-02-07T00:52:08+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fd7bac50", "title": "Things I got from specific people", "url": "https://blakewatson.com/journal/things-i-got-from-specific-people/", "published_at": "2025-01-16T15:37:06+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61fe5b0d8b", "title": "2024: my year in review", "url": "https://blakewatson.com/journal/2024-my-year-in-review/", "published_at": "2024-12-31T10:44:25+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61ff07db7f", "title": "Alpine.js for home-cooked apps", "url": "https://blakewatson.com/journal/alpinejs-for-home-cooked-apps/", "published_at": "2024-11-26T15:00:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61ffbbc20b", "title": "The making of HTML for People", "url": "https://blakewatson.com/journal/the-making-of-html-for-people/", "published_at": "2024-10-27T14:06:50+00:00" }, { "id": "01a08741-3793-710e-93e3-4e61ffcc7e9e", "title": "Where I’m at with notetaking apps", "url": "https://blakewatson.com/journal/where-im-at-with-notetaking-apps/", "published_at": "2024-09-30T17:45:09+00:00" }, { "id": "01a08741-3793-710e-93e3-4e6200ad28cf", "title": "SMA Chat Discord server and other communities", "url": "https://blakewatson.com/journal/sma-chat-discord-server/", "published_at": "2024-08-05T21:28:45+00:00" }, { "id": "01a08741-3793-710e-93e3-4e6201783b3a", "title": "Monster of the Week: Game introduction and rules summary", "url": "https://blakewatson.com/journal/monster-of-the-week-game-introduction-and-rules-summary/", "published_at": "2024-07-28T12:04:29+00:00" }, { "id": "01a08741-3793-710e-93e3-4e620262c700", "title": "My home-cooked app for online bookmarks", "url": "https://blakewatson.com/journal/my-home-cooked-app-for-online-bookmarks/", "published_at": "2024-06-24T01:21:00+00:00" }, { "id": "01a08741-3793-710e-93e3-4e62026729c5", "title": "Mimicking e-ink with macOS", "url": "https://blakewatson.com/journal/e-ink-mode/", "published_at": "2024-05-28T22:36:33+00:00" }, { "id": "01a08741-3793-710e-93e3-4e6202c029f0", "title": "Rebuilding my website with Eleventy", "url": "https://blakewatson.com/journal/rebuilding-my-website-with-eleventy/", "published_at": "2024-05-09T13:55:54+00:00" }, { "id": "01a08741-3793-710e-93e3-4e6203761404", "title": "Song Swap: Kayama by Karl Jenkins", "url": "https://blakewatson.com/journal/song-swap-kayama/", "published_at": "2024-04-25T18:21:00+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f2d3a9db", "title": "Use your Mac the way I do: a thought experiment", "url": "https://blakewatson.com/journal/use-your-mac-the-way-i-do-a-thought-experiment/", "published_at": "2024-03-16T17:33:00+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f30382a7", "title": "Things I miss", "url": "https://blakewatson.com/journal/things-i-miss/", "published_at": "2024-02-13T07:09:17+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f3698898", "title": "Building our own private Discord knockoff", "url": "https://blakewatson.com/journal/building-our-own-private-discord-knockoff/", "published_at": "2024-01-28T19:46:54+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f434a857", "title": "2023: my year in review", "url": "https://blakewatson.com/journal/2023-my-year-in-review/", "published_at": "2024-01-01T22:07:18+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f4b91640", "title": "omg.lol: an oasis on the internet", "url": "https://blakewatson.com/journal/omg-lol-an-oasis-on-the-internet/", "published_at": "2023-12-10T20:25:03+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f4c245ac", "title": "Default apps, 2023", "url": "https://blakewatson.com/journal/default-apps-2023/", "published_at": "2023-11-16T02:31:58+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f500d25a", "title": "MagnoliaJS 2023: The joys of home-cooked apps", "url": "https://blakewatson.com/journal/magnoliajs-2023-the-joys-of-home-cooked-apps/", "published_at": "2023-10-15T17:21:08+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f58ebfa1", "title": "Fancy forEach with functional programming in JavaScript", "url": "https://blakewatson.com/journal/fancy-foreach-with-functional-programming-in-javascript/", "published_at": "2023-09-19T04:56:38+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f58f458e", "title": "100 ways to generate a story idea", "url": "https://blakewatson.com/journal/100-ways-to-generate-a-story-idea/", "published_at": "2023-08-19T21:09:30+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f5c49c2a", "title": "Multi-browser workflow on macOS with Choosy", "url": "https://blakewatson.com/journal/multi-browser-workflow-on-macos-with-choosy/", "published_at": "2023-08-14T03:24:20+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f65a2897", "title": "Homebrew package for setting specified audio input device", "url": "https://blakewatson.com/journal/homebrew-package-for-setting-specified-audio-input-device/", "published_at": "2023-07-18T17:10:30+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f7568ebb", "title": "My journey with the Chubon keyboard layout", "url": "https://blakewatson.com/journal/my-journey-with-the-chubon-keyboard-layout/", "published_at": "2023-07-15T23:06:07+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f781fc2d", "title": "The fragile nature of my life’s work", "url": "https://blakewatson.com/journal/the-fragile-nature-of-my-lifes-work/", "published_at": "2023-06-23T04:59:45+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f7c5b347", "title": "I made a web-based version of Sawayama Solitaire", "url": "https://blakewatson.com/journal/i-made-a-web-based-version-of-sawayama-solitaire/", "published_at": "2023-05-18T04:10:22+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f86eadad", "title": "A home-cooked app for hiring personal caregivers", "url": "https://blakewatson.com/journal/a-home-cooked-app-for-hiring-personal-caregivers/", "published_at": "2023-04-27T03:33:49+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f8ccd57e", "title": "Surveying the landscape of CSS micro-frameworks", "url": "https://blakewatson.com/journal/surveying-the-landscape-of-css-micro-frameworks/", "published_at": "2023-03-13T01:26:53+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f92ce706", "title": "Neglecting the scrollbar: a costly trend in UI design", "url": "https://blakewatson.com/journal/neglecting-the-scrollbar-a-costly-trend-in-ui-design/", "published_at": "2023-02-17T23:13:50+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f946970c", "title": "2022: my year in review", "url": "https://blakewatson.com/journal/2022-my-year-in-review/", "published_at": "2023-01-02T02:24:50+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9f9490fbe", "title": "The joys of home-cooked apps", "url": "https://blakewatson.com/journal/the-joys-of-home-cooked-apps/", "published_at": "2022-12-11T23:06:53+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fa1ab8e5", "title": "SMA in fiction: The First Thing About You", "url": "https://blakewatson.com/journal/sma-in-fiction-the-first-thing-about-you/", "published_at": "2022-12-04T03:08:13+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fa56415d", "title": "Almost monospaced: the perfect fonts for writing", "url": "https://blakewatson.com/journal/almost-monospaced-the-perfect-fonts-for-writing/", "published_at": "2022-11-06T23:29:06+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fa5de29a", "title": "Thinking in rich text", "url": "https://blakewatson.com/journal/thinking-in-rich-text/", "published_at": "2022-03-09T18:15:49+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9facbfd1e", "title": "The powerful accessibility of the customizable web", "url": "https://blakewatson.com/journal/the-powerful-accessibility-of-the-customizable-web/", "published_at": "2021-12-29T02:09:05+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fb3af93f", "title": "Introducing synthwave.live, a nostalgic musical odyssey", "url": "https://blakewatson.com/journal/introducing-synthwave-live-a-nostalgic-musical-odyssey/", "published_at": "2021-12-13T04:39:11+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fb941190", "title": "Speaking in code: hands-free input with Talon", "url": "https://blakewatson.com/journal/speaking-in-code-hands-free-input-with-talon/", "published_at": "2021-05-23T21:00:30+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fbf3212f", "title": "The making of d20 version 3", "url": "https://blakewatson.com/journal/the-making-of-d20-version-3/", "published_at": "2021-02-19T23:35:15+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fc7b8075", "title": "Finishing side projects", "url": "https://blakewatson.com/journal/finishing-side-projects/", "published_at": "2020-07-29T05:49:29+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fc881379", "title": "Why I host my websites with NearlyFreeSpeech.NET", "url": "https://blakewatson.com/journal/why-i-host-my-websites-with-nearlyfreespeech-net/", "published_at": "2020-02-08T05:56:54+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fd85aeed", "title": "2019: My Year in Review", "url": "https://blakewatson.com/journal/2019-my-year-in-review/", "published_at": "2020-01-01T07:17:17+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fde3064a", "title": "Why I chose Simplenote over Standard Notes and nvUltra", "url": "https://blakewatson.com/journal/why-i-chose-simplenote-over-standard-notes-and-nvultra/", "published_at": "2019-09-17T06:42:58+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fedd591b", "title": "How to: array reduce in JavaScript and PHP", "url": "https://blakewatson.com/journal/how-to-array-reduce-in-javascript-and-php/", "published_at": "2019-06-25T04:53:06+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9ff83e9b9", "title": "Unpopular opinion: switching to WordPress in 2019", "url": "https://blakewatson.com/journal/switching-to-wordpress-in-2019/", "published_at": "2019-06-10T03:56:34+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9ffac485a", "title": "Playing Minecraft by voice with Talon", "url": "https://blakewatson.com/journal/playing-minecraft-by-voice-with-talon/", "published_at": "2019-02-12T23:35:14+00:00" }, { "id": "01a08741-3794-728d-97c0-4eb9fffead6e", "title": "Writing and coding by voice with Talon", "url": "https://blakewatson.com/journal/writing-and-coding-by-voice-with-talon/", "published_at": "2018-12-31T23:32:39+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba00dce0e1", "title": "Writing and coding with the macOS Accessibility Keyboard", "url": "https://blakewatson.com/journal/writing-and-coding-with-the-macos-accessibility-keyboard/", "published_at": "2018-06-02T23:31:17+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba018da00b", "title": "My answer to the gratuitous new tab page", "url": "https://blakewatson.com/journal/my-answer-to-the-gratuitous-new-tab-page/", "published_at": "2017-10-22T23:07:37+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba0201b1c9", "title": "Why I left Facebook", "url": "https://blakewatson.com/journal/why-i-left-facebook/", "published_at": "2017-07-04T23:02:56+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba02ecfa82", "title": "An ode to web pages", "url": "https://blakewatson.com/journal/an-ode-to-web-pages/", "published_at": "2017-03-04T23:01:30+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba032a42fd", "title": "2016: My year in review", "url": "https://blakewatson.com/journal/2016-my-year-in-review/", "published_at": "2016-12-31T22:55:09+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba03ccbc75", "title": "SVG logo animation with Anime.js", "url": "https://blakewatson.com/journal/svg-logo-animation-with-anime-js/", "published_at": "2016-10-14T22:05:03+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba043aaa51", "title": "A decade of Mac", "url": "https://blakewatson.com/journal/a-decade-of-mac/", "published_at": "2016-08-08T21:59:00+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba0511f7fa", "title": "How to lessen your exposure to Google", "url": "https://blakewatson.com/journal/how-to-lessen-your-exposure-to-google/", "published_at": "2016-05-01T21:53:07+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba05c48645", "title": "Better UI components with KnockoutJS", "url": "https://blakewatson.com/journal/better-ui-components-with-knockoutjs/", "published_at": "2016-01-17T21:51:13+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba06580644", "title": "A geek's defense of Monopoly", "url": "https://blakewatson.com/journal/a-geeks-defense-of-monopoly/", "published_at": "2016-01-16T21:49:36+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba06bd864c", "title": "Why Darth Vader can't be a barista", "url": "https://blakewatson.com/journal/why-darth-vader-cant-be-a-barista/", "published_at": "2015-12-26T21:40:35+00:00" }, { "id": "01a08741-3794-728d-97c0-4eba07015ea5", "title": "5 Sublime Text packages that make it a little more like Coda", "url": "https://blakewatson.com/journal/5-sublime-text-packages-that-make-it-a-little-more-like-coda/", "published_at": "2015-12-20T21:34:56+00:00" }, { "id": "01a08741-3795-738b-86ef-e446446fe554", "title": "New personal mark", "url": "https://blakewatson.com/journal/new-personal-mark/", "published_at": "2015-10-16T21:31:05+00:00" }, { "id": "01a08741-3795-738b-86ef-e44645381e4e", "title": "How to get smart quotes in wok", "url": "https://blakewatson.com/journal/how-to-get-smart-quotes-in-wok/", "published_at": "2015-09-17T20:54:55+00:00" }, { "id": "01a08741-3795-738b-86ef-e446457f3faa", "title": "This site’s design is not original", "url": "https://blakewatson.com/journal/this-sites-design-is-not-original/", "published_at": "2015-08-30T19:20:47+00:00" }, { "id": "01a08741-3795-738b-86ef-e44645d79b2f", "title": "Making this site: Going static", "url": "https://blakewatson.com/journal/making-this-site-going-static/", "published_at": "2015-08-27T19:06:35+00:00" }, { "id": "01a08741-3795-738b-86ef-e446460da93f", "title": "Hard refresh", "url": "https://blakewatson.com/journal/hard-refresh/", "published_at": "2015-08-23T17:41:39+00:00" } ] posts Claim your blog
Back to blakewatson.com
Blog · corpus.blog/blogs/blakewatson.com/posts

blakewatson.com

blakewatson.com

2026

2025

24 Jun 2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015