<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://stephen-macharia.hashnode.dev</loc>
    <lastmod>2026-10-17T15:33:09.297Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/king-midas-had-an-ai-problem</loc>
    <lastmod>2026-09-09T07:47:44.772Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/debugging-a-403-csrf-error-in-a-codeigniter-datatables-application</loc>
    <lastmod>2026-08-19T15:15:24.707Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/intent-driven-software-engineering-the-next-abstraction-layer-after-ai-coding</loc>
    <lastmod>2026-07-31T05:47:52.512Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/building-a-smart-on-fhir-client-against-openemr-a-deep-dive-into-oauth2-pkce-and-patient-context</loc>
    <lastmod>2026-07-24T07:03:36.089Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/stride-threat-modeling-for-healthcare-apis-a-practical-guide-for-fhir-openemr-and-api-gateway-security</loc>
    <lastmod>2026-07-18T07:38:21.342Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/how-a-unit-conversion-error-cost-nasa-a-327-million-mars-mission</loc>
    <lastmod>2026-06-22T08:50:28.835Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/design-should-bypass-complexity-not-users</loc>
    <lastmod>2026-05-26T16:14:43.511Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/name-your-variables-like-your-first-born-child-well-almost</loc>
    <lastmod>2026-04-24T09:34:41.577Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/understanding-xss-the-most-common-web-vulnerability-in-2026</loc>
    <lastmod>2026-03-30T09:58:22.085Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/goldilocks-in-cybersecurity-finding-the-just-right-balance-for-emr-systems</loc>
    <lastmod>2026-03-13T12:21:44.519Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/safety-is-not-an-option-why-it-must-be-a-daily-habit</loc>
    <lastmod>2026-01-23T04:34:29.437Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/unlocking-the-digital-picture-demystifying-pacs-with-orthanc-and-openemr-1-1</loc>
    <lastmod>2025-11-08T06:43:11.861Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/unlocking-the-digital-picture-demystifying-pacs-with-orthanc-and-openemr-1</loc>
    <lastmod>2025-11-08T06:40:13.097Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/unlocking-the-digital-picture-demystifying-pacs-with-orthanc-and-openemr</loc>
    <lastmod>2025-11-08T06:27:54.781Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/tackling-the-dicom-wall-setting-up-a-pacs-orthanc-in-a-kaliubuntu-vm-lab</loc>
    <lastmod>2025-11-06T20:52:56.141Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/when-the-emr-goes-dark-a-health-it-engineers-guide-to-boot-failure</loc>
    <lastmod>2025-11-05T07:55:01.318Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/the-linux-philosophy-do-one-thing-and-do-it-well-why-it-still-defines-modern-systems-engineering</loc>
    <lastmod>2025-10-27T17:20:14.817Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-you-should-never-use-floats-for-money</loc>
    <lastmod>2025-09-26T11:49:00.164Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/ascii-unicode-and-utf-8-how-text-really-works-in-programming</loc>
    <lastmod>2025-09-25T07:06:49.965Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/excessive-healthcare-data-exposure-lessons-from-openmrs-vulnerabilities</loc>
    <lastmod>2025-09-19T16:02:17.651Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/wireshark-for-hl7-v2-a-practical-guide-to-analyzing-healthcare-messages</loc>
    <lastmod>2025-09-17T13:45:18.408Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/openelis-the-open-source-solution-revolutionizing-laboratory-information-management</loc>
    <lastmod>2025-09-03T14:06:31.683Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/automating-pentests-with-nmap-metasploit-my-pentestorchestratorsh-workflow</loc>
    <lastmod>2025-08-26T11:25:30.395Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-installing-authenticator-via-flatpak-from-flathub-is-the-most-secure-and-reliable-choice-for-linux-users-1</loc>
    <lastmod>2025-08-26T10:29:04.977Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-installing-authenticator-via-flatpak-from-flathub-is-the-most-secure-and-reliable-choice-for-linux-users</loc>
    <lastmod>2025-08-26T10:10:27.574Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/best-fit-memory-exploits-in-windows-lessons-from-past-to-2025</loc>
    <lastmod>2025-08-19T10:11:49.300Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/digital-health-trends-in-kenya-a-glimpse-into-2025</loc>
    <lastmod>2025-08-18T19:07:34.806Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/how-chrome-handles-http-vs-https-and-why-it-matters-for-bearer-tokens</loc>
    <lastmod>2025-08-16T08:40:11.666Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-minimal-kali-linux-can-drive-you-crazy-and-how-to-fix-it-1</loc>
    <lastmod>2025-08-16T08:21:26.577Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-minimal-kali-linux-can-drive-you-crazy-and-how-to-fix-it</loc>
    <lastmod>2025-08-16T08:18:18.897Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/understanding-the-core-building-blocks-of-dicom</loc>
    <lastmod>2025-08-15T16:22:55.998Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/the-oauth-dance-how-apps-politely-borrow-your-keys-without-stealing-your-wallet</loc>
    <lastmod>2025-08-14T17:14:34.402Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/understanding-the-openemr-billing-module-a-complete-guide</loc>
    <lastmod>2025-08-13T19:04:15.433Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/tdd-writing-tests-before-code-because-future-you-hates-debugging</loc>
    <lastmod>2025-08-12T08:35:34.245Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/ldap-vs-oauth-understanding-the-differences-and-similarities-in-identity-management</loc>
    <lastmod>2025-08-11T16:16:52.371Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/optimizing-your-hapi-fhir-client-configuration-for-better-performance-and-flexibility</loc>
    <lastmod>2025-08-09T18:30:16.605Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/evidence-based-explanation-of-openemrs-tier-architecture-using-cbc</loc>
    <lastmod>2025-08-08T03:57:52.363Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/automating-openemr-with-docker-a-bash-script-walkthrough-for-jali-emr</loc>
    <lastmod>2025-08-07T10:17:18.345Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/fluent-programming-writing-code-that-reads-like-a-conversation</loc>
    <lastmod>2025-08-06T15:40:18.920Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/how-php-intelephense-is-helping-me-become-a-better-php-developer</loc>
    <lastmod>2025-08-05T18:30:50.234Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/how-to-use-hapi-fhir-server-in-kenya-a-step-by-step-guide-with-oncology-ig-profiles</loc>
    <lastmod>2025-08-04T14:38:58.285Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/understanding-psr-in-php-why-it-matters-and-how-to-use-it</loc>
    <lastmod>2025-08-02T16:43:42.760Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/openemr-meets-fhir-a-kenyan-perspective-on-interoperability-and-digital-health</loc>
    <lastmod>2025-07-26T13:37:12.697Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/why-most-kenyan-developers-misuse-code-comments-and-what-uncle-bob-recommends-instead</loc>
    <lastmod>2025-07-26T08:35:02.148Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/the-knight-capital-fiasco-how-a-software-glitch-burned-450-million-in-45-minutes</loc>
    <lastmod>2025-07-24T17:07:37.782Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/who-owns-this-pointer-a-c-mystery-that-can-crash-your-emr-even-in-kisumu</loc>
    <lastmod>2025-07-23T13:03:16.633Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/nothing-vast-enters-the-life-of-mortals-without-a-curse-the-high-cost-of-innovation-in-2024</loc>
    <lastmod>2025-07-22T18:17:15.057Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/design-systems-around-risk-not-just-features</loc>
    <lastmod>2025-07-16T17:47:31.237Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/2147483647-1-0-a-32-bit-horror-story</loc>
    <lastmod>2025-07-14T15:05:17.057Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/fhir-for-kenya-unlocking-better-healthcare-through-data-interoperability</loc>
    <lastmod>2025-07-11T11:00:12.343Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/archive</loc>
    <lastmod>2026-10-17T15:33:09.297Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://stephen-macharia.hashnode.dev/recommendations</loc>
    <lastmod>2026-10-17T15:33:09.297Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>