<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://jamesgalley.com/writing/replacing-excel-spreadsheets-with-web-applications</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/php-web-application-security</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/integrating-web-applications-with-xero</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/upgrading-yii-1-applications-to-yii-2</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/migrating-web-applications-to-the-cloud</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/when-the-interface-is-the-hazard</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/digital-transformation</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/converting-yii-1-models-to-yii-2</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/aws-sub-accounts-and-cross-account-roles</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/using-captcha-to-prevent-bots-and-spam</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/cloudfront-ssl-single-instance-elastic-beanstalk</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/cron-jobs-on-elastic-beanstalk</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/how-to-use-s3-getobject-as-a-promise-in-node-js</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/x-frame-options</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/strict-transport-security</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/common-rsync-examples</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/content-security-policy-http-header</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/x-content-type-options-http-header</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/common-aws-s3-cp-examples</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/common-aws-s3-sync-examples</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/referrer-policy-http-header</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/permissions-policy-http-header</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/what-happens-when-the-phone-locks</loc><lastmod>2026-07-13T21:56:51+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/ai-automation-for-business</loc><lastmod>2026-07-13T23:14:55+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing/digital-transformation-in-the-ai-era</loc><lastmod>2026-07-13T23:14:55+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/about</loc><lastmod>2026-07-13T23:57:04+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/contact</loc><lastmod>2026-07-14T21:14:11+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/</loc><lastmod>2026-07-13T23:57:04+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/privacy</loc><lastmod>2026-07-13T20:27:34+01:00</lastmod></url>
  <url><loc>https://jamesgalley.com/writing</loc><lastmod>2026-07-13T10:41:58+01:00</lastmod></url>
</urlset>
