<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://nabeelvalley.co.za/</loc></url><url><loc>https://nabeelvalley.co.za/about/</loc></url><url><loc>https://nabeelvalley.co.za/archive/</loc></url><url><loc>https://nabeelvalley.co.za/blog/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2019/12-10/looky-a-wild-html/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2019/12-11/rtc-with-mqtt/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2019/30-10/fsharp-webapi/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/01-02/gatsby-migration-2/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/04-12/post-endpoint-logger-express/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/06-09/first-look-at-adonisjs/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/07-04/filtering-in-bw/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/07-10/python-packages-with-poetry/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/07-10/trust-dotnet-dev-certs/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/10-11/capture-fetch-response-cypress/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/11-08/automate-anything-with-actions/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/13-10/launch-fsi-from-terminal/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/14-10/position-legend-in-seaborn/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/15-03/gatsby-migration-3/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/17-05/code-for-noobs/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/17-12/csharp-webapi-custom-attributes/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/21-01/gatsby-migration-1/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/22-09/mongo-db-in-docker/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/23-09/split-an-array-into-segments/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/24-11/generate-postman-data/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/25-07/developing-in-a-container-vscode/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/25-09/dirname-vs-resolve/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/25-11/linear-regression-model-with-sklearn/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/26-11/backup-database-as-script/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/29-09/highlight-specific-elements/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2020/29-09/text-fragments/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/01-03/serialize-jsonvalue-array-fsharp/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/02-11/javascript-quick-logger/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/03-02/jenkins-git-process-crashed/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/06-05/multi-module-python-projects/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/09-03/configure-home-assistant-raspberrypi-wifi/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/10-04/xunit-with-fsharp/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/16-08/typescript-template-literal-types/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/17-06/sst-framework/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/19-03/render-component-by-tag-name-react/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/23-03/custom-styles-in-markdown/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/27-03/flicker-led-with-raspberry-pi/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2021/29-10/javascript-range/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/01-03/react-top-level-api/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/03-08/dev-tools-update/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/06-07/typescript-json-database/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/08-03/http-proxy-node-js/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/08-07/common-object-type/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/11-02/d3-with-react/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/13-11/svelte-expanding-nav/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/13-12/typescript-utilities/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/14-12/rss-podcast-app-design/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/15-12/smooth-bottom-nav-with-actions/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/16-08/react-memo-top-level-api/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/16-11/uneditable-sections-inside-of-conteneditable/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/20-08/understanding-binary-files/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/20-12/vms-vs-containers-diagram/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/25-08/read-image-metadata/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/27-09/open-education-app/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2022/31-05/type-narrowing/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/09-05/generic-transformer-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/11-11/interacting-with-kafka-using-kotlin/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/13-06/vim-errror-when-using-plugins/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/20-04/proxies-and-objects-that-dont-exist/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/20-04/strategy-pattern-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/20-04/type-guards-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/20-10/jpa-query-specifications/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/23-03/postman-flows/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/24-01/about-rss/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/26-01/html-to-structured-content/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/26-06/type-guards-and-unions-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/28-02/dynamo-db-update-attribute/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2023/31-01/xstate-draggable-div/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/01-09/week-35-datetimes-and-logic-programming/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/02-08/week-31-webgpu-and-parsers/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/03-12/conditional-protection/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/04-04/css-show-children-when-parent-hidden/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/04-05/freeskate-log/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/06-03/astro-slides/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/06-10/week-40-paper-and-pictures/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/07-03/localstorage-based-sync/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/08-09/week-36-pretty-printing/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/10-08/week-32-branded-types-nodes-and-image-segmentation/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/11-12/proxy-objects/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/12-04/passwords/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/13-07/on-being-awkward/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/15-08/handling-complex-typescript-generics/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/15-09/week-37-ui-paradigms-and-comic-books/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/16-08/optional-parameters-and-overloads-in-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/17-08/week-33-compilers-videography-and-good-intentions/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/19-04/falling/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/20-07/parser-combinators-and-gleam/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/20-10/week-40-ye-olde-web/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/21-03/css-counter-style/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/24-08/unintentionally-made-a-programming-language/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/24-08/week-34-programming-languages-of-various-types/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/27-04/automatic-lenses/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/28-08/open-terminal-links-in-vscode/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2024/31-10/type-safe-url-templates/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/01-08/scripting-text-manipulation/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/01-10/use-a-password-manager-they-said/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/03-07/pnpm-package-patch/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/03-11/rachets-not-levers/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/06-01/web-workers/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/07-07/accessibility-tools/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/07-09/week-36-creativity/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/09-11/coat-rack/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/09-11/shader-web-component/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/10-07/css-houdini-paint-api/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/10-09/cote-d-azure/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/12-02/nodejs-worker-threads/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/14-09/week-37-server-management/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/16-12/helix-log-parsing/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/17-12/generator-generation/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/18-06/typescript-debugging-without-an-ide/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/26-03/the-language-server-protocol/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/27-03/regex-composition/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/27-08/problems-are-better-left-solved/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/29-07/web-authentication-api/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2025/31-08/week-35-trying-this-out-again/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/02-04/anchor-animations/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/03-04/bad-bots/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/11-02/css-anchor-positioning/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/12-03/webring/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/17-02/pattern-web-component/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/22-03/mildly-interesting-eid/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/26-03/bubbletea-commands/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/26-03/murder-mystery-git-game/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/26-03/tri-x-git-tricks/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/27-03/deep-dynamic-access/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/28-03/nederlands-fotomuseum/</loc></url><url><loc>https://nabeelvalley.co.za/blog/2026/31-03/mural-on-the-ground/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/catching-fire/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/life-the-universe-and-everything/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/mockingjay/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/mostly-harmless/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/so-long-and-thanks-for-all-the-fish/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/the-hitchhikers-guide-to-the-galaxy/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/the-hunger-games/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2023/the-restaurant-at-the-end-of-the-universe/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2024/before-the-coffee-gets-cold/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2024/daybreak/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2024/the-99-percent-invisible-city/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2024/the-ballad-of-songbirds-and-snakes/</loc></url><url><loc>https://nabeelvalley.co.za/bookshelf/2024/the-design-of-everyday-things/</loc></url><url><loc>https://nabeelvalley.co.za/cv/</loc></url><url><loc>https://nabeelvalley.co.za/docs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/accessibility/web-accessibility-intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/00-overview/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/01-union-find/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/02-analysis-of-algorithms/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/03-stacks-and-queues/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/04-elementary-sorts/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/05-mergesort/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/06-quicksort/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/07-priority-queues/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/08-symbol-tables/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/09-geometric-applications/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/10-hash-tables/</loc></url><url><loc>https://nabeelvalley.co.za/docs/algorithms/11-graphs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/android/android-apps-with-kotlin/</loc></url><url><loc>https://nabeelvalley.co.za/docs/android/introduction-to-android/</loc></url><url><loc>https://nabeelvalley.co.za/docs/android/jetpack-compose/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/configuring-dependency-providers/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/custom-components-with-template-driven-forms/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/dynamic-components/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/generic-link-component/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/portals/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/signals/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/synchronize-with-external-state/</loc></url><url><loc>https://nabeelvalley.co.za/docs/angular/tour-of-heroes/</loc></url><url><loc>https://nabeelvalley.co.za/docs/antlr/in-vscode-devcontainer/</loc></url><url><loc>https://nabeelvalley.co.za/docs/architecture/reactive-architecture-advanced/</loc></url><url><loc>https://nabeelvalley.co.za/docs/architecture/reactive-architecture-foundations/</loc></url><url><loc>https://nabeelvalley.co.za/docs/architecture/software-architecture-and-design/</loc></url><url><loc>https://nabeelvalley.co.za/docs/assembly/mips/</loc></url><url><loc>https://nabeelvalley.co.za/docs/automation/chef-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/automation/hangfire/</loc></url><url><loc>https://nabeelvalley.co.za/docs/automation/jenkins/</loc></url><url><loc>https://nabeelvalley.co.za/docs/automation/manage-node-with-server/</loc></url><url><loc>https://nabeelvalley.co.za/docs/automation/puppeteer/</loc></url><url><loc>https://nabeelvalley.co.za/docs/aws/cdk-custom-resources/</loc></url><url><loc>https://nabeelvalley.co.za/docs/aws/cdk-lambda-api-local/</loc></url><url><loc>https://nabeelvalley.co.za/docs/aws/cdk-pipelines/</loc></url><url><loc>https://nabeelvalley.co.za/docs/aws/lambda-custom-authorizer/</loc></url><url><loc>https://nabeelvalley.co.za/docs/biology/understanding-ecg/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blender/filmic-blender/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/composer/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/config-windows/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/essentials/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/fabric-via-docs-1/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/fabric-via-docs-2/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/foundation/</loc></url><url><loc>https://nabeelvalley.co.za/docs/blockchain/ibmblockchainvscode/</loc></url><url><loc>https://nabeelvalley.co.za/docs/c/introduction/</loc></url><url><loc>https://nabeelvalley.co.za/docs/cloud-application-developer/devops/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/build-an-express-app-with-mongo/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/containers-and-kubernetes-on-IBM-cloud/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/dapr-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/deploy-an-express-app-with-mongo-on-k8s-locally/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/docker-config/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/docker-multi-stage/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/docker/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/infrastructure-and-container-management/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/istio-with-kubernetes/</loc></url><url><loc>https://nabeelvalley.co.za/docs/containers-and-microservices/microservices-with-istio/</loc></url><url><loc>https://nabeelvalley.co.za/docs/cpp/introduction/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/cheatsheet/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/data-analysis/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/deep-learning-with-keras/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/handle-class-imbalances/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/image-classification-with-keras/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/intro-to-deep-learning/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/machine-learning-with-python/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/natural-language-processing-tf/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/ocr-with-easyocr/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/python-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-python/xgboost-and-pipelines/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-r/inference-and-modeling/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-r/probability/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-r/rbasics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science-with-r/visualization/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science/introduction/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science/methodology/</loc></url><url><loc>https://nabeelvalley.co.za/docs/data-science/tools/</loc></url><url><loc>https://nabeelvalley.co.za/docs/databases/intro-to-database-systems/</loc></url><url><loc>https://nabeelvalley.co.za/docs/design-patterns/decorator/</loc></url><url><loc>https://nabeelvalley.co.za/docs/design-patterns/observer/</loc></url><url><loc>https://nabeelvalley.co.za/docs/design-patterns/oop/</loc></url><url><loc>https://nabeelvalley.co.za/docs/design-patterns/strategy/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/abp-setup/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/basic-auth/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/configure-startup-service/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/ef-migrations/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/fs-bolero/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/fs-entity-framework/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/fs-webapi/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/integration-service/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/intro-to-cs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/intro-to-fs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/linq-to-sql/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/logging/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/parsing-with-roslyn/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/query-db-with-ef-linq/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/safe-stack-intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/signal-r/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/test-private-members/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/unit-testing-intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dotnet/using-wcf-services/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/index/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/1-recipe/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/2-fib/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/3-grid-traveler/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/4-can-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/5-how-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/6-best-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/7-can-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/8-count-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/memoization/9-all-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/1-recipe/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/2-fib/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/3-grid-traveler/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/4-can-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/5-how-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/6-best-sum/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/7-can-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/8-count-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/dynamic-programming/tabulation/9-all-construct/</loc></url><url><loc>https://nabeelvalley.co.za/docs/electronics/led/</loc></url><url><loc>https://nabeelvalley.co.za/docs/elixir/intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/elixir/liveview/</loc></url><url><loc>https://nabeelvalley.co.za/docs/elixir/phoenix/</loc></url><url><loc>https://nabeelvalley.co.za/docs/flutter/basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/flutter/complex-ui/</loc></url><url><loc>https://nabeelvalley.co.za/docs/flutter/cupertino-app/</loc></url><url><loc>https://nabeelvalley.co.za/docs/flutter/dart/</loc></url><url><loc>https://nabeelvalley.co.za/docs/gamedev/multiplayer-game-server/</loc></url><url><loc>https://nabeelvalley.co.za/docs/gamedev/rpg-with-godot/</loc></url><url><loc>https://nabeelvalley.co.za/docs/gamedev/unity-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/gitlab/ci-pipelines/</loc></url><url><loc>https://nabeelvalley.co.za/docs/gitlab/gitlab-ssh-setup/</loc></url><url><loc>https://nabeelvalley.co.za/docs/go/basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/haskell/intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/calling-external-apis-from-watson-assistant/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/deploy-a-kubernetes-app-on-icp/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/deploy-a-python-machine-learning-model-to-cf/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/deploy-angular-app-to-cf/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/enable-cors-for-node-red/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/publishingappcf/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/setting-up-a-dsx-notebook/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/watson-apis-and-ml/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ibm-cloud/watson-iot-messaging/</loc></url><url><loc>https://nabeelvalley.co.za/docs/index/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ionic/solving-http-cors/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/bluetooth-intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/mqtt-message-broker-with-mosquitto/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/nodemcu-esp8266/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/platform-io/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/raspberry-pi-hardware-intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/raspberry-pi-headless-setup/</loc></url><url><loc>https://nabeelvalley.co.za/docs/iot/tj-bot-setup/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/coding-train/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/cors/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/creating-a-file-watching-application/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/csv-to-code/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/debug-typescript-vscode/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/express-application-with-typescript/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/express-basic-auth/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/feathersjs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/file-system-api/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/html-custom-elements/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/intro-to-sqlite/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/knex/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/matter-js/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/node-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/p5-js/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/play-audio-from-xhr/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/redis-from-express/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/rxjs-data-fetcher/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/rxjs/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/static-and-compiles/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/troubleshooting/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/typescript-ast/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/typescript-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/web-components/</loc></url><url><loc>https://nabeelvalley.co.za/docs/javascript/web-rtc/</loc></url><url><loc>https://nabeelvalley.co.za/docs/kafka/develop-with-kafka/</loc></url><url><loc>https://nabeelvalley.co.za/docs/kafka/fundamentals-of-kafka/</loc></url><url><loc>https://nabeelvalley.co.za/docs/kotlin/introduction-to-kotlin/</loc></url><url><loc>https://nabeelvalley.co.za/docs/kotlin/new-maven-project/</loc></url><url><loc>https://nabeelvalley.co.za/docs/kotlin/spring-boot/</loc></url><url><loc>https://nabeelvalley.co.za/docs/linux/setup-ubuntu-server/</loc></url><url><loc>https://nabeelvalley.co.za/docs/linux/virtualbox/</loc></url><url><loc>https://nabeelvalley.co.za/docs/mongodb/configure-replication/</loc></url><url><loc>https://nabeelvalley.co.za/docs/mongodb/enable-authentication/</loc></url><url><loc>https://nabeelvalley.co.za/docs/mongodb/mongo-db-in-docker/</loc></url><url><loc>https://nabeelvalley.co.za/docs/mongodb/running-js-scripts/</loc></url><url><loc>https://nabeelvalley.co.za/docs/powerquery/cheatsheet/</loc></url><url><loc>https://nabeelvalley.co.za/docs/presentations/jasmineandkarma/</loc></url><url><loc>https://nabeelvalley.co.za/docs/prolog/intro-to-prolog/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/benchmarking/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/frameworks/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/git/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/github-cli/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/helix/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/jj/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/jq/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/linux/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/neovim/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/nginx/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/nushell/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/powershell/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/traefik/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/unix/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/vim/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/vscode-settings/</loc></url><url><loc>https://nabeelvalley.co.za/docs/random/wsl/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/complete-react/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/getting-started-with-gatsby/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/hello-world-app/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/module-1/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/module-2/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/module-3/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/next-js/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/pwa/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/react-hoc/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/react-native-basics/</loc></url><url><loc>https://nabeelvalley.co.za/docs/react/react-native-reanimated/</loc></url><url><loc>https://nabeelvalley.co.za/docs/ruby/intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/rust/intro/</loc></url><url><loc>https://nabeelvalley.co.za/docs/shaders/intro-to-shaders/</loc></url><url><loc>https://nabeelvalley.co.za/docs/slack/hello-world-app/</loc></url><url><loc>https://nabeelvalley.co.za/docs/sql/backup-database-as-script/</loc></url><url><loc>https://nabeelvalley.co.za/docs/sql/cheatsheet/</loc></url><url><loc>https://nabeelvalley.co.za/docs/sql/sqlite/</loc></url><url><loc>https://nabeelvalley.co.za/docs/svelte/intro-to-svelte/</loc></url><url><loc>https://nabeelvalley.co.za/docs/svg/gradients/</loc></url><url><loc>https://nabeelvalley.co.za/docs/svg/scaling/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/change-point-detection-with-ruptures/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/forecasting-with-sktime/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/shapelets-motifs-and-discords/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/time-series-analysis-with-stumpy/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/time-series-analysis/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/time-series-classification-with-sktime/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/time-series-stationarity/</loc></url><url><loc>https://nabeelvalley.co.za/docs/time-series-data-analysis/time-series-tasks/</loc></url><url><loc>https://nabeelvalley.co.za/docs/vue/nuxt-js/</loc></url><url><loc>https://nabeelvalley.co.za/everything/</loc></url><url><loc>https://nabeelvalley.co.za/photography/</loc></url><url><loc>https://nabeelvalley.co.za/photography/fujifilm/analog-cool/</loc></url><url><loc>https://nabeelvalley.co.za/photography/fujifilm/cool-chrome/</loc></url><url><loc>https://nabeelvalley.co.za/photography/fujifilm/faded-mono/</loc></url><url><loc>https://nabeelvalley.co.za/photography/fujifilm/faded-warm/</loc></url><url><loc>https://nabeelvalley.co.za/photography/fujifilm/warm-morning/</loc></url><url><loc>https://nabeelvalley.co.za/photography/lightroom/vsco-a4/</loc></url><url><loc>https://nabeelvalley.co.za/photography/lightroom/vsco-c1/</loc></url><url><loc>https://nabeelvalley.co.za/photography/nature/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/2018-12-garden-route/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/2022-02-cape-town/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/2022-09-durban/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/2024-06-brussels/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/2026-winter-netherlands/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/netherlands/</loc></url><url><loc>https://nabeelvalley.co.za/photography/places/south-africa/</loc></url><url><loc>https://nabeelvalley.co.za/photography/portraits/bw/</loc></url><url><loc>https://nabeelvalley.co.za/photography/portraits/colour/</loc></url><url><loc>https://nabeelvalley.co.za/photography/writing/</loc></url><url><loc>https://nabeelvalley.co.za/projects/</loc></url><url><loc>https://nabeelvalley.co.za/random/</loc></url><url><loc>https://nabeelvalley.co.za/random/dev-tools/</loc></url><url><loc>https://nabeelvalley.co.za/random/hosting/</loc></url><url><loc>https://nabeelvalley.co.za/random/libraries/</loc></url><url><loc>https://nabeelvalley.co.za/random/tools/</loc></url><url><loc>https://nabeelvalley.co.za/random/websites/</loc></url><url><loc>https://nabeelvalley.co.za/talks/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2021/17-03/introduction-to-machine-learning/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2024/03-10/a-nu-er-shell/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2024/13-03/check-your-domain/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2024/17-04/intro-to-css/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2024/20-05/web-animations/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2024/24-10/software-for-your-friends/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2025/09-10/ai/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2025/11-09/ts-deep-dive/</loc></url><url><loc>https://nabeelvalley.co.za/talks/2025/15-09/type-first-development/</loc></url><url><loc>https://nabeelvalley.co.za/uses/</loc></url></urlset>