<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>With Blue Ink</title>
    <link>https://withblue.ink</link>
    <description></description>
    <language>en-us</language>
    <atom:link href="https://withblue.ink/feed.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title><![CDATA[Not all OAuth2 tokens are made equal: user vs app tokens explained]]></title>
      <link>https://withblue.ink/2026/07/user-vs-app-tokens-oauth2-explained</link>
      <guid isPermaLink="true">https://withblue.ink/2026/07/user-vs-app-tokens-oauth2-explained</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Understanding identity principals]]></description>
      <category><![CDATA[Authentication, Security]]></category>
    </item>
    <item>
      <title><![CDATA[AI agents and the new economics of account takeover]]></title>
      <link>https://withblue.ink/2026/05/ai-agents-new-economics-account-takeover</link>
      <guid isPermaLink="true">https://withblue.ink/2026/05/ai-agents-new-economics-account-takeover</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What my mother-in-law's hack taught me about AI-supercharged hacking]]></description>
      <category><![CDATA[AI, Life]]></category>
    </item>
    <item>
      <title><![CDATA[Unlocking Encrypted ZFS Volumes with a Passkey]]></title>
      <link>https://withblue.ink/2026/05/revaulter-encrypted-zfs-passkey</link>
      <guid isPermaLink="true">https://withblue.ink/2026/05/revaulter-encrypted-zfs-passkey</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Using Revaulter to safely unlock encrypted ZFS volumes at boot with WebAuthn and PRF]]></description>
      <category><![CDATA[Open Source, ZFS]]></category>
    </item>
    <item>
      <title><![CDATA[Business logic does not (usually) belong in the database]]></title>
      <link>https://withblue.ink/2026/03/business-logic-does-not-belong-in-the-database</link>
      <guid isPermaLink="true">https://withblue.ink/2026/03/business-logic-does-not-belong-in-the-database</guid>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[When to use stored procedures or complex queries, and when to keep logic in your application server]]></description>
      <category><![CDATA[Architecture, Databases]]></category>
    </item>
    <item>
      <title><![CDATA[On Designing a Distributed Actor Framework]]></title>
      <link>https://withblue.ink/2026/01/notes-on-designing-distributed-actor-framework</link>
      <guid isPermaLink="true">https://withblue.ink/2026/01/notes-on-designing-distributed-actor-framework</guid>
      <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Notes from my experiences using, maintaining, and designing actor frameworks]]></description>
      <category><![CDATA[Distributed Systems, Architecture]]></category>
    </item>
    <item>
      <title><![CDATA[Building with Distributed Actors]]></title>
      <link>https://withblue.ink/2025/11/distributed-actors-model</link>
      <guid isPermaLink="true">https://withblue.ink/2025/11/distributed-actors-model</guid>
      <pubDate>Wed, 19 Nov 2025 08:00:00 GMT</pubDate>
      <description><![CDATA[Among my favorite patterns is one you may not have heard of]]></description>
      <category><![CDATA[Distributed Systems, Architecture]]></category>
    </item>
    <item>
      <title><![CDATA[High Availability over Tailscale with DNS-based Load Balancing]]></title>
      <link>https://withblue.ink/2025/09/ddup-high-availability-tailscale-dns-load-balancing</link>
      <guid isPermaLink="true">https://withblue.ink/2025/09/ddup-high-availability-tailscale-dns-load-balancing</guid>
      <pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Using ddup for DNS load balancing and failover]]></description>
      <category><![CDATA[Networking, High Availability]]></category>
    </item>
    <item>
      <title><![CDATA[A new architecture for Hereditas v0.3]]></title>
      <link>https://withblue.ink/2023/03/hereditas-0.3-architecture-proposal</link>
      <guid isPermaLink="true">https://withblue.ink/2023/03/hereditas-0.3-architecture-proposal</guid>
      <pubDate>Wed, 29 Mar 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[A proposal for updating Hereditas]]></description>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[Essential Cryptography for JavaScript Developers]]></title>
      <link>https://withblue.ink/2022/03/essential-cryptography-for-javascript-developers-book</link>
      <guid isPermaLink="true">https://withblue.ink/2022/03/essential-cryptography-for-javascript-developers-book</guid>
      <pubDate>Tue, 01 Mar 2022 00:00:00 GMT</pubDate>
      <description><![CDATA[Here's what my second book is about, and why I wrote it]]></description>
      <category><![CDATA[JavaScript, Cryptography]]></category>
    </item>
    <item>
      <title><![CDATA[Why storing secrets and passwords in Git is a bad idea]]></title>
      <link>https://withblue.ink/2021/05/storing-secrets-and-passwords-in-git-is-bad</link>
      <guid isPermaLink="true">https://withblue.ink/2021/05/storing-secrets-and-passwords-in-git-is-bad</guid>
      <pubDate>Fri, 07 May 2021 00:00:00 GMT</pubDate>
      <description><![CDATA[And what you should do with your apps' secrets instead]]></description>
      <category><![CDATA[Git, Security]]></category>
    </item>
    <item>
      <title><![CDATA[Developing x86 apps on ARM with VS Code]]></title>
      <link>https://withblue.ink/2021/03/developing-x86-apps-on-arm-with-vs-code</link>
      <guid isPermaLink="true">https://withblue.ink/2021/03/developing-x86-apps-on-arm-with-vs-code</guid>
      <pubDate>Thu, 11 Mar 2021 00:00:00 GMT</pubDate>
      <description><![CDATA[Using Visual Studio Code remotes to develop on a different CPU architecture]]></description>
      <category><![CDATA[VS Code, ARM]]></category>
    </item>
    <item>
      <title><![CDATA[Maybe we shouldn't want a fully decentralized web]]></title>
      <link>https://withblue.ink/2020/11/maybe-we-shouldnt-want-a-fully-decentralized-web</link>
      <guid isPermaLink="true">https://withblue.ink/2020/11/maybe-we-shouldnt-want-a-fully-decentralized-web</guid>
      <pubDate>Thu, 12 Nov 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[Why I have stopped working with IPFS and the distributed web]]></description>
      <category><![CDATA[Life, IPFS]]></category>
    </item>
    <item>
      <title><![CDATA[Go, WebAssembly, HTTP requests and Promises]]></title>
      <link>https://withblue.ink/2020/10/go-webassembly-http-requests-and-promises</link>
      <guid isPermaLink="true">https://withblue.ink/2020/10/go-webassembly-http-requests-and-promises</guid>
      <pubDate>Sat, 03 Oct 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[A guide to interacting with JavaScript from Go/Wasm]]></description>
      <category><![CDATA[Go, WebAssembly]]></category>
    </item>
    <item>
      <title><![CDATA[That time I accidentally built a spying app]]></title>
      <link>https://withblue.ink/2020/09/that-time-i-accidentally-built-a-spying-app</link>
      <guid isPermaLink="true">https://withblue.ink/2020/09/that-time-i-accidentally-built-a-spying-app</guid>
      <pubDate>Thu, 24 Sep 2020 17:29:00 GMT</pubDate>
      <description><![CDATA[A personal story about creating new products and their unintended consequences]]></description>
      <category><![CDATA[Life, Product]]></category>
    </item>
    <item>
      <title><![CDATA[Docker and Docker Compose on Raspberry Pi OS]]></title>
      <link>https://withblue.ink/2020/06/docker-and-docker-compose-on-raspberry-pi-os</link>
      <guid isPermaLink="true">https://withblue.ink/2020/06/docker-and-docker-compose-on-raspberry-pi-os</guid>
      <pubDate>Wed, 24 Jun 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[How to install Docker on RPi 2, 3 and 4 with the new Raspberry Pi OS, for 32 and 64-bit]]></description>
      <category><![CDATA[Docker, Raspberry Pi]]></category>
    </item>
    <item>
      <title><![CDATA[Is this a dependency or devDependency?]]></title>
      <link>https://withblue.ink/2020/06/is-this-a-dependency-or-devdependency</link>
      <guid isPermaLink="true">https://withblue.ink/2020/06/is-this-a-dependency-or-devdependency</guid>
      <pubDate>Sun, 07 Jun 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[Where to put NPM modules in package.json: it's not as simple as it seems]]></description>
      <category><![CDATA[JavaScript]]></category>
    </item>
    <item>
      <title><![CDATA[How (and why) to sign Git commits]]></title>
      <link>https://withblue.ink/2020/05/how-and-why-to-sign-git-commits</link>
      <guid isPermaLink="true">https://withblue.ink/2020/05/how-and-why-to-sign-git-commits</guid>
      <pubDate>Sun, 17 May 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[Authenticate your commits, plus get them the "Verified" badge on GitHub]]></description>
      <category><![CDATA[Git, Security]]></category>
    </item>
    <item>
      <title><![CDATA[Please everyone, stop writing your own user authentication code]]></title>
      <link>https://withblue.ink/2020/04/stop-writing-your-own-user-authentication-code</link>
      <guid isPermaLink="true">https://withblue.ink/2020/04/stop-writing-your-own-user-authentication-code</guid>
      <pubDate>Wed, 08 Apr 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[It's time to adopt safer solutions, and save time and money]]></description>
      <category><![CDATA[Authentication, Security]]></category>
    </item>
    <item>
      <title><![CDATA[Watch: JavaScript apps going Inter-Planetary]]></title>
      <link>https://withblue.ink/2020/01/watch-javascript-apps-going-inter-planetary</link>
      <guid isPermaLink="true">https://withblue.ink/2020/01/watch-javascript-apps-going-inter-planetary</guid>
      <pubDate>Tue, 21 Jan 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[My talk at Node+JS Interactive 2019]]></description>
      <category><![CDATA[JavaScript, IPFS]]></category>
    </item>
    <item>
      <title><![CDATA[Auto-mounting encrypted drives with a remote key on Linux]]></title>
      <link>https://withblue.ink/2020/01/auto-mounting-encrypted-drives-with-a-remote-key-on-linux</link>
      <guid isPermaLink="true">https://withblue.ink/2020/01/auto-mounting-encrypted-drives-with-a-remote-key-on-linux</guid>
      <pubDate>Sun, 19 Jan 2020 00:00:00 GMT</pubDate>
      <description><![CDATA[Using dm-crypt and auto-mounting a drive without storing the key on the local disk]]></description>
      <category><![CDATA[Linux, Security]]></category>
    </item>
    <item>
      <title><![CDATA[Your next app may not have a backend]]></title>
      <link>https://withblue.ink/2019/11/your-next-app-may-not-have-a-backend</link>
      <guid isPermaLink="true">https://withblue.ink/2019/11/your-next-app-may-not-have-a-backend</guid>
      <pubDate>Sat, 16 Nov 2019 14:06:00 GMT</pubDate>
      <description><![CDATA[A look at the JAMstack, and what could be next]]></description>
      <category><![CDATA[JavaScript, Architecture]]></category>
    </item>
    <item>
      <title><![CDATA[Reinstalling pfSense and restoring from backup]]></title>
      <link>https://withblue.ink/2019/09/reinstalling-pfsense-and-restoring-from-backup</link>
      <guid isPermaLink="true">https://withblue.ink/2019/09/reinstalling-pfsense-and-restoring-from-backup</guid>
      <pubDate>Sat, 14 Sep 2019 22:14:00 GMT</pubDate>
      <description><![CDATA[When you have no other option to quickly bring your network back up]]></description>
      <category><![CDATA[Networking, Homelab]]></category>
    </item>
    <item>
      <title><![CDATA[How to pass variables in Azure Pipelines YAML tasks]]></title>
      <link>https://withblue.ink/2019/08/how-to-pass-variables-in-azure-pipelines-yaml-tasks</link>
      <guid isPermaLink="true">https://withblue.ink/2019/08/how-to-pass-variables-in-azure-pipelines-yaml-tasks</guid>
      <pubDate>Mon, 05 Aug 2019 19:14:00 GMT</pubDate>
      <description><![CDATA[Passing variables between steps, jobs, and stages: explained]]></description>
      <category><![CDATA[Azure, DevOps]]></category>
    </item>
    <item>
      <title><![CDATA[Cloud native, container-ready PHP]]></title>
      <link>https://withblue.ink/2019/07/cloud-native-container-ready-php</link>
      <guid isPermaLink="true">https://withblue.ink/2019/07/cloud-native-container-ready-php</guid>
      <pubDate>Wed, 24 Jul 2019 20:14:00 GMT</pubDate>
      <description><![CDATA[Building PHP apps and microservices for containers and high availability]]></description>
      <category><![CDATA[PHP, Containers]]></category>
    </item>
    <item>
      <title><![CDATA[Yes, you can run Docker on Raspbian]]></title>
      <link>https://withblue.ink/2019/07/yes-you-can-run-docker-on-raspbian</link>
      <guid isPermaLink="true">https://withblue.ink/2019/07/yes-you-can-run-docker-on-raspbian</guid>
      <pubDate>Sat, 13 Jul 2019 10:14:00 GMT</pubDate>
      <description><![CDATA[Very simple steps for getting Docker and Docker Compose on Raspberry Pi 2, 3 and 4]]></description>
      <category><![CDATA[Docker, Raspberry Pi]]></category>
    </item>
    <item>
      <title><![CDATA[I loved jQuery, and still do]]></title>
      <link>https://withblue.ink/2019/04/i-loved-jquery-and-still-do</link>
      <guid isPermaLink="true">https://withblue.ink/2019/04/i-loved-jquery-and-still-do</guid>
      <pubDate>Fri, 12 Apr 2019 17:10:00 GMT</pubDate>
      <description><![CDATA[In defense of one of the most important JavaScript libraries ever]]></description>
      <category><![CDATA[JavaScript, Frontend]]></category>
    </item>
    <item>
      <title><![CDATA[Getting TLS certificates from Azure Key Vault with Go]]></title>
      <link>https://withblue.ink/2019/04/getting-tls-certificates-from-azure-key-vault-with-go</link>
      <guid isPermaLink="true">https://withblue.ink/2019/04/getting-tls-certificates-from-azure-key-vault-with-go</guid>
      <pubDate>Sun, 07 Apr 2019 16:26:00 GMT</pubDate>
      <description><![CDATA[Whether you're using Go or another language, some advice and code to save you time]]></description>
      <category><![CDATA[Go, Azure]]></category>
    </item>
    <item>
      <title><![CDATA[Hugo and IPFS: how this blog works (and scales to serve 5,000% spikes instantly!)]]></title>
      <link>https://withblue.ink/2019/03/hugo-and-ipfs-how-this-blog-works-and-scales</link>
      <guid isPermaLink="true">https://withblue.ink/2019/03/hugo-and-ipfs-how-this-blog-works-and-scales</guid>
      <pubDate>Wed, 20 Mar 2019 07:00:00 GMT</pubDate>
      <description><![CDATA[Learnings from real-world experience with IPFS, and the curious stack that powers this website]]></description>
      <category><![CDATA[Hugo, IPFS]]></category>
    </item>
    <item>
      <title><![CDATA[What happens to your digital life after you're gone? Introducing Hereditas]]></title>
      <link>https://withblue.ink/2019/03/what-happens-to-your-digital-life-after-you-die-introducing-hereditas</link>
      <guid isPermaLink="true">https://withblue.ink/2019/03/what-happens-to-your-digital-life-after-you-die-introducing-hereditas</guid>
      <pubDate>Mon, 18 Mar 2019 07:00:00 GMT</pubDate>
      <description><![CDATA[An open source static site generator for a fully-trustless digital legacy box]]></description>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[When "Zoë" !== "Zoë". Or why you need to normalize Unicode strings]]></title>
      <link>https://withblue.ink/2019/03/why-you-need-to-normalize-unicode-strings</link>
      <guid isPermaLink="true">https://withblue.ink/2019/03/why-you-need-to-normalize-unicode-strings</guid>
      <pubDate>Mon, 11 Mar 2019 23:34:00 GMT</pubDate>
      <description><![CDATA[Never heard of Unicode normalization? You’re not alone. But it will save you a lot of trouble.]]></description>
      <category><![CDATA[JavaScript, Unicode]]></category>
    </item>
    <item>
      <title><![CDATA[Node.js web apps in Ubuntu, production-ready]]></title>
      <link>https://withblue.ink/2018/12/node-js-web-apps-in-ubuntu-production-ready</link>
      <guid isPermaLink="true">https://withblue.ink/2018/12/node-js-web-apps-in-ubuntu-production-ready</guid>
      <pubDate>Sun, 02 Dec 2018 12:05:00 GMT</pubDate>
      <description><![CDATA[Step-by-step instructions for running Node.js in production with systemd]]></description>
      <category><![CDATA[Node.js, Linux]]></category>
    </item>
    <item>
      <title><![CDATA[Distributed Web: host your website with IPFS clusters, Cloudflare, and DevOps]]></title>
      <link>https://withblue.ink/2018/11/distributed-web-host-your-website-with-ipfs-clusters-cloudflare-and-devops</link>
      <guid isPermaLink="true">https://withblue.ink/2018/11/distributed-web-host-your-website-with-ipfs-clusters-cloudflare-and-devops</guid>
      <pubDate>Wed, 14 Nov 2018 08:39:00 GMT</pubDate>
      <description><![CDATA[Static website development for the "Web 3.0", and optional CI/CD with Azure DevOps]]></description>
      <category><![CDATA[IPFS, DevOps]]></category>
    </item>
    <item>
      <title><![CDATA[How to use s3cmd and any other Amazon S3-compatible app with Azure Blob Storage]]></title>
      <link>https://withblue.ink/2017/10/how-to-use-s3cmd-and-any-other-amazon-s3-compatible-app-with-azure-blob-storage</link>
      <guid isPermaLink="true">https://withblue.ink/2017/10/how-to-use-s3cmd-and-any-other-amazon-s3-compatible-app-with-azure-blob-storage</guid>
      <pubDate>Sun, 29 Oct 2017 21:44:00 GMT</pubDate>
      <description><![CDATA[A world of apps and tools finally working with Azure Storage, in just 5 minutes!]]></description>
      <category><![CDATA[Azure, Storage]]></category>
    </item>
    <item>
      <title><![CDATA[Solving FreeNAS jails on a dedicated NIC]]></title>
      <link>https://withblue.ink/2017/09/solving-freenas-jails-on-a-dedicated-nic</link>
      <guid isPermaLink="true">https://withblue.ink/2017/09/solving-freenas-jails-on-a-dedicated-nic</guid>
      <pubDate>Sun, 17 Sep 2017 15:42:00 GMT</pubDate>
      <description><![CDATA[A simple, working solution for jails in different VLANs, or just with dedicated IPs]]></description>
      <category><![CDATA[FreeBSD, Networking]]></category>
    </item>
    <item>
      <title><![CDATA[Getting started with ZFS on FreeBSD on Azure]]></title>
      <link>https://withblue.ink/2016/10/getting-started-with-zfs-on-freebsd-on-azure</link>
      <guid isPermaLink="true">https://withblue.ink/2016/10/getting-started-with-zfs-on-freebsd-on-azure</guid>
      <pubDate>Fri, 21 Oct 2016 19:04:00 GMT</pubDate>
      <description><![CDATA[Enterprise-class storage for your data disks, with optional encryption]]></description>
      <category><![CDATA[FreeBSD, Azure]]></category>
    </item>
    <item>
      <title><![CDATA[Adding a NuGet package source on macOS and Linux]]></title>
      <link>https://withblue.ink/2016/09/adding-a-nuget-package-source-on-macos-and-linux</link>
      <guid isPermaLink="true">https://withblue.ink/2016/09/adding-a-nuget-package-source-on-macos-and-linux</guid>
      <pubDate>Sun, 25 Sep 2016 20:42:00 GMT</pubDate>
      <description><![CDATA[How to unblock MyGet and other custom feeds]]></description>
      <category><![CDATA[.NET, macOS]]></category>
    </item>
    <item>
      <title><![CDATA[Stop SSH brute force attempts]]></title>
      <link>https://withblue.ink/2016/07/stop-ssh-brute-force-attempts</link>
      <guid isPermaLink="true">https://withblue.ink/2016/07/stop-ssh-brute-force-attempts</guid>
      <pubDate>Fri, 15 Jul 2016 19:42:00 GMT</pubDate>
      <description><![CDATA[Three effective tips to stop bots that won't harm you in the process]]></description>
      <category><![CDATA[Linux, Security]]></category>
    </item>
    <item>
      <title><![CDATA[What I learnt from using WD Red disks to build a home NAS]]></title>
      <link>https://withblue.ink/2016/07/what-i-learnt-from-using-wd-red-disks-to-build-a-home-nas</link>
      <guid isPermaLink="true">https://withblue.ink/2016/07/what-i-learnt-from-using-wd-red-disks-to-build-a-home-nas</guid>
      <pubDate>Fri, 15 Jul 2016 17:02:00 GMT</pubDate>
      <description><![CDATA[Some important tips to make your drives last longer — and how to spin them down automatically on Linux]]></description>
      <category><![CDATA[Storage, Homelab]]></category>
    </item>
    <item>
      <title><![CDATA[Automation for MariaDB/Galera Cluster setup (Part 2)]]></title>
      <link>https://withblue.ink/2016/05/automation-for-mariadb-galera-cluster-setup-part-2</link>
      <guid isPermaLink="true">https://withblue.ink/2016/05/automation-for-mariadb-galera-cluster-setup-part-2</guid>
      <pubDate>Thu, 12 May 2016 19:02:00 GMT</pubDate>
      <description><![CDATA[Scripts and templates for easy deployments on Azure and other clouds]]></description>
      <category><![CDATA[Databases, Azure]]></category>
    </item>
    <item>
      <title><![CDATA[Galera cluster, MariaDB, CoreOS and Docker (Part 1)]]></title>
      <link>https://withblue.ink/2016/03/galera-cluster-mariadb-coreos-and-docker-part-1</link>
      <guid isPermaLink="true">https://withblue.ink/2016/03/galera-cluster-mariadb-coreos-and-docker-part-1</guid>
      <pubDate>Wed, 09 Mar 2016 23:35:00 GMT</pubDate>
      <description><![CDATA[Get your multi-master, MySQL-like cluster, pain free]]></description>
      <category><![CDATA[Databases, Containers]]></category>
    </item>
    <item>
      <title><![CDATA[Create a RHEL 6 image for Microsoft Azure]]></title>
      <link>https://withblue.ink/2016/01/create-a-rhel-6-image-for-microsoft-azure</link>
      <guid isPermaLink="true">https://withblue.ink/2016/01/create-a-rhel-6-image-for-microsoft-azure</guid>
      <pubDate>Sat, 09 Jan 2016 01:00:00 GMT</pubDate>
      <description><![CDATA[Step-by-step instructions, using VirtualBox]]></description>
      <category><![CDATA[Azure, Linux]]></category>
    </item>
    <item>
      <title><![CDATA[Preparing a Red Hat Enterprise Linux 7 image for Azure using VirtualBox]]></title>
      <link>https://withblue.ink/2015/12/preparing-a-red-hat-enterprise-linux-7-image-for-azure-using-virtualbox</link>
      <guid isPermaLink="true">https://withblue.ink/2015/12/preparing-a-red-hat-enterprise-linux-7-image-for-azure-using-virtualbox</guid>
      <pubDate>Tue, 22 Dec 2015 18:00:00 GMT</pubDate>
      <description><![CDATA[A step-by-step guide]]></description>
      <category><![CDATA[Azure, Linux]]></category>
    </item>
  </channel>
</rss>