<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://gavinw.me/contact.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/</loc>
  </url>
  <url>
    <loc>https://gavinw.me/ipaddress.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/links.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/array2d.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/clang-macos.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/cmake-build.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/cmake-install.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/commandline.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/helloworld.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/include-function.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/numbers.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/cpp/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/fizzbuzz.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/input-number.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/load-html.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/modules.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/node.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/plotly-graph.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/scroll-columns.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/select-results.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/select-units.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/javascript/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/arrays.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/conditionals.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/debugging.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/dictionaries.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/docstrings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/functions.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/json-parsing.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/loops.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/modules.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/testing.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/julia/tuples.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/argparse.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/cache-function.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/cached-class-property.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/conda-env.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/config-dataclass.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/count-letters.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/counter.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/cprofile.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/dask-arrays.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/dask-script.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/datastar-append.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/debugger.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/dictionaries.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/doctest.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/download-files.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/dynamic-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/dynamic-import.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/fastapi-router.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/fizzbuzz.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-ajax.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-bokeh-graph.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-form-input.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-plotly-graph.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/flask-plotly-restyle.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/htmx-chartjs.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/htmx-json.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/httpx-sync-async.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/json.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/lists.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/log-file.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/makefiles.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/matplotlib-animation.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/matplotlib-contour-smoothing.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/matplotlib-imshow-plot.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/matplotlib-matshow-plot.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/matplotlib-mosaic-grid.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-bool-index.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-clip-array.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-compare-inv-solve.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-difference.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-full-array.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-gauss.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-index-max.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-large-array-memory.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-loop-columns.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-maximum-array.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/numpy-save-load-arrays.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/package-data.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/package-name.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/prealloc-list.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/protocol.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/pyzmq-request-reply.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/pyzmq-test-client-server.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/quart-htmx-get.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/quart-httpx-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/ray-actors.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/ray-functions.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/scipy-sparse-diag.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/secrets.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/server-setup.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/set-lookup.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/sorted-list.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/streamlit-cli.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/test-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/test-examples.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/textwrap-dedent.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-basic-app.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-customtkinter.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-label.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-matplotlib.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-open-json-file.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tkinter-ttkbootstrap.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/tuples.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/unittest-csv.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/uv-projects.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/uv-scripts.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/version.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/virtual-env.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/python/xml.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/arrays-vectors.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/enums.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/fizzbuzz.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/functions.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/hashmaps.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/ifexpressions.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/loops.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/numbers.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/references.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/run-file.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/slices.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/structs.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/rust/tuples.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/accelerate-absolute-value.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/accelerate-complex-multiplication.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/accelerate-matrix-multiplication.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/accelerate-reverse.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/accelerate-sort.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/arrays.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/command-line-args.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/compiler-optimizations.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/create-package.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/credits.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/date-formatting.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/defaults-tool.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/dictionaries.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/directory-contents.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/discardable-result.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/elapsed-time.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/element-array-addition.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/flat-indexing.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/image-colormap.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/image-data.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-clear-color.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-color-compute.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-matrix-multiplication.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-noise.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-particles.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-sampler.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/metal-triangle.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/normalize-array.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/package-library.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/random-array.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/range.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/strides.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/strings.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swift/suppress-print.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/appstorage.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/async-for-loop.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/blur-effect.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/button-styles.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/cursors.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/display-scale.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/grid-lines.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/heatmap-chart.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/image-colormap.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/images-symbols.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/label.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/labeledcontent.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/line-chart.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/menu-items.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/nspasteboard.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/path-markers.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/picker-control.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/prefs-window.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/progressview.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/scrollview.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/sidebar-disclosuregroup.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/sidebar-toggle.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/sine-wave.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/stepper.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/table.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/text.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/texteditor-highlight.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/textfield.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/three-column-nav.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/toggle-animation.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/toolbar-dropdown.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/two-column-nav.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/twocol-navsplit.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/viewbuilder.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/viewtapgesture.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/webview.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/window-defaultsize.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/window-open.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/window-resizability.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/swiftui/window-toolbar-style.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/caddy-proxy.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/ghostty-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/git-commands.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/init-server.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/lazyvim-config.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/macos-commands.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes/terminal/tmux-commands.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/notes.html</loc>
  </url>
  <url>
    <loc>https://gavinw.me/un1ts.html</loc>
  </url>
</urlset>
