<?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://mattjhayes.com/other-blogs/</loc><lastmod>2026-02-24T06:42:22+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/2025/10/31/putting-the-open-back-in-ai-part-2-rag/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/tongariro_emerald_lake_cropped.jpg</image:loc><image:title>Tongariro_Emerald_Lake_cropped</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/header_photo_dunedin_leith_saddle.jpg</image:loc><image:title>header_photo_Dunedin_Leith_Saddle</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/graph3.png</image:loc><image:title>graph3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/graph2.png</image:loc><image:title>graph2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/diagram2-1.png</image:loc><image:title>diagram2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/graph1.png</image:loc><image:title>graph1</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/google_screenshot.png</image:loc><image:title>google_screenshot</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/diagram4.png</image:loc><image:title>diagram4</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/diagram3.png</image:loc><image:title>diagram3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/10/diagram2.png</image:loc><image:title>diagram2</image:title></image:image><lastmod>2025-11-08T01:43:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/welcome/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/08/gopr2195-cropped.jpg</image:loc><image:title>DCIM101GOPRO</image:title><image:caption>DCIM101GOPRO</image:caption></image:image><lastmod>2025-11-04T08:22:35+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/2025/06/20/putting-the-open-back-in-ai-with-ollama/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/ollama-diagrams-v03-2.png</image:loc><image:title>ollama-diagrams-v03</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/ollama-diagrams-v03-1.png</image:loc><image:title>ollama-diagrams-v03</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/te-ara-tirohanga-remutaka-trig-track.jpg</image:loc><image:title>Te Ara Tirohanga (Remutaka Trig Track)</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/system-cpu.png</image:loc><image:title>system-cpu</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/ollama-diagrams-v04-artificial-neuron.png</image:loc><image:title>ollama-diagrams-v04-Artificial Neuron</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/06/ollama-diagrams-v03.png</image:loc><image:title>ollama-diagrams-v03</image:title></image:image><lastmod>2025-10-31T08:35:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2025/09/24/the-elephant-in-the-ai-safety-room-is/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/09/screenshot-from-2025-09-21-17-08-37.png</image:loc><image:title>Screenshot from 2025-09-21 17-08-37</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2025/09/imagefx-agi-1-cropped-and-resized.png</image:loc><image:title>imagefx-agi-1-cropped-and-resized</image:title></image:image><lastmod>2025-09-25T07:59:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/categories/</loc><lastmod>2025-06-20T23:12:39+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/2023/07/26/build-an-elk-stack/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/b2nw.png</image:loc><image:title>b2nw</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/elasticsearch-license-basic.png</image:loc><image:title>elasticsearch-license-basic</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/kibana1-v2.png</image:loc><image:title>kibana1-v2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/logstash-pipeline-input-section-v2-1.png</image:loc><image:title>logstash-pipeline-input-section-v2-1</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/logstash-pipeline-input-section-v2.png</image:loc><image:title>logstash-pipeline-input-section-v2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/docker-port-mapping.png</image:loc><image:title>docker-port-mapping</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/docker-logstash-auto-reload.png</image:loc><image:title>docker-logstash-auto-reload</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/env-v2.png</image:loc><image:title>env-v2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/elk-stack-overview.png</image:loc><image:title>elk-stack-overview</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/07/elk-stack-high-level.png</image:loc><image:title>elk-stack-high-level</image:title></image:image><lastmod>2024-11-28T08:23:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2023/12/04/experimenting-with-nifi/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-demo-1-flowfile-1.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-demo-1-flowfile-1</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-csv-to-json-connector-2.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-csv-to-json-connector-2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-csv-to-json-connector-1.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-csv-to-json-connector-1</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-controller-services-2.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-controller-services-2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-controller-services-1.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-controller-services-1</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/experimenting-with-nifi-blog-diagrams-v09-process-group-create.png</image:loc><image:title>experimenting-with-nifi-blog-diagrams-v09-process-group-create</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/route-unmatched-connector.png</image:loc><image:title>route-unmatched-connector</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/contactcentre-connector.png</image:loc><image:title>contactcentre-connector</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/fulfilmentsystem-connector.png</image:loc><image:title>fulfilmentsystem-connector</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/12/demo-2-dataflow.png</image:loc><image:title>demo-2-dataflow</image:title></image:image><lastmod>2024-11-28T08:15:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/11/28/to-docker-compose-and-not-docker-compose/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/11/docker-compose-v1-vs-v2.png</image:loc><image:title>docker-compose-v1-vs-v2</image:title></image:image><lastmod>2024-11-28T08:12:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/06/16/linux-mint-ready-for-prime-time/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/06/linux-mint-keyboard-shortcuts-lock-screen.png</image:loc><image:title>linux-mint-keyboard-shortcuts-lock-screen</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/06/software-manager-search-spotify.png</image:loc><image:title>software-manager-search-spotify</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/06/linux-mint-desktop.png</image:loc><image:title>linux-mint-desktop</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/06/tux-in-mint-2-resized.jpeg</image:loc><image:title>tux-in-mint-2-resized</image:title></image:image><lastmod>2024-10-01T05:29:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/06/08/how-to-find-me-on-mastodon/</loc><lastmod>2024-06-07T23:28:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/05/27/microsoft-product-recall/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/kangaroo-island-burn-off.jpg</image:loc><image:title>kangaroo-island-burn-off</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/boiled-frog-3-resized.jpg</image:loc><image:title>boiled-frog-3-resized</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/microsoft-product-recall-v06-feature-quadrant.png</image:loc><image:title>microsoft-product-recall-v06-feature-quadrant</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/microsoft-product-recall-v06-product-quadrant.png</image:loc><image:title>microsoft-product-recall-v06-product-quadrant</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/auto_fire_vallejo_1-cropped.jpg</image:loc><image:title>auto_fire_vallejo_1-cropped</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/microsoft-product-recall-v06-chart-over-time.png</image:loc><image:title>microsoft-product-recall-v06-chart-over-time</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/clippy-fights-ai-agent-resized.jpg</image:loc><image:title>clippy-fights-ai-agent-resized</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/clippy-fights-ai-agent.jpg</image:loc><image:title>clippy-fights-ai-agent</image:title></image:image><lastmod>2024-06-01T09:17:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/05/12/psa-vs-code-can-kill/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode-can-kill-diagrams-v02-how-it-actually-works.png</image:loc><image:title>vscode can kill diagrams v02-How it actually works</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode-can-kill-diagrams-v02-how-i-assumed-it-worked.png</image:loc><image:title>vscode can kill diagrams v02-How I assumed it worked</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/flinder_chase_national_park.jpg</image:loc><image:title>flinder_chase_national_park</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/genai-psa-poster-resized-and-cropped.jpg</image:loc><image:title>genai-psa-poster-resized-and-cropped</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/remote-ssh-ram-requirements.png</image:loc><image:title>remote-ssh-ram-requirements</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode-can-kill-diagrams-v01-how-it-actually-works.png</image:loc><image:title>vscode-can-kill-diagrams-v01-how-it-actually-works</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode-can-kill-diagrams-v01-how-i-assumed-it-worked.png</image:loc><image:title>vscode-can-kill-diagrams-v01-how-i-assumed-it-worked</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode_python_extension_disabled-annotated.png</image:loc><image:title>vscode_python_extension_disabled-annotated</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/python-extensions-disabled.png</image:loc><image:title>python-extensions-disabled</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/vscode_python_extension_kills_rpi-annotated.png</image:loc><image:title>vscode_python_extension_kills_rpi-annotated</image:title></image:image><lastmod>2025-09-23T13:30:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/01/21/when-computers-hallucinate/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/raglan-grass.jpeg</image:loc><image:title>raglan-grass</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/chatgpt-tokenisation-example.png</image:loc><image:title>chatgpt-tokenisation-example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/ai-hallucinate-diagrams-v03-word-prediction.png</image:loc><image:title>ai-hallucinate-diagrams-v03-word-prediction</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/chat-gpt-doubles-down.png</image:loc><image:title>chat-gpt-doubles-down</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/inflight-service.png</image:loc><image:title>inflight-service</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/moth.png</image:loc><image:title>moth</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/01/computer-1949.png</image:loc><image:title>computer-1949</image:title></image:image><lastmod>2024-05-10T08:52:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2023/11/14/introduction-to-nifi/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-updatepattern-v2.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-updatepattern-v2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-sendpattern.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-sendpattern</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-updatepattern.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-updatepattern</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-routepattern.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-routepattern</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-ingestpattern.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-ingestpattern</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/fern-2.jpg</image:loc><image:title>fern-2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/list_queue.png</image:loc><image:title>list_queue</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v08-annotated-canvas.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v08-annotated-canvas</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/add_processor.png</image:loc><image:title>add_processor</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2023/11/introduction-to-nifi-blog-diagrams-v09-processors.png</image:loc><image:title>introduction-to-nifi-blog-diagrams-v09-processors</image:title></image:image><lastmod>2024-05-07T08:31:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2024/05/05/why-good-documents-are-often-ignored/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/img_7289.jpeg</image:loc><image:title>img_7289</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/tech-hipsters-in-a-room-collaborating-on-a-document-resized-and-cropped.jpg</image:loc><image:title>tech-hipsters-in-a-room-collaborating-on-a-document-resized-and-cropped</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2024/05/social-media-2-resized.jpg</image:loc><image:title>social-media-2-resized</image:title></image:image><lastmod>2024-05-06T07:46:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/contact/</loc><lastmod>2024-02-26T07:45:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/about/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2017/07/matt2015capetown.png</image:loc><image:title>Matt2015CapeTown</image:title></image:image><lastmod>2024-02-26T07:36:22+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/data-engineering/</loc><lastmod>2023-12-07T06:41:45+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://mattjhayes.com/2021/11/28/other-uses-for-plantuml/</loc><lastmod>2021-11-30T06:14:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2020/05/10/diagrams-with-c4-model/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/top_routeburn_track.png</image:loc><image:title>top_routeburn_track</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/component3.png</image:loc><image:title>component3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/container9.png</image:loc><image:title>container9</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/context4.png</image:loc><image:title>context4</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/uml_example.png</image:loc><image:title>UML_example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/simon_brown_example.png</image:loc><image:title>simon_brown_example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/horrendous_hat.png</image:loc><image:title>horrendous_hat</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/comment.png</image:loc><image:title>comment</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/c4_topology.png</image:loc><image:title>c4_topology</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/05/c4_model.png</image:loc><image:title>c4_model</image:title></image:image><lastmod>2025-09-25T23:03:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2019/08/17/diagrams-as-code-plantuml/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/header-image.jpg</image:loc><image:title>header-image</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/bad-layout.png</image:loc><image:title>Bad Layout</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/mindmap-example.png</image:loc><image:title>Mindmap Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/component-diagram-example.png</image:loc><image:title>Component Diagram Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/activity-diagram-example.png</image:loc><image:title>Activity Diagram Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/class-diagram-example.png</image:loc><image:title>Class Diagram Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/use-case-diagram-example.png</image:loc><image:title>Use Case Diagram Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/sequence-diagram-example.png</image:loc><image:title>Sequence Diagram Example</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/reverse-engineering.png</image:loc><image:title>Reverse Engineering</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/08/forward-engineering.png</image:loc><image:title>Forward Engineering</image:title></image:image><lastmod>2020-05-10T09:31:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2020/04/18/it-architecture-a-discussion-on-coupling/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/evolution_continuum-1.png</image:loc><image:title>evolution_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/mediation_continuum-1.png</image:loc><image:title>mediation_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/state_continuum-2.png</image:loc><image:title>state_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/state_continuum-1.png</image:loc><image:title>state_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/platform_continuum.png</image:loc><image:title>platform_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/interaction_continuum-1.png</image:loc><image:title>interaction_continuum</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/img_6797c2.jpg</image:loc><image:title>IMG_6797c2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/event_driven_architecture.png</image:loc><image:title>event_driven_architecture</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/api_gateway.png</image:loc><image:title>API_gateway</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2020/04/microservice.png</image:loc><image:title>microservice</image:title></image:image><lastmod>2020-04-21T07:28:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2019/11/10/beware-the-perils-of-audit-driven-design/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/11/img_5322c.jpg</image:loc><image:title>IMG_5322c</image:title></image:image><lastmod>2019-11-10T01:57:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2019/07/30/what-is-a-network-traffic-flow-part-3/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure7.png</image:loc><image:title>figure7</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure6.png</image:loc><image:title>figure6</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure5.png</image:loc><image:title>figure5</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure4.png</image:loc><image:title>figure4</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure3.png</image:loc><image:title>figure3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure2.png</image:loc><image:title>figure2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/banner_network_flow_post_3.jpg</image:loc><image:title>banner_network_flow_post_3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2019/07/figure1.png</image:loc><image:title>figure1</image:title></image:image><lastmod>2019-08-02T20:43:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/10/21/what-is-a-network-traffic-flow-part-2/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/banner_network_flow_post_2.jpg</image:loc><image:title>banner_network_flow_post_2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/tcpip_stack.png</image:loc><image:title>tcpip_stack</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/ipv6_tuples.png</image:loc><image:title>IPv6_tuples</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/ipv6_packet_header.png</image:loc><image:title>IPv6_packet_header</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/ipv4_packet_header.png</image:loc><image:title>IPv4_packet_header</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag2.png</image:loc><image:title>frag2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag1.png</image:loc><image:title>frag1</image:title></image:image><lastmod>2019-07-30T09:11:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/11/18/emerging-from-the-murky-swamp-of-infosec-an-architects-view/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/11/bruce.jpg</image:loc><image:title>bruce</image:title></image:image><lastmod>2019-06-28T09:28:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/09/26/what-is-a-network-traffic-flow/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/traffic_wide.jpg</image:loc><image:title>traffic_wide</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow11a.png</image:loc><image:title>flow11a</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow14.png</image:loc><image:title>flow14</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow13.png</image:loc><image:title>flow13</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow12.png</image:loc><image:title>flow12</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow11.png</image:loc><image:title>flow11</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow10.png</image:loc><image:title>flow10</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow9.png</image:loc><image:title>flow9</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow8.png</image:loc><image:title>flow8</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/09/flow7.png</image:loc><image:title>flow7</image:title></image:image><lastmod>2021-04-22T01:43:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/10/31/create-an-ip-fragmentation-lab-with-vagrant/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag5.png</image:loc><image:title>frag5</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag4.png</image:loc><image:title>frag4</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag3.png</image:loc><image:title>frag3</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag21.png</image:loc><image:title>frag2</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/10/frag_lab_1.png</image:loc><image:title>frag_lab_1</image:title></image:image><lastmod>2018-11-01T05:43:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2017/07/14/build-a-home-openflow-lab/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2017/07/3197b-tp-link.png</image:loc><image:title>3197b-tp-link</image:title></image:image><lastmod>2018-08-25T02:19:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2017/07/14/automating-python-documentation-with-read-the-docs/</loc><lastmod>2018-08-25T02:19:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2017/07/29/vagrant-for-software-defined-networking-labs/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2017/07/vagrant_architecture.png</image:loc><image:title>vagrant_architecture</image:title></image:image><lastmod>2018-08-25T02:18:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2017/08/17/vagrant-for-sdn-labs-pt2/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2017/08/vagrant_clone_repo.png</image:loc><image:title>vagrant_clone_repo</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2017/08/vagrant_add_box.png</image:loc><image:title>vagrant_add_box</image:title></image:image><lastmod>2018-08-25T02:18:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/03/09/containers-part-1-what-are-containers/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/scaling_unikernel_or_serverless.png</image:loc><image:title>scaling_unikernel_or_serverless</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/scaling_containers.png</image:loc><image:title>scaling_containers</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/scaling_dedicated_or_vm.png</image:loc><image:title>scaling_dedicated_or_VM</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/virt_types.png</image:loc><image:title>virt_types</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/images_to_containers.png</image:loc><image:title>images_to_containers</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/phy_container.png</image:loc><image:title>phy_container</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/03/overview_of_container.png</image:loc><image:title>overview_of_container</image:title></image:image><lastmod>2018-08-25T02:17:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/05/21/containers-part-2-understanding-docker/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/whats_in_image.png</image:loc><image:title>whats_in_image</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/mapping.png</image:loc><image:title>mapping</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/kernel_and_user_space.png</image:loc><image:title>kernel_and_user_space</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/food.png</image:loc><image:title>food</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/bits_of_docker.png</image:loc><image:title>bits_of_docker</image:title></image:image><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/05/docker_meanings.png</image:loc><image:title>docker_meanings</image:title></image:image><lastmod>2018-08-25T02:16:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/08/04/netflow-on-openwrt/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/08/netflow_on_openwrt.png</image:loc><image:title>NetFlow_on_OpenWRT</image:title></image:image><lastmod>2020-09-30T22:26:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/08/19/collecting-netflow-with-nfcapd-and-nfdump/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/08/collecting_netflow_with_nfcapd_and_nfdump.png</image:loc><image:title>Collecting_NetFlow_with_nfcapd_and_nfdump</image:title></image:image><lastmod>2019-02-23T08:02:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com/2018/08/22/netflow-ipfix-exporting-with-pmacct/</loc><image:image><image:loc>https://mattjhayes.com/wp-content/uploads/2018/08/pmacct_diagram.png</image:loc><image:title>pmacct_diagram</image:title></image:image><lastmod>2025-11-06T17:29:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://mattjhayes.com</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2026-02-24T06:42:22+00:00</lastmod></url></urlset>
