<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress.com" -->
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://nolanlawson.com/2026/03/22/the-diminished-art-of-coding/</loc><lastmod>2026-03-25T00:50:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/02/18/you-had-a-story/</loc><lastmod>2026-02-18T20:32:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/02/15/days-of-miracle-and-wonder/</loc><lastmod>2026-02-24T02:58:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/02/07/we-mourn-our-craft/</loc><lastmod>2026-03-27T09:17:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/02/01/15-years-of-blogging/</loc><lastmod>2026-03-04T03:44:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/01/31/building-a-browser-api-in-one-shot/</loc><lastmod>2026-03-14T21:29:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2026/01/24/ai-tribalism/</loc><lastmod>2026-01-31T06:21:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/12/30/2025-book-review/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/12/signal-2025-12-30-161925.jpeg</image:loc><image:title>signal-2025-12-30-161925</image:title></image:image><lastmod>2025-12-31T00:22:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/12/28/an-experiment-in-vibe-coding/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/12/localhost_5173_itinerary_0pad60n22761h39ipad-pro-1.png</image:loc><image:title>localhost_5173_itinerary_0pad60n22761h39(iPad Pro) (1)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/12/screenshot-from-2025-12-25-21-44-05.png</image:loc><image:title>Screenshot from 2025-12-25 21-44-05</image:title></image:image><lastmod>2026-03-07T16:06:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/12/22/how-i-use-ai-agents-to-write-code/</loc><lastmod>2025-12-28T08:20:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/12/14/the-time-element-should-actually-do-something/</loc><lastmod>2025-12-18T20:44:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/11/16/the-fate-of-small-open-source/</loc><lastmod>2025-11-18T21:13:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/08/31/why-do-browsers-throttle-javascript-timers/</loc><lastmod>2025-09-13T01:23:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/05/21/the-balance-has-shifted-away-from-spas/</loc><lastmod>2025-09-06T22:33:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/22/speeding-up-indexeddb-reads-and-writes/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-08-06-21-1.png</image:loc><image:title>Screenshot from 2021-08-22 08-06-21</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-08-17-33-1.png</image:loc><image:title>Screenshot from 2021-08-22 08-17-33</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-10-00-02.png</image:loc><image:title>Screenshot from 2021-08-22 10-00-02</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-09-45-16.png</image:loc><image:title>Screenshot from 2021-08-22 09-45-16</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-09-38-22.png</image:loc><image:title>Screenshot from 2021-08-22 09-38-22</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-09-34-29.png</image:loc><image:title>Screenshot from 2021-08-22 09-34-29</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-09-32-25.png</image:loc><image:title>Screenshot from 2021-08-22 09-32-25</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-09-17-13.png</image:loc><image:title>Screenshot from 2021-08-22 09-17-13</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-08-17-33.png</image:loc><image:title>Screenshot from 2021-08-22 08-17-33</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-22-08-06-21.png</image:loc><image:title>Screenshot from 2021-08-22 08-06-21</image:title></image:image><lastmod>2025-08-03T16:41:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/06/16/selfish-reasons-for-building-accessible-uis/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/06/screenshot-from-2025-06-15-11-10-20.png</image:loc><image:title>Screenshot from 2025-06-15 11-10-20</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/06/screenshot-from-2025-06-15-10-50-44.png</image:loc><image:title>Screenshot from 2025-06-15 10-50-44</image:title></image:image><lastmod>2025-06-18T14:10:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/04/02/ai-ambivalence/</loc><lastmod>2025-09-28T16:51:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/11/28/shadow-dom-and-accessibility-the-trouble-with-aria/</loc><lastmod>2025-07-08T07:21:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2025/01/18/goodbye-salesforce-hello-socket/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2025/01/signal-2025-01-12-085034.jpeg</image:loc><image:title>signal-2025-01-12-085034</image:title></image:image><lastmod>2025-02-01T21:34:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/about/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/01/perfnow-2022-5769.webp</image:loc><image:title>perfnow-2022-5769</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/01/profile_17.jpg</image:loc><image:title>profile_17</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/edgeconf2105-36-cropped.jpg</image:loc><image:title>EdgeConf2015</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/20150402203035.jpg</image:loc><image:title>Me in front of a Lawson store in Japan</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/20150402200506.jpg</image:loc><image:title>Me in front of a Lawson store in Japan</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/36676_774182824255_422630_43263352_5633703_n_cropped.jpg</image:loc><image:title>self_1</image:title></image:image><lastmod>2025-01-18T15:43:58+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://nolanlawson.com/2024/12/30/2024-book-review/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/12/rotated.jpg</image:loc><image:title>Books</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/12/2024-12-30-11-02-37-071.jpg</image:loc><image:title>2024-12-30-11-02-37-071</image:title></image:image><lastmod>2024-12-30T19:18:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/12/01/avoiding-unnecessary-cleanup-work-in-disconnectedcallback/</loc><lastmod>2025-01-24T22:12:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/</loc><lastmod>2025-05-29T15:33:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/10/13/the-greatness-and-limitations-of-the-js-framework-benchmark/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/10/screenshot-from-2024-10-13-11-14-18.png</image:loc><image:title>Screenshot from 2024-10-13 11-14-18</image:title><image:caption>Screenshot of the &lt;code&gt;vanillajs&lt;/code&gt; (i.e. baseline) "framework" in the &lt;code&gt;js-framework-benchmark&lt;/code&gt;</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/10/screenshot-from-2024-10-13-09-40-06.png</image:loc><image:title>Screenshot from 2024-10-13 09-40-06</image:title><image:caption>A screenshot of the `vanillajs` (i.e. baseline) "framework" in the `js-framework-benchmark`.</image:caption></image:image><lastmod>2024-10-13T23:55:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/09/18/improving-rendering-performance-with-css-content-visibility/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-from-2024-09-17-08-07-04.png</image:loc><image:title>Screenshot from 2024-09-17 08-07-04</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-2024-09-17-at-07-52-55-home-c2b7-mastodon.social-1.png</image:loc><image:title>Screenshot 2024-09-17 at 07-52-55 Home · mastodon.social</image:title><image:caption>Custom emoji on &lt;code&gt;mastodon.social&lt;/code&gt;.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-2024-09-17-at-07-52-55-home-c2b7-mastodon.social.png</image:loc><image:title>Screenshot 2024-09-17 at 07-52-55 Home · mastodon.social</image:title><image:caption>Custom emoji on &lt;code&gt;mastodon.social&lt;/code&gt;.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-from-2024-09-17-07-51-16.png</image:loc><image:title>Screenshot from 2024-09-17 07-51-16</image:title><image:caption>Custom emoji on &lt;code&gt;mastodon.social&lt;/code&gt;.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-from-2024-09-16-19-23-41-cropped.png</image:loc><image:title>Screenshot from 2024-09-16 19-23-41 cropped</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/00c8ca7e485fd88b.png</image:loc><image:title>00c8ca7e485fd88b</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-from-2024-09-16-19-23-41.png</image:loc><image:title>Screenshot from 2024-09-16 19-23-41</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-emoji-1.png</image:loc><image:title>screenshot-emoji</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-from-2024-09-16-19-38-49.png</image:loc><image:title>Screenshot from 2024-09-16 19-38-49</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/screenshot-emoji.png</image:loc><image:title>screenshot-emoji</image:title></image:image><lastmod>2024-10-13T00:35:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/09/28/web-components-are-okay/</loc><lastmod>2024-10-09T23:08:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/09/17/the-continuing-tragedy-of-emoji-on-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/martinique-flags-featured-image.png</image:loc><image:title>martinique-flags-featured-image</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2024/09/martinique-flags.png</image:loc><image:title>martinique-flags</image:title><image:caption>From left to right: Safari on iOS 17, Firefox 130 on Windows 11, and Chrome 128 on Windows 11.</image:caption></image:image><lastmod>2024-09-23T14:51:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/04/08/the-struggle-of-using-native-emoji-on-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-2022-04-08-113806.png</image:loc><image:title>Screenshot 2022-04-08 113806</image:title><image:caption>Flag emoji in Chrome on Windows. You can have the pirate flag, you can have the rainbow flag, but you can't root for Argentina or Brazil in a soccer match.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-2022-04-08-112741.png</image:loc><image:title>Screenshot 2022-04-08 112741</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-2022-04-08-105913.png</image:loc><image:title>Screenshot 2022-04-08 105913</image:title><image:caption>I build an emoji picker called emoji-picker-element. This is what it would look like if I didn't jump through a bunch of hoops to fix emoji.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-from-2022-04-03-14-56-40.png</image:loc><image:title>Screenshot from 2022-04-03 14-56-40</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-from-2022-04-03-14-15-35.png</image:loc><image:title>Screenshot from 2022-04-03 14-15-35</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/04/screenshot-from-2022-04-03-13-15-06.png</image:loc><image:title>Screenshot from 2022-04-03 13-15-06</image:title><image:caption>This could also colorfully be described as "robot barf."</image:caption></image:image><lastmod>2024-09-18T00:03:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/02/10/building-a-modern-carousel-with-css-scroll-snap-smooth-scrolling-and-pinch-zoom/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/02/screenshot-from-2019-02-09-14-15-43.png</image:loc><image:title>Screenshot of carousel with indicator buttons</image:title></image:image><lastmod>2025-10-21T05:44:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/08/05/reliable-javascript-benchmarking-with-tachometer/</loc><lastmod>2024-08-05T14:40:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/07/28/is-it-okay-to-make-connectedcallback-async/</loc><lastmod>2024-10-04T11:15:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/03/03/bugs-ive-filed-on-browsers/</loc><lastmod>2024-03-04T07:53:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/08/25/catching-errors-thrown-from-connectedcallback/</loc><lastmod>2024-02-24T16:42:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2024/01/13/web-component-gotcha-constructor-vs-connectedcallback/</loc><lastmod>2024-01-14T19:38:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/12/31/2023-book-review/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/books-2023.jpeg</image:loc><image:title>books-2023</image:title></image:image><lastmod>2024-06-21T08:15:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/12/30/shadow-dom-and-the-problem-of-encapsulation/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/screenshot-from-2023-12-30-09-51-39.png</image:loc><image:title>Screenshot from 2023-12-30 09-51-39</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/2023122815392001_s-1.jpg</image:loc><image:title>2023122815392001_s</image:title><image:caption>In &lt;em&gt;Tears of the Kingdom&lt;/em&gt;, you can glue together just about anything, and it will kind of work.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/out2.png</image:loc><image:title>out2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/2023122815392001_s.jpg</image:loc><image:title>2023122815392001_s</image:title><image:caption>In &lt;em&gt;Tears of the Kingdom&lt;/em&gt;, you can glue together just about anything, and it will kind of work.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/localhost_9030_index.html-2.png</image:loc><image:title>localhost_9030_index.html (2)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/localhost_9030_index.html-1.png</image:loc><image:title>localhost_9030_index.html (1)</image:title></image:image><lastmod>2024-01-18T16:18:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/12/17/rebuilding-emoji-picker-element-on-a-custom-framework/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/screen-shot-2023-12-16-at-14.27.47.png</image:loc><image:title>Screen Shot 2023-12-16 at 14.27.47</image:title></image:image><lastmod>2023-12-22T22:19:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/12/02/lets-learn-how-modern-javascript-frameworks-work-by-building-one/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/12/js-diy.png</image:loc><image:title>js-diy</image:title></image:image><lastmod>2024-05-06T03:18:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/06/14/dialogs-and-shadow-dom-can-we-make-it-accessible/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/lisa.jpg</image:loc><image:title>lisa</image:title><image:caption>I credit &lt;a href="https://bkardell.com/"&gt;Brian Kardell&lt;/a&gt; for this description of open shadow DOM, which is maybe the most perfect distillation of how it actually works.</image:caption></image:image><lastmod>2023-11-19T15:42:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/08/23/use-web-components-for-what-theyre-good-at/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/08/logo.png</image:loc><image:title>logo</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/08/logo_optimized.png</image:loc><image:title>logo_optimized</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/08/vlcsnap-2023-08-20-10h52m39s412.png</image:loc><image:title>vlcsnap-2023-08-20-10h52m39s412</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2023/08/vlcsnap-2023-08-20-10h09m26s907.png</image:loc><image:title>vlcsnap-2023-08-20-10h09m26s907</image:title><image:caption>If this isn't enough, you could also look at &lt;a href=""&gt;Oracle&lt;/a&gt;</image:caption></image:image><lastmod>2024-12-09T23:34:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/03/handling-properties-in-custom-element-upgrades/</loc><lastmod>2023-06-17T14:40:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/01/17/my-talk-on-css-runtime-performance/</loc><lastmod>2023-01-18T14:53:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2023/01/09/retiring-pinafore/</loc><lastmod>2023-07-19T21:09:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/12/30/2022-book-review/</loc><lastmod>2022-12-30T17:59:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/talks/</loc><lastmod>2022-12-13T17:03:36+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://nolanlawson.com/2022/11/22/thoughts-on-mastodon/</loc><lastmod>2022-12-01T23:03:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/10/26/a-beginners-guide-to-chrome-tracing/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-33-12.png</image:loc><image:title>Screenshot from 2022-10-18 07-33-12</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-37-48.png</image:loc><image:title>Screenshot from 2022-10-18 07-37-48</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-34-28.png</image:loc><image:title>Screenshot from 2022-10-18 07-34-28</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-27-27.png</image:loc><image:title>Screenshot from 2022-10-18 07-27-27</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-06-55-17.png</image:loc><image:title>Screenshot from 2022-10-18 06-55-17</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-06-59-19.png</image:loc><image:title>Screenshot from 2022-10-18 06-59-19</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-01-13.png</image:loc><image:title>Screenshot from 2022-10-18 07-01-13</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-18-07-06-09.png</image:loc><image:title>Screenshot from 2022-10-18 07-06-09</image:title></image:image><lastmod>2024-02-22T18:07:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/10/22/style-performance-and-concurrent-rendering/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-23-08-12-01.png</image:loc><image:title>Screenshot from 2022-10-23 08-12-01</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-23-06-49-56.png</image:loc><image:title>Screenshot from 2022-10-23 06-49-56</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-23-06-36-08.png</image:loc><image:title>Screenshot from 2022-10-23 06-36-08</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-23-06-50-16.png</image:loc><image:title>Screenshot from 2022-10-23 06-50-16</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-23-06-50-31.png</image:loc><image:title>Screenshot from 2022-10-23 06-50-31</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-05-06-07-53-55.png</image:loc><image:title>Screenshot from 2022-05-06 07-53-55</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-22-10-43-33.png</image:loc><image:title>Screenshot from 2022-10-22 10-43-33</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-22-09-42-41.png</image:loc><image:title>Screenshot from 2022-10-22 09-42-41</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-22-09-22-10.png</image:loc><image:title>Screenshot from 2022-10-22 09-22-10</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/10/screenshot-from-2022-10-22-08-53-46.png</image:loc><image:title>Screenshot from 2022-10-22 08-53-46</image:title></image:image><lastmod>2026-01-07T13:43:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/09/25/accurately-measuring-layout-on-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-23-08-57-14.png</image:loc><image:title>Screenshot 2018-09-23 08.57.14</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-13-06-15.png</image:loc><image:title>Screenshot 2018-09-22 13.06.15</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-13-04-13.png</image:loc><image:title>Screenshot 2018-09-22 13.04.13</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/virtualbox_msedge-win10_22_09_2018_12_51_17.png</image:loc><image:title>VirtualBox_MSEdge - Win10_22_09_2018_12_51_17</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-12-22-38.png</image:loc><image:title>Screenshot 2018-09-22 12.22.38</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-12-15-07.png</image:loc><image:title>Screenshot 2018-09-22 12.15.07</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-11-45-56-3-copy.png</image:loc><image:title>Screenshot 2018-09-22 11.45.56 3 copy</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-11-45-56-3.png</image:loc><image:title>Screenshot 2018-09-22 11.45.56 3</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-11-45-56-2.png</image:loc><image:title>Screenshot 2018-09-22 11.45.56 2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-22-11-45-56-4.png</image:loc><image:title>Screenshot 2018-09-22 11.45.56 4</image:title></image:image><lastmod>2023-08-15T14:47:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/06/22/style-scoping-versus-shadow-dom-which-is-fastest/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-10-08-09-48-56.png</image:loc><image:title>Screenshot from 2022-10-08 09-48-56</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-10-08-09-48-52.png</image:loc><image:title>Screenshot from 2022-10-08 09-48-52</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-10-08-09-18-47.png</image:loc><image:title>Screenshot from 2022-10-08 09-18-47</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-10-08-09-18-42.png</image:loc><image:title>Screenshot from 2022-10-08 09-18-42</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-25-13-13-55.png</image:loc><image:title>Screenshot from 2022-06-25 13-13-55</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-23-19-30-39.png</image:loc><image:title>Screenshot from 2022-06-23 19-30-39</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-23-19-19-56.png</image:loc><image:title>Screenshot from 2022-06-23 19-19-56</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-19-22-22-03-2.png</image:loc><image:title>Screenshot from 2022-06-19 22-22-03</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-19-22-21-56-1.png</image:loc><image:title>Screenshot from 2022-06-19 22-21-56</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-19-22-21-52-1.png</image:loc><image:title>Screenshot from 2022-06-19 22-21-52</image:title></image:image><lastmod>2024-02-12T03:43:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/05/29/state-is-hard-why-spas-will-persist/</loc><lastmod>2022-06-29T14:36:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/06/27/spas-theory-versus-practice/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-25-16h42m28s925.png</image:loc><image:title>vlcsnap-2022-06-25-16h42m28s925</image:title><image:caption>Screenshot from Anthony Ricaud's talk. Note that the SPA site (on top) takes 3.2s, whereas the MPA site (on bottom) takes 2.2s.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-25-13-13-55-2.png</image:loc><image:title>Screenshot from 2022-06-25 13-13-55</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/screenshot-from-2022-06-25-13-13-55-1.png</image:loc><image:title>Screenshot from 2022-06-25 13-13-55</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-25-16h27m34s714-small.png</image:loc><image:title>vlcsnap-2022-06-25-16h27m34s714-small</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-25-16h27m34s714.png</image:loc><image:title>vlcsnap-2022-06-25-16h27m34s714</image:title><image:caption>Screenshot from Anthony Ricaud's talk. Note that the SPA version is on the top (5.5s) and the MPA version is on bottom (2.5s).</image:caption></image:image><lastmod>2023-08-18T04:38:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-13-05-36.png</image:loc><image:title>Screenshot from 2021-08-15 13-05-36</image:title><image:caption>A performance trace in Chrome DevTools, showing the basic JavaScript → Style → Layout → Paint pipeline.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-46.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-46</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-39-1.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-39</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-32.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-32</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-26.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-26</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-10.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-10</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-01.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-01</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-15-10-14-39.png</image:loc><image:title>Screenshot from 2021-08-15 10-14-39</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-14-15-34-23.png</image:loc><image:title>Screenshot from 2021-08-14 15-34-23</image:title></image:image><lastmod>2024-11-28T17:06:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/02/13/managing-focus-in-the-shadow-dom/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/01/screenshot-from-2021-01-31-15-20-55.png</image:loc><image:title>Screenshot from 2021-01-31 15-20-55</image:title><image:caption>WebKit's developer tools helpfully shows the video controls as "shadow content (user agent)." You can look, but you can't touch!</image:caption></image:image><lastmod>2022-06-14T15:10:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/06/09/the-collapse-of-complex-software/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-04-14h56m05s218.png</image:loc><image:title>vlcsnap-2022-06-04-14h56m05s218</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-04-11h31m52s707-1.jpg</image:loc><image:title>vlcsnap-2022-06-04-11h31m52s707</image:title><image:caption>"EKS is being deprecated at the end of the month for Omega Star, but Omega Star still doesn't support ISO timestamps." We've all been there. (Via &lt;a href="https://www.youtube.com/watch?v=y8OnoxKotPQ"&gt;Krazam&lt;/a&gt;)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/06/vlcsnap-2022-06-04-11h31m52s707.jpg</image:loc><image:title>vlcsnap-2022-06-04-11h31m52s707</image:title><image:caption>"EKS is being deprecated at the end of the month for Omega Star, but Omega Star still doesn't support ISO timestamps." We've all been there.</image:caption></image:image><lastmod>2022-07-20T09:49:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/05/25/more-thoughts-on-spas/</loc><lastmod>2022-06-15T06:07:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/01/03/options-for-styling-web-components/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/01/screenshot-from-2021-01-02-10-27-11.png</image:loc><image:title>Screenshot from 2021-01-02 10-27-11</image:title></image:image><lastmod>2022-12-06T20:15:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/apps/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/ultimate_crossword_screenshot.png</image:loc><image:title>ultimate_crossword_screenshot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/ultimate-crossword-icon-72.png</image:loc><image:title>ultimate-crossword-icon-72</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/screen-shot-2013-05-09-at-6-10-44-pm.png</image:loc><image:title>Japanese Name Converter screenshot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/screen-shot-2013-04-21-at-11-35-10-pm.png</image:loc><image:title>imperial calculator screenshot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/swiss_bank_72x72.png</image:loc><image:title>swiss_bank_72x72</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/catlog_36_x_36.png</image:loc><image:title>catlog_36_x_36</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/pokedroid_jb_screenshot_2.png</image:loc><image:title>pokedroid_jb_screenshot_2</image:title><image:caption>Pokédroid</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/pokedroid_jb_screenshot_1.png</image:loc><image:title>pokedroid_jb_screenshot_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/keepscore_jb_screenshot_2.png</image:loc><image:title>keepscore_jb_screenshot_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/keepscore_jb_screenshot_1.png</image:loc><image:title>keepscore_jb_screenshot_1</image:title></image:image><lastmod>2022-02-20T19:27:44+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://nolanlawson.com/2022/02/02/five-years-of-quitting-twitter/</loc><lastmod>2022-09-29T02:58:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2022/01/05/memory-leaks-the-forgotten-side-of-web-performance/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/01/screenshot-from-2022-01-04-18-32-24.png</image:loc><image:title>Screenshot from 2022-01-04 18-32-24</image:title><image:caption>fuite stacktraces</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/01/screenshot-from-2022-01-04-18-06-48.png</image:loc><image:title>Screenshot from 2022-01-04 18-06-48</image:title><image:caption>fuite showing the stacktraces for leaking collections.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2022/01/screenshot-from-2022-01-04-18-15-05.png</image:loc><image:title>Screenshot from 2022-01-04 18-15-05</image:title><image:caption>Chrome's Out Of Memory error page. If you see this, something has gone very wrong.</image:caption></image:image><lastmod>2022-10-28T14:08:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/12/31/2021-book-review/</loc><lastmod>2022-06-10T19:35:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/leak-scenario.png</image:loc><image:title>leak-scenario</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/screenshot-from-2020-02-16-10-56-12-3.png</image:loc><image:title>Screenshot from 2020-02-16 10-56-12-3</image:title><image:caption>The retainer chain shows you which object is referencing the leaked object. The way to read it is that each object is referenced by the object below it.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/screenshot-from-2020-02-16-10-56-12-2.png</image:loc><image:title>Screenshot from 2020-02-16 10-56-12-2</image:title><image:caption>A heap snapshot diff. Note that we're comparing snapshot #6 to snapshot #3, because I take three captures in a row to allow more garbage collection to occur. Also note that several objects are leaking 7 times.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/gorilla_eating_optimized.jpg</image:loc><image:title>KromerGorillas - 20050804 - Gorilla Eating - Philip Kromer (248)</image:title><image:caption>Via [Wikipedia](https://commons.wikimedia.org/wiki/File:Gorilla_Eating.jpg)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/screenshot-from-2020-02-16-10-56-12.png</image:loc><image:title>Screenshot from 2020-02-16 10-56-12</image:title><image:caption>A heap snapshot diff. Note that we're comparing snapshot #6 to snapshot #3, because I take three capture in order to allow more garbage collection to occur. Also note that several objects are leaking 7 times, and we have a retainer chain for one of those objects.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/screenshot-from-2020-02-16-11-03-49.png</image:loc><image:title>Screenshot from 2020-02-16 11-03-49</image:title><image:caption>The Heap Snapshot tool allows you to take a memory capture of the main thread or web workers or iframes.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/02/awsnap.png</image:loc><image:title>awsnap</image:title></image:image><lastmod>2021-12-30T16:15:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/12/17/introducing-fuite-a-tool-for-finding-memory-leaks-in-web-apps/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/12/screenshot-memory.png</image:loc><image:title>screenshot-memory</image:title><image:caption>On this particular site, memory grows by about 5-6MB every time you click a link and go back.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/12/screenshot-from-2021-12-14-23-08-16.png</image:loc><image:title>Screenshot from 2021-12-14 23-08-16</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/12/screenshot-from-2021-12-14-20-07-16.png</image:loc><image:title>Screenshot from 2021-12-14 20-07-16</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/12/faucet.jpg</image:loc><image:title>faucet</image:title><image:caption>A leaking faucet (via &lt;a href="https://commons.wikimedia.org/wiki/File:Dropping_faucet.jpg"&gt;Wikimedia Commons&lt;/a&gt;)</image:caption></image:image><lastmod>2022-04-01T15:10:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/12/05/one-weird-trick-to-improve-your-websites-performance/</loc><lastmod>2022-01-12T04:12:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/09/12/how-to-write-about-web-performance/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/09/screenshot-from-2021-08-14-15-34-23.png</image:loc><image:title>screenshot-from-2021-08-14-15-34-23</image:title></image:image><lastmod>2021-09-13T19:30:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/26/my-love-hate-affair-with-technology/</loc><lastmod>2021-09-08T21:07:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/08/improving-responsiveness-in-text-inputs/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-07-18-32-54-1.png</image:loc><image:title>Screenshot from 2021-08-07 18-32-54</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/08/screenshot-from-2021-08-07-18-32-54.png</image:loc><image:title>Screenshot from 2021-08-07 18-32-54</image:title></image:image><lastmod>2021-08-22T23:36:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/08/01/why-its-okay-for-web-components-to-use-frameworks/</loc><lastmod>2021-08-02T06:06:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/02/23/javascript-performance-beyond-bundle-size/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-22-22-02-23.png</image:loc><image:title>Screenshot from 2021-02-22 22-02-23</image:title><image:caption>Loading Moment, Three.js, and React in production mode. Without the User Timings, would you be able to figure out where the time is being spent?</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-22-21-02-33.png</image:loc><image:title>Screenshot from 2021-02-22 21-02-33</image:title><image:caption>Compilation and execution in Chrome DevTools. Note that Chrome does some &lt;a href="https://v8.dev/blog/cost-of-javascript-2019"&gt;parsing and compilation off-main-thread&lt;/a&gt;.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-16-07-19.png</image:loc><image:title>Screenshot from 2021-02-20 16-07-19</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-15-25-10.png</image:loc><image:title>Screenshot from 2021-02-20 15-25-10</image:title><image:caption>The same poorly-behaved JavaScript code in Performance Monitor. Note the constant low hum of CPU usage, as well as the sawtooth pattern in the memory usage, indicating memory constantly being allocated and de-allocated.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-15-19-13.png</image:loc><image:title>Screenshot from 2021-02-20 15-19-13</image:title><image:caption>A poorly-behaved JavaScript widget. Notice the little peaks of JavaScript usage, showing constant CPU usage even while the page is idle.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-14-58-18.png</image:loc><image:title>Screenshot from 2021-02-20 14-58-18</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-09-45-39.png</image:loc><image:title>Screenshot from 2021-02-20 09-45-39</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2021/02/screenshot-from-2021-02-20-09-26-49.png</image:loc><image:title>Screenshot from 2021-02-20 09-26-49</image:title><image:caption>Loading React, Moment, and Three.js in production mode. Without the User Timings, would you be able to figure out where the time is being spent?</image:caption></image:image><lastmod>2021-02-26T17:57:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2021/01/01/2020-book-review/</loc><lastmod>2021-01-01T23:07:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/12/29/programmers-are-bad-at-managing-state/</loc><lastmod>2021-04-21T16:11:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/06/28/introducing-emoji-picker-element-a-memory-efficient-emoji-picker-for-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-36-54-2.png</image:loc><image:title>Screenshot from 2020-06-23 08-36-54</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/emojos.png</image:loc><image:title>emojos</image:title><image:caption>The built-in emoji pickers on macOS and Windows. Ask a non-techie if they've ever even seen these.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-36-54-1.png</image:loc><image:title>Screenshot from 2020-06-23 08-36-54</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-36-54.png</image:loc><image:title>Screenshot from 2020-06-23 08-36-54</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-49-30.png</image:loc><image:title>Screenshot from 2020-06-23 08-49-30</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-44-58.png</image:loc><image:title>Screenshot from 2020-06-23 08-44-58</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-23-08-36-54-annotated.png</image:loc><image:title>Screenshot from 2020-06-23 08-36-54-annotated</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-22-23-25-20.png</image:loc><image:title>Screenshot from 2020-06-22 23-25-20</image:title><image:caption>Example of "person with red hair" when rendered incorrectly.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/out.png</image:loc><image:title>out</image:title></image:image><lastmod>2022-11-17T16:38:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/07/01/building-an-accessible-emoji-picker/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/out-1.png</image:loc><image:title>out</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-30-23-05-19.png</image:loc><image:title>Screenshot from 2020-06-30 23-05-19</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-30-09-57-54.png</image:loc><image:title>Screenshot from 2020-06-30 09-57-54</image:title><image:caption>Removing this blur listener may make debugging a bit easier.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/06/screenshot-from-2020-06-30-09-32-27.png</image:loc><image:title>Screenshot from 2020-06-30 09-32-27</image:title></image:image><lastmod>2020-09-06T04:28:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/05/10/linux-on-the-desktop-as-a-web-developer/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/05/img_20200509_113755-1.jpg</image:loc><image:title>img_20200509_113755</image:title><image:caption>My basic setup. Dell XPS 13, Kensington trackball mouse (yes I'm a weirdo who likes trackballs), Apple magic keyboard (I still prefer the feel), and a BenQ monitor (because I play some games where &lt;a href="http://www.meleeitonme.com/this-tv-lags-a-guide-on-input-and-display-lag/"&gt;display lag matters&lt;/a&gt;)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/05/screenshot-from-2020-05-09-15-43-46.png</image:loc><image:title>Screenshot from 2020-05-09 15-43-46</image:title><image:caption>GNOME Web on HTML5Test. Safari it is not.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/05/screenshot-from-2020-05-09-11-26-08-1.png</image:loc><image:title>Screenshot from 2020-05-09 11-26-08</image:title><image:caption>Tmux with a few panes open</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/05/screenshot-from-2020-05-09-11-26-08.png</image:loc><image:title>Screenshot from 2020-05-09 11-26-08</image:title><image:caption>Ah, the command line on Linux. So good.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/05/screenshot-from-2020-05-08-17-59-39.png</image:loc><image:title>Screenshot from 2020-05-08 17-59-39</image:title><image:caption>Believe it or not, you can actually debug iOS Safari from Linux.</image:caption></image:image><lastmod>2020-11-03T19:58:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2020/05/02/customizing-fonts-in-firefox-on-linux/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/out-2.png</image:loc><image:title>out</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/screenshot-from-2020-04-30-08-23-51.png</image:loc><image:title>Screenshot from 2020-04-30 08-23-51</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/screenshot-from-2020-04-30-08-18-38.png</image:loc><image:title>Screenshot from 2020-04-30 08-18-38</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/out-1.png</image:loc><image:title>Liberation Sans</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/screenshot-from-2020-04-30-08-03-11.png</image:loc><image:title>Screenshot from 2020-04-30 08-03-11</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2020/04/out.png</image:loc><image:title>Nimbus Sans font</image:title></image:image><lastmod>2023-12-16T18:29:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/12/31/2019-end-year-book-review/</loc><lastmod>2020-01-15T11:17:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/11/05/what-ive-learned-about-accessibility-in-spas/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/out.gif</image:loc><image:title>Changing focus on a post in Pinafore</image:title><image:caption>Animated screenshot of a Mastodon post in Pinafore showing focus moving from the entire post to the user name, then the timestamp, then the four buttons at the botto in order</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot-from-2019-11-03-11-55-25.png</image:loc><image:title>Screenshot from 2019-11-03 11-55-25</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screen-shot-2019-11-03-at-9.00.38-am.png</image:loc><image:title>Screen Shot 2019-11-03 at 9.00.38 AM</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/2019-11-03-08_56_18-greenshot.png</image:loc><image:title>2019-11-03 08_56_18-Greenshot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot-from-2019-11-03-08-37-50.png</image:loc><image:title>Screenshot from 2019-11-03 08-37-50</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot-from-2019-11-02-13-38-01-1.png</image:loc><image:title>Screenshot from 2019-11-02 13-38-01</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot-from-2019-11-02-13-52-05.png</image:loc><image:title>Screenshot from 2019-11-02 13-52-05</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot-from-2019-11-02-13-38-01.png</image:loc><image:title>Screenshot from 2019-11-02 13-38-01</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot_2019-11-02-toot-cafe-c2b7-profile2.png</image:loc><image:title>Screenshot_2019-11-02 toot cafe · Profile(2)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/11/screenshot_2019-11-02-toot-cafe-c2b7-profile.png</image:loc><image:title>Screenshot_2019-11-02 toot cafe · Profile</image:title></image:image><lastmod>2022-07-06T13:58:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/09/22/the-joy-and-challenge-of-developing-for-kaios/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/out.png</image:loc><image:title>out</image:title><image:caption>The iPhone 4 is already pretty small, but it's a giant compared to the Nokia 8110 4G.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/kai2.png</image:loc><image:title>kai2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/vlcsnap-2019-09-21-19h22m03s808.png</image:loc><image:title>vlcsnap-2019-09-21-19h22m03s808</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/screenshot-from-2019-09-21-12-58-42.png</image:loc><image:title>Screenshot from 2019-09-21 12-58-42</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/screenshot-from-2019-09-21-12-57-51.png</image:loc><image:title>Screenshot from 2019-09-21 12-57-51</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/09/screenshot-from-2019-09-21-12-49-41.png</image:loc><image:title>Screenshot from 2019-09-21 12-49-41</image:title></image:image><lastmod>2023-05-04T00:08:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/08/14/browsers-input-events-and-frame-throttling/</loc><lastmod>2024-06-15T07:36:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/08/11/high-performance-input-handling-on-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-13-39-22.png</image:loc><image:title>Screenshot from 2019-08-10 13-39-22</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-13-33-18.png</image:loc><image:title>Screenshot from 2019-08-10 13-33-18</image:title><image:caption>In the Chrome Dev Tools, you can tell the difference between a forced layout (or "reflow") and a normal one because of the red triangle (and warning) on the purple style/layout blocks. Note that above, there are no warnings.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-13-25-20.png</image:loc><image:title>Screenshot from 2019-08-10 13-25-20</image:title><image:caption>Note the style and layout recalculations in the purple blocks, which Chrome marks with a red triangle and warning about "forced reflow."</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-13-08-55.png</image:loc><image:title>Screenshot from 2019-08-10 13-08-55</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-12-52-15-1.png</image:loc><image:title>Screenshot from 2019-08-10 12-52-15</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/08/screenshot-from-2019-08-10-12-52-15.png</image:loc><image:title>Screenshot from 2019-08-10 12-52-15</image:title></image:image><lastmod>2021-02-17T17:43:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/06/17/advice-for-new-bicycle-commuters/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190616_095611-e1560709074713.jpg</image:loc><image:title>IMG_20190616_095611</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190514_084616-1-e1560707660277.jpg</image:loc><image:title>IMG_20190514_084616</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190514_084616-e1560707521309.jpg</image:loc><image:title>IMG_20190514_084616</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190616_095613.jpg</image:loc><image:title>IMG_20190616_095613</image:title></image:image><lastmod>2019-08-12T14:31:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/06/15/mid-2019-book-review/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190611_191804-1.jpg</image:loc><image:title>Photo of books on a desk</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/img_20190611_191804-e1560306548128.jpg</image:loc><image:title>Photo of books on my desk</image:title></image:image><lastmod>2019-06-16T16:38:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/06/13/how-to-de-google-your-android-phone/</loc><lastmod>2021-05-01T13:08:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/09/29/indexeddb-websql-localstorage-what-blocks-the-dom/</loc><lastmod>2023-06-17T00:44:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/06/02/one-year-of-pinafore/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/screenshot_2019-06-02-lighthouse-report-e1559495547485.png</image:loc><image:title>Screenshot of Lighthouse showing perfect 100 score in all categories, including Performance, Accessibility, Best Practices, and SEO</image:title><image:caption>If you didn't think I was going to brag about web perf vanity metrics, then you don't know me very well.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/screenshot_2019-06-01-toot-cafe-c2b7-home.png</image:loc><image:title>Screenshot of Pinafore showing a compose input</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/screenshot_2019-06-01-malfunctioning-technology-c2b7-home1.png</image:loc><image:title>Screenshot of Pinafore showing a compose input and a poll</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/06/screenshot_2019-06-01-malfunctioning-technology-c2b7-home.png</image:loc><image:title>Screenshot of Pinafore showing a compose input and a poll</image:title></image:image><lastmod>2019-06-11T07:17:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/05/31/tech-veganism/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/05/tech-veganism.png</image:loc><image:title>Hand draw picture of a computer with vegetables on the screen</image:title></image:image><lastmod>2021-11-15T14:22:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/05/28/in-defense-of-the-right-thing/</loc><lastmod>2019-05-31T13:07:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/05/29/get-off-of-twitter/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/05/twitter-2.png</image:loc><image:title>Twitter logo with a red "no" sign over it</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/05/twitter-1.png</image:loc><image:title>Twitter logo with a red "no" sign over it</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/05/twitter.png</image:loc><image:title>Twitter logo with a red "no" sign over it</image:title></image:image><lastmod>2021-08-18T15:46:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/02/14/2018-book-review/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/02/books.jpg</image:loc><image:title>Books on bookshelf</image:title><image:caption>A completely unstaged photo of my remarkably tidy bookshelf</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/02/img_20190212_154507-1.jpg</image:loc><image:title>IMG_20190212_154507</image:title><image:caption>A completely</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2019/02/img_20190212_154507.jpg</image:loc><image:title>A photo of books on my bookshelf</image:title></image:image><lastmod>2019-09-23T15:47:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2019/01/01/things-ive-been-wrong-about-things-ive-been-right-about/</loc><lastmod>2019-01-06T13:29:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/11/18/scrolling-the-main-document-is-better-for-performance-accessibility-and-usability/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/11/screenshot-2018-11-17-23-46-25.png</image:loc><image:title>Scrolling Performance issues</image:title><image:caption>The "repaints on scroll" warning. This is gone now that the scrollable element is the document body.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/11/screenshot_2018-11-17-malfunctioning-technology-c2b7-local1.png</image:loc><image:title>Screenshot of Pinafore</image:title></image:image><lastmod>2022-12-21T00:44:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/09/15/yubikeys-are-neat/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/img_20180915_092612.jpg</image:loc><image:title>YubiKey on a keychain</image:title></image:image><lastmod>2020-02-20T15:06:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/09/09/moving-on-from-microsoft/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/djpuejvxgaadr5e.jpg</image:loc><image:title>Slide from a talk I gave at the Edge Web Summit 2017</image:title><image:caption>A slide from a talk I gave at the Edge Web Summit https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES15</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-08-14-08-05.png</image:loc><image:title>"Solving the web performance crisis", a talk I gave on web performance</image:title><image:caption>"Solving the web performance crisis," a talk I gave on JavaScript performance for a Microsoft audience (https://channel9.msdn.com/Blogs/msedgedev/nolanlaw-web-perf-crisis)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/everyone.jpg</image:loc><image:title>"This is for everyone", dedicated to Tim Berners-Lee</image:title><image:caption>"This is for everyone", a tribute to the web and Tim Berners-Lee</image:caption></image:image><lastmod>2019-02-18T06:50:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/02/29/high-performance-web-worker-messages/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/ccb0vnww4ae7vr4.jpg</image:loc><image:title>Edge 13 results</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-32-40.png</image:loc><image:title>Results with the best time for each browser</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-23-44.png</image:loc><image:title>Nexus 5 Chrome test results</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-15-11.png</image:loc><image:title>Stringification results for all browsers</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-15-02.png</image:loc><image:title>Safari test results</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-14-51.png</image:loc><image:title>Firefox results with arraybuffer</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-14-38.png</image:loc><image:title>Chrome test results, with arraybuffer</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-14-20.png</image:loc><image:title>Firefox test results</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-02-28-14-14-03.png</image:loc><image:title>Chrome 48 test results</image:title></image:image><lastmod>2021-10-13T01:32:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/09/01/a-tour-of-javascript-timers-on-the-web/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/screenshot-2018-09-01-13-59-21.png</image:loc><image:title>Screenshot of Pinafore with some text entered in the text box and a digit counter showing the number of remaining characters</image:title><image:caption>In Pinafore, the little horizontal bar and the "characters remaining" indicator update as you type.</image:caption></image:image><lastmod>2019-04-24T14:55:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/09/01/how-to-deal-with-discourse/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/justdontlook.jpg</image:loc><image:title>Simpsons animation of billboard ads wrecking buildings with subtitle "Just don't look"</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/09/mkcd.gif</image:loc><image:title>Simpsons animation of billboard ads wrecking buildings with subtitle "Just don't look"</image:title></image:image><lastmod>2018-09-01T17:55:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/08/31/mastodon-and-the-challenges-of-abuse-in-a-federated-system/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/08/screenshot_2018-08-31-reports-malfunctioning-technology.png</image:loc><image:title>A list of reports in the Mastodon moderation UI</image:title><image:caption>A list of reports in the Mastodon moderation UI</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/08/screenshot_2018-08-31-report-33-malfunctioning-technology.png</image:loc><image:title>The Mastodon moderation UI</image:title><image:caption>The Mastodon moderation UI</image:caption></image:image><lastmod>2019-02-01T09:38:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/08/15/the-cost-of-small-modules/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-12_30_22-small_modules3-xlsx-excel_chrome.png</image:loc><image:title>2016-10-30-12_30_22-small_modules3-xlsx-excel_chrome</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-12_27_39-small_modules3-xlsx-excel_nexus5_3g.png</image:loc><image:title>2016-10-30-12_27_39-small_modules3-xlsx-excel_nexus5_3g</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-11_45_10-small_modules3-xlsx-excel_edge.png</image:loc><image:title>2016-10-30-11_45_10-small_modules3-xlsx-excel_edge</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-11_42_35-small_modules3-xlsx-excel_firefox.png</image:loc><image:title>2016-10-30-11_42_35-small_modules3-xlsx-excel_firefox</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/016-10-30-11_39_29-small_modules3-xlsx-excel-chrome.png</image:loc><image:title>016-10-30-11_39_29-small_modules3-xlsx-excel-chrome</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-12_08_51-small_modules3-xlsx-excel_nexus5_3g.png</image:loc><image:title>2016-10-30-12_08_51-small_modules3-xlsx-excel_nexus5_3g</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-12_09_56-small_modules3-xlsx-excel_ios.png</image:loc><image:title>2016-10-30-12_09_56-small_modules3-xlsx-excel_ios</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-10-30-12_09_30-small_modules3-xlsx-excel_nexus5.png</image:loc><image:title>2016-10-30-12_09_30-small_modules3-xlsx-excel_nexus5</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/2016-08-20-14_45_29-small_modules3-xlsx-excel.png</image:loc><image:title>Nexus 5 (3G) results with RequireJS</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/08/modules_nexus_53g.png</image:loc><image:title>Nexus 5 3G results</image:title></image:image><lastmod>2022-01-20T19:16:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/05/16/should-computers-serve-humans-or-should-humans-serve-computers/</loc><lastmod>2018-12-02T03:39:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/11/15/why-im-deleting-my-twitter-account/</loc><lastmod>2018-04-16T23:29:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/04/09/introducing-pinafore-for-mastodon/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/04/screenshot-2018-4-1-pinafore-e28093-home11.png</image:loc><image:title>Screenshot of Pinafore home page</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/04/screenshot-2018-4-1-pinafore-e28093-home1.png</image:loc><image:title>Screenshot of Pinafore home page</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/04/screenshot-2018-4-1-pinafore-e28093-home.png</image:loc><image:title>Screenshot of Pinafore home page</image:title></image:image><lastmod>2019-11-13T11:33:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/03/20/smaller-lodash-bundles-with-webpack-and-babel/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer8.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(8)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer9.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(9)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer6.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(6)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer7.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(7)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer5.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(5)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer4.png</image:loc><image:title>Screenshot-2018-3-17 Webpack Bundle Analyzer(4)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer2.png</image:loc></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2018/03/screenshot-2018-3-17-webpack-bundle-analyzer3.png</image:loc></image:image><lastmod>2018-10-02T08:02:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2018/01/02/decentralized-identity-and-decentralized-social-networks/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/12/screenshot-2017-12-30-15-34-29.png</image:loc><image:title>New Mastodon avatar</image:title><image:caption>My new, unambiguously "zany" Mastodon avatar</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/12/profiles.png</image:loc><image:title>Profile pictures</image:title><image:caption>My original Mastodon account profile pictures. Could you tell the difference between these two?</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/12/screenshot-2017-12-30-13-20-27.png</image:loc><image:title>Screenshot of Mastodon toot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/12/screenshot-2017-12-30-13-19-35.png</image:loc><image:title>Screenshot of Mastodon toot</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/12/screenshot-2017-12-30-13-17-10.png</image:loc><image:title>Screenshot of Mastodon post</image:title></image:image><lastmod>2018-04-11T19:42:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/12/31/2017-book-review/</loc><lastmod>2018-04-17T04:56:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/06/30/safari-is-the-new-ie/</loc><lastmod>2017-12-21T00:17:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/11/27/living-with-an-open-source-phone/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/emoji31.png</image:loc><image:title>Sending an emoji via AnySoftKeyboard and Signal</image:title><image:caption>Sending an emoji via AnySoftKeyboard and Signal</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/home3.png</image:loc><image:title>My LineageOS Home screen</image:title><image:caption>My LineageOS Home screen</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/out3.png</image:loc><image:title>Weather and time widget on my homescreen</image:title><image:caption>Weather and time widget on my homescreen</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/guitar3.png</image:loc><image:title>Me singing a bit off-key into a guitar tuner</image:title><image:caption>Me singing a bit off-key into a guitar tuner</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/lyft3.png</image:loc><image:title>Lyft's website may offer "Lyft in Firefox," which is the PWA</image:title><image:caption>Lyft's website may offer "Lyft in Firefox," which is the PWA</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/music3.png</image:loc><image:title>Vanilla Music with some of my albums</image:title><image:caption>Vanilla Music with some of my albums</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/emoji3.png</image:loc><image:title>Sending an emoji via AnySoftKeyboard and Signal</image:title><image:caption>Sending an emoji via AnySoftKeyboard and Signal</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/maps2.png</image:loc><image:title>Google Maps running in Firefox</image:title><image:caption>Google Maps running in Firefox</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/homescreen2.png</image:loc><image:title>Default homescreen on LineageOS</image:title><image:caption>Default homescreen on LineageOS</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/11/out-smaller.png</image:loc><image:title>Google Maps running in Firefox</image:title><image:caption>Google Maps running in Firefox</image:caption></image:image><lastmod>2022-08-03T02:05:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/10/23/what-is-mastodon-and-why-is-it-better-than-twitter/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/screenshot-2017-10-21-13-19-58.png</image:loc><image:title>Twitter terms of service</image:title><image:caption>A snippet of Twitter's Terms of Service. Twitter can do whatever it likes with what you post.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/tweet_vs_toot2.png</image:loc><image:title>Twitter vs Mastodon comparison</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/ublock_compare.png</image:loc><image:title>uBlock comparison</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/ghostery_compare.png</image:loc><image:title>Ghostery comparison</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/tweet_vs_toot.png</image:loc><image:title>Twitter vs Mastodon JavaScript usage</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/10/screenshot-2017-10-21-11-44-29.png</image:loc><image:title>mastodon.art terms of service</image:title><image:caption>A snippet of mastodon.art's terms of service.</image:caption></image:image><lastmod>2017-10-23T16:01:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/08/23/burnout-and-twitter-fatigue/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/08/screenshot-2017-08-20-09-26-00.png</image:loc><image:title>dunkirk</image:title><image:caption>Credit: Dunkirk</image:caption></image:image><lastmod>2017-09-19T07:09:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/05/22/a-brief-and-incomplete-history-of-javascript-bundlers/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/02/what-is-webpack.png</image:loc><image:title>what-is-webpack</image:title><image:caption>The Webpack view of the world, via &lt;a href="http://webpack.github.io/docs/what-is-webpack.html"&gt;"What is Webpack?"&lt;/a&gt;</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/02/a_bundle_of_bamboo_skewers.jpg</image:loc><image:title>a_bundle_of_bamboo_skewers</image:title><image:caption>A bundle of bamboo</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/02/2017-02-23-16_40_10-browserify.png</image:loc><image:title>2017-02-23-16_40_10-browserify</image:title><image:caption>Screenshot of the original Browserify homepage from January 2013 (via [the Web Archive](http://web.archive.org/web/20130120062829/http://browserify.org/))</image:caption></image:image><lastmod>2018-08-27T13:44:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/03/05/what-it-feels-like-to-be-an-open-source-maintainer/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/03/out.png</image:loc><image:title>screenshot showing 403 unread GitHub notifications</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2017/03/screenshot-2017-03-04-14-40-42.png</image:loc><image:title>screenshot showing 403 unread GitHub notifications</image:title></image:image><lastmod>2022-06-25T11:30:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2017/01/09/how-to-write-a-javascript-package-for-both-node-and-the-browser/</loc><lastmod>2020-11-24T23:56:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/10/13/progressive-enhancement-isnt-dead-but-it-smells-funny/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/10/no_js.png</image:loc><image:title>Screenshots of Housing.com, Konga, and Flipkart without JavaScript</image:title><image:caption>Screenshots of Housing.com, Konga, and Flipkart without JavaScript</image:caption></image:image><lastmod>2017-08-18T08:37:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/06/09/on-joining-microsoft-edge-and-moving-to-seattle/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/06/nolan_brooklyn.jpg</image:loc><image:title>nolan_brooklyn</image:title><image:caption>I was the first to speak at four different BoroJS meetups – superfecta!</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/06/katamari02.jpg</image:loc><image:title>katamari02</image:title><image:caption>The web, as I imagined it. Source: Katamari Damacy</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/04/royaloakmondaynightsettlers.jpg</image:loc><image:title>Board games at the pub</image:title><image:caption>Board games at the pub. Source: Lauren Rockburn.</image:caption></image:image><lastmod>2016-10-14T00:35:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/04/10/introducing-the-cordova-sqlite-plugin-2/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/04/screenshot-2016-04-10-11-57-11.png</image:loc><image:title>SQLite Plugin 2 benchmark</image:title></image:image><lastmod>2017-05-09T04:09:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2016/02/08/how-to-think-about-databases/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/bulba.png</image:loc><image:title>Pokémon's type(s) determine its strengths/weaknesses</image:title><image:caption>A Pokémon's type(s) determine its strengths/weaknesses relative to other types</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/out.png</image:loc><image:title>Pokémon learn moves at different levels</image:title><image:caption>Pokémon learn moves at different levels</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/screenshot-2016-01-31-16-03-44.png</image:loc><image:title>Pokedex.org database usage</image:title><image:caption>Pokedex.org database usage</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2016/02/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67.png</image:loc><image:title>Latency numbers every programmer should know</image:title><image:caption>Latency numbers every programmer should know</image:caption></image:image><lastmod>2016-06-08T10:34:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/12/28/how-to-fix-a-bug-in-an-open-source-project/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-13-00-01.png</image:loc><image:title>Screenshot 2015-12-24 13.00.01</image:title><image:caption>This bug had been unresolved for months.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-25-10-39-09.png</image:loc><image:title>Screenshot 2015-12-25 10.39.09</image:title><image:caption>Job well done!</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-18-03-26.png</image:loc><image:title>Screenshot 2015-12-24 18.03.26</image:title><image:caption>The Saucelabs badge in the "buffer" README.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-16-41-57.png</image:loc><image:title>Screenshot 2015-12-24 16.41.57</image:title><image:caption>Bug in the "buffer" module</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-16-35-06.png</image:loc><image:title>Screenshot 2015-12-24 16.35.06</image:title><image:caption>Comments like this make my day.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-11-13-01.png</image:loc><image:title>Screenshot 2015-12-24 11.13.01</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-11-12-301.png</image:loc><image:title>Screenshot 2015-12-24 11.12.30</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-11-12-11.png</image:loc><image:title>Screenshot 2015-12-24 11.12.11</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/screenshot-2015-12-24-11-12-02.png</image:loc><image:title>Screenshot 2015-12-24 11.12.02</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2015/12/out1.png</image:loc><image:title>out</image:title></image:image><lastmod>2016-11-12T02:50:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/10/19/the-struggles-of-publishing-a-javascript-library/</loc><lastmod>2015-10-29T22:50:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/07/05/safari-is-the-new-ie-2-revenge-of-the-linkbait/</loc><lastmod>2021-08-11T15:57:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2015/06/30/the-state-of-binary-data-in-the-browser/</loc><lastmod>2016-09-17T15:01:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2014/10/03/offline-first-is-people-first/</loc><lastmod>2015-03-02T18:02:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2014/09/01/the-limitations-of-semantic-versioning/</loc><lastmod>2014-09-06T18:21:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/11/15/couchdb-doesnt-want-to-be-your-database-it-wants-to-be-your-web-site/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/fault-tolerance.png</image:loc><image:title>fault-tolerance</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/futon_howl.png</image:loc><image:title>Futon interface in CouchDB</image:title><image:caption>"See, it's a collaborative document editor, and the dude on the Couch is a lazy writer..."</image:caption></image:image><lastmod>2017-09-12T10:39:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/code/</loc><lastmod>2014-06-12T06:57:20+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://nolanlawson.com/2014/04/26/web-sql-database-in-memoriam/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2014/04/cquote2.png</image:loc><image:title>Cquote2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2014/04/cquote1.png</image:loc><image:title>Cquote1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2014/04/gmail_websql.png</image:loc><image:title>GMail uses Web SQL</image:title><image:caption>GMail uses Web SQL, if you're on a mobile browser.</image:caption></image:image><lastmod>2021-04-19T09:00:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2014/03/25/what-happened-to-pouchdroid/</loc><lastmod>2014-10-04T15:10:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/11/30/introducing-the-supersaiyanscollview-super-fast-sectioned-lists-for-android/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan13.png</image:loc><image:title>comparison of hiding overlays and hiding section titles</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan12.png</image:loc><image:title>alphabetic vs by-region sorting</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan11.png</image:loc><image:title>Pokémon sorted by region.</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan7.png</image:loc><image:title>Comparison of built-in overlay sizes</image:title><image:caption>Small, normal, large, and xlarge overlays in my AMG Geneva app.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan10.png</image:loc><image:title>Disabling section titles or section overlays</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan9.png</image:loc><image:title>Pokémon sorted by type.</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan8.png</image:loc><image:title>Pokémon sorted by region.</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan6.png</image:loc><image:title>alphabetic vs by-region sorting</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan5.png</image:loc><image:title>alphabetic sorting vs. continent sorting</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/saiyan4.png</image:loc><image:title>Example 1: Countries</image:title></image:image><lastmod>2017-04-26T17:53:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/12/23/pouchdroid-v0-1-0-is-out/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/12/pouchdroid_logo.png</image:loc><image:title>pouchdroid_logo</image:title><image:caption>PouchDroid</image:caption></image:image><lastmod>2014-03-03T20:07:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/12/08/porting-pouchdb-to-android-initial-work-and-thoughts/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/12/screenshot-2013-12-09-00-39-25.png</image:loc><image:title>C3P0 on CouchDB</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/12/screenshot-2013-12-09-00-36-28.png</image:loc><image:title>C3po on CouchDB</image:title></image:image><lastmod>2020-08-09T06:09:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/11/18/make-your-workplace-more-fun-with-a-jenkins-alarm-system/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/yocto-flag.png</image:loc><image:title>yocto-flag</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/logotitle.png</image:loc><image:title>logo+title (http://jenkins-ci.org/)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/logotitle2.png</image:loc><image:title>Jenkins logo (http://jenkins-ci.org/)</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/logo-above-title.png</image:loc><image:title>Jenkins logo (http://jenkins-ci.org/)</image:title></image:image><lastmod>2015-04-30T06:12:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/11/25/s3-bucket-listing-thats-easier-on-the-eyes/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/screenshot-2013-11-24-17-09-09.png</image:loc><image:title>Screenshot 2013-11-24 17.09.09</image:title><image:caption>Much better.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/screenshot-2013-11-24-17-08-33.png</image:loc><image:title>Screenshot 2013-11-24 17.08.33</image:title><image:caption>"$folder$"?  Seriously?</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/11/screenshot-2013-11-24-17-04-35.png</image:loc><image:title>Screenshot 2013-11-24 17.04.35</image:title><image:caption>All I wanted.</image:caption></image:image><lastmod>2018-07-16T03:14:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/03/30/jnameconverter/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/japanese_name_converter_2.png</image:loc><image:title>japanese_name_converter_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/japanese_name_converter_1.png</image:loc><image:title>japanese_name_converter_1</image:title></image:image><lastmod>2021-09-30T08:33:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/10/31/better-synonym-handling-in-solr/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph33.png</image:loc><image:title>graph3</image:title><image:caption>Your mangled document.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph22.png</image:loc><image:title>graph2</image:title><image:caption>The spaghetti you actually get.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph11.png</image:loc><image:title>graph1</image:title><image:caption>What you reasonably expect.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/breast_cancer_highlighting2.png</image:loc><image:title>breast_cancer_highlighting2</image:title><image:caption>Highlighting bug.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/breast_cancer_highlighting.png</image:loc><image:title>breast_cancer_highlighting</image:title><image:caption>Highlighting bug.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/index_vs_query_expansion2.png</image:loc><image:title>index_vs_query_expansion2</image:title><image:caption>Index-time vs. query-time expansion.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/index_vs_query_expansion.png</image:loc><image:title>index_vs_query_expansion</image:title><image:caption>Index- vs. query-time expansion.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph32.png</image:loc><image:title>graph3</image:title><image:caption>Your mangled document.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph31.png</image:loc><image:title>graph3</image:title><image:caption>Your mangled document.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/10/graph21.png</image:loc><image:title>graph2</image:title><image:caption>The spaghetti you actually get.</image:caption></image:image><lastmod>2023-05-30T11:33:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/09/02/catlog-jives-with-jelly-bean-goes-open-source/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/catlog_1_4.png</image:loc><image:title>catlog_1_4</image:title></image:image><lastmod>2016-06-15T11:19:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/08/13/creating-a-contact-with-multiple-fields-in-android/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/08/add_contact_jellybean_and_gingerbread1.png</image:loc><image:title>add_contact_jellybean_and_gingerbread</image:title><image:caption>Adding a contact in Jelly Bean and Gingerbread.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/08/amg_add_contact.png</image:loc><image:title>amg_add_contact</image:title><image:caption>Adding a contact in the physicians app.</image:caption></image:image><lastmod>2014-04-23T06:56:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/05/31/web-sockets-with-socket-io-node-js-and-nginx-port-80-considered-harmful/</loc><lastmod>2018-06-22T17:20:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/05/14/using-distributed-search-handlers-in-solr-3-6-2/</loc><lastmod>2013-05-14T15:21:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/05/05/javascript-development-and-the-paradox-of-choice/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/05/vlcsnap-2013-05-05-13h22m22s65.png</image:loc><image:title>Mr. Burns considers ketchup and catsup.</image:title><image:caption>Ketchup or catsup?  Mongo or Couch?  Karma or Selenium?</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/05/screen-shot-2013-05-05-at-12-57-42-pm.png</image:loc><image:title>Imperial Score Calculator on mobile</image:title><image:caption>I ended up using a completely different layout for the mobile version.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/05/screen-shot-2013-05-05-at-12-56-43-pm.png</image:loc><image:title>Imperial Score Calculator on desktop</image:title><image:caption>Imperial Score Calculator</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/05/vlcsnap-2013-05-05-12h20m15s94.png</image:loc><image:title>Grandpa Simpson sells snake oil for your snake.</image:title><image:caption>Step right up folks and put some fury in your JQuery, some zest in your CSS!</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/05/vlcsnap-2013-05-05-12h10m40s9.png</image:loc><image:title>Police Chief Wiggum is not impressed by the raving derelict.</image:title><image:caption>Pictured: a seasoned JavaScript developer.</image:caption></image:image><lastmod>2013-05-18T16:07:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2013/01/08/keepscore-version-1-2-2-you-asked-for-it-you-got-it/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/keepscore_feature.jpg</image:loc><image:title>keepscore_feature</image:title><image:caption>KeepScore</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/translations_combined.png</image:loc><image:title>translations_combined</image:title><image:caption>Parlez-vous nippon?</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/zoom_combined.png</image:loc><image:title>zoom_combined</image:title><image:caption>Zoom in, out, and all around.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/device-2013-01-05-174031.png</image:loc><image:title>device-2013-01-05-174031</image:title><image:caption>The blue bullet indicates who was scored last.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/holo_combined.png</image:loc><image:title>holo_combined</image:title><image:caption>Holo everywhere.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/device-2013-01-06-141711.png</image:loc><image:title>device-2013-01-06-141711</image:title><image:caption>The classic look.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/device-2013-01-06-141649.png</image:loc><image:title>device-2013-01-06-141649</image:title><image:caption>The new, Holo-style look.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/screen-shot-2013-01-06-at-2-07-52-pm.png</image:loc><image:title>Screen Shot 2013-01-06 at 2.07.52 PM</image:title><image:caption>Data nerds rejoice.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/spreadsheet_combined.png</image:loc><image:title>spreadsheet_combined</image:title><image:caption>The "Export Spreadsheet" feature.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2013/01/share_combined2.png</image:loc><image:title>share_combined2</image:title><image:caption>The "Share" feature.</image:caption></image:image><lastmod>2013-08-07T23:25:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/12/01/personal-password-security-that-actually-works/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/12/lock_screen_pattern.png</image:loc><image:title>lock_screen_pattern</image:title><image:caption>You may think it's safe, but your oily thumbs betray you.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/android-pattern-lock.jpg</image:loc><image:title>Android-Pattern-Lock</image:title><image:caption>You may think it's safe, but your oily thumbs betray you.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/e4gci.png</image:loc><image:title>Android pattern unlock</image:title><image:caption>You may think it's safe, but your oily thumbs betray you.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/screen-shot-password-gorilla-3.png</image:loc><image:title>Screen Shot Password Gorilla 3</image:title><image:caption>My password file.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/screen-shot-password-gorilla-2.png</image:loc><image:title>Screen Shot Password Gorilla 2</image:title><image:caption>My passwords file.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/screen-shot-password-gorilla.png</image:loc><image:title>Screen Shot Password Gorilla</image:title><image:caption>My PasswordGorilla file.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/screen-shot-2012-11-30-at-10-40-52-pm.png</image:loc><image:title>Buffalo Youth Hockey Association</image:title><image:caption>Buffalo Youth Hockey Association site.  Totally secure.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/passwordscloud.png</image:loc><image:title>passwordscloud</image:title><image:caption>The 500 most common passwords</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/11/screen-shot-2012-11-30-at-10-20-53-pm.png</image:loc><image:title>PasswordGorilla screenshot</image:title><image:caption>PasswordGorilla.</image:caption></image:image><lastmod>2013-09-27T00:12:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/06/use_the_boost_2.png</image:loc><image:title>use_the_boost_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/06/use_the_boost.png</image:loc><image:title>use_the_boost</image:title></image:image><lastmod>2019-03-20T09:29:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/09/25/keepscore-version-1-2-more-style-more-substance/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-160912-2.png</image:loc><image:title>device-2012-09-23-160912-2</image:title><image:caption>Every day I'm shuffling, and adding, players.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/old_rematch_dialog2.png</image:loc><image:title>old_rematch_dialog2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-161019.png</image:loc><image:title>device-2012-09-23-161019</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-1609121.png</image:loc><image:title>device-2012-09-23-160912</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-18-220304.png</image:loc><image:title>device-2012-09-18-220304</image:title><image:caption>Fact: gamers are nerds.  And nerds love data.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-18-220005.png</image:loc><image:title>device-2012-09-18-220005</image:title><image:caption>Clearly, Storm Eagle should go after Mega Man.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-164215.png</image:loc><image:title>device-2012-09-23-164215</image:title><image:caption>Never change, KeepScore.  Never change.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-162905.png</image:loc><image:title>device-2012-09-23-162905</image:title><image:caption>New "Rematch" button.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/device-2012-09-23-160912.png</image:loc><image:title>device-2012-09-23-160912</image:title><image:caption>"Reset" and "Copy Game" buttons.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/old_rematch_dialog.png</image:loc><image:title>old_rematch_dialog</image:title><image:caption>The old, confusing dialog.</image:caption></image:image><lastmod>2012-12-31T00:46:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/09/08/relatedness-calculator-part-deux/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/grandpas_cousin.png</image:loc><image:title>grandpas_cousin</image:title><image:caption>I don't think I've ever met a single one of my grandpa's cousins.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/relatedness_calculator_before.png</image:loc><image:title>relatedness_calculator_before</image:title><image:caption>Before.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/new_relatedness_calculator_after.png</image:loc><image:title>new_relatedness_calculator_after</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/new_relatedness_calculator.png</image:loc><image:title>new_relatedness_calculator</image:title><image:caption>After.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/johns_uncles_wife.png</image:loc><image:title>johns_uncles_wife</image:title><image:caption>Yes, my anonymous Internet application knows all about your friend John.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/relatedness_autocomplete.png</image:loc><image:title>relatedness_autocomplete</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/grandmas_cousins_daughter.png</image:loc><image:title>grandmas_cousins_daughter</image:title><image:caption>Nothing could be simpler</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/relatedness_explanation.png</image:loc><image:title>relatedness_explanation</image:title><image:caption>The graphic I originally drew in KolourPaint for the dude on the message board.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/09/relatedness_calculator_2.png</image:loc><image:title>relatedness_calculator_2</image:title></image:image><lastmod>2022-05-13T03:36:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/06/10/introducing-the-relatedness-calculator/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/06/moms_cousin.png</image:loc><image:title>moms_cousin</image:title></image:image><lastmod>2017-12-09T00:07:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/03/30/a-slight-makeover-for-keepscore/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_51.png</image:loc><image:title>load_game_5</image:title><image:caption>Awkward white space in Gmail.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_6.png</image:loc><image:title>load_game_6</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_4.png</image:loc><image:title>load_game_4</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_3.png</image:loc><image:title>load_game_3</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_2.png</image:loc><image:title>load_game_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/load_game_1.png</image:loc><image:title>load_game_1</image:title></image:image><lastmod>2012-03-30T18:54:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/03/19/spruce-up-your-listview-by-dividing-it-into-sections/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll9.png</image:loc><image:title>fastscroll9</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll8.png</image:loc><image:title>fastscroll8</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll7.png</image:loc><image:title>fastscroll7</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll6.png</image:loc><image:title>fastscroll6</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll5.png</image:loc><image:title>fastscroll5</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll4.png</image:loc><image:title>fastscroll4</image:title><image:caption>Bleccch.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll3.png</image:loc><image:title>fastscroll3</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll2.png</image:loc><image:title>fastscroll2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/fastscroll1.png</image:loc><image:title>fastscroll1</image:title><image:caption>Too goddamn many.</image:caption></image:image><lastmod>2013-01-18T13:52:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/03/13/app-tracker-and-chord-reader-go-open-source/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/03/chord_reader_icon.png</image:loc><image:title>chord_reader_icon</image:title><image:caption>Chord Reader</image:caption></image:image><lastmod>2026-02-23T23:56:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/02/01/one-star-reviews-are-lousy-bug-reports/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/02/keepscore_angry_reviews.png</image:loc><image:title>keepscore_angry_reviews</image:title><image:caption>Angry?  Yes.  Helpful?  No.</image:caption></image:image><lastmod>2012-02-02T03:13:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2012/01/30/catlog-now-supports-external-intents/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/01/catlog_caller_3.png</image:loc><image:title>catlog_caller_3</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/01/catlog_caller_2.png</image:loc><image:title>catlog_caller_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2012/01/catlog_caller_1.png</image:loc><image:title>catlog_caller_1</image:title></image:image><lastmod>2019-06-12T17:46:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/11/22/catlog-is-1/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/11/device-2011-11-22-143248.png</image:loc><image:title>device-2011-11-22-143248</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/11/catlog_icon.png</image:loc><image:title>catlog_icon</image:title><image:caption>CatLog</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/11/alogcat_icon.jpg</image:loc><image:title>alogcat_icon</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/11/device-2011-11-22-125910.png</image:loc><image:title>device-2011-11-22-125910</image:title></image:image><lastmod>2011-12-13T07:11:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/04/02/share-and-share-alike/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/sender_2.png</image:loc><image:title>sender_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/sender_1.png</image:loc><image:title>sender_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/facebook_cannot_find_link.png</image:loc><image:title>facebook_cannot_find_link</image:title></image:image><lastmod>2013-02-21T16:07:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/05/11/nintendo-used-takedown-its-super-effective/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/05/msf_screenshot.png</image:loc><image:title>msf_screenshot</image:title></image:image><lastmod>2012-03-15T02:32:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/05/26/on-pokedroids-removal/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/05/pokedroid_7.png</image:loc><image:title>pokedroid_7</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/05/pokedroid_6.png</image:loc><image:title>pokedroid_6</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/05/pokedroid_5.png</image:loc><image:title>pokedroid_5</image:title></image:image><lastmod>2017-05-13T10:07:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/08/04/state-of-the-android-app-union/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/app_downloads_installs_per_day_log.png</image:loc><image:title>app_downloads_installs_per_day_log</image:title><image:caption>Downloads and active users per day spent in Market (log)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/app_downloads_installs_per_day.png</image:loc><image:title>app_downloads_installs_per_day</image:title><image:caption>Downloads and active users per day spent in Market</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/app_downloads_installs_log.png</image:loc><image:title>app_downloads_installs_log</image:title><image:caption>Total downloads/active users (log)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/app_downloads_installs.png</image:loc><image:title>app_downloads_installs</image:title><image:caption>Total downloads/active users</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/bulbasaur_icon.png</image:loc><image:title>bulbasaur_icon</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/ic_launcher_browser.png</image:loc><image:title>ic_launcher_browser</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/icon1.png</image:loc><image:title>icon</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/icon.png</image:loc><image:title>icon</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/holmes_icon.png</image:loc><image:title>holmes_icon</image:title><image:caption>App Tracker</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/08/chord_reader_icon.png</image:loc><image:title>chord_reader_icon</image:title></image:image><lastmod>2012-10-11T14:19:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/07/12/update-on-pokedroid/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/07/pokedroid_update_2.png</image:loc><image:title>pokedroid_update_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/07/pokedroid_update_1.png</image:loc><image:title>pokedroid_update_1</image:title></image:image><lastmod>2013-02-23T09:29:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/06/23/a-small-improvement-for-keepscore/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_improvement_31.png</image:loc><image:title>keepscore_improvement_3</image:title><image:caption>Before</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_improvement_11.png</image:loc><image:title>keepscore_improvement_1</image:title><image:caption>Before</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_improvement_4.png</image:loc><image:title>keepscore_improvement_4</image:title><image:caption>After</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_improvement_2.png</image:loc><image:title>keepscore_improvement_2</image:title><image:caption>After</image:caption></image:image><lastmod>2011-06-24T12:04:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/06/18/building-a-better-counting-app/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_6.png</image:loc><image:title>keepscore_6</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_4.png</image:loc><image:title>keepscore_4</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_1to3_small.png</image:loc><image:title>keepscore_1to3_small</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/simple_score_sheet_1to3_small.png</image:loc><image:title>simple_score_sheet_1to3_small</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/keepscore_icon_2.png</image:loc><image:title>keepscore_icon_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/score_5.png</image:loc><image:title>score_5</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/advanced_tally_counter_1to3.png</image:loc><image:title>advanced_tally_counter_1to3</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/advanced_tally_counter_icon_2.png</image:loc><image:title>advanced_tally_counter_icon_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/scorer_1.png</image:loc><image:title>scorer_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/score_1to3.png</image:loc><image:title>score_1to3</image:title></image:image><lastmod>2016-11-13T17:31:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/06/06/if-imitation-is-flattery-then-catlog-has-a-secret-admirer/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_9.png</image:loc><image:title>catlog_vs_logviewer_9</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_8.png</image:loc><image:title>catlog_vs_logviewer_8</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_7.png</image:loc><image:title>catlog_vs_logviewer_7</image:title><image:caption>aLogcat</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_6.png</image:loc><image:title>catlog_vs_logviewer_6</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_5.png</image:loc><image:title>catlog_vs_logviewer_5</image:title><image:caption>LogViewer</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_4.png</image:loc><image:title>catlog_vs_logviewer_4</image:title><image:caption>CatLog</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_3.png</image:loc><image:title>catlog_vs_logviewer_3</image:title><image:caption>CatLog</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_2.png</image:loc><image:title>catlog_vs_logviewer_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/06/catlog_vs_logviewer_1.png</image:loc><image:title>catlog_vs_logviewer_1</image:title></image:image><lastmod>2011-09-05T06:14:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/04/03/your-bug/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/android_market_pokedroid_marked.png</image:loc><image:title>android_market_pokedroid_marked</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/facebook_cannot_find_link_cropped.png</image:loc><image:title>facebook_cannot_find_link_cropped</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/android_market_pokedroid.png</image:loc><image:title>android_market_pokedroid</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/error18.png</image:loc><image:title>error18</image:title></image:image><lastmod>2011-04-07T21:16:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/04/06/army-of-testers/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/patterson_bigfoot.jpg</image:loc><image:title>patterson_bigfoot</image:title><image:caption>I want to believe.</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/android_error_cropped2.png</image:loc><image:title>android_error_cropped2</image:title><image:caption>Oh goody!</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/android_error_cropped.png</image:loc><image:title>android_error_cropped</image:title><image:caption>Oh goody!</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/04/bug_reports.png</image:loc><image:title>bug_reports</image:title></image:image><lastmod>2011-07-02T15:03:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com/2011/04/01/respect-your-users/</loc><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/catlog_1.png</image:loc><image:title>catlog_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/alogcat_1.png</image:loc><image:title>alogcat_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/gstrings_21.png</image:loc><image:title>gstrings_2</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/gstrings_2.png</image:loc><image:title>gstrings_2</image:title><image:caption>"Optimize for"</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/gstrings_1.png</image:loc><image:title>gstrings_1</image:title></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/pokedroid_4.png</image:loc><image:title>pokedroid_4</image:title><image:caption>Old intro popup</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/pokedroid_3.png</image:loc><image:title>pokedroid_3</image:title><image:caption>The Black/White popup</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/pokedroid_2.png</image:loc><image:title>pokedroid_2</image:title><image:caption>New intro popup (working version)</image:caption></image:image><image:image><image:loc>https://nolanlawson.com/wp-content/uploads/2011/03/pokedroid_1.png</image:loc><image:title>pokedroid_1</image:title></image:image><lastmod>2011-04-03T17:18:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://nolanlawson.com</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2026-03-27T09:17:23+00:00</lastmod></url></urlset>
