<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://artificialworlds.net/blog/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/02/beginning-blog/</loc>
        <lastmod>2005-06-02T15:23:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/03/google/</loc>
        <lastmod>2005-06-03T23:07:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/04/what-is-going-on-with-freeguide/</loc>
        <lastmod>2005-06-04T23:12:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/07/a-real-job/</loc>
        <lastmod>2005-06-07T15:12:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/08/guilty-expression/</loc>
        <lastmod>2005-06-08T16:03:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/08/rss-2/</loc>
        <lastmod>2005-06-08T15:22:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/09/prediction-corporate-linux/</loc>
        <lastmod>2005-06-09T20:23:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/13/rss-working/</loc>
        <lastmod>2005-06-13T23:17:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/14/diyblog/</loc>
        <lastmod>2005-06-14T16:17:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/15/freeguide-packaging-and-plugins/</loc>
        <lastmod>2005-06-15T14:53:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/16/freeguides-todo-list/</loc>
        <lastmod>2005-06-16T23:19:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/17/mnemonic/</loc>
        <lastmod>2005-06-17T18:53:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/20/viva-today/</loc>
        <lastmod>2005-06-20T12:56:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/21/corrections/</loc>
        <lastmod>2005-06-21T15:07:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/22/honestly-my-last-post-about-my-viva/</loc>
        <lastmod>2005-06-22T18:09:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/23/re-implementing/</loc>
        <lastmod>2005-06-23T20:26:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/24/diyplanet/</loc>
        <lastmod>2005-06-24T08:27:34+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/28/atv-palm-export/</loc>
        <lastmod>2005-06-28T20:10:51+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/06/28/nearing-a-new-release/</loc>
        <lastmod>2005-06-28T20:02:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/01/gaming-on-the-move/</loc>
        <lastmod>2005-07-01T15:14:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/04/constantly-changing-passwords/</loc>
        <lastmod>2005-07-04T15:24:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/06/train-gaming/</loc>
        <lastmod>2005-07-06T15:34:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/07/london-terrorist-attacks/</loc>
        <lastmod>2005-07-07T19:46:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/07/the-dangers-of-learning-to-code/</loc>
        <lastmod>2005-07-07T15:45:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/08/london/</loc>
        <lastmod>2005-07-08T15:23:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/13/sourceforge/</loc>
        <lastmod>2005-07-13T15:46:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/15/personal-stuff-is-boring/</loc>
        <lastmod>2005-07-15T16:46:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/15/prince-of-persia-the-sands-of-time/</loc>
        <lastmod>2005-07-15T16:47:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/17/cd-writing-on-fedora-core-3/</loc>
        <lastmod>2005-07-17T18:06:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/19/python-objects-in-c/</loc>
        <lastmod>2005-07-19T15:12:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/07/22/bashpodder/</loc>
        <lastmod>2005-07-22T15:08:54+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/09/just-a-little-bit-longer/</loc>
        <lastmod>2005-08-09T15:56:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/19/setting-up-my-ideal-email-system/</loc>
        <lastmod>2005-08-19T19:23:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/08/31/setting-up-my-ideal-email-system-2/</loc>
        <lastmod>2005-08-31T20:19:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/09/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/09/12/freeguide-010pre2/</loc>
        <lastmod>2005-09-12T17:59:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2005/09/12/setting-up-my-ideal-email-system-3/</loc>
        <lastmod>2005-09-12T18:11:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/06/i-spawn/</loc>
        <lastmod>2006-02-06T21:38:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/27/podcasts-i-listen-to/</loc>
        <lastmod>2006-02-27T17:43:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/02/27/setting-up-my-ideal-email-system-4/</loc>
        <lastmod>2006-02-27T17:14:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/07/faster-poker-analysis/</loc>
        <lastmod>2006-03-07T17:41:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/07/poker-analysis/</loc>
        <lastmod>2006-03-07T16:59:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/08/donation/</loc>
        <lastmod>2006-03-08T16:37:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/08/freeguide-update/</loc>
        <lastmod>2006-03-08T16:28:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/14/linux-journal-slides/</loc>
        <lastmod>2006-03-14T23:52:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/03/17/letter-to-linux-journal/</loc>
        <lastmod>2006-03-17T16:06:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/02/freeguide-source-layout-and-svn-migration/</loc>
        <lastmod>2006-05-02T22:59:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/11/keyboard-layout-change-in-ubuntu/</loc>
        <lastmod>2006-05-11T18:03:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/15/over-engineering-gone-mad/</loc>
        <lastmod>2006-05-15T15:44:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/05/18/freeguide-fan-mail/</loc>
        <lastmod>2006-05-18T22:41:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/06/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/06/07/a-quick-and-desperate-introduction-to-data-recovery/</loc>
        <lastmod>2006-06-08T04:07:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/07/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/07/04/freeguide-0104-release-candidate/</loc>
        <lastmod>2006-07-04T16:47:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/07/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/07/19/another-freeguide-release-candidate/</loc>
        <lastmod>2006-07-19T09:16:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/12/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/12/18/linux-journal-forgiveness/</loc>
        <lastmod>2006-12-18T22:15:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/12/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2006/12/21/new-games/</loc>
        <lastmod>2006-12-21T17:48:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/01/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/01/17/two-new-babies/</loc>
        <lastmod>2007-01-17T23:11:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/09/hello-world/</loc>
        <lastmod>2007-02-09T14:16:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/22/creating-deb-and-rpm-packages/</loc>
        <lastmod>2007-02-23T05:37:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/02/22/my-daily-backup/</loc>
        <lastmod>2007-02-23T06:26:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/03/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/03/14/recording-in-freeguide/</loc>
        <lastmod>2007-03-14T12:55:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/03/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/03/20/gssmp-goes-beta/</loc>
        <lastmod>2007-03-20T10:10:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/02/remote-backup-with-duplicity/</loc>
        <lastmod>2007-05-02T06:55:42+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/02/restoring-a-backup-with-duplicity/</loc>
        <lastmod>2007-05-02T23:38:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/10/choose-channel-dialog/</loc>
        <lastmod>2007-05-10T03:57:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/10/digital-tv-on-dapper-with-my-hauppauge-wintv-nova-t-card/</loc>
        <lastmod>2007-05-10T03:44:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/12/gssmp-10/</loc>
        <lastmod>2007-05-12T06:32:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/05/16/watching-tv-a-simpler-way/</loc>
        <lastmod>2007-05-16T19:00:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/01/obviously-there-was-a-bug/</loc>
        <lastmod>2007-06-01T19:29:32+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/07/lastfm-in-gssmp/</loc>
        <lastmod>2007-06-07T02:38:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/07/lastfmsubmitd-on-ubuntu-dapper/</loc>
        <lastmod>2007-06-07T00:31:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/06/26/procmail-maildir-messages-disappearing/</loc>
        <lastmod>2007-06-26T08:08:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/07/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/07/31/badly-wrong-usage-statistics-for-freeguide/</loc>
        <lastmod>2007-07-31T13:53:12+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/15/freeguide-putting-recording-on-hold/</loc>
        <lastmod>2007-08-15T11:00:26+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/15/heartfelt-apologies-for-the-feed-url-change/</loc>
        <lastmod>2007-08-15T12:20:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/15/new-baby-arrived-safely/</loc>
        <lastmod>2007-08-15T10:38:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/08/18/freeguide-svn-now-useable/</loc>
        <lastmod>2007-08-18T10:14:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/09/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/09/19/freeguide-0105/</loc>
        <lastmod>2007-09-19T14:17:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/09/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/09/24/announcing-record-tv/</loc>
        <lastmod>2007-09-24T09:08:42+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/08/caution-numbers-that-feel-prime-may-be-divisible-by-3/</loc>
        <lastmod>2007-11-08T09:08:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/10/duckmaze-02/</loc>
        <lastmod>2007-11-10T00:23:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/11/16/freeguide-updated-to-latest-xmltv-and-bug-fixes/</loc>
        <lastmod>2007-11-16T04:03:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/12/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2007/12/09/lighttpd-on-ubuntu-aliasurl-doesnt-work-when-included-in-a-module-config-file/</loc>
        <lastmod>2007-12-09T01:00:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/01/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/01/20/finally-released-lastfm-support-for-gssmp/</loc>
        <lastmod>2008-01-20T09:34:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/12/public-bzr-branch-of-freeguide/</loc>
        <lastmod>2008-03-12T09:56:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/12/public-git-repo-for-gssmp/</loc>
        <lastmod>2008-03-12T09:30:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/03/19/templated-test-code/</loc>
        <lastmod>2008-03-19T10:51:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/04/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/</loc>
        <lastmod>2008-04-07T09:26:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/04/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/04/18/debugging-memory-use-and-fragmentation-on-windows/</loc>
        <lastmod>2008-04-18T10:29:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/07/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/07/28/freeguide-0108/</loc>
        <lastmod>2008-07-28T20:00:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/01/another-one/</loc>
        <lastmod>2008-09-01T21:08:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/09/freeguide-0109/</loc>
        <lastmod>2008-09-09T22:33:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/09/09/wii-repaired-free/</loc>
        <lastmod>2008-09-09T22:19:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/10/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/10/08/an-actual-difficult-bug-fixed/</loc>
        <lastmod>2008-10-08T03:21:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/12/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2008/12/10/fixing-the-vertical-panel-window-list-on-ubuntu-hardy/</loc>
        <lastmod>2008-12-10T22:20:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/03/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/03/05/talk-in-code/</loc>
        <lastmod>2009-03-05T10:31:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/03/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/03/21/new-baby/</loc>
        <lastmod>2009-03-21T20:53:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/04/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/04/03/separate-regular-expressions-or-one-more-complex-one/</loc>
        <lastmod>2009-04-03T06:44:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/05/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/05/20/analog-literals/</loc>
        <lastmod>2009-05-20T09:17:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/07/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/07/31/random-background-in-gnome/</loc>
        <lastmod>2009-07-31T08:50:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/08/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/08/26/diffident-command-line-side-by-side-diff-editor/</loc>
        <lastmod>2009-08-26T20:13:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/08/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/08/31/igcc-a-real-eval-print-loop-for-cc/</loc>
        <lastmod>2009-08-31T02:56:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/09/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/09/10/flaws-in-the-software-patents-system/</loc>
        <lastmod>2009-09-10T12:56:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/09/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/09/23/firefox-keyword-search-for-finding-c-keywords/</loc>
        <lastmod>2009-09-23T09:58:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/09/cbeebies-and-other-channels-not-working-with-mplayer/</loc>
        <lastmod>2009-10-09T16:08:03+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/10/diffident-0-3/</loc>
        <lastmod>2009-10-10T07:54:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/10/nndbs-not-a-database/</loc>
        <lastmod>2009-10-10T08:22:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/10/23/nndb-0-1/</loc>
        <lastmod>2009-10-23T20:57:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/03/technorati-appear-to-have-broken-openid-delegation/</loc>
        <lastmod>2009-11-03T12:08:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/20/dont-design-for-performance-until-its-too-late/</loc>
        <lastmod>2009-11-20T06:16:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2009/11/24/freeguide-0-10-11/</loc>
        <lastmod>2009-11-24T06:58:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/05/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/05/14/ubuntu-lucid-upgrade-a-catalogue-of-disaster-and-pain/</loc>
        <lastmod>2010-05-14T10:37:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/06/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/06/21/scalable-graph-coverage/</loc>
        <lastmod>2010-06-21T00:25:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/08/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/08/18/subs-scheme-lisp-interpreter/</loc>
        <lastmod>2010-08-18T16:05:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/09/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/09/01/anatomy-of-an-interpreter-the-lexer/</loc>
        <lastmod>2010-09-01T23:27:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/09/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2010/09/30/anatomy-of-an-interpreter-the-parser/</loc>
        <lastmod>2010-09-30T23:38:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/02/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/02/12/anatomy-of-an-interpreter-the-evaluator/</loc>
        <lastmod>2011-02-12T01:54:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/02/12/how-to-ask-technical-questions-in-person/</loc>
        <lastmod>2011-02-12T00:27:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/03/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/03/04/switching-workspace-in-gnome-via-the-command-line/</loc>
        <lastmod>2011-03-04T17:09:42+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/05/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/05/11/my-address-book-1-9-0-rewritten-from-scratch/</loc>
        <lastmod>2011-05-11T12:58:03+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/06/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/06/16/reclaiming-desktop-space-with-ubuntus-window-picker-applet/</loc>
        <lastmod>2011-06-16T14:15:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/07/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/07/06/rdesktop-swallows-keyboard-events/</loc>
        <lastmod>2011-07-06T12:03:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/09/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/09/01/entertain-your-baby-using-your-android-phone/</loc>
        <lastmod>2011-09-01T13:18:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/10/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2011/10/16/freeguide-usage-stats/</loc>
        <lastmod>2011-10-16T07:06:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/01/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/01/21/ethernet-not-working-on-ubuntu-with-realtek-rtl81118168b/</loc>
        <lastmod>2012-01-21T08:22:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/02/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/02/10/goodness-in-programming-languages-part-1-syntax-and-layout/</loc>
        <lastmod>2012-02-10T09:42:03+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/02/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/02/12/building-jedit-from-source/</loc>
        <lastmod>2012-02-12T21:17:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/03/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/03/08/goodness-in-programming-languages-part-2-getting-your-code-running/</loc>
        <lastmod>2012-03-08T10:03:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/03/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/03/30/javascript-wtfs/</loc>
        <lastmod>2012-03-30T13:41:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/13/scheme-feel-the-cool/</loc>
        <lastmod>2012-04-13T16:44:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/18/freeview-dvb-t-scan-gives-tuning-failed-after-18th-april-switchover/</loc>
        <lastmod>2012-04-18T08:01:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/18/what-timezone-python-thinks-im-in/</loc>
        <lastmod>2012-04-18T22:50:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/24/scheme-pairs-lists-and-recursion/</loc>
        <lastmod>2012-04-24T09:01:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/27/tail-call-optimisation-in-c/</loc>
        <lastmod>2012-04-27T20:03:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/30/performance-of-tail-call-optimised-c/</loc>
        <lastmod>2012-04-30T21:21:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/04/30/tail-call-optimisation-in-cpp/</loc>
        <lastmod>2012-04-30T20:03:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/04/closures-in-scheme/</loc>
        <lastmod>2012-05-04T15:11:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/04/javascript-wtfs-videos-the-global-object/</loc>
        <lastmod>2012-05-04T23:16:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/08/generalising-tail-call-optimised-c/</loc>
        <lastmod>2012-05-08T22:41:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/22/scheme-feel-the-cool-video/</loc>
        <lastmod>2012-05-22T17:16:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/05/25/scheme-2-basics-pairs-and-lists-video/</loc>
        <lastmod>2012-05-25T21:31:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/01/scheme-3-closures/</loc>
        <lastmod>2012-06-01T18:38:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/16/scheme-4-recursion-how-to-write-functions-in-scheme/</loc>
        <lastmod>2012-06-16T18:47:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/21/scheme-5-quotation-video/</loc>
        <lastmod>2012-06-21T07:26:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/22/tail-call-optimisation-in-c-published-in-overload-journal/</loc>
        <lastmod>2012-06-22T08:53:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/06/26/scheme-6-lambda-video/</loc>
        <lastmod>2012-06-26T16:55:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/02/scheme-7-macros-video/</loc>
        <lastmod>2012-07-02T07:33:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/20/cool-raspberry-pi-projects/</loc>
        <lastmod>2012-07-20T12:19:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/07/30/tail-call-optimisation-in-c-lightning-talk-video/</loc>
        <lastmod>2012-07-30T08:49:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/09/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/09/05/goodness-in-programming-languages-part-3-not-doing-the-same-thing-more-than-once/</loc>
        <lastmod>2012-09-05T07:36:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/09/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/09/14/lambda-functions-timeline/</loc>
        <lastmod>2012-09-14T13:34:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/09/running-dojo-doh-unit-tests-on-the-command-line-with-rhino/</loc>
        <lastmod>2012-10-09T16:19:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/</loc>
        <lastmod>2012-10-17T12:30:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/30/my-first-raspberry-pi-game-part-01-before-we-star/</loc>
        <lastmod>2012-10-30T20:50:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/10/30/running-dojo-doh-tests-in-a-browser-without-a-web-server/</loc>
        <lastmod>2012-10-30T10:46:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/06/my-first-raspberry-pi-game-part-02-saying-hello/</loc>
        <lastmod>2012-11-06T08:45:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/14/my-first-raspberry-pi-game-part-03-its-like-a-magic-spell/</loc>
        <lastmod>2012-11-14T08:27:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/15/length-of-open-source-licenses/</loc>
        <lastmod>2012-11-15T13:34:34+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/20/my-first-raspberry-pi-game-part-04-a-small-black-screen/</loc>
        <lastmod>2012-11-20T19:01:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/22/my-first-raspberry-pi-game-part-05-say-something/</loc>
        <lastmod>2012-11-22T08:31:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/24/my-first-raspberry-pi-game-part-06-a-better-class-of-waiting/</loc>
        <lastmod>2012-11-24T08:44:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/27/launching-an-osgi-app-on-the-command-line/</loc>
        <lastmod>2012-11-27T10:29:54+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/11/28/my-first-raspberry-pi-game-part-07-a-green-circle/</loc>
        <lastmod>2012-11-28T09:34:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/04/my-first-raspberry-pi-game-part-08-success-and-failure/</loc>
        <lastmod>2012-12-04T08:29:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/08/my-first-raspberry-pi-game-part-09-lots-more-words/</loc>
        <lastmod>2012-12-08T08:48:12+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2012/12/14/my-first-raspberry-pi-game-part-10-red-square/</loc>
        <lastmod>2012-12-14T23:31:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/11/my-first-raspberry-pi-game-part-11-being-less-rude/</loc>
        <lastmod>2013-01-11T08:14:59+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/16/my-first-raspberry-pi-game-part-12-scoring-done/</loc>
        <lastmod>2013-01-16T08:19:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/01/31/dry-run-mode-for-ant-ant-n-ant-dry-run/</loc>
        <lastmod>2013-01-31T16:47:57+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/02/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/02/08/everybody-hates-build-xml-code-reuse-in-ant/</loc>
        <lastmod>2013-02-08T08:03:59+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/02/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/02/16/everybody-loves-build-xml-test-driven-ant/</loc>
        <lastmod>2013-02-16T14:39:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/05/set-the-volume-in-openboxlxde-or-on-the-command-line-with-pulseaudio-and-ubuntu/</loc>
        <lastmod>2013-03-05T11:09:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/13/why-use-git-for-source-control/</loc>
        <lastmod>2013-03-13T08:20:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/03/27/setup-and-teardown-considered-harmful/</loc>
        <lastmod>2013-03-27T15:08:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/13/c14-terse-templates-an-argument-against-the-proposed-syntax/</loc>
        <lastmod>2013-04-13T01:22:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/15/using-gnome-mplayer-to-play-dvb-radio-without-asking-whether-you-want-to-resume/</loc>
        <lastmod>2013-04-15T19:12:31+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/04/20/how-to-use-git-the-basics/</loc>
        <lastmod>2013-04-20T08:05:54+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/01/goodness-in-programming-languages-part-4-ownership-memory/</loc>
        <lastmod>2013-05-01T09:00:31+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/10/passing-several-values-through-a-pipe-in-bash/</loc>
        <lastmod>2013-05-10T09:13:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/13/branches-in-git/</loc>
        <lastmod>2013-05-13T20:00:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/23/behaviour-of-java-string-split/</loc>
        <lastmod>2013-05-23T13:51:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/05/23/checking-the-case-of-a-filename-on-windows/</loc>
        <lastmod>2013-05-23T12:30:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/07/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/07/11/merging-in-git/</loc>
        <lastmod>2013-07-11T07:29:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/07/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/07/24/working-with-others-in-git/</loc>
        <lastmod>2013-07-24T18:38:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/11/vim-for-fun/</loc>
        <lastmod>2013-09-11T06:59:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/13/using-ifset-unlessset-etc-to-execute-a-task-conditionally-in-ant/</loc>
        <lastmod>2013-09-13T15:41:31+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/13/using-ifset-unlessset-etc-with-macrodefs-in-ant/</loc>
        <lastmod>2013-09-13T15:53:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/09/18/bash-arrays/</loc>
        <lastmod>2013-09-18T13:45:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/10/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/10/01/what-is-rest/</loc>
        <lastmod>2013-10-01T07:08:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/10/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/10/10/avoid-backslashes-anywhere-in-java-code-java-error-illegal-unicode-escape/</loc>
        <lastmod>2013-10-10T10:16:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/11/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/11/06/a-basic-rest-api/</loc>
        <lastmod>2013-11-06T21:08:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/12/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2013/12/05/paging-in-a-rest-api/</loc>
        <lastmod>2013-12-05T08:26:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/01/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/01/31/searching-in-a-rest-api/</loc>
        <lastmod>2014-01-31T08:24:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/03/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/03/04/security-in-a-rest-api/</loc>
        <lastmod>2014-03-04T18:09:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/03/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/03/26/using-xscreensaver-to-lock-the-screen-in-lubuntu/</loc>
        <lastmod>2014-03-26T09:17:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/02/using-the-final-keyword-in-interface-method-parameters-does-nothing/</loc>
        <lastmod>2014-04-02T09:13:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/11/avoid-mocks-by-refactoring-to-functional/</loc>
        <lastmod>2014-04-11T16:23:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/04/29/token-based-security-in-a-rest-api/</loc>
        <lastmod>2014-04-29T07:20:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/05/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/05/09/does-test-driven-development-harm-clarity/</loc>
        <lastmod>2014-05-09T13:57:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/05/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/05/15/avconv-performance-slow-in-ubuntu-14-04-trusty/</loc>
        <lastmod>2014-05-15T00:50:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/23/openid-security-in-a-rest-api/</loc>
        <lastmod>2014-06-23T07:21:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/25/five-quines-video/</loc>
        <lastmod>2014-06-25T07:34:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/06/30/simple-template-programming/</loc>
        <lastmod>2014-06-30T07:16:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/07/a-mini-mocking-framework/</loc>
        <lastmod>2014-07-07T07:18:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/14/letter-to-my-mp-on-drip/</loc>
        <lastmod>2014-07-14T10:19:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/14/what-is-node-js/</loc>
        <lastmod>2014-07-14T07:21:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/15/renewing-self-signed-certificate-for-ejabberd/</loc>
        <lastmod>2014-07-15T08:44:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/15/what-git-server-should-i-use/</loc>
        <lastmod>2014-07-15T15:40:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/07/18/best-gcc-warning-flags-for-compiling-c/</loc>
        <lastmod>2014-07-18T09:01:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/12/desktop-sharing-not-working-in-lubuntu-14-04/</loc>
        <lastmod>2014-08-12T14:57:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/18/options-for-code-reviews-with-git/</loc>
        <lastmod>2014-08-18T10:19:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/22/absolute-truth-in-programming-languages/</loc>
        <lastmod>2014-08-22T09:38:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/08/23/what-is-a-string/</loc>
        <lastmod>2014-08-23T08:34:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/11/android-programming-setting-up-android-studio/</loc>
        <lastmod>2014-09-11T06:57:59+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/16/raspberry-pi-minecraft-python-summer-project-screenshots/</loc>
        <lastmod>2014-09-16T20:39:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/17/android-programming-a-menu-using-activities-and-intents/</loc>
        <lastmod>2014-09-17T07:04:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/19/dont-use-email-auto-forwarding-emails-will-go-missing/</loc>
        <lastmod>2014-09-19T02:47:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/19/fetchmail-mda-option-makes-emails-bypass-the-spamassassin-filter-in-postfix/</loc>
        <lastmod>2014-09-19T02:19:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/21/android-programming-drawing-bitmaps-in-a-game-loop/</loc>
        <lastmod>2014-09-21T19:12:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/24/android-programming-a-non-android-android-game/</loc>
        <lastmod>2014-09-24T06:04:03+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/25/launch-an-urgent-window-using-python-and-xlib-with-the-urgencyhint-flag/</loc>
        <lastmod>2014-09-25T23:25:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/09/25/showing-urgent-windows-on-all-desktop-in-lxdes-taskbar-window-list-in-lubuntu/</loc>
        <lastmod>2014-09-25T23:55:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/07/android-development-rabbit-escape-really-working-on-android/</loc>
        <lastmod>2014-10-07T20:04:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/17/android-development-saving-state/</loc>
        <lastmod>2014-10-17T07:16:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/10/18/disabling-screensaver-on-lxde/</loc>
        <lastmod>2014-10-18T09:17:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/05/using-hexdump-to-represent-a-binary-file-in-java-source-code/</loc>
        <lastmod>2014-11-05T17:03:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/06/is-it-ok-to-represent-dates-as-unix-time-seconds-since-the-epoch-in-json/</loc>
        <lastmod>2014-11-06T14:00:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/11/12/libreoffice-spell-check-not-working-in-lubuntu/</loc>
        <lastmod>2014-11-12T20:28:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/01/why-i-use-linux/</loc>
        <lastmod>2014-12-01T09:52:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/02/books-that-changed-my-life/</loc>
        <lastmod>2014-12-02T11:56:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/04/encoding-urls-in-java/</loc>
        <lastmod>2014-12-04T13:05:12+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/16/snowflake-christmas-card-in-scratch-on-the-raspberry-pi/</loc>
        <lastmod>2014-12-16T02:27:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2014/12/16/snowflake-christmas-card-web-page-on-the-raspberry-pi/</loc>
        <lastmod>2014-12-16T02:39:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/01/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/01/08/vim-persistent-buffer-list-combined-with-saved-sessions/</loc>
        <lastmod>2015-01-08T11:47:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/01/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/01/13/jax-rs-using-apache-cxf-in-embedded-tomcat-example/</loc>
        <lastmod>2015-01-13T17:24:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/05/programmatic-equivalents-of-web-xml-sections-for-tomcat/</loc>
        <lastmod>2015-02-05T12:48:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/05/snake-in-groovy/</loc>
        <lastmod>2015-02-05T17:51:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/10/rabbit-escape-a-bit-like-lemmings-v0-1-released-for-linux-windows-and-mac/</loc>
        <lastmod>2015-02-10T11:27:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/15/rabbit-escape-v0-1-out-now-for-linux-windows-and-mac/</loc>
        <lastmod>2015-02-15T21:05:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/19/how-to-make-your-own-levels-for-rabbit-escape/</loc>
        <lastmod>2015-02-19T23:42:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/24/what-is-a-good-company/</loc>
        <lastmod>2015-02-24T09:45:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/27/why-rabbit-escape-is-open-source-free-software/</loc>
        <lastmod>2015-02-27T08:00:32+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/02/28/batch-converting-audio-files-to-be-louder-on-linux/</loc>
        <lastmod>2015-02-28T07:14:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/12/snake-in-ruby/</loc>
        <lastmod>2015-03-12T02:09:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/16/encapsulation-as-passing-on-responsibility/</loc>
        <lastmod>2015-03-16T14:17:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/26/fetchmail-complaining-about-godaddy-ssl-certificate/</loc>
        <lastmod>2015-03-26T22:22:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/03/27/snake-in-zx-spectrum-basic/</loc>
        <lastmod>2015-03-27T08:12:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/06/java-game-programming-image-rendering-hints-make-no-difference-to-rendering-time/</loc>
        <lastmod>2015-04-06T22:50:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/20/switching-xfce-to-use-metacity/</loc>
        <lastmod>2015-04-20T16:01:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/04/22/treat-warnings-as-errors-in-a-gnu-makefile/</loc>
        <lastmod>2015-04-22T14:36:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/02/rabbit-escape-0-3-1-now-with-zoom/</loc>
        <lastmod>2015-05-02T07:53:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/04/tweetable-art-code/</loc>
        <lastmod>2015-05-04T10:11:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/12/using-kupfer-on-mate/</loc>
        <lastmod>2015-05-12T13:45:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/05/15/preventing-kupfer-switching-to-existing-windows/</loc>
        <lastmod>2015-05-15T13:06:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/03/snake-in-dart/</loc>
        <lastmod>2015-06-03T22:06:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/05/detecting-whether-an-android-app-is-stopping-or-starting/</loc>
        <lastmod>2015-06-05T01:14:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/05/order-of-android-activity-lifecycle-events/</loc>
        <lastmod>2015-06-05T00:31:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/08/prediction-result-corporate-linux/</loc>
        <lastmod>2015-06-08T19:09:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/10/mocks-are-bad-layers-are-bad/</loc>
        <lastmod>2015-06-10T08:33:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/18/code-for-detecting-when-you-leave-an-android-app/</loc>
        <lastmod>2015-06-18T08:22:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/06/26/movie-podcast-the-good-robot-andys/</loc>
        <lastmod>2015-06-26T15:04:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/07/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/07/03/preventing-audacity-from-crashing-when-using-pulseaudio/</loc>
        <lastmod>2015-07-03T14:44:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/07/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/07/17/docker-fails-to-start-on-ubuntu-15-04/</loc>
        <lastmod>2015-07-17T09:32:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/08/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/08/27/changing-the-docker-daemon-options-in-systemd-on-ubuntu-15-04/</loc>
        <lastmod>2015-08-27T11:48:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/08/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/08/30/rabbit-escape-out-now-on-android/</loc>
        <lastmod>2015-08-30T11:11:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/08/letter-to-my-mp-on-uk-government-assassination-of-british-citizens-in-syria/</loc>
        <lastmod>2015-09-08T07:48:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/09/zx-spectrum-basic-web-server/</loc>
        <lastmod>2015-09-09T10:22:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/10/difficult-merges-in-git-dont-panic/</loc>
        <lastmod>2015-09-10T10:38:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/09/30/assassination-of-individuals-by-the-state/</loc>
        <lastmod>2015-09-30T15:45:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/10/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/10/10/android-using-a-textview-to-show-rich-text-in-an-alertdialog/</loc>
        <lastmod>2015-10-10T03:42:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/10/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/10/16/finding-the-download-count-of-github-releases/</loc>
        <lastmod>2015-10-16T03:32:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/11/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/11/11/avoiding-postfix-error-statusdeferred-unable-to-look-up-host/</loc>
        <lastmod>2015-11-11T12:47:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/11/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/11/25/using-github-and-gitlab/</loc>
        <lastmod>2015-11-25T09:55:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/03/vim-as-editor-for-claws-mail/</loc>
        <lastmod>2015-12-03T09:42:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/07/java-https-to-a-server-with-a-self-signed-certificate/</loc>
        <lastmod>2015-12-07T15:55:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2015/12/14/new-open-source-project-on-work-time-git-history-data/</loc>
        <lastmod>2015-12-14T10:00:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/04/out-of-school-education-settings/</loc>
        <lastmod>2016-01-04T20:59:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/07/snake-in-elm/</loc>
        <lastmod>2016-01-07T08:16:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/16/raspberry-pi-funniest-photo-game/</loc>
        <lastmod>2016-01-16T17:03:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/18/which-raspberry-pi-photo-was-funniest/</loc>
        <lastmod>2016-01-18T05:03:54+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/01/19/whats-new-in-java-8/</loc>
        <lastmod>2016-01-19T08:40:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/02/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/02/08/elm-makes-me-happy/</loc>
        <lastmod>2016-02-08T14:53:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/02/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/02/23/how-to-analyse-a-phd-heap-dump-from-an-ibm-jvm/</loc>
        <lastmod>2016-02-23T10:31:57+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/05/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/05/13/elm-basics-video/</loc>
        <lastmod>2016-05-13T18:58:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/05/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/05/18/basic-concepts-of-christianity-video/</loc>
        <lastmod>2016-05-18T08:35:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/06/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/06/10/snake-in-python-3-qt-5/</loc>
        <lastmod>2016-06-10T02:09:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/06/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/06/16/gracefully-shutting-down-firefox-to-avoid-the-crashsession-dialog/</loc>
        <lastmod>2016-06-16T12:47:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/08/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/08/11/ambiguous-names-in-java-due-to-non-normalised-unicode-but-all-ok-in-python/</loc>
        <lastmod>2016-08-11T08:47:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/08/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/08/26/elm-resizeable-svg-canvas-filling-the-screen/</loc>
        <lastmod>2016-08-26T02:10:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/15/simple-example-of-netty-4-usage/</loc>
        <lastmod>2016-09-15T15:56:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/24/how-to-write-a-programming-language-part-1-the-lexer/</loc>
        <lastmod>2016-09-24T07:39:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/09/30/mousedown-events-delayed-or-sluggish-on-mobile/</loc>
        <lastmod>2016-09-30T20:47:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/09/how-to-write-a-programming-language-part-2-the-parser/</loc>
        <lastmod>2016-10-09T23:47:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/14/basic-haskell-project-setup-unit-tests-code-formatting/</loc>
        <lastmod>2016-10-14T01:56:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/10/16/how-to-write-a-programming-language-part-3-the-evaluator/</loc>
        <lastmod>2016-10-16T23:18:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/11/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/11/01/writing-a-unit-test-in-elm/</loc>
        <lastmod>2016-11-01T22:05:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/12/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2016/12/23/setting-up-a-sane-maven-project/</loc>
        <lastmod>2016-12-23T16:07:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/09/resources-for-year-6-teachers-on-coding-and-programming/</loc>
        <lastmod>2017-01-09T16:23:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/17/automated-ui-tests-on-android/</loc>
        <lastmod>2017-01-17T22:37:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/17/submitting-a-package-to-f-droid/</loc>
        <lastmod>2017-01-17T21:58:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/01/22/raspberry-pi-jam-chaos-car/</loc>
        <lastmod>2017-01-22T13:01:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/02/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/02/09/iterating-over-the-lines-of-a-file-in-java/</loc>
        <lastmod>2017-02-09T13:25:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/03/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/03/07/annual-cost-of-clean-water-for-every-human/</loc>
        <lastmod>2017-03-07T15:53:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/02/a-story-about-magic-and-how-we-treat-each-other/</loc>
        <lastmod>2017-05-02T08:29:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/02/planet-code-updates/</loc>
        <lastmod>2017-05-02T21:12:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/10/make-android-gradle-display-unit-test-failure-messages/</loc>
        <lastmod>2017-05-10T00:30:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/11/c-iterator-example-and-an-iterable-range/</loc>
        <lastmod>2017-05-11T07:15:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/12/c-iterator-wrapperadaptor-example/</loc>
        <lastmod>2017-05-12T07:10:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/17/c-iterator-wrapping-a-stream-not-1-1/</loc>
        <lastmod>2017-05-17T07:25:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/17/how-to-write-a-programming-language-accu-talk/</loc>
        <lastmod>2017-05-17T00:08:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/31/basic-ideas-of-python-3-asyncio-concurrency/</loc>
        <lastmod>2017-05-31T01:46:32+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/05/31/python-3-large-numbers-of-tasks-with-limited-concurrency/</loc>
        <lastmod>2017-05-31T02:09:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/09/python-printing-utc-dates-in-iso8601-format-with-time-zone/</loc>
        <lastmod>2017-06-09T09:06:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/12/making-100-million-requests-with-python-aiohttp/</loc>
        <lastmod>2017-06-12T09:41:51+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/23/git-what-is-git-status-on-steroids/</loc>
        <lastmod>2017-06-23T01:40:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/27/adding-a-concurrency-limit-to-pythons-asyncio-as_completed/</loc>
        <lastmod>2017-06-27T00:16:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/27/running-a-virtualenv-with-a-custom-built-python/</loc>
        <lastmod>2017-06-27T00:31:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/06/29/women-who-code-workshop-on-write-your-own-programming-language/</loc>
        <lastmod>2017-06-29T09:20:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/07/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/07/23/broken-levels-challenge-egham-raspberry-pi-jam-july-2017/</loc>
        <lastmod>2017-07-23T16:42:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/08/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/08/07/adding-a-day-in-python-datetimes-use-timedelta-not-the-datetime-constructor/</loc>
        <lastmod>2017-08-07T08:30:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/12/blog-aggregatorplanet-in-wordpress-using-feedwordpress/</loc>
        <lastmod>2017-09-12T13:55:34+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/14/maven-assembly-plugin-descriptor-for-a-simple-tarball-with-dependencies/</loc>
        <lastmod>2017-09-14T13:06:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/20/html5-css-toolbar-zoomable-workspace-that-is-mobile-friendly-and-adaptive/</loc>
        <lastmod>2017-09-20T23:42:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/09/29/filezilla-with-proxy-not-working-with-strange-characters-in-the-password/</loc>
        <lastmod>2017-09-29T12:35:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/10/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2017/10/10/techknow-day-workshop-on-writing-a-programming-language/</loc>
        <lastmod>2017-10-10T15:38:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/07/recording-gameplay-videos-on-retropie/</loc>
        <lastmod>2018-01-07T18:21:42+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/19/examples-of-pepper3-code/</loc>
        <lastmod>2018-01-19T12:08:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/01/22/questions-and-answers-about-pepper3/</loc>
        <lastmod>2018-01-22T09:58:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/06/deleting-commits-from-the-git-history/</loc>
        <lastmod>2018-02-06T13:30:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/09/ideas-on-how-lexing-will-work-in-pepper3/</loc>
        <lastmod>2018-02-09T13:14:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/02/16/fixing-slack-emojis-in-hexchat/</loc>
        <lastmod>2018-02-16T15:53:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/04/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/04/26/examples-of-sql-join-types-left-join-inner-join-etc/</loc>
        <lastmod>2018-04-26T11:22:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/03/clever-things-people-do-in-groovy-so-you-have-to-know-about-them-video/</loc>
        <lastmod>2018-06-03T16:34:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/08/using-matrix-to-connect-to-slack-from-an-irc-client-on-ubuntu/</loc>
        <lastmod>2018-06-08T16:08:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/06/15/connecting-to-slack-from-an-irc-client-using-slirc/</loc>
        <lastmod>2018-06-15T11:03:54+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/07/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/07/13/allow-drag-to-side-but-not-drag-to-top-in-ubuntu-mate-marco/</loc>
        <lastmod>2018-07-13T11:22:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/13/how-to-write-a-programming-language-articles/</loc>
        <lastmod>2018-08-13T11:10:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/15/migrating-videos-from-youtube-to-peertube-inside-a-docker-container/</loc>
        <lastmod>2018-08-15T09:21:22+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/19/rabbit-escape-0-11-out-now/</loc>
        <lastmod>2018-08-19T16:57:34+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/22/installing-flarum-on-ubuntu-18-04/</loc>
        <lastmod>2018-08-22T19:44:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/08/23/example-of-a-systemd-service-file/</loc>
        <lastmod>2018-08-23T13:21:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/04/redirecting-all-requests-to-https-and-www-using-htaccess-in-apache/</loc>
        <lastmod>2018-09-04T07:23:57+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/05/ubuntu-compose-key-for-easy-unicode-character-input/</loc>
        <lastmod>2018-09-05T12:29:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/06/bulk-adding-items-to-wunderlist-using-wunderline-on-ubuntu-mate/</loc>
        <lastmod>2018-09-06T19:53:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/06/writing-a-new-flarum-extension-on-ubuntu/</loc>
        <lastmod>2018-09-06T07:54:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/12/my-experience-upgrading-to-elm-0-19/</loc>
        <lastmod>2018-09-12T01:45:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/09/24/worksheet-tell-a-story-by-making-animations-with-code/</loc>
        <lastmod>2018-09-24T00:57:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/10/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/10/09/graft-animation-language-on-raspberry-pi/</loc>
        <lastmod>2018-10-09T23:44:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/10/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/10/19/elm-json-decoder-examples/</loc>
        <lastmod>2018-10-19T08:53:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/06/godot-2d-shapes-bouncing-off-each-other-video/</loc>
        <lastmod>2018-11-06T21:26:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/08/godot-dragging-and-dropping-physics-objects-video/</loc>
        <lastmod>2018-11-08T01:37:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/09/you-must-rewind-your-incoming-buffer-when-you-fail-to-encode-a-character-in-a-charsetencoder-or-youll-get-an-illegalargumentexception/</loc>
        <lastmod>2018-11-09T15:56:24+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/10/elm-makes-me-happy-updated-for-elm-0-19-video/</loc>
        <lastmod>2018-11-10T02:45:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/10/godot-make-new-objects-at-runtime-instancing-video/</loc>
        <lastmod>2018-11-10T02:28:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/11/24/interesting-characters-utf-16-utf-8-unicode-encodings-video/</loc>
        <lastmod>2018-11-24T09:00:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/10/poor-performance-in-chrome-especially-on-mobile-caused-by-svg-background-images/</loc>
        <lastmod>2018-12-10T01:08:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/17/code-like-a-girl-t-shirts/</loc>
        <lastmod>2018-12-17T23:15:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2018/12/22/new-home-page-design/</loc>
        <lastmod>2018-12-22T00:04:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/03/windows-missing-from-grub-menu-after-ubuntu-install/</loc>
        <lastmod>2019-01-03T20:47:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/08/run-bash-inside-any-version-of-linux-using-docker/</loc>
        <lastmod>2019-01-08T10:25:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/01/24/london-python-meetup-january-2019-async-python-and-geopandas/</loc>
        <lastmod>2019-01-24T14:14:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/04/performance-of-java-2d-drawing-operations/</loc>
        <lastmod>2019-02-04T03:21:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/08/performance-of-java-2d-drawing-operations-part-2-image-issues/</loc>
        <lastmod>2019-02-08T02:05:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/11/performance-of-java-2d-drawing-operations-part-3-image-opacity/</loc>
        <lastmod>2019-02-11T23:51:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/14/keybase-chat-bot-in-10-lines-of-bash/</loc>
        <lastmod>2019-02-14T09:08:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/26/python-async-basics-video-100-million-http-requests/</loc>
        <lastmod>2019-02-26T21:48:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/02/27/gradle-what-is-a-task-and-how-can-i-make-a-task-depend-on-another-task/</loc>
        <lastmod>2019-02-27T15:59:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/03/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/03/05/convert-a-video-to-a-gif-with-reasonable-colours/</loc>
        <lastmod>2019-03-05T00:17:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/03/05/rabbit-escape-0-12-out-now-with-water/</loc>
        <lastmod>2019-03-05T00:30:08+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/05/scheduling-a-task-in-java-within-a-completablefuture/</loc>
        <lastmod>2019-04-05T15:55:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/13/rabbit-escape-t-shirts/</loc>
        <lastmod>2019-04-13T13:45:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/23/build-with-a-different-java-version-e-g-11-using-docker/</loc>
        <lastmod>2019-04-23T13:59:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/23/examples-of-kotlin-making-your-java-code-better-video/</loc>
        <lastmod>2019-04-23T21:27:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/04/23/what-is-a-monad-video/</loc>
        <lastmod>2019-04-23T21:19:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/01/accu-talk-how-git-really-works/</loc>
        <lastmod>2019-05-01T14:13:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/01/accu-talk-how-kotlin-makes-your-java-code-better/</loc>
        <lastmod>2019-05-01T14:15:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/05/02/creating-a-self-signed-certificate-for-apache-and-connecting-to-it-from-java/</loc>
        <lastmod>2019-05-02T14:10:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/07/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/07/12/building-an-all-in-one-jar-in-gradle-with-the-kotlin-dsl/</loc>
        <lastmod>2019-07-12T14:55:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/09/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/09/19/coding-workshop-example-worksheets/</loc>
        <lastmod>2019-09-19T10:53:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/10/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/10/11/dependency-injection-frameworks-reasons-to-avoid-them-video/</loc>
        <lastmod>2019-10-11T19:51:47+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/11/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2019/11/30/kotlinjs-first-impressions-formed-by-writing-snake-video/</loc>
        <lastmod>2019-11-30T05:28:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/01/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/01/24/converting-html-slides-to-a-pdf-with-firefox/</loc>
        <lastmod>2020-01-24T16:46:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/01/24/support-the-software-freedom-conservancy/</loc>
        <lastmod>2020-01-24T13:09:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/02/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/02/13/react-concepts-video/</loc>
        <lastmod>2020-02-13T22:19:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/03/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/03/04/struggling-with-rust-to-figure-out-the-right-types-for-a-function-signature/</loc>
        <lastmod>2020-03-04T12:08:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/03/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/03/11/custom-bash-tab-completion-for-my-program/</loc>
        <lastmod>2020-03-11T17:35:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/04/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/04/04/keeping-track-of-podcast-times-with-a-simple-bash-script-on-linux/</loc>
        <lastmod>2020-04-04T02:29:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/04/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/04/22/creating-a-tiny-docker-image-of-a-rust-project/</loc>
        <lastmod>2020-04-22T11:40:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/05/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/05/06/example-android-project-with-repeatable-tests-running-inside-an-emulator/</loc>
        <lastmod>2020-05-06T11:33:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/06/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/06/05/letter-to-my-mp-on-racism-in-the-us-and-uk/</loc>
        <lastmod>2020-06-05T12:26:35+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/08/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/08/10/how-to-send-an-sms-using-netcat-via-smpp/</loc>
        <lastmod>2020-08-10T15:50:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/08/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/08/13/set-the-date-exif-of-a-photo-on-linux/</loc>
        <lastmod>2020-08-13T13:31:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/10/short-command-line-tool-to-truncate-lines-to-fit-in-the-terminal/</loc>
        <lastmod>2020-09-10T15:18:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/18/coding-a-tiny-game-in-javascript-video/</loc>
        <lastmod>2020-09-18T00:25:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/24/shareon-js-org-now-has-a-share-to-mastodon-button/</loc>
        <lastmod>2020-09-24T23:32:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/09/25/play-and-create-little-retro-games-at-smolpxl/</loc>
        <lastmod>2020-09-25T02:12:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/10/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/10/11/code-your-first-game-snake-in-javascript-on-raspberry-pi/</loc>
        <lastmod>2020-10-11T07:35:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/03/why-a-free-software-web-games-site/</loc>
        <lastmod>2020-11-03T09:06:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/23/profile-a-java-unit-test-very-quickly-with-no-external-tools/</loc>
        <lastmod>2020-11-23T11:03:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/25/dovecot-not-working-after-upgrade-to-ubuntu-20-04-1-dh-key-too-small/</loc>
        <lastmod>2020-11-25T09:15:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/11/25/letter-to-my-mp-on-the-overseas-aid-budget/</loc>
        <lastmod>2020-11-25T08:51:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/03/announcing-smolpxl-scores-a-high-score-table-for-your-game/</loc>
        <lastmod>2020-12-03T10:58:34+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/10/make-levels-for-rabbit-escape-using-the-level-editor/</loc>
        <lastmod>2020-12-10T16:15:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/17/edge-computing-providers/</loc>
        <lastmod>2020-12-17T17:24:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/17/schema-upgrades-should-be-reversible-also-other-transformations-actually/</loc>
        <lastmod>2020-12-17T15:54:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2020/12/22/shutdown-order-consistency-how-rust-helps/</loc>
        <lastmod>2020-12-22T16:25:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/04/is-your-program-a-function-or-a-service/</loc>
        <lastmod>2021-01-04T12:29:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/04/pinephone-update/</loc>
        <lastmod>2021-01-04T16:29:26+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/05/streaming-video-with-owncast-on-a-free-oracle-cloud-computer/</loc>
        <lastmod>2021-01-05T03:15:12+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/08/limiting-the-number-of-open-sockets-in-a-tokio-based-tcp-listener/</loc>
        <lastmod>2021-01-08T16:03:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/01/08/recommendation-against-the-use-of-whatsapp-in-your-company/</loc>
        <lastmod>2021-01-08T13:41:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/02/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/02/07/making-smolpxl-work-on-phones-and-tablets/</loc>
        <lastmod>2021-02-07T03:49:40+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/01/letter-to-my-mp-on-yemen/</loc>
        <lastmod>2021-03-01T09:16:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/17/announcing-rust-i-dunno/</loc>
        <lastmod>2021-03-17T08:52:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/17/questions-about-rfc-8771/</loc>
        <lastmod>2021-03-17T09:30:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/23/toggle-window-decorations-on-linux-gtk3-with-python3/</loc>
        <lastmod>2021-03-23T13:47:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/03/31/automatically-filling-in-the-uk-covid-test-results-page-with-selenium-ide/</loc>
        <lastmod>2021-03-31T20:59:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/01/announcing-i-dunno-1-0-and-web-i-dunno/</loc>
        <lastmod>2021-04-01T02:00:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/21/republishing-bartosz-milewskis-category-theory-lectures/</loc>
        <lastmod>2021-04-21T07:51:17+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/04/30/uploading-to-peertube-from-the-command-line/</loc>
        <lastmod>2021-04-30T09:04:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/05/suspending-the-computer-using-kupfer/</loc>
        <lastmod>2021-05-05T13:53:51+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/24/writing-snake-in-terraform-video/</loc>
        <lastmod>2021-05-24T12:54:36+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/05/27/matrix-is-the-only-chat-game-in-town/</loc>
        <lastmod>2021-05-27T14:02:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/07/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/07/01/why-write-an-entire-game-including-graphics-in-a-single-hand-coded-javascript-file/</loc>
        <lastmod>2021-07-01T07:36:59+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/08/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/08/06/importing-migrating-from-one-peertube-server-to-another/</loc>
        <lastmod>2021-08-06T16:04:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/08/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/08/18/minimal-example-of-a-maven-pom-for-a-mixed-kotlin-and-java-project/</loc>
        <lastmod>2021-08-18T10:45:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/15/printing-the-version-of-a-maven-project/</loc>
        <lastmod>2021-09-15T10:03:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/16/what-to-cache-when-building-rust-using-gitlab-ci-or-similar/</loc>
        <lastmod>2021-09-16T01:00:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/09/27/new-job-at-element-matrix/</loc>
        <lastmod>2021-09-27T15:27:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/10/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/10/15/letter-to-my-mp-about-climate-emergency/</loc>
        <lastmod>2021-10-15T10:16:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/17/preventing-virgin-media-hijacking-my-dns/</loc>
        <lastmod>2021-11-17T09:33:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/19/new-game-tron-frantic-multiplayer-retro-action/</loc>
        <lastmod>2021-11-19T02:46:31+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/11/22/streaming-to-twitch-and-peertube-simultaneously-using-nginx-on-oracle-cloud/</loc>
        <lastmod>2021-11-22T12:33:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/12/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/12/14/providing-maplibre-compatible-style-json-from-openstreetmap-tile-server/</loc>
        <lastmod>2021-12-14T16:33:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2021/12/14/self-hosting-maps-on-my-laptop/</loc>
        <lastmod>2021-12-14T13:44:57+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/01/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/01/09/air-source-heat-pump-our-experience-so-far-2-months-in/</loc>
        <lastmod>2022-01-09T01:35:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/03/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/03/08/comparison-of-matrix-events-before-and-after-extensible-events/</loc>
        <lastmod>2022-03-08T11:34:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/04/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/04/28/improving-my-vimrc-live-on-stream/</loc>
        <lastmod>2022-04-28T07:22:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/06/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/06/06/deporting-desperate-people-from-the-uk/</loc>
        <lastmod>2022-06-06T12:04:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/07/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/07/06/building-cross-platform-rust-for-web-android-and-ios-a-minimal-example/</loc>
        <lastmod>2022-07-06T15:11:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/07/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/07/21/matrix-is-a-distributed-real-time-database-video/</loc>
        <lastmod>2022-07-21T18:23:46+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/08/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/08/06/transcoding-video-files-for-playback-in-a-browser/</loc>
        <lastmod>2022-08-06T23:21:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/08/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/08/26/outreachy-august-2022-update/</loc>
        <lastmod>2022-08-26T08:29:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/09/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/09/13/tips-for-contenteditables/</loc>
        <lastmod>2022-09-13T12:58:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/09/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/09/29/setting-the-text-selection-in-a-browser-just-use-setbaseandextent/</loc>
        <lastmod>2022-09-29T13:53:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/09/ietf115-trip-report-can-matrix-help-messaging-standardisation-through-mimi/</loc>
        <lastmod>2022-11-09T16:06:30+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/20/deleted-my-twitter-account/</loc>
        <lastmod>2022-11-20T20:06:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2022/11/24/air-source-heat-pump-1-year-later/</loc>
        <lastmod>2022-11-24T09:37:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/03/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/03/24/live-code-reviews-make-life-better/</loc>
        <lastmod>2023-03-24T12:54:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/05/github-api-graphql-snippets/</loc>
        <lastmod>2023-05-05T09:29:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/11/maths-the-fun-parts-sets-video/</loc>
        <lastmod>2023-05-11T08:03:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/18/maths-the-fun-parts-groups-video/</loc>
        <lastmod>2023-05-18T08:09:04+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/05/25/maths-the-fun-parts-graphs-video/</loc>
        <lastmod>2023-05-25T08:26:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/06/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/06/07/estimating-software-tasks-and-stories-avoid-time-based-estimates/</loc>
        <lastmod>2023-06-07T08:54:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/06/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/06/27/rust-wasm-hello-world-no-need-for-webpack/</loc>
        <lastmod>2023-06-27T20:15:48+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/07/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/07/06/why-im-voting-tactically-against-you-letter-to-my-conservative-mp/</loc>
        <lastmod>2023-07-06T07:38:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/08/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/08/18/accessing-services-on-the-host-from-a-docker-container-or-a-podman-one/</loc>
        <lastmod>2023-08-18T11:39:02+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/08/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/08/25/combining-two-function-types-with-ampersand-in-typescript-intersection/</loc>
        <lastmod>2023-08-25T08:17:51+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/11/rust-101-1-course-intro/</loc>
        <lastmod>2023-09-11T07:30:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/11/rust-101-2-language-basics/</loc>
        <lastmod>2023-09-11T07:33:14+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/11/rust-101-3-memory-and-ownership/</loc>
        <lastmod>2023-09-11T17:16:01+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/30/rust-101-4-exercises-for-module-ai/</loc>
        <lastmod>2023-09-30T07:28:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/09/30/rust-101-5-references/</loc>
        <lastmod>2023-09-30T08:38:28+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/10/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/10/05/rust-101-6-structs-and-enums/</loc>
        <lastmod>2023-10-05T16:53:32+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/10/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/10/12/follow-this-blog-on-the-fediverse/</loc>
        <lastmod>2023-10-12T08:16:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/11/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/11/07/santa-circles-0-3-is-out/</loc>
        <lastmod>2023-11-07T09:31:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/12/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2023/12/18/letter-to-my-mp-using-starvation-as-a-weapon/</loc>
        <lastmod>2023-12-18T15:15:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/11/rust-101-7-error-handling-with-panic-and-result/</loc>
        <lastmod>2024-01-11T08:58:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/18/rust-101-8-writing-methods-using-impl-blocks/</loc>
        <lastmod>2024-01-18T09:18:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/18/rust-101-9-vecs-boxes-and-slices/</loc>
        <lastmod>2024-01-18T09:27:33+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/24/keep-your-indexed-db-keys-and-values-small-if-you-want-good-performance/</loc>
        <lastmod>2024-01-24T14:50:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/25/dont-store-arrays-of-numbers-in-indexed-db-use-base64-instead/</loc>
        <lastmod>2024-01-25T13:52:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/01/25/rust-101-10-strings/</loc>
        <lastmod>2024-01-25T09:26:44+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/02/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/02/deleting-an-indexed-db-store-can-be-incredibly-slow-on-firefox/</loc>
        <lastmod>2024-02-02T10:17:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/07/rust-101-11-exercises-for-module-a2/</loc>
        <lastmod>2024-02-07T08:51:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/19/rust-101-12-traits/</loc>
        <lastmod>2024-02-19T08:57:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/02/22/rust-101-13-type-parameters-and-associated-types/</loc>
        <lastmod>2024-02-22T09:43:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/07/rust-101-14-some-standard-library-traits/</loc>
        <lastmod>2024-03-07T09:47:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/14/rust-101-15-lifetime-bounds/</loc>
        <lastmod>2024-03-14T09:27:06+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/22/one-import-per-line/</loc>
        <lastmod>2024-03-22T14:34:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/23/rust-101-16-exercises-for-module-a3-part-1/</loc>
        <lastmod>2024-03-23T16:34:19+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/03/29/automated-backups-from-signal-to-nextcloud/</loc>
        <lastmod>2024-03-29T10:17:23+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/08/rust-101-17-exercises-for-module-a3-part-2/</loc>
        <lastmod>2024-04-08T08:26:11+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/11/rust-101-18-dependencies-and-cargo-toml/</loc>
        <lastmod>2024-04-11T08:27:39+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/18/rust-101-19-creating-a-nice-api/</loc>
        <lastmod>2024-04-18T18:15:16+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/20/standing-for-the-matrix-governing-board/</loc>
        <lastmod>2024-04-20T08:42:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/04/22/rust-101-20-unit-integration-and-benchmark-tests/</loc>
        <lastmod>2024-04-22T07:50:58+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/04/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/04/rust-101-21-exercises-for-module-b-q1/</loc>
        <lastmod>2024-05-04T07:41:29+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/04/rust-101-22-exercises-for-module-b-q2/</loc>
        <lastmod>2024-05-04T07:42:20+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/04/rust-101-23-exercises-for-module-b-q3/</loc>
        <lastmod>2024-05-04T07:42:49+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/13/rust-101-24-parallelism-and-rayon/</loc>
        <lastmod>2024-05-13T08:50:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/16/rust-101-25-threads-mutexes-channels-send-and-sync/</loc>
        <lastmod>2024-05-16T19:20:59+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/22/choosing-who-to-vote-for-in-the-2024-uk-general-election/</loc>
        <lastmod>2024-05-22T19:18:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/22/rust-101-26-exercises-for-module-c-q1/</loc>
        <lastmod>2024-05-22T19:22:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/23/rust-101-27-exercises-for-module-c-q2/</loc>
        <lastmod>2024-05-23T08:05:43+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/05/24/why-i-wont-link-to-ai-resources/</loc>
        <lastmod>2024-05-24T08:58:56+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/09/new-home-for-my-videos-video-infosec-exchange/</loc>
        <lastmod>2024-06-09T12:39:07+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/10/rust-101-28-dynamic-dispatch/</loc>
        <lastmod>2024-06-10T18:36:25+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/17/rust-101-29-trait-objects-and-object-safety/</loc>
        <lastmod>2024-06-17T07:45:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/17/rust-101-30-good-patterns-and-not-so-good/</loc>
        <lastmod>2024-06-17T07:47:09+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/22/rust-101-31-exercises-for-module-d-q1/</loc>
        <lastmod>2024-06-22T13:08:05+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/23/elected-to-the-matrix-foundation-governing-board/</loc>
        <lastmod>2024-06-23T15:12:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/23/rust-101-32-exercises-for-module-d-q2/</loc>
        <lastmod>2024-06-23T14:20:27+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/06/24/rust-101-33-exercises-for-module-d-q3/</loc>
        <lastmod>2024-06-24T07:14:18+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/18/rust-101-34-what-is-async/</loc>
        <lastmod>2024-07-18T07:42:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/18/rust-101-35-futures/</loc>
        <lastmod>2024-07-18T07:47:55+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/25/rust-101-36-what-async-and-await-really-do/</loc>
        <lastmod>2024-07-25T07:14:21+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/07/29/rust-101-37-async-runtimes/</loc>
        <lastmod>2024-07-29T07:43:52+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/06/rust-101-38-exercises-for-module-e-q1a/</loc>
        <lastmod>2024-08-06T07:51:13+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/20/rust-101-39-exercises-for-module-e-q1b/</loc>
        <lastmod>2024-08-20T17:59:15+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/22/rust-101-40-exercises-for-module-e-q2a/</loc>
        <lastmod>2024-08-22T07:38:41+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/08/22/rust-101-41-exercises-for-module-e-q2b/</loc>
        <lastmod>2024-08-22T07:52:12+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/06/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/06/rust-101-42-why-do-we-need-unsafe/</loc>
        <lastmod>2024-09-06T07:55:42+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/07/rust-101-43-the-two-meanings-of-unsafe-in-rust/</loc>
        <lastmod>2024-09-07T11:41:37+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/16/rust-101-44-undefined-behaviour/</loc>
        <lastmod>2024-09-16T07:19:45+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/09/27/rust-101-45-unsafe-types-and-examples/</loc>
        <lastmod>2024-09-27T19:07:53+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/07/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/07/rust-101-46-exercises-for-module-f-q1/</loc>
        <lastmod>2024-10-07T18:58:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/16/heads-up-moving-away-from-wordpress/</loc>
        <lastmod>2024-10-16T22:51:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/21/2024-10-21-deployment-is-important/</loc>
        <lastmod>2024-10-21T02:23:50+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/21/rust-101-47-exercises-for-module-f-q2/</loc>
        <lastmod>2024-10-21T00:23:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/21/rust-101-48-exercises-for-module-f-q3/</loc>
        <lastmod>2024-10-21T01:22:38+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/22/19-years-of-blogging/</loc>
        <lastmod>2024-10-22T08:33:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/23/rust-101-49-foreign-function-interfaces/</loc>
        <lastmod>2024-10-23T19:34:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/23/rust-101-50-exercises-for-module-g-q1/</loc>
        <lastmod>2024-10-23T19:44:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/23/rust-101-51-exercises-for-module-g-q2/</loc>
        <lastmod>2024-10-23T19:52:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/23/rust-101-52-exercises-for-module-g-q3/</loc>
        <lastmod>2024-10-23T19:56:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/23/rust-101-53-exercises-for-module-g-q4/</loc>
        <lastmod>2024-10-23T20:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/10/31/mini-rust-in-rust-001-lexing-an-int/</loc>
        <lastmod>2024-10-31T10:05:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/11/08/mini-rust-in-rust-002-errors-while-lexing/</loc>
        <lastmod>2024-11-08T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/11/15/mini-rust-in-rust-003-much-prettier-errors/</loc>
        <lastmod>2024-11-15T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/11/22/mini-rust-in-rust-004-refactoring-our-lexer/</loc>
        <lastmod>2024-11-22T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/11/29/mini-rust-in-rust-005-making-our-lexer-an-iterator/</loc>
        <lastmod>2024-11-29T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/12/04/message-order-in-matrix/</loc>
        <lastmod>2024-12-04T14:25:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/12/06/mini-rust-in-rust-006-parsing-an-operation/</loc>
        <lastmod>2024-12-06T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/12/13/mini-rust-in-rust-007-evaluating-an-operation/</loc>
        <lastmod>2024-12-13T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/12/20/mini-rust-in-rust-008-refactoring-our-parser/</loc>
        <lastmod>2024-12-20T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2024/12/27/mini-rust-in-rust-009-handling-parsing-errors/</loc>
        <lastmod>2024-12-27T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/01/03/mini-rust-in-rust-010-lexing-an-assignment/</loc>
        <lastmod>2025-01-03T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/01/10/mini-rust-in-rust-011-parsing-an-assignment-plus-expression/</loc>
        <lastmod>2025-01-10T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/01/17/mini-rust-in-rust-012-parsing-with-backtracking/</loc>
        <lastmod>2025-01-17T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/01/24/mini-rust-in-rust-013-fixing-a-bug-in-our-lexer/</loc>
        <lastmod>2025-01-24T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/01/31/mini-rust-in-rust-014-evaluating-an-assignment/</loc>
        <lastmod>2025-01-31T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/02/07/mini-rust-in-rust-015-parse-typed-assignment/</loc>
        <lastmod>2025-02-07T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/02/14/mini-rust-in-rust-016-tidy-assignment-parsing/</loc>
        <lastmod>2025-02-14T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/02/21/mini-rust-in-rust-017-lex-parse-eval-floats/</loc>
        <lastmod>2025-02-21T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/02/28/mini-rust-in-rust-018-type-check-assignment-happy/</loc>
        <lastmod>2025-02-28T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/03/07/mini-rust-in-rust-019-type-check-assignment-sad/</loc>
        <lastmod>2025-03-07T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/03/14/mini-rust-in-rust-020-gaps-in-type-check/</loc>
        <lastmod>2025-03-14T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/03/21/mini-rust-in-rust-021-typed-syntax-tree/</loc>
        <lastmod>2025-03-21T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/03/28/mini-rust-in-rust-022-types-in-errors/</loc>
        <lastmod>2025-03-28T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/03/29/rust-tracing-basic-setup/</loc>
        <lastmod>2025-03-29T11:15:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/04/04/mini-rust-in-rust-023-share-syntax-tree-structure/</loc>
        <lastmod>2025-04-04T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/04/11/mini-rust-in-rust-024-lexing-lte/</loc>
        <lastmod>2025-04-11T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/04/18/mini-rust-in-rust-025-parsing-mut/</loc>
        <lastmod>2025-04-18T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/04/25/mini-rust-in-rust-026-parsing-empty-while/</loc>
        <lastmod>2025-04-25T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/02/mini-rust-in-rust-027-parsing-blocks/</loc>
        <lastmod>2025-05-02T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/06/testing-nonexistence/</loc>
        <lastmod>2025-05-06T13:08:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/07/standing-again-for-matrix-governing-board/</loc>
        <lastmod>2025-05-07T10:30:10+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/09/mini-rust-in-rust-028-lexing-plusequals/</loc>
        <lastmod>2025-05-09T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/16/mini-rust-in-rust-029-parsing-plusequals/</loc>
        <lastmod>2025-05-16T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/23/mini-rust-in-rust-030-expression-after-while/</loc>
        <lastmod>2025-05-23T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/05/30/mini-rust-in-rust-031-type-checking-while/</loc>
        <lastmod>2025-05-30T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/06/06/mini-rust-in-rust-032-type-checking-mutation-and-unit/</loc>
        <lastmod>2025-06-06T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/06/13/mini-rust-in-rust-033-evaluating-plusequals/</loc>
        <lastmod>2025-06-13T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/06/20/mini-rust-in-rust-034-evaluating-while/</loc>
        <lastmod>2025-06-20T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/06/27/mini-rust-in-rust-035-tidying-evaluator/</loc>
        <lastmod>2025-06-27T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/07/04/mini-rust-in-rust-036-eval-block/</loc>
        <lastmod>2025-07-04T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/07/11/mini-rust-in-rust-037-mutation-expressions/</loc>
        <lastmod>2025-07-11T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/07/18/mini-rust-in-rust-038-no-strings-in-tokens/</loc>
        <lastmod>2025-07-18T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/07/25/mini-rust-in-rust-039-span-as-range/</loc>
        <lastmod>2025-07-25T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/08/01/mini-rust-in-rust-040-while-condition-should-be-bool/</loc>
        <lastmod>2025-08-01T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/08/08/mini-rust-in-rust-041-while-cond-not-operation/</loc>
        <lastmod>2025-08-08T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/08/15/mini-rust-in-rust-042-unexpected-token-means-stop-expression/</loc>
        <lastmod>2025-08-15T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/08/22/mini-rust-in-rust-043-expression-on-left-of-operation/</loc>
        <lastmod>2025-08-22T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/08/29/mini-rust-in-rust-044-types-of-symbols/</loc>
        <lastmod>2025-08-29T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/09/03/why-i-dont-use-ai/</loc>
        <lastmod>2025-09-03T10:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/09/05/mini-rust-in-rust-045-combine-types-in-operation/</loc>
        <lastmod>2025-09-05T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/09/12/mini-rust-in-rust-046-type-check-mutations/</loc>
        <lastmod>2025-09-12T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/09/19/jez-learns-rust/</loc>
        <lastmod>2025-09-19T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/09/26/jez-and-andy-write-a-parser/</loc>
        <lastmod>2025-09-26T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/03/mini-rust-in-rust-047-update-types-later/</loc>
        <lastmod>2025-10-03T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/10/mini-rust-in-rust-048-scopes/</loc>
        <lastmod>2025-10-10T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/17/mini-rust-in-rust-049-lexing-functions/</loc>
        <lastmod>2025-10-17T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/20/invisible-crypto-video/</loc>
        <lastmod>2025-10-20T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/20/why-do-i-have-two-passwords-video/</loc>
        <lastmod>2025-10-20T13:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/10/24/mini-rust-in-rust-050-parsing-function-def/</loc>
        <lastmod>2025-10-24T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/11/13/reversing-a-string-in-rust/</loc>
        <lastmod>2025-11-13T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/11/29/fizzbuzz-in-rust/</loc>
        <lastmod>2025-11-29T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/12/09/resizing-encrypted-lvm/</loc>
        <lastmod>2025-12-09T10:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/12/10/why-i-dont-use-ai-expanded/</loc>
        <lastmod>2025-12-10T10:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/12/12/fizzbuzz-in-rust/</loc>
        <lastmod>2025-12-12T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2025/12/16/why-i-dont-use-ai/</loc>
        <lastmod>2025-12-16T10:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/01/23/fizzbuzz2/</loc>
        <lastmod>2026-01-23T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/01/30/returning-closures/</loc>
        <lastmod>2026-01-30T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/02/06/arbitrary-precision-integers/</loc>
        <lastmod>2026-02-06T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/02/20/billion-parse-temp/</loc>
        <lastmod>2026-02-20T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/02/27/wasm-game/</loc>
        <lastmod>2026-02-27T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/2026/03/03/android-emulator-talking-to-localhost/</loc>
        <lastmod>2026-03-03T12:00:00+00:00</lastmod>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/about-andy-balaam/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/archive/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/accu/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/ai/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/android/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/ant/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/async-programming/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/bash/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/boost/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/c/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/cloud/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/diffident/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/docker/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/dojo/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/elm/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/freeguide/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/games/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/git/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/gnome/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/godot/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/gradle/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/graft/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/groovy/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/gssmp/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/haskell/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/igcc/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/j2ee/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/java/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/javascript/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/json/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/keybase/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/kotlin/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/lean-and-agile/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/linux/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/lisp/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/llms/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/loki/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/lubuntu/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/mate/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/matrix/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/maven/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/meta/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/metaprogramming/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/minecraft/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/misc/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/my-first-raspberry-pi-game/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/nndb/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/peertube/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/pepper/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/performance/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/php/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/pinephone/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/podman/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/programming-languages/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/programming/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/python/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/rabbit-escape/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/raspberry-pi/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/react/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/record-tv/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/regular-expressions/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/rest/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/ruby/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/rust/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/scheme/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/scratch/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/scrum/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/smolpxl/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/sql/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/stl/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/systemd/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/tech/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/template-metaprogramming/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/test-driven/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/typescript/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/ubuntu/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/uncategorized/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/videos/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/vim/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/writing/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/categories/xfce/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/1/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/10/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/100/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/101/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/102/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/103/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/104/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/105/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/106/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/107/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/108/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/109/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/11/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/110/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/111/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/112/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/113/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/114/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/115/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/116/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/117/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/118/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/119/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/12/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/120/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/13/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/14/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/15/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/16/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/17/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/18/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/19/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/2/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/20/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/21/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/22/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/23/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/24/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/25/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/26/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/27/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/28/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/29/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/3/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/30/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/31/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/32/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/33/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/34/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/35/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/36/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/37/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/38/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/39/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/4/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/40/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/41/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/42/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/43/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/44/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/45/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/46/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/47/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/48/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/49/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/5/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/50/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/51/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/52/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/53/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/54/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/55/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/56/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/57/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/58/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/59/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/6/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/60/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/61/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/62/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/63/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/64/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/65/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/66/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/67/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/68/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/69/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/7/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/70/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/71/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/72/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/73/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/74/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/75/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/76/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/77/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/78/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/79/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/8/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/80/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/81/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/82/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/83/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/84/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/85/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/86/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/87/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/88/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/89/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/9/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/90/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/91/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/92/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/93/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/94/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/95/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/96/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/97/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/98/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/page/99/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/tags/</loc>
    </url>
    <url>
        <loc>https://artificialworlds.net/blog/tags/mini-rust/</loc>
    </url>
</urlset>
