<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://tane.dev/tags/ai/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/blog/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/productivity/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2026/02/the-man-with-no-brains/</loc><lastmod>2026-02-05T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/enterprise/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/exploits/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/javascript/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/nodejs/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2025/09/oh-no-not-again...-a-meditation-on-npm-supply-chain-attacks/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/security/</loc><lastmod>2025-09-09T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/privacy/</loc><lastmod>2023-09-25T19:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/slack/</loc><lastmod>2023-09-25T19:50:00+01:00</lastmod></url><url><loc>https://tane.dev/2023/09/slack-wants-you-you-know-this-privacy-exploit-is-fine/</loc><lastmod>2023-09-25T19:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/chatgpt/</loc><lastmod>2023-04-14T00:50:00+01:00</lastmod></url><url><loc>https://tane.dev/2023/04/i-think-i-found-a-privacy-exploit-in-chatgpt/</loc><lastmod>2023-04-14T00:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/llm/</loc><lastmod>2023-04-14T00:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/openai/</loc><lastmod>2023-04-14T00:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/accessible-forms/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/02/announcing-formula-a-zero-config-reactive-forms-library-for-svelte/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/forms/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/html-forms/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/library/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/svelte/</loc><lastmod>2021-02-13T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/browser/</loc><lastmod>2021-02-08T22:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/ecmascript/</loc><lastmod>2021-02-08T22:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/html/</loc><lastmod>2021-02-08T22:50:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/02/revisiting-dark-patterns-with-the-html-dialog-tag/</loc><lastmod>2021-02-08T22:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/tutorial/</loc><lastmod>2021-02-08T22:50:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/application/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/observables/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/rxjs/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/typescript/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/web-serial/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/02/webserial.app-browser-to-usb-serial-communication-with-svelte/</loc><lastmod>2021-02-05T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/01/web-serial-api-with-rxjs-two-way-reactive-communication-between-browser-and-serial-hardware/</loc><lastmod>2021-01-30T12:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/01/create-your-own-dark-mode-detection-observable-using-rxjs-and-media-queries/</loc><lastmod>2021-01-27T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/media-query/</loc><lastmod>2021-01-27T21:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/01/creating-custom-rxjs-operators/</loc><lastmod>2021-01-25T00:15:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/observable/</loc><lastmod>2021-01-25T00:15:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/operators/</loc><lastmod>2021-01-25T00:15:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/npm/</loc><lastmod>2021-01-14T00:15:00+01:00</lastmod></url><url><loc>https://tane.dev/2021/01/rxjs-ninja-updates-new-operators-for-math-and-working-with-streams/</loc><lastmod>2021-01-14T00:15:00+01:00</lastmod></url><url><loc>https://tane.dev/2020/11/rxjs-primitives-is-now-rxjs-ninja/</loc><lastmod>2020-11-23T00:01:00+01:00</lastmod></url><url><loc>https://tane.dev/2020/11/new-rxjs-primitives-release-new-operators--typescript-4/</loc><lastmod>2020-11-18T11:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/best-practice/</loc><lastmod>2020-05-12T08:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/function-overloading/</loc><lastmod>2020-05-12T08:30:00+01:00</lastmod></url><url><loc>https://tane.dev/2020/05/polymorphic-typescript-function-overloading-with-rest-parameters/</loc><lastmod>2020-05-12T08:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/polymorphism/</loc><lastmod>2020-05-12T08:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/github/</loc><lastmod>2020-05-07T20:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/monorepo/</loc><lastmod>2020-05-07T20:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/nx/</loc><lastmod>2020-05-07T20:30:00+01:00</lastmod></url><url><loc>https://tane.dev/2020/05/publishing-npm-libraries-using-nx-and-github-actions/</loc><lastmod>2020-05-07T20:30:00+01:00</lastmod></url><url><loc>https://tane.dev/2020/04/rxjs-primitives-operators-for-mutating-and-filtering-primitives/</loc><lastmod>2020-04-23T11:30:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/angular/</loc><lastmod>2019-09-18T11:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/development/</loc><lastmod>2019-09-18T11:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/json/</loc><lastmod>2019-09-18T11:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/schema-json/</loc><lastmod>2019-09-18T11:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2019/09/validating-data-with-json-schema-angular-and-typescript/</loc><lastmod>2019-09-18T11:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2019/05/ngx-editorjs-library-for-angular/</loc><lastmod>2019-05-10T15:00:00+01:00</lastmod></url><url><loc>https://tane.dev/2019/03/providing-injectable-features-to-angular-modules/</loc><lastmod>2019-03-16T15:00:00+01:00</lastmod></url><url><loc>https://tane.dev/tags/blog/</loc><lastmod>2019-03-12T19:40:00+01:00</lastmod></url><url><loc>https://tane.dev/2019/03/new-blog-hey-im-moving-from-medium/</loc><lastmod>2019-03-12T19:40:00+01:00</lastmod></url><url><loc>https://tane.dev/takeoff/</loc><lastmod>2017-09-27T23:59:59+01:00</lastmod></url><url><loc>https://tane.dev/archive/</loc><lastmod>2013-05-25T23:59:59+01:00</lastmod></url><url><loc>https://tane.dev/about/</loc></url><url><loc>https://tane.dev/categories/</loc></url><url><loc>https://tane.dev/projects/</loc></url></urlset>