<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://firas.flamouchi.com/home</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/home" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/home" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/experience</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/experience" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/experience" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/stack</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/stack" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/stack" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/infrastructure</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/infrastructure" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/infrastructure" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/log</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/log" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/log" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/about</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/about" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/about" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/decisions</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/decisions" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/decisions" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/contact</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/contact" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/contact" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/cv</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/cv" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/cv" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/project-x</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/project-x" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/project-x" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/ferry</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/ferry" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/ferry" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/openderja-tn</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/openderja-tn" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/openderja-tn" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/fira-sys</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/fira-sys" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/fira-sys" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/job-scraper-02</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/job-scraper-02" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/job-scraper-02" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/projects/whatsapp-automation-tool</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/projects/whatsapp-automation-tool" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/projects/whatsapp-automation-tool" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/device-activation-and-pairing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/device-activation-and-pairing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/device-activation-and-pairing" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/idempotent-boot-recovery</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/idempotent-boot-recovery" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/idempotent-boot-recovery" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/docker-growing-to-9-dockerfiles-consolidating-to-2</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/docker-growing-to-9-dockerfiles-consolidating-to-2" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/docker-growing-to-9-dockerfiles-consolidating-to-2" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/offline-first-sync-with-idempotency</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/offline-first-sync-with-idempotency" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/offline-first-sync-with-idempotency" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/pg-bouncer</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/pg-bouncer" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/pg-bouncer" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/session-invalidation-for-stateless-jwts</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/session-invalidation-for-stateless-jwts" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/session-invalidation-for-stateless-jwts" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/multi-tenant-data-isolation-row-level-single-schema</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/multi-tenant-data-isolation-row-level-single-schema" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/multi-tenant-data-isolation-row-level-single-schema" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/transactional-outbox-pattern</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/transactional-outbox-pattern" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/transactional-outbox-pattern" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/web-socket-event-replay-and-reconnection-hardening</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/web-socket-event-replay-and-reconnection-hardening" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/web-socket-event-replay-and-reconnection-hardening" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/k6-load-testing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/k6-load-testing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/k6-load-testing" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/backups-you-have-actually-restored</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/backups-you-have-actually-restored" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/backups-you-have-actually-restored" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/production-deploy-with-automatic-rollback</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/production-deploy-with-automatic-rollback" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/production-deploy-with-automatic-rollback" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/interactive-maps-leaflet-web-and-react-native-maps-native</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/interactive-maps-leaflet-web-and-react-native-maps-native" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/interactive-maps-leaflet-web-and-react-native-maps-native" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/cross-platform-motion-design-systems</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/cross-platform-motion-design-systems" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/cross-platform-motion-design-systems" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/regional-payment-gateways-and-the-cost-of-an-enum</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/regional-payment-gateways-and-the-cost-of-an-enum" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/regional-payment-gateways-and-the-cost-of-an-enum" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/rust-thumbnailer-dedicated-microservice</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/rust-thumbnailer-dedicated-microservice" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/rust-thumbnailer-dedicated-microservice" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/a-testing-kit-that-isnt-tied-to-a-stack</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/a-testing-kit-that-isnt-tied-to-a-stack" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/a-testing-kit-that-isnt-tied-to-a-stack" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/cloudflare-tunnel-outbound-only</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/cloudflare-tunnel-outbound-only" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/cloudflare-tunnel-outbound-only" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/bcrypt</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/bcrypt" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/bcrypt" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/pdppl-privacy-built-in</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/pdppl-privacy-built-in" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/pdppl-privacy-built-in" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/caddy-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/caddy-reverse-proxy" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/caddy-reverse-proxy" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/click-house-dictionaries-and-async-mutations</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/click-house-dictionaries-and-async-mutations" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/click-house-dictionaries-and-async-mutations" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/cloudflare-dns-cdn-ddo-s-protection</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/cloudflare-dns-cdn-ddo-s-protection" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/cloudflare-dns-cdn-ddo-s-protection" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/csrf-protection</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/csrf-protection" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/csrf-protection" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/class-validator-class-transformer</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/class-validator-class-transformer" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/class-validator-class-transformer" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/playwright-e2e-testing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/playwright-e2e-testing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/playwright-e2e-testing" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/sentry-error-monitoring</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/sentry-error-monitoring" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/sentry-error-monitoring" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/react-native-expo</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/react-native-expo" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/react-native-expo" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/multiple-vite-configs-for-device-specific-builds</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/multiple-vite-configs-for-device-specific-builds" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/multiple-vite-configs-for-device-specific-builds" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/helmet</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/helmet" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/helmet" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/jwt-with-jose</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/jwt-with-jose" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/jwt-with-jose" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/multer-file-uploads</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/multer-file-uploads" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/multer-file-uploads" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/multi-channel-notifications-in-app-web-push-mobile-push</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/multi-channel-notifications-in-app-web-push-mobile-push" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/multi-channel-notifications-in-app-web-push-mobile-push" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/pm2-cluster-mode</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/pm2-cluster-mode" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/pm2-cluster-mode" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/pnpm-workspaces</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/pnpm-workspaces" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/pnpm-workspaces" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/prisma-orm</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/prisma-orm" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/prisma-orm" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/nestjsthrottler</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/nestjsthrottler" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/nestjsthrottler" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/socketio-realtime-nest-js-gateways</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/socketio-realtime-nest-js-gateways" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/socketio-realtime-nest-js-gateways" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/redis-via-ioredis</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/redis-via-ioredis" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/redis-via-ioredis" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/shadcnui-tailwind-css</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/shadcnui-tailwind-css" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/shadcnui-tailwind-css" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/git-hub-actions-cicd-pipeline</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/git-hub-actions-cicd-pipeline" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/git-hub-actions-cicd-pipeline" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/postgre-sql</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/postgre-sql" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/postgre-sql" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/aws-s3-file-storage</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/aws-s3-file-storage" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/aws-s3-file-storage" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/segmented-container-networks</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/segmented-container-networks" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/segmented-container-networks" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/nextjs-in-a-multi-app-monorepo</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/nextjs-in-a-multi-app-monorepo" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/nextjs-in-a-multi-app-monorepo" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/deploy-runbook-for-a-breaking-schema-change</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/deploy-runbook-for-a-breaking-schema-change" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/deploy-runbook-for-a-breaking-schema-change" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/zod-runtime-validation</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/zod-runtime-validation" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/zod-runtime-validation" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/google-oauth-via-google-auth-library</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/google-oauth-via-google-auth-library" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/google-oauth-via-google-auth-library" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/nginx-production-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/nginx-production-reverse-proxy" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/nginx-production-reverse-proxy" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/self-hosted-ci-runner-is-the-deploy-target</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/self-hosted-ci-runner-is-the-deploy-target" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/self-hosted-ci-runner-is-the-deploy-target" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/resend-transactional-email</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/resend-transactional-email" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/resend-transactional-email" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/nest-js</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/nest-js" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/nest-js" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/notes/zustand-state-management</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/notes/zustand-state-management" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/notes/zustand-state-management" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-angular-effect-that-read-and-wrote-its-own-inputs</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-angular-effect-that-read-and-wrote-its-own-inputs" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-angular-effect-that-read-and-wrote-its-own-inputs" />
<lastmod>2026-10-24T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/screens-sized-for-the-mockups</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/screens-sized-for-the-mockups" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/screens-sized-for-the-mockups" />
<lastmod>2026-10-24T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/scripts-that-were-right-on-paper</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/scripts-that-were-right-on-paper" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/scripts-that-were-right-on-paper" />
<lastmod>2026-10-15T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-booking-time-that-crashed-in-one-timezone</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-booking-time-that-crashed-in-one-timezone" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-booking-time-that-crashed-in-one-timezone" />
<lastmod>2026-10-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-test-run-that-didnt-hang</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-test-run-that-didnt-hang" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-test-run-that-didnt-hang" />
<lastmod>2026-10-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-vs-code-panel-that-was-empty-and-a-test-that-passed-anyway</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-vs-code-panel-that-was-empty-and-a-test-that-passed-anyway" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-vs-code-panel-that-was-empty-and-a-test-that-passed-anyway" />
<lastmod>2026-09-15T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-audit-log-gap-by-omission-not-by-bug</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-audit-log-gap-by-omission-not-by-bug" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-audit-log-gap-by-omission-not-by-bug" />
<lastmod>2026-09-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-scorer-that-quietly-scored-everything-zero</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-scorer-that-quietly-scored-everything-zero" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-scorer-that-quietly-scored-everything-zero" />
<lastmod>2026-09-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/three-bugs-a-mock-network-couldnt-see</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/three-bugs-a-mock-network-couldnt-see" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/three-bugs-a-mock-network-couldnt-see" />
<lastmod>2026-09-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-microservice-that-ran-while-nothing-used-it</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-microservice-that-ran-while-nothing-used-it" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-microservice-that-ran-while-nothing-used-it" />
<lastmod>2026-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-svg-gradient-id-collision</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-svg-gradient-id-collision" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-svg-gradient-id-collision" />
<lastmod>2026-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/mobile-throwing-away-the-document-type-on-upload</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/mobile-throwing-away-the-document-type-on-upload" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/mobile-throwing-away-the-document-type-on-upload" />
<lastmod>2026-08-27T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-test-suite-that-got-smaller-instead-of</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-test-suite-that-got-smaller-instead-of" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-test-suite-that-got-smaller-instead-of" />
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/ci-that-kept-running-out-of-memory</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/ci-that-kept-running-out-of-memory" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/ci-that-kept-running-out-of-memory" />
<lastmod>2026-08-23T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/maintenance-mode-that-in-app-browsers-walked-past</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/maintenance-mode-that-in-app-browsers-walked-past" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/maintenance-mode-that-in-app-browsers-walked-past" />
<lastmod>2026-08-23T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/three-apps-with-no-mobile-layout-one-with</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/three-apps-with-no-mobile-layout-one-with" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/three-apps-with-no-mobile-layout-one-with" />
<lastmod>2026-08-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/two-sticky-elements-on-the-same-pixel</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/two-sticky-elements-on-the-same-pixel" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/two-sticky-elements-on-the-same-pixel" />
<lastmod>2026-08-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/2fa-that-bounced-people-back-to-login</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/2fa-that-bounced-people-back-to-login" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/2fa-that-bounced-people-back-to-login" />
<lastmod>2026-08-19T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-idor-on-tenant-settings</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-idor-on-tenant-settings" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-idor-on-tenant-settings" />
<lastmod>2026-08-19T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-arabic-label-clipped-by-an-english-width</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-arabic-label-clipped-by-an-english-width" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-arabic-label-clipped-by-an-english-width" />
<lastmod>2026-08-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/browser-auto-translate-crashing-the-app</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/browser-auto-translate-crashing-the-app" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/browser-auto-translate-crashing-the-app" />
<lastmod>2026-08-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-log-scanner-that-failed-deploys-on-the</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-log-scanner-that-failed-deploys-on-the" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-log-scanner-that-failed-deploys-on-the" />
<lastmod>2026-08-17T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-dev-entrypoint-that-kept-resurrecting-deleted-data</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-dev-entrypoint-that-kept-resurrecting-deleted-data" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-dev-entrypoint-that-kept-resurrecting-deleted-data" />
<lastmod>2026-08-10T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/fifteen-businesses-unable-to-take-a-single-order</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/fifteen-businesses-unable-to-take-a-single-order" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/fifteen-businesses-unable-to-take-a-single-order" />
<lastmod>2026-08-09T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-audit-trail-that-recorded-nothing-that-mattered</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-audit-trail-that-recorded-nothing-that-mattered" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-audit-trail-that-recorded-nothing-that-mattered" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-day-i-deleted-live-data-by-hand</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-day-i-deleted-live-data-by-hand" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-day-i-deleted-live-data-by-hand" />
<lastmod>2026-08-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-timestamp-that-never-advanced</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-timestamp-that-never-advanced" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-timestamp-that-never-advanced" />
<lastmod>2026-08-07T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-production-csp-that-silently-blocked-two-features</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-production-csp-that-silently-blocked-two-features" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-production-csp-that-silently-blocked-two-features" />
<lastmod>2026-08-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/signing-in-on-a-second-device-killed-both</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/signing-in-on-a-second-device-killed-both" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/signing-in-on-a-second-device-killed-both" />
<lastmod>2026-08-05T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/redis-evicting-security-tokens</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/redis-evicting-security-tokens" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/redis-evicting-security-tokens" />
<lastmod>2026-07-21T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/turning-ci-back-on-found-rotted-tests</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/turning-ci-back-on-found-rotted-tests" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/turning-ci-back-on-found-rotted-tests" />
<lastmod>2026-07-21T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-dependency-override-that-fixed-nothing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-dependency-override-that-fixed-nothing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-dependency-override-that-fixed-nothing" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-load-test-that-mostly-measured-itself</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-load-test-that-mostly-measured-itself" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-load-test-that-mostly-measured-itself" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-rate-limiter-that-counted-the-wrong-thing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-rate-limiter-that-counted-the-wrong-thing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-rate-limiter-that-counted-the-wrong-thing" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-websocket-client-joining-before-the-server-allowed</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-websocket-client-joining-before-the-server-allowed" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-websocket-client-joining-before-the-server-allowed" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/ci-could-never-have-built-the-backend-image</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/ci-could-never-have-built-the-backend-image" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/ci-could-never-have-built-the-backend-image" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/copying-a-dockerfile-pulled-in-the-hosts-node</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/copying-a-dockerfile-pulled-in-the-hosts-node" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/copying-a-dockerfile-pulled-in-the-hosts-node" />
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-ledger-row-that-said-the-wrong-thing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-ledger-row-that-said-the-wrong-thing" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-ledger-row-that-said-the-wrong-thing" />
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-payments-decision-that-was-half-true</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-payments-decision-that-was-half-true" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-payments-decision-that-was-half-true" />
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-save-that-worked-and-still-looked-broken</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-save-that-worked-and-still-looked-broken" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-save-that-worked-and-still-looked-broken" />
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/every-customer-could-apply-and-every-one-hit</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/every-customer-could-apply-and-every-one-hit" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/every-customer-could-apply-and-every-one-hit" />
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-design-system-drifting-one-app-at-a</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-design-system-drifting-one-app-at-a" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-design-system-drifting-one-app-at-a" />
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-new-upload-path-that-quietly-dropped-a</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-new-upload-path-that-quietly-dropped-a" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-new-upload-path-that-quietly-dropped-a" />
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-number-that-lied-in-every-response</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-number-that-lied-in-every-response" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-number-that-lied-in-every-response" />
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-stale-env-value-that-guaranteed-a-login</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-stale-env-value-that-guaranteed-a-login" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-stale-env-value-that-guaranteed-a-login" />
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-verification-link-that-flashed-an-error-on</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-verification-link-that-flashed-an-error-on" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-verification-link-that-flashed-an-error-on" />
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-same-bug-four-times-three-causes</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-same-bug-four-times-three-causes" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-same-bug-four-times-three-causes" />
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-restyle-only-pass-that-turned-up-three</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-restyle-only-pass-that-turned-up-three" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-restyle-only-pass-that-turned-up-three" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-capacity-race-between-the-check-and-the</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-capacity-race-between-the-check-and-the" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-capacity-race-between-the-check-and-the" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-chunk-constant-that-could-never-have-worked</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-chunk-constant-that-could-never-have-worked" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-chunk-constant-that-could-never-have-worked" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-connection-pooler-that-corrupted-data</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-connection-pooler-that-corrupted-data" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-connection-pooler-that-corrupted-data" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-protocol-message-that-was-structurally-dead-code</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-protocol-message-that-was-structurally-dead-code" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-protocol-message-that-was-structurally-dead-code" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-registration-field-never-wired-up-on-mobile</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-registration-field-never-wired-up-on-mobile" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-registration-field-never-wired-up-on-mobile" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/a-shared-package-fix-that-wasnt-shared</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/a-shared-package-fix-that-wasnt-shared" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/a-shared-package-fix-that-wasnt-shared" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/an-inbox-default-left-over-from-an-earlier</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/an-inbox-default-left-over-from-an-earlier" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/an-inbox-default-left-over-from-an-earlier" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/arabic-kept-coming-back-to-an-app-it</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/arabic-kept-coming-back-to-an-app-it" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/arabic-kept-coming-back-to-an-app-it" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/auth-state-set-before-validation-finished</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/auth-state-set-before-validation-finished" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/auth-state-set-before-validation-finished" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/bincode-cant-deserialize-a-tagged-enum</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/bincode-cant-deserialize-a-tagged-enum" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/bincode-cant-deserialize-a-tagged-enum" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/counts-that-came-from-the-current-page-slice</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/counts-that-came-from-the-current-page-slice" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/counts-that-came-from-the-current-page-slice" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/docker-sprawling-to-nine-files</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/docker-sprawling-to-nine-files" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/docker-sprawling-to-nine-files" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/email-verification-removed-and-restored-repeatedly</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/email-verification-removed-and-restored-repeatedly" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/email-verification-removed-and-restored-repeatedly" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/endpoints-that-are-built-and-still-never-used</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/endpoints-that-are-built-and-still-never-used" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/endpoints-that-are-built-and-still-never-used" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/google-oauth-and-lan-ips-repeatedly</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/google-oauth-and-lan-ips-repeatedly" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/google-oauth-and-lan-ips-repeatedly" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/holding-a-database-lock-across-a-network-read</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/holding-a-database-lock-across-a-network-read" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/holding-a-database-lock-across-a-network-read" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/jest-crashing-on-every-decorator</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/jest-crashing-on-every-decorator" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/jest-crashing-on-every-decorator" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/pairing-cant-live-in-a-headless-process</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/pairing-cant-live-in-a-headless-process" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/pairing-cant-live-in-a-headless-process" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/schema-and-migrations-drifting-apart</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/schema-and-migrations-drifting-apart" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/schema-and-migrations-drifting-apart" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/testing-guards-with-the-real-thing-not-a</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/testing-guards-with-the-real-thing-not-a" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/testing-guards-with-the-real-thing-not-a" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-env-committed-on-day-one</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-env-committed-on-day-one" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-env-committed-on-day-one" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/the-session-that-wouldnt-end</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/the-session-that-wouldnt-end" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/the-session-that-wouldnt-end" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/two-gyroscopes-and-an-out-of-memory-crash</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/two-gyroscopes-and-an-out-of-memory-crash" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/two-gyroscopes-and-an-out-of-memory-crash" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/two-schema-files-at-once</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/two-schema-files-at-once" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/two-schema-files-at-once" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/problems/windows-checkouts-breaking-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/problems/windows-checkouts-breaking-shell-scripts" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/problems/windows-checkouts-breaking-shell-scripts" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/the-drum-kit</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/the-drum-kit" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/the-drum-kit" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/two-kids-and-a-clock</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/two-kids-and-a-clock" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/two-kids-and-a-clock" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/siccadev-and-the-tools</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/siccadev-and-the-tools" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/siccadev-and-the-tools" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/project-x-part-one</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/project-x-part-one" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/project-x-part-one" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/project-x-part-two</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/project-x-part-two" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/project-x-part-two" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/ferry</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/ferry" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/ferry" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/openderja</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/openderja" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/openderja" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://firas.flamouchi.com/story/the-log</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://firas.flamouchi.com/story/the-log" />
<xhtml:link rel="alternate" hreflang="fr" href="https://firas.flamouchi.com/fr/story/the-log" />
<lastmod>2026-10-28T12:16:06.830Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
