{"@attributes":{"version":"2.0"},"channel":{"title":"tane.dev","link":"https:\/\/tane.dev\/","description":"Recent content on tane.dev","generator":"Hugo -- gohugo.io","language":"en-gb","copyright":"This work is copyright Tane Piper","lastBuildDate":"Thu, 05 Feb 2026 12:00:00 +0100","item":[{"title":"The Man With No Brains","link":"https:\/\/tane.dev\/2026\/02\/the-man-with-no-brains\/","guid":"https:\/\/tane.dev\/2026\/02\/the-man-with-no-brains\/","comments":"https:\/\/tane.dev\/2026\/02\/the-man-with-no-brains\/#commento","pubDate":"Thu, 05 Feb 2026 12:00:00 +0100","description":"<p>I actually enjoy setting up a new coding project from scratch - those first couple of hours where you go from nothing to <em>something<\/em>, even if it&rsquo;s just poorly laid out HTML and CSS, or a bunch of <code>console.log<\/code> statements.<\/p>\n<p>Recently though, I&rsquo;ve found myself unable to approach any new task without AI&rsquo;s help.<\/p>\n<p>Like an addiction, it became a trap. I couldn&rsquo;t break free from the cycle of constant stimulation and instant gratification these tools provided. Instead of being a useful helper, AI became <strong>the process itself<\/strong> - I stopped starting with code and using AI to work through ideas, and instead started with AI and used it to generate the implementation.<\/p>","category":["AI","Productivity"]},{"title":"Oh no, not again... a meditation on NPM supply chain attacks","link":"https:\/\/tane.dev\/2025\/09\/oh-no-not-again...-a-meditation-on-npm-supply-chain-attacks\/","guid":"https:\/\/tane.dev\/2025\/09\/oh-no-not-again...-a-meditation-on-npm-supply-chain-attacks\/","comments":"https:\/\/tane.dev\/2025\/09\/oh-no-not-again...-a-meditation-on-npm-supply-chain-attacks\/#commento","pubDate":"Tue, 09 Sep 2025 12:00:00 +0100","description":"<p>I&rsquo;ve been sitting on this article for a while now \u2013 well over a year I&rsquo;ve put off publishing it \u2013 but as we&rsquo;ve seen this week, the time has come to lift the veil and say the quiet part out loud:<\/p>\n<blockquote>\n<p><strong>It&rsquo;s 2025; Microsoft should be considered a &ldquo;bad actor&rdquo; and a threat to all companies who develop software.<\/strong><\/p><\/blockquote>\n<p>Of course, if you&rsquo;re old enough to remember \u2013 this is not the first time either&hellip;<\/p>","category":["NodeJS","JavaScript","Exploits","Security","Enterprise"]},{"title":"Slack wants you you know this privacy exploit is fine","link":"https:\/\/tane.dev\/2023\/09\/slack-wants-you-you-know-this-privacy-exploit-is-fine\/","guid":"https:\/\/tane.dev\/2023\/09\/slack-wants-you-you-know-this-privacy-exploit-is-fine\/","comments":"https:\/\/tane.dev\/2023\/09\/slack-wants-you-you-know-this-privacy-exploit-is-fine\/#commento","pubDate":"Mon, 25 Sep 2023 19:50:00 +0100","description":"<p>Last week, after a call with the engineers on my team I wanted to send a message to two of the engineers at the same time - little did I know I&rsquo;d find what I believe to be a nasty privacy exploit in <a href=\"https:\/\/slack.com\" target=\"_blank\">Slack<\/a>\n- one that made me ask &ldquo;Why is this <em>even<\/em> a feature?&rdquo;<\/p>\n<p>Like any good responsible software engineer, instead of taking to social media or forums to post about the exploit - I opted to report it to <a href=\"https:\/\/hackerone.com\" target=\"_blank\">HackerOne<\/a>\n- where Slack accepts reports of potential security exploits. After giving a detailed list of instructions on how to achive it (Report #2171907).<\/p>","category":["Slack","Privacy","Exploits","Security"]},{"title":"I Think I Found a Privacy Exploit in ChatGPT","link":"https:\/\/tane.dev\/2023\/04\/i-think-i-found-a-privacy-exploit-in-chatgpt\/","guid":"https:\/\/tane.dev\/2023\/04\/i-think-i-found-a-privacy-exploit-in-chatgpt\/","comments":"https:\/\/tane.dev\/2023\/04\/i-think-i-found-a-privacy-exploit-in-chatgpt\/#commento","pubDate":"Fri, 14 Apr 2023 00:50:00 +0100","description":"<p><code>&gt; tl;dr: I discovered that passing empty prompts to ChatGPT still<\/code> <a href=\"https:\/\/stochasticparrot.lol\/\" target=\"_blank\">generates responses<\/a>\n<code>Initially, I thought these might be hallucinations, but now I suspect they could also include other users' responses from the API<\/code><\/p>\n<p>Last month, OpenAI unveiled their advanced large language model, <a href=\"https:\/\/openai.com\/product\/gpt-4\" target=\"_blank\">ChatGPT-4<\/a>\n, attracting attention from developers, enterprises, media, and <a href=\"https:\/\/www.theguardian.com\/technology\/2023\/mar\/31\/italy-privacy-watchdog-bans-chatgpt-over-data-breach-concerns\" target=\"_blank\">governments<\/a>\nalike.<\/p>\n<p>Before receiving my GPT-4 invite, I experimented with <a href=\"ttps:\/\/github.com\/antimatter15\/alpaca.cpp\">alpaca.cpp<\/a>\n, designed to run models on CPU&rsquo;s with limited memory constraints. I began by developing a simple web interface using NodeJS and sockets for parsing the command line. Once I started working with the GPT-4 API, I quickly realized that with the right prompts, it could be a powerful tool. It has already helped me rewrite complex code into simpler methods and reduce complexity by moving code to functions:<\/p>","category":["OpenAI","ChatGPT","LLM","AI"]},{"title":"Announcing Formula - A Zero-Config Reactive Forms Library for Svelte","link":"https:\/\/tane.dev\/2021\/02\/announcing-formula-a-zero-config-reactive-forms-library-for-svelte\/","guid":"https:\/\/tane.dev\/2021\/02\/announcing-formula-a-zero-config-reactive-forms-library-for-svelte\/","comments":"https:\/\/tane.dev\/2021\/02\/announcing-formula-a-zero-config-reactive-forms-library-for-svelte\/#commento","pubDate":"Sat, 13 Feb 2021 12:00:00 +0100","description":"<ul>\n<li><a href=\"https:\/\/svelte.dev\/repl\/7ec545c5415049d1a51167d1ac10b137\" target=\"_blank\">Demo<\/a>\n<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/svelte-formula\" target=\"_blank\">NPM Page<\/a>\n<\/li>\n<\/ul>\n<p>Today I&rsquo;m happy to announce the release of <a href=\"https:\/\/www.npmjs.com\/package\/svelte-formula\" target=\"_blank\">Svelte Formula<\/a>\n- a new forms\nlibrary for <a href=\"https:\/\/svelte.dev\" target=\"_blank\">Svelte<\/a>\n.<\/p>\n<div style=\"text-align: center\">\n<img width=\"250px\" height=\"250px\" src=\"https:\/\/tane.dev\/images\/formula-logo.png\" alt=\"The Svelte Formula Logo is some science beakers and a molecule\">\n<\/div>\n<p>Formula is a <code>Zero-Config<\/code> library - what this means is that you do not have to pass any settings to the library itself\nto handle form validation and submission - it uses the validation properties of HTML5 forms directly, meaning you can\ncreate progressive, accessible forms first.<\/p>","category":["Svelte","Library","Forms","HTML Forms","Accessible Forms"]}]}}