<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Matthew Phillips — Programming</title><description>Notes on software, programming languages, web standards, and the tools we use to build things on the web.</description><link>https://matthewphillips.info/programming/</link><language>en-us</language><item><title>AI Writing Is Fine</title><link>https://matthewphillips.info/programming/posts/ai-writing-is-fine/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/ai-writing-is-fine/</guid><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Send Articles to CrossPoint with Lyceum</title><link>https://matthewphillips.info/programming/posts/send-articles-to-crosspoint/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/send-articles-to-crosspoint/</guid><pubDate>Sun, 26 Apr 2026 15:39:34 GMT</pubDate></item><item><title>New Blog Design (with Claude Design)</title><link>https://matthewphillips.info/programming/posts/new-blog-design-2026/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/new-blog-design-2026/</guid><pubDate>Sat, 18 Apr 2026 13:13:17 GMT</pubDate></item><item><title>Lyceum is now a standalone app</title><link>https://matthewphillips.info/programming/posts/lyceum-now-standalone/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/lyceum-now-standalone/</guid><pubDate>Sat, 28 Mar 2026 12:04:43 GMT</pubDate></item><item><title>Lyceum: An MCP App for Calibre</title><link>https://matthewphillips.info/programming/posts/lyceum-ebook-mcp/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/lyceum-ebook-mcp/</guid><pubDate>Sat, 14 Mar 2026 13:40:58 GMT</pubDate></item><item><title>I&apos;ve Never Been Burnt Out</title><link>https://matthewphillips.info/programming/posts/ive-never-been-burnt-out/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/ive-never-been-burnt-out/</guid><pubDate>Thu, 05 Mar 2026 01:06:05 GMT</pubDate></item><item><title>I Built a Scheme Compiler with AI in 4 Days</title><link>https://matthewphillips.info/programming/posts/i-built-a-scheme-compiler-with-ai/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/i-built-a-scheme-compiler-with-ai/</guid><pubDate>Sun, 01 Mar 2026 14:21:34 GMT</pubDate></item><item><title>Constraints are the Cheat Code to API Design</title><link>https://matthewphillips.info/programming/posts/constraints-cheat-code/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/constraints-cheat-code/</guid><pubDate>Tue, 17 Feb 2026 22:51:18 GMT</pubDate></item><item><title>Spoolie: A Printer TUI</title><link>https://matthewphillips.info/programming/posts/spoolie-a-printer-tui/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/spoolie-a-printer-tui/</guid><pubDate>Mon, 16 Feb 2026 16:00:00 GMT</pubDate></item><item><title>When We Stop Reading Code</title><link>https://matthewphillips.info/programming/posts/when-we-stop-reading-code/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/when-we-stop-reading-code/</guid><pubDate>Sat, 14 Feb 2026 04:00:00 GMT</pubDate></item><item><title>Entry Actions with Robot</title><link>https://matthewphillips.info/programming/posts/entry-actions-robot/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/entry-actions-robot/</guid><pubDate>Mon, 01 Jan 2024 05:00:00 GMT</pubDate></item><item><title>Announcing Lucy</title><link>https://matthewphillips.info/programming/posts/announcing-lucy/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/announcing-lucy/</guid><pubDate>Sat, 24 Apr 2021 04:00:00 GMT</pubDate></item><item><title>Painting for Programmers</title><link>https://matthewphillips.info/programming/posts/painting-for-programmers/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/painting-for-programmers/</guid><description>Painting and art can be a good second hobby for programmers who have had too many side projects.</description><pubDate>Fri, 25 Sep 2020 19:12:00 GMT</pubDate></item><item><title>A Path for High-Level Web APIs</title><link>https://matthewphillips.info/programming/posts/a-path-for-high-level-web-apis/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/a-path-for-high-level-web-apis/</guid><pubDate>Thu, 17 Sep 2020 21:11:45 GMT</pubDate></item><item><title>Full-Stack Component Frameworks</title><link>https://matthewphillips.info/programming/posts/full-stack-component-frameworks/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/full-stack-component-frameworks/</guid><pubDate>Fri, 28 Aug 2020 22:40:53 GMT</pubDate></item><item><title>Transformational Web APIs</title><link>https://matthewphillips.info/programming/posts/transformational-features/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/transformational-features/</guid><pubDate>Mon, 24 Aug 2020 15:38:17 GMT</pubDate></item><item><title>Using State Machines in Alexa Skills</title><link>https://matthewphillips.info/programming/posts/using-state-machines-in-alexa-skills/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/using-state-machines-in-alexa-skills/</guid><pubDate>Thu, 20 Aug 2020 22:18:13 GMT</pubDate></item><item><title>Towards a Post HTML Web</title><link>https://matthewphillips.info/programming/posts/a-post-html-web/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/a-post-html-web/</guid><description>Recent criticisms of web components have highlighted the limitations of HTML as it is today and raised the question of whether the will exists to fix them. A replacement might be a more likely candidate.</description><pubDate>Sun, 24 Nov 2019 05:00:00 GMT</pubDate></item><item><title>First Impressions of GitHub Package Registry</title><link>https://matthewphillips.info/programming/posts/github-packages-first-impressions/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/github-packages-first-impressions/</guid><pubDate>Sun, 06 Oct 2019 04:00:00 GMT</pubDate></item><item><title>The When to Render Problem</title><link>https://matthewphillips.info/programming/posts/when-to-render-problem/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/when-to-render-problem/</guid><pubDate>Sun, 29 Sep 2019 04:00:00 GMT</pubDate></item><item><title>Announcing Robot</title><link>https://matthewphillips.info/programming/posts/announcing-robot/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/announcing-robot/</guid><pubDate>Sat, 21 Sep 2019 04:00:00 GMT</pubDate></item><item><title>Classes are not options objects</title><link>https://matthewphillips.info/programming/posts/classes-are-not-options/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/classes-are-not-options/</guid><pubDate>Thu, 30 May 2019 04:00:00 GMT</pubDate></item><item><title>How Svelte shifted its narrative</title><link>https://matthewphillips.info/programming/posts/svelte3-narrative/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/svelte3-narrative/</guid><pubDate>Wed, 24 Apr 2019 04:00:00 GMT</pubDate></item><item><title>Styling a fullscreen PWA</title><link>https://matthewphillips.info/programming/posts/fullscreen-pwa/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/fullscreen-pwa/</guid><pubDate>Tue, 23 Apr 2019 04:00:00 GMT</pubDate></item><item><title>Accessible disappearing header thanks to :focus-within</title><link>https://matthewphillips.info/programming/posts/focus-within/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/focus-within/</guid><pubDate>Tue, 19 Feb 2019 05:00:00 GMT</pubDate></item><item><title>Defining custom elements in HTML</title><link>https://matthewphillips.info/programming/posts/decorate-element/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/decorate-element/</guid><pubDate>Mon, 11 Feb 2019 05:00:00 GMT</pubDate></item><item><title>Writing on your Gatsby blog leads to JavaScript bloat</title><link>https://matthewphillips.info/programming/posts/gatsby-pages-manifest/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/gatsby-pages-manifest/</guid><description>Every time you post to your Gatsby blog your JavaScript grows by 100 bytes.</description><pubDate>Thu, 17 Jan 2019 00:00:00 GMT</pubDate></item><item><title>But what&apos;s the browser support?</title><link>https://matthewphillips.info/programming/posts/but-whats-the-browser-support/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/but-whats-the-browser-support/</guid><pubDate>Thu, 10 Jan 2019 05:00:00 GMT</pubDate></item><item><title>HTML as data</title><link>https://matthewphillips.info/programming/posts/html-as-data/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/html-as-data/</guid><pubDate>Mon, 07 Jan 2019 05:00:00 GMT</pubDate></item><item><title>Using the :defined selector with slots</title><link>https://matthewphillips.info/programming/posts/wc-defined-selector/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/wc-defined-selector/</guid><pubDate>Tue, 01 Jan 2019 05:00:00 GMT</pubDate></item><item><title>Creating Web Component in Go + wasm</title><link>https://matthewphillips.info/programming/posts/wasm-golang-ce/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/wasm-golang-ce/</guid><pubDate>Mon, 18 Jun 2018 04:00:00 GMT</pubDate></item><item><title>Thoughts on Worker Rendering</title><link>https://matthewphillips.info/programming/posts/about-worker-rendering/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/about-worker-rendering/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Building an accordion with can.Component</title><link>https://matthewphillips.info/programming/posts/building-an-accordion-with-can-component/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/building-an-accordion-with-can-component/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Building Multi-use Web Workers</title><link>https://matthewphillips.info/programming/posts/building-multi-use-workers/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/building-multi-use-workers/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Debugging your application&apos;s View Model</title><link>https://matthewphillips.info/programming/posts/done-autorender-viewmodel/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/done-autorender-viewmodel/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Flora - Streaming templates for Node.js</title><link>https://matthewphillips.info/programming/posts/flora-intro/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/flora-intro/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Fun with Shadow DOM</title><link>https://matthewphillips.info/programming/posts/fun-with-shadow-dom/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/fun-with-shadow-dom/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Functional JavaScript in action</title><link>https://matthewphillips.info/programming/posts/functional-javascript-in-action/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/functional-javascript-in-action/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>The Future of Modularity on the Web</title><link>https://matthewphillips.info/programming/posts/future-of-modules-on-the-web/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/future-of-modules-on-the-web/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Building a gist-based blogging tool</title><link>https://matthewphillips.info/programming/posts/gist-based-blogging/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/gist-based-blogging/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Handling the next Stream in the Pipe Queue</title><link>https://matthewphillips.info/programming/posts/handling-next-stream/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/handling-next-stream/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>How hot module swapping works</title><link>https://matthewphillips.info/programming/posts/how-hot-swapping-works/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/how-hot-swapping-works/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>If Books Had Been Invented for the Web</title><link>https://matthewphillips.info/programming/posts/if-books-had-been-invented-for-the-web/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/if-books-had-been-invented-for-the-web/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>I&apos;m Sold on HTML-based Templating</title><link>https://matthewphillips.info/programming/posts/im-sold-on-html-based-templating/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/im-sold-on-html-based-templating/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>In Defense of var</title><link>https://matthewphillips.info/programming/posts/in-defense-of-var/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/in-defense-of-var/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>JavaScript Debugging Tips from the Trenches</title><link>https://matthewphillips.info/programming/posts/js-debugging/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/js-debugging/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>What the Func</title><link>https://matthewphillips.info/programming/posts/js-what-the-func/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/js-what-the-func/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Leni - A small library for worker communication</title><link>https://matthewphillips.info/programming/posts/leni-intro/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/leni-intro/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Loading a Modern Application with &lt;script type=module&gt;</title><link>https://matthewphillips.info/programming/posts/loading-app-with-script-module/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/loading-app-with-script-module/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Markdown Enable Your Blog Comments with Web Components</title><link>https://matthewphillips.info/programming/posts/markdown-enable-your-blog-comments-with-web-components/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/markdown-enable-your-blog-comments-with-web-components/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>No Build</title><link>https://matthewphillips.info/programming/posts/no-build/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/no-build/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Organizing your library project with StealJS</title><link>https://matthewphillips.info/programming/posts/organizing-your-library-project-with-stealjs/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/organizing-your-library-project-with-stealjs/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Responsive Computes</title><link>https://matthewphillips.info/programming/posts/responsive-computes/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/responsive-computes/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Removing a Folder on Windows</title><link>https://matthewphillips.info/programming/posts/rimraf-windows/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/rimraf-windows/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>State of Developing on a Chromebook</title><link>https://matthewphillips.info/programming/posts/state-of-developing-on-a-chromebook/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/state-of-developing-on-a-chromebook/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Test Your Application Entry Point</title><link>https://matthewphillips.info/programming/posts/test-your-application-entry-point/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/test-your-application-entry-point/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Using Cloud Drives on Chromebooks</title><link>https://matthewphillips.info/programming/posts/using-cloud-drives-on-chromebooks/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/using-cloud-drives-on-chromebooks/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item><item><title>Using NPM with SystemJS</title><link>https://matthewphillips.info/programming/posts/using-npm-with-systemjs/</link><guid isPermaLink="true">https://matthewphillips.info/programming/posts/using-npm-with-systemjs/</guid><pubDate>Thu, 01 Jan 2015 05:00:00 GMT</pubDate></item></channel></rss>