<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://joshlehman.ca</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/about</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/blog</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/contact</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/guestbook</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/outdoorsy/</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/outdoorsy/campgrounds</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/pomodor</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/pomodor/help</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/pomodor/settings</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/pomodor/charts</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/pomodor/login</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/lucha-tacos</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/resume-wrangler</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/beanbag-coffee-co</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/blackrock-engineering</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/cleaner-by-design</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/el-in</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/lucha-tacos</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/outdoorsy</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/pomodor</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/portfolio/resume-wrangler</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/privacy</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/terms-of-service</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://joshlehman.ca/blog/parameter-properties-shorthand/</loc>
<lastmod>2026-03-29T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/implementing-interfaces-classes/</loc>
<lastmod>2026-03-22T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/class-inheritance-super-keyword/</loc>
<lastmod>2026-03-15T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/abstract-classes-methods/</loc>
<lastmod>2026-03-08T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/static-members-utility-classes/</loc>
<lastmod>2026-03-01T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/getters-setters-computed-properties/</loc>
<lastmod>2026-02-22T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/access-modifiers-public-private-protected/</loc>
<lastmod>2026-02-15T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/classes-in-typescript-the-basics/</loc>
<lastmod>2026-02-08T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-utility-types/</loc>
<lastmod>2026-02-01T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-working-with-index-signatures/</loc>
<lastmod>2026-01-27T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-object-property-modifiers/</loc>
<lastmod>2026-01-22T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-type-aliases-vs-interfaces/</loc>
<lastmod>2026-01-17T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-introduction-to-interfaces/</loc>
<lastmod>2026-01-12T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-object-types-and-type-annotations/</loc>
<lastmod>2026-01-07T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-arrow-functions-this-context/</loc>
<lastmod>2026-01-02T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-function-overloading/</loc>
<lastmod>2025-12-28T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-optional-default-rest-parameters/</loc>
<lastmod>2025-12-23T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-typing-functions-parameters-returns/</loc>
<lastmod>2025-12-18T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-type-assertions-and-casting/</loc>
<lastmod>2025-12-13T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-any-unknown-never-types/</loc>
<lastmod>2025-12-08T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/typescript-enums-when-and-how-to-use-them/</loc>
<lastmod>2025-12-03T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/working-with-arrays-and-tuples/</loc>
<lastmod>2025-11-28T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/basic-types-in-typescript/</loc>
<lastmod>2025-11-23T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/understanding-typescript-compiler/</loc>
<lastmod>2025-11-18T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/setting-up-typescript-development-environment/</loc>
<lastmod>2025-11-13T14:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/introduction-to-typescript-why-static-typing-matters/</loc>
<lastmod>2025-11-06T14:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/use-of-hexadecimal-numbers-in-computer-science/</loc>
<lastmod>2024-06-28T14:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://joshlehman.ca/blog/top-five-web-dev-technologies/</loc>
<lastmod>2024-06-28T14:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
</urlset>
