<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.jessehill.me/ruminations</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-04-18</lastmod>
  </url>
  <url>
    <loc>https://www.jessehill.me/ruminations/why-i-like-jetpack-compose-more-than-react-native-a-small-example</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2025-04-18</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/45c9bf91-623d-42b3-9953-842343441ef4/react_native_slider_demo.gif</image:loc>
      <image:title>Ruminations - Why I like Jetpack Compose more than React Native: A Small Example - React Native</image:title>
      <image:caption>Code: GitHub Thoughts: I spent around 8x the time trying to get this implementation to look and feel at least close to how the Compose one does. For both implementations, I’ve got a local state variable that updates based on the slider’s change, and a computed variable memoized based on the first state value. I ended up digging into several GitHub issues and going down various rabbit trails in an attempt to have the slider behave like the onSlidingComplete version, and the input like the onValueChange version.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/573cbc0e-2874-45ce-aebf-71e7d3df0cb3/compose_slider_demo.gif</image:loc>
      <image:title>Ruminations - Why I like Jetpack Compose more than React Native: A Small Example - Jetpack Compose</image:title>
      <image:caption>Code: GitHub Thoughts: I only spent about 30 minutes on this version, mostly because I tried to build my own slider first (the animation APIs are so nice) before using the built-in one and then reading the source to figure out how to clean up the track and change the Thumb shape. This was nearly the ideal UI experience with a smooth slider and instant updates to the input field.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jessehill.me/home</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2023-11-19</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/6442ef4842b7395876978966/1682108240014-XDIUNHLV64UVCJ0VC29N/Sleek+Objects+1.jpg</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/1700365385052-WNYCOG7QYZ5F5KYMRKUL/image-asset.jpeg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.jessehill.me/what-i-do</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-04-13</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/f730273f-8550-43df-8394-75d7b32fbeab/DALL%C2%B7E+2023-11-18+21.38.28+-+Create+an+image+of+a+smartphone+with+a+blue+screen+placed+on+a+wooden+table.+The+screen+displays+the+text+%27Imagine%2C+Craft%2C+Refine%2C+Repeat.%27+in+bold+wh.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/1700365280140-D6ZLN7DK9DAAOW81N7MI/image-asset.jpeg</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/1700364237937-4636W9L4LEIOZDD5NKGF/image-asset.jpeg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.jessehill.me/contact</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2023-11-19</lastmod>
  </url>
  <url>
    <loc>https://www.jessehill.me/appointments</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2023-11-07</lastmod>
  </url>
  <url>
    <loc>https://www.jessehill.me/guidelines</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-04-21</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/e396420f-791d-4ec4-93ad-4464e749c954/Screenshot+2025-04-05+at+2.01.31%E2%80%AFPM.png</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.jessehill.me/about</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-04-16</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/f730273f-8550-43df-8394-75d7b32fbeab/DALL%C2%B7E+2023-11-18+21.38.28+-+Create+an+image+of+a+smartphone+with+a+blue+screen+placed+on+a+wooden+table.+The+screen+displays+the+text+%27Imagine%2C+Craft%2C+Refine%2C+Repeat.%27+in+bold+wh.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/1700365280140-D6ZLN7DK9DAAOW81N7MI/image-asset.jpeg</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/654a6d9bcc4bf424db7cc39e/1700364237937-4636W9L4LEIOZDD5NKGF/image-asset.jpeg</image:loc>
    </image:image>
  </url>
</urlset>

