<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.michaelbromley.co.uk/blog/ai-made-me-write-this/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/categories/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/essay/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/categories/featured/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/categories/post/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/</loc>
    <lastmod>2026-07-31T08:00:00+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/high-modernism-software-design/</loc>
    <lastmod>2022-01-18T08:00:00+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/open-source/</loc>
    <lastmod>2022-01-02T13:00:00+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/what-might-happen-if-you-share-it/</loc>
    <lastmod>2022-01-02T13:00:00+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/but-what-about-the-bus-factor/</loc>
    <lastmod>2021-12-01T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/internet/</loc>
    <lastmod>2019-04-10T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/welcome-to-the-twitterscape/</loc>
    <lastmod>2019-04-10T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/on-working-alone/</loc>
    <lastmod>2018-11-22T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/programming/</loc>
    <lastmod>2018-11-22T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/mocking-classes-with-typescript/</loc>
    <lastmod>2018-05-08T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/testing/</loc>
    <lastmod>2018-05-08T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/typescript/</loc>
    <lastmod>2018-05-08T08:00:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/museum-of-the-analog-native/</loc>
    <lastmod>2018-04-10T21:15:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/technology/</loc>
    <lastmod>2018-04-10T21:15:59+01:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/a-tale-of-two-issues/</loc>
    <lastmod>2018-01-20T20:52:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/angular/</loc>
    <lastmod>2017-11-09T10:45:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/notes-on-angularconnect-2017/</loc>
    <lastmod>2017-11-09T10:45:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/the-covert-opt-in/</loc>
    <lastmod>2017-08-04T20:52:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/code/</loc>
    <lastmod>2017-07-30T20:52:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/going-static-with-hugo/</loc>
    <lastmod>2017-07-30T20:52:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/hugo/</loc>
    <lastmod>2017-07-30T20:52:59+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/about/</loc>
    <lastmod>2017-06-11T21:28:35+02:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/productivity-is-happiness/</loc>
    <lastmod>2017-03-06T19:45:31+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/the-elevator-of-infinite-abstraction/</loc>
    <lastmod>2017-02-16T16:19:08+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/some-notes-on-angular-2-aot-mode-with-webpack-sass-ngtools/</loc>
    <lastmod>2016-10-09T07:18:10+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/categories/project/</loc>
    <lastmod>2016-09-08T12:08:31+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/</loc>
    <lastmod>2016-09-08T12:08:31+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2016-09-08-skqw-javascript-audio-visualizer/</loc>
    <lastmod>2016-09-08T12:08:31+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/an-early-look-at-skqw-javascript-audio-visualizer/</loc>
    <lastmod>2016-08-26T08:25:07+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/creative/</loc>
    <lastmod>2016-08-26T08:25:07+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/javascript/</loc>
    <lastmod>2017-07-26T06:08:36+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/why-i-havent-fixed-your-issue-yet/</loc>
    <lastmod>2016-05-13T14:22:02+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/components-with-custom-templates-in-angular-2-beta.7/</loc>
    <lastmod>2016-02-26T09:10:03+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/angular-2-commonjs-and-circular-dependencies/</loc>
    <lastmod>2016-01-29T08:50:04+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/angularconnect-summary-and-analysis/</loc>
    <lastmod>2015-10-22T19:36:00+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/angularjs/</loc>
    <lastmod>2017-07-26T06:08:36+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/the-republic-of-virtue-terror-tolerance-and-the-internet/</loc>
    <lastmod>2015-07-18T04:58:22+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/fixing-chrome-autofill-mysterious-wrong-values-solved/</loc>
    <lastmod>2015-07-10T14:52:17+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/automatic-@import-of-less/sass-files-with-gulp/</loc>
    <lastmod>2015-04-15T20:13:57+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/angular-wordpress-seed-a-complete-example-project-with-angularjs-and-the-wordpress-json-rest-api/</loc>
    <lastmod>2015-03-28T10:16:33+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/tags/wordpress/</loc>
    <lastmod>2015-03-28T10:16:33+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/a-note-on-angular-expressions-and-javascript-identifiers/</loc>
    <lastmod>2015-03-13T09:39:41+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2015-03-02-chromata-a-generative-art-tool/</loc>
    <lastmod>2015-03-02T17:18:43+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/book-review-responsive-web-design-with-angularjs-plus-musings-on-technical-writing/</loc>
    <lastmod>2015-02-02T22:05:56+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/exploring-es6-classes-in-angularjs-1.x/</loc>
    <lastmod>2015-01-28T17:10:14+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/the-programmer-dad/</loc>
    <lastmod>2015-01-07T09:52:06+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/one-year-of-github-and-open-source/</loc>
    <lastmod>2014-12-23T15:53:28+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2014-12-08-heavenly-glory-instant-kung-fu-with-webrtc-web-audio/</loc>
    <lastmod>2014-12-08T08:12:38+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/building-a-3d-game-with-css--html/</loc>
    <lastmod>2014-11-09T21:06:16+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2014-11-09-css-space-shooter/</loc>
    <lastmod>2014-11-09T16:58:27+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/my-thoughts-on-ngeurope-2014-and-angularjs-2.0/</loc>
    <lastmod>2014-10-24T08:30:18+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/writing-multi-element-directives-in-angularjs/</loc>
    <lastmod>2014-10-14T09:52:55+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/css--javascript-3d-butterfly-a-case-study/</loc>
    <lastmod>2014-09-24T05:39:39+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/experiences-building-a-website-with-angularjs--wp-api-wordpress-api/</loc>
    <lastmod>2014-09-19T15:26:15+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2014-09-19-horizonal-js/</loc>
    <lastmod>2014-09-19T10:23:21+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2014-09-19-draw-a-cat/</loc>
    <lastmod>2014-09-19T10:10:08+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/project/2014-09-19-soundcloud-visualizer/</loc>
    <lastmod>2014-09-19T09:50:50+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/a-note-on-touch-pointer-events-in-internet-explorer/</loc>
    <lastmod>2014-08-07T08:08:29+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/enable-rich-social-sharing-in-your-angularjs-app/</loc>
    <lastmod>2017-07-26T06:08:36+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/a-killer-startup-idea/</loc>
    <lastmod>2014-06-18T08:20:34+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/what-makes-a-good-tech-talk/</loc>
    <lastmod>2014-06-16T14:25:34+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/site-wide-split-tests-with-google-analytics-content-experiments/</loc>
    <lastmod>2014-06-13T07:39:28+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/paginate-almost-anything-in-angularjs/</loc>
    <lastmod>2014-05-09T19:46:45+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/auto-breadcrumbs-with-angular-ui-router/</loc>
    <lastmod>2014-04-04T13:19:51+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/simple-1d-noise-in-javascript/</loc>
    <lastmod>2014-03-14T07:15:00+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/confessions-of-an-intermediate-programmer/</loc>
    <lastmod>2017-08-06T18:35:36+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/audio-visualization-with-web-audio-canvas-and-the-soundcloud-api/</loc>
    <lastmod>2014-01-27T13:54:41+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/using-disqus-with-angularjs/</loc>
    <lastmod>2014-01-24T16:41:37+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/an-overview-of-the-ng-conf-2014-presentations/</loc>
    <lastmod>2014-01-22T19:10:39+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/an-ordinal-date-filter-for-angularjs/</loc>
    <lastmod>2014-01-19T15:29:46+00:00</lastmod>
  </url><url>
    <loc>https://www.michaelbromley.co.uk/blog/how-i-got-zurb-foundation-4-to-work-with-ie8-with-zero-lines-of-code/</loc>
    <lastmod>2014-01-19T06:14:03+00:00</lastmod>
  </url>
</urlset>
