<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:source="https://source.scripting.com/">
	<channel>
		<title>Posts on Thoughts of Mine</title>
		<link>https://thoughtsofmine.ca/posts/</link>
		<description>Recent content in Posts on Thoughts of Mine</description>
		<generator>Hugo -- gohugo.io</generator>
		<language>en</language>
		<lastBuildDate>Tue, 10 Feb 2026 16:44:17 -0500</lastBuildDate>
		
		<atom:link href="https://thoughtsofmine.ca/posts/index.xml" rel="self" type="application/rss+xml" />
		<item>
			<title>UPDATED: You Should Use XMPP</title>
			<link>https://thoughtsofmine.ca/posts/xmpp/</link>
			<pubDate>Fri, 13 Feb 2026 13:03:36 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/xmpp/#update-2026-02-13T13%3A03%3A36-05%3A00</guid>
			<update>true</update>
			<description><![CDATA[
<p>For as long as I&rsquo;ve been using the internet, direct messaging, video-and-voice chat, and group messaging have predominantly been the domain of closed services.</p>
<p>I&rsquo;ve used Facebook Messenger, Skype, Discord, and probably a handful of other platforms, and every one of them has gotten worse and worse until a critical mass of my friends got annoyed enough to switch to the next.</p>
<p>Well, that process has been progressing with the most recently adopted option - Discord - and I&rsquo;m fed up. It&rsquo;s time to break the cycle. A lot of the internet is moving towards federated services, and it&rsquo;s time for the messaging space to move with it!</p>
<h2 id="What&amp;rsquo;s-XMPP?-d2ef956c2a4feae5e39647fa1b46be38"><a class="nostyle" href="#What%26rsquo%3bs-XMPP%3f-d2ef956c2a4feae5e39647fa1b46be38">What&rsquo;s XMPP?</a></h2><p>XMPP is a messaging protocol that&rsquo;s been around for nearly 30 years.</p>
<p>It&rsquo;s an open standard that accepts updates by committee, and it&rsquo;s been used all over the internet in places you probably wouldn&rsquo;t expect: Google Talk was built on it, Facebook Messenger was compatible with it from 2010 to 2014, Skype was in 2011 - and according to its Wikipedia article, AOL was compatible with it in 2008, and both Origin and PlayStation use it as their messaging protocols (though they presumably don&rsquo;t allow users to connect to external servers with it).</p>
<p>Speaking of connecting to other servers, that&rsquo;s one of the great things about XMPP: It&rsquo;s federated. Your account lives on a specific server, but that account can connect to other accounts and group chats on other servers as well! No one company runs all of XMPP, and there&rsquo;s no central authority controlling who can use it or what they can say or do.</p>
<p>Its nature as an open standard also means that there&rsquo;s no one official client! There are a variety of clients (most of which are open source) for a variety of platforms, meaning that if you don&rsquo;t like decisions one has made, you can switch to another!</p>
<h2 id="Why-Should-I-Care?-313800bfe508cb879c915cad6e11ff64"><a class="nostyle" href="#Why-Should-I-Care%3f-313800bfe508cb879c915cad6e11ff64">Why Should I Care?</a></h2><p>Alright, so this thing exists. Why should you care about it at all?</p>
<p>Well, to start with, everything about XMPP is open. An open standard means anyone can make a client or server without fear of legal takedowns, and that combined with open-source clients means the <em>community</em> decides what features are or are not added. Open federation means you can communicate with your friends on different servers without a hitch.</p>
<p>Closed services like Discord can start out as good as they want, but their primary motivator is making money, and that means that no matter how good their creators&rsquo; intentions, they will always inevitably get worse. This doesn&rsquo;t and <em>can&rsquo;t</em> happen with open frameworks like XMPP.</p>
<p>Privacy matters for messaging platforms. If you&rsquo;re talking to your friends, you don&rsquo;t want to have to worry about what the company that owns that platform thinks is okay to talk about—or worse, the advertizers or payment processors that keep them afloat. My conversations online should be no more the business of a random corporation than my conversations in-person.</p>
<p>Lastly, <em>sovereignty</em> matters. I&rsquo;m a denizen of the internet, and have been since I was a child: My chatgroups are my <em>home</em> on the internet, and they should <em>feel</em> like home. I don&rsquo;t want my conversations or friends or even just my UI messed around with by some corporation anymore than I want that corporation moving things around in my house, kicking my friends out, and threatening me with a big stick if I don&rsquo;t do as they say.</p>
<p>On the internet, my XMPP server is my home, and I <em>own</em> that home. I feel <em>safe</em> on that home. Do you feel safe on Discord, or Messenger, or Telegram? Me neither.</p>
<h2 id="What&amp;rsquo;s-Bad-About-It?-ea1e783871e87e98f177b5af963537d8"><a class="nostyle" href="#What%26rsquo%3bs-Bad-About-It%3f-ea1e783871e87e98f177b5af963537d8">What&rsquo;s Bad About It?</a></h2><p>Ok great, those are the main selling-points, what&rsquo;s the catch?</p>
<p>Mainly, features.</p>
<p>XMPP has a <em>lot</em> of features <em>in theory</em>, but what matters is which features are <em>implemented</em>, and how widely. The answer to that depends on what server and client (mostly client) you&rsquo;re using, but I&rsquo;ll give an overview.</p>
<p>All the server software and most clients support:</p>
<ul>
<li>Profile pictures, notifications, emoji, etc.</li>
<li>Multi-User Chats / Group chats. This, notably, does not include Discord-style servers, only group chats.</li>
<li>Retrieving missed messages or message history from servers. Minor thing, but XMPP has the least-buggy implementation of this out of any platform I&rsquo;ve used. <em>Especially</em> compared to Discord or Matrix.</li>
<li>File/image sharing</li>
<li>Encrypted messages</li>
<li>Read receipts, replies, and mentions</li>
<li>Message formatting (italics, bold, lists, etc.)</li>
<li>Registering on a public server via your client</li>
</ul>
<p><em>Most</em> clients support:</p>
<ul>
<li>Video and Voice calling - Every client I&rsquo;ve used except Gajim supports this, but Gajim is the most accessible client on Windows.</li>
</ul>
<p>Most clients <em>don&rsquo;t yet</em> support:</p>
<ul>
<li>Discord-style custom emoji - there&rsquo;s <a href="https://linkmauve.fr/extensions/xep-0231.html">an extension specification</a> for it and some other related features, but most clients don&rsquo;t support using it for custom emoji yet. Once they do, which custom emoji you can use will likely depend entirely on what emoji you have added on your client, which is nice.</li>
<li>Voice messages and stickers - they&rsquo;re both part of the aforementioned specification, and <em>some</em> clients support them, but most don&rsquo;t. Gajim supports voice messages, and Movim supports voice messages and stickers.</li>
<li>Discord-style guilds/servers - there&rsquo;s <a href="https://xmpp.org/extensions/xep-0503.html">an extension specification</a> for it, it&rsquo;s just really recent, so it&rsquo;s not really implemented anywhere yet. This will probably exist in a year or so. Until then, you can still group chatrooms client-side in basically every client, there just aren&rsquo;t server-defined groups of them.</li>
</ul>
<p>Some clients will soon apparently support:</p>
<ul>
<li>Serverless client-to-client messaging - messaging other people peer-to-peer without a server. Apparently Gajim supports this? But I haven&rsquo;t tested it yet. Either way, it&rsquo;s a cool feature to look forward to.</li>
</ul>
<h2 id="What&amp;rsquo;s-Good-About-It?-bab432ed37ae63e46f8412f70ca03f15"><a class="nostyle" href="#What%26rsquo%3bs-Good-About-It%3f-bab432ed37ae63e46f8412f70ca03f15">What&rsquo;s Good About It?</a></h2><h3 id="It-Works-3e0a7378a1e2b7d0bcc380a0bd992550"><a class="nostyle" href="#It-Works-3e0a7378a1e2b7d0bcc380a0bd992550">It Works</a></h3><p>Current implementations are missing a few features, but XMPP has all the essential features for you to begin using it right now. Other in-the-works alternatives such as Stoat (formerly Revolt) are still missing basic features like notifications, but XMPP is fully-functional.</p>
<h3 id="It&amp;rsquo;s-Improving-fe70b939e2226123affb9a4fa4249d9f"><a class="nostyle" href="#It%26rsquo%3bs-Improving-fe70b939e2226123affb9a4fa4249d9f">It&rsquo;s Improving</a></h3><p>The clients and protocol are and have been improving slowly but surely. The standards-based feature-set means that developers and users are able to talk over features before they&rsquo;re implemented, instead of haphazardly adding things nobody wants, and the open protocol means that if a client makes changes you don&rsquo;t like, you or someone who agrees with you can fork that client or make their own, without being in violation of terms of service like they would be for doing the same with Discord or other closed apps.</p>
<h3 id="It&amp;rsquo;s-Federated-1fb096c0625f157091ed80fc60158215"><a class="nostyle" href="#It%26rsquo%3bs-Federated-1fb096c0625f157091ed80fc60158215">It&rsquo;s Federated</a></h3><p>Unlike both mainstream options such as Discord or Messenger <em>and</em> alternatives such as Signal or Stoat, XMPP&rsquo;s federated nature means that you <em>aren&rsquo;t</em> reliant on one centralized service.</p>
<p>If Signal&rsquo;s servers are taken down and the company is attacked by national governments, you might not be able to keep using it; if Stoat runs out of funding for their servers, you might lose contact with your friends; but if your XMPP server goes down, you can move to a new one, add your contacts back, and go back to your life without much fuss.</p>
<h3 id="It&amp;rsquo;s-Friendly-0dce6113e46edd1fa6b434140c327a26"><a class="nostyle" href="#It%26rsquo%3bs-Friendly-0dce6113e46edd1fa6b434140c327a26">It&rsquo;s Friendly</a></h3><p>XMPP&rsquo;s protocols and interfaces are functional and relatively easy to use. They might not be quite as seamless and polished as something like Discord, but they&rsquo;re a far cry from the constant security-hounding and obtuse interfaces of something like Matrix.</p>
<p>If I were to use one word to describe the difference in feeling between using it and XMPP, it really is &ldquo;friendly&rdquo;. XMPP lets me access all of my messages easily, has much better multi-account handling, and doesn&rsquo;t constantly force me to use excessive security features while still leaking my data.<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent0-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent0-0:1')"
    class="footnote-ref" id="fnref0-0:1">
        <a href="#fn0:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent0-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent0-0:1')"
    class="footnote-ref-display" id="fnrefcontent0-0:1">
        See <a href="https://anarc.at/blog/2022-06-17-matrix-notes/">Matrix Notes</a> by Anarcat.
    </span></span><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent0-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent0-0:2')"
    class="footnote-ref" id="fnref0-0:2">
        <a href="#fn0:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent0-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent0-0:2')"
    class="footnote-ref-display" id="fnrefcontent0-0:2">
        See also <a href="https://lukesmith.xyz/articles/matrix-vs-xmpp/">Matrix vs. XMPP </a>by Luke Smith. Fair notice: I don&rsquo;t endorse Luke Smith&rsquo;s politics. His stances on technology are pretty good though.
    </span></span></p>
<h3 id="It&amp;rsquo;s-Here-To-Stay-b105f6102db8497237fd4f363c970bed"><a class="nostyle" href="#It%26rsquo%3bs-Here-To-Stay-b105f6102db8497237fd4f363c970bed">It&rsquo;s Here To Stay</a></h3><p>XMPP has been around for nearly 30 years now, and in that time it&rsquo;s survived <em>multiple</em> attempts to replace it with services which nobody uses anymore. AOL is dead, Skype is dead, Google Talk is dead, but XMPP lives on.</p>
<p>Its open nature and extensibility means that XMPP <em>cannot</em> ever truly be killed.</p>
<h3 id="It-Isn&amp;rsquo;t-Just-Getting-Worse-914b9918cf0f68a4a67ab192a082f80e"><a class="nostyle" href="#It-Isn%26rsquo%3bt-Just-Getting-Worse-914b9918cf0f68a4a67ab192a082f80e">It Isn&rsquo;t Just Getting Worse</a></h3><p>The last advantage to XMPP&rsquo;s nature as an open protocol primarily run on open-source software is that it isn&rsquo;t vulnerable to the corrosive effects of profit incentives and monetization.</p>
<p>This article is being posted now because Discord is pushing age verification in order to make it seem like they&rsquo;re doing something about the abuse on their platform, making it worse for the sake of appealing to payment providers and government officials. XMPP will never—<em>can</em> never do that. Discord adds premium-only features that should be available to all users, and then adds more that get in the way of the base usage. XMPP, again cannot and will not ever do that.</p>
<p>It isn&rsquo;t perfect, but it&rsquo;s as imperfect as it will ever be. It&rsquo;s getting better, not worse.</p>
<h2 id="How-Do-I-Start?-2c69a99c6bddcb90abf1e6f3c4ae6ef5"><a class="nostyle" href="#How-Do-I-Start%3f-2c69a99c6bddcb90abf1e6f3c4ae6ef5">How Do I Start?</a></h2><h3 id="Getting-an-Account-b0a9e3b78cd4e1fac6f49bf4e6ffbd85"><a class="nostyle" href="#Getting-an-Account-b0a9e3b78cd4e1fac6f49bf4e6ffbd85">Getting an Account</a></h3><p>Being federated means that there isn&rsquo;t one canonical place to create your XMPP account, and that means you need to choose a server.</p>
<ol>
<li>(Easiest for everyone) Find an open-registration server from <a href="https://list.jabber.at/">this list</a>, and register there.</li>
<li>(If you&rsquo;re a friend of mine) You can message me and ask for an account on my server, and I&rsquo;ll make you one!</li>
<li>(If you&rsquo;re technically-inclined) You can host your own server! I recommend <a href="https://github.com/processone/ejabberd/">ejabberd</a>.</li>
</ol>
<p>Once you have an account, you&rsquo;ll want to select a client or clients and login on them. Most clients actually support registering within the client, but there&rsquo;s no convenient list of servers in them, so you still need to decide where to register first.</p>
<h3 id="Choosing-a-Client-57b75c1615f10e1934bf6dc957a43148"><a class="nostyle" href="#Choosing-a-Client-57b75c1615f10e1934bf6dc957a43148">Choosing a Client</a></h3><p>I&rsquo;ve split these up by platform, since you&rsquo;ll presumably want to use this on all of your devices.</p>
<h4 id="Android-c31b32364ce19ca8fcd150a417ecce58"><a class="nostyle" href="#Android-c31b32364ce19ca8fcd150a417ecce58">Android</a></h4><h5 id="Conversations-59a2e7f36a7c6da6c6d5bcf42857574e"><a class="nostyle" href="#Conversations-59a2e7f36a7c6da6c6d5bcf42857574e">Conversations</a></h5><p><a href="https://conversations.im/">Conversations</a> a very good Android XMPP client, and close to the best overall native client, to boot.</p>
<p>The two major features it doesn&rsquo;t support are message editing and workspaces (groups of chats). These aren&rsquo;t usually a major problem, but it <em>is</em> weird that it doesn&rsquo;t have them.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/conversations.png" alt="Screenshot of Conversations, from their website" /></div>
<h5 id="Monocles-5fafe9f2e56a9852df0f70dd8591f541"><a class="nostyle" href="#Monocles-5fafe9f2e56a9852df0f70dd8591f541">Monocles</a></h5><p><a href="https://codeberg.org/monocles/monocles_chat/src/branch/master/README-en.md">Monocles</a> is a very good fork of Conversations, with a few added features and better multi-account support.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monocles.jpeg" alt="Screenshot of Monocles, from their website" /></div>
<h4 id="IOS-and-MacOS-f596b670444819c3817c6cd86615ab9b"><a class="nostyle" href="#IOS-and-MacOS-f596b670444819c3817c6cd86615ab9b">IOS and MacOS</a></h4><h5 id="Monal-c86a277571a84811d30e94b0d8252e8d"><a class="nostyle" href="#Monal-c86a277571a84811d30e94b0d8252e8d">Monal</a></h5><p>I don&rsquo;t use IOS or MacOS, but the best client for both appears to be <a href="https://monal-im.org/">Monal</a>.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monal.png" alt="Screenshot of Monal on IOS, from their website" /></div><div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monal-desktop.png" alt="Screenshot of Monal on MacOS, from their website" /></div>
<h4 id="Windows-and-Linux-c1f052cf0fbe4339524d49204e40e21b"><a class="nostyle" href="#Windows-and-Linux-c1f052cf0fbe4339524d49204e40e21b">Windows and Linux</a></h4><h5 id="Fluux-fbbd1486916cacee8ad29f079346779e"><a class="nostyle" href="#Fluux-fbbd1486916cacee8ad29f079346779e">Fluux</a></h5><p>Adding this after the original posting because <em>wow</em>. Fluux doesn&rsquo;t yet support calling and isn&rsquo;t <em>quite</em> as feature-complete as Gajim, but it&rsquo;s <em>close</em>, it looks <em>beautiful</em>, and it&rsquo;s <em>like a month old!</em> Seriously, the first commit to the git repo is from <em>January!</em> <em>This</em> January!</p>
<p>Bonus points: It&rsquo;s built in rust—in <em>Tauri,</em> so pretty soon it&rsquo;ll be available <em>cross-platform!</em> The current build is available for Linux, Windows, and MacOS, but I&rsquo;ll <em>bet</em> Android and iOS are hot on the way.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/fluux.png" alt="Screenshot of Fluux, with some information bluured for privacy" /></div>
<h5 id="Gajim-1d16e5833f5e7e06eacbeebee1735c8a"><a class="nostyle" href="#Gajim-1d16e5833f5e7e06eacbeebee1735c8a">Gajim</a></h5><p><a href="https://gajim.org/">Gajim</a> has my favorite desktop UI, and is the most stable and feature-complete, except it doesn&rsquo;t currently support calling.</p>
<p>It&rsquo;s available for both Windows and Linux.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/gajim.png" alt="Screenshot of Gajim" /></div>
<h5 id="Dino-b246ff693d453c3b1a3049752da2bc75"><a class="nostyle" href="#Dino-b246ff693d453c3b1a3049752da2bc75">Dino</a></h5><p><a href="https://dino.im/">Dino</a> supports calling, but is slightly less stable in my experience than Gajim, and I don&rsquo;t like the UI as much.</p>
<p>It&rsquo;s available on most Linux package managers, and there are <a href="https://github.com/LAGonauta/dino/actions/runs/16550165071#artifacts">unofficial Windows builds available</a>, but the main app doesn&rsquo;t have an official Windows build yet.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/dino.png" alt="Screenshot of Dino" /></div>
<h5 id="Pidgin-9b35f65cd0ec0e42938e951779b92132"><a class="nostyle" href="#Pidgin-9b35f65cd0ec0e42938e951779b92132">Pidgin</a></h5><p><a href="https://pidgin.im/">Pidgin</a> looks like it came out in the early 2000s and doesn&rsquo;t support the most widely-used encryption method without <a href="https://github.com/gkdr/lurch">a plugin</a>. However, it has support for a <em>bunch</em> of chat protocols, including Discord, which makes it easier to switch to.</p>
<p>It supports voice and video chat in XMPP, but potentially only on Linux.</p>
<p>It&rsquo;s available for both Windows and Linux.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/pidgin.png" alt="Screenshot of Pidgin, with a large number of windows on-screen" /></div>
<p>Plus, I was able to theme mine to look like Homestuck&rsquo;s Pesterchum!</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/pidgin%20pesterchum.png" alt="Screenshot of Pesterchum and Pidgin, with Pidgin themed to look like Pesterchum" /></div>
<p>It <em>does</em> have a <a href="https://discourse.imfreedom.org/t/pidgin-3-0-0-experimental-3-2-92-1-has-been-released/296">new version</a> in the works, but that&rsquo;s not fully functional yet, so keep an eye out for when it releases.</p>
<h4 id="Web-2567a5ec9705eb7ac2c984033e06189d"><a class="nostyle" href="#Web-2567a5ec9705eb7ac2c984033e06189d">Web</a></h4><h5 id="Movim-0cae6abec721134fd4d6e9c31e77b66b"><a class="nostyle" href="#Movim-0cae6abec721134fd4d6e9c31e77b66b">Movim</a></h5><p><a href="https://movim.eu/">Movim</a> appears to be doing something interesting and trying to be an XMPP-based social media platform, with social blogging features.</p>
<p>It&rsquo;s web-only, but it&rsquo;s <em>clearly</em> trying new and interesting things, and it has the most modern UI out of probably every app here, so it&rsquo;s probably worth checking out.</p>
<p>It does support calling.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/movim%20chatroom.png" alt="Screenshot of Movim messenger" /></div><div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/movim%20blog.png" alt="Screenshot of a Movim blog post" /></div>
<h5 id="Converse.js-c2b231f2253c49920e94028cd694902b"><a class="nostyle" href="#Converse.js-c2b231f2253c49920e94028cd694902b">Converse.js</a></h5><p><a href="https://conversejs.org/">Converse.js</a> is a web-based client also available for desktop on Windows, Mac, and Linux.</p>
<p>It appears to be mostly feature-complete and doesn&rsquo;t look bad, but I&rsquo;m listing it last because web-based desktop applications are resource hogs and I don&rsquo;t recommend them, and also because it doesn&rsquo;t support calling.</p>
<p>That said, if you&rsquo;re having problems with other clients, Converse.js is probably a decent fallback.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/conversejs.png" alt="Screenshot of Converse.js" /></div>
<h2 id="Conclusion-b669f32badeb976700cb6c9f7c7b5cdf"><a class="nostyle" href="#Conclusion-b669f32badeb976700cb6c9f7c7b5cdf">Conclusion</a></h2><p>Ok, you&rsquo;ve got an account, you&rsquo;ve got a client: Go out there and connect! Get your friends to join, suggest it for the next group chat you need, and enjoy being free from corporate enshitification forevermore!</p>
<p>I know network effects are intimidating, and not everyone wants to up and join some new thing, but XMPP is <em>good</em> - better yet, it&rsquo;s <em>improving</em>, unlike other platforms - and <em>you can just do things!</em> There are opportunities! Even if you can&rsquo;t get an old group to switch, consider it the next time you or a friend is considering making a new one! It&rsquo;s brighter and freeer over here, and I can&rsquo;t wait for you to join me.</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn0:1">
        See <a href="https://anarc.at/blog/2022-06-17-matrix-notes/">Matrix Notes</a> by Anarcat.<a class="footnote-return" href="#fnref0-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn0:2">
        See also <a href="https://lukesmith.xyz/articles/matrix-vs-xmpp/">Matrix vs. XMPP </a>by Luke Smith. Fair notice: I don&rsquo;t endorse Luke Smith&rsquo;s politics. His stances on technology are pretty good though.<a class="footnote-return" href="#fnref0-0:2" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>You Should Use XMPP</title>
			<link>https://thoughtsofmine.ca/posts/xmpp/</link>
			<pubDate>Tue, 10 Feb 2026 16:44:17 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/xmpp/</guid>
			<update>false</update>
			<description><![CDATA[
<p>For as long as I&rsquo;ve been using the internet, direct messaging, video-and-voice chat, and group messaging have predominantly been the domain of closed services.</p>
<p>I&rsquo;ve used Facebook Messenger, Skype, Discord, and probably a handful of other platforms, and every one of them has gotten worse and worse until a critical mass of my friends got annoyed enough to switch to the next.</p>
<p>Well, that process has been progressing with the most recently adopted option - Discord - and I&rsquo;m fed up. It&rsquo;s time to break the cycle. A lot of the internet is moving towards federated services, and it&rsquo;s time for the messaging space to move with it!</p>
<h2 id="What&amp;rsquo;s-XMPP?-d2ef956c2a4feae5e39647fa1b46be38"><a class="nostyle" href="#What%26rsquo%3bs-XMPP%3f-d2ef956c2a4feae5e39647fa1b46be38">What&rsquo;s XMPP?</a></h2><p>XMPP is a messaging protocol that&rsquo;s been around for nearly 30 years.</p>
<p>It&rsquo;s an open standard that accepts updates by committee, and it&rsquo;s been used all over the internet in places you probably wouldn&rsquo;t expect: Google Talk was built on it, Facebook Messenger was compatible with it from 2010 to 2014, Skype was in 2011 - and according to its Wikipedia article, AOL was compatible with it in 2008, and both Origin and PlayStation use it as their messaging protocols (though they presumably don&rsquo;t allow users to connect to external servers with it).</p>
<p>Speaking of connecting to other servers, that&rsquo;s one of the great things about XMPP: It&rsquo;s federated. Your account lives on a specific server, but that account can connect to other accounts and group chats on other servers as well! No one company runs all of XMPP, and there&rsquo;s no central authority controlling who can use it or what they can say or do.</p>
<p>Its nature as an open standard also means that there&rsquo;s no one official client! There are a variety of clients (most of which are open source) for a variety of platforms, meaning that if you don&rsquo;t like decisions one has made, you can switch to another!</p>
<h2 id="Why-Should-I-Care?-313800bfe508cb879c915cad6e11ff64"><a class="nostyle" href="#Why-Should-I-Care%3f-313800bfe508cb879c915cad6e11ff64">Why Should I Care?</a></h2><p>Alright, so this thing exists. Why should you care about it at all?</p>
<p>Well, to start with, everything about XMPP is open. An open standard means anyone can make a client or server without fear of legal takedowns, and that combined with open-source clients means the <em>community</em> decides what features are or are not added. Open federation means you can communicate with your friends on different servers without a hitch.</p>
<p>Closed services like Discord can start out as good as they want, but their primary motivator is making money, and that means that no matter how good their creators&rsquo; intentions, they will always inevitably get worse. This doesn&rsquo;t and <em>can&rsquo;t</em> happen with open frameworks like XMPP.</p>
<p>Privacy matters for messaging platforms. If you&rsquo;re talking to your friends, you don&rsquo;t want to have to worry about what the company that owns that platform thinks is okay to talk about—or worse, the advertizers or payment processors that keep them afloat. My conversations online should be no more the business of a random corporation than my conversations in-person.</p>
<p>Lastly, <em>sovereignty</em> matters. I&rsquo;m a denizen of the internet, and have been since I was a child: My chatgroups are my <em>home</em> on the internet, and they should <em>feel</em> like home. I don&rsquo;t want my conversations or friends or even just my UI messed around with by some corporation anymore than I want that corporation moving things around in my house, kicking my friends out, and threatening me with a big stick if I don&rsquo;t do as they say.</p>
<p>On the internet, my XMPP server is my home, and I <em>own</em> that home. I feel <em>safe</em> on that home. Do you feel safe on Discord, or Messenger, or Telegram? Me neither.</p>
<h2 id="What&amp;rsquo;s-Bad-About-It?-ea1e783871e87e98f177b5af963537d8"><a class="nostyle" href="#What%26rsquo%3bs-Bad-About-It%3f-ea1e783871e87e98f177b5af963537d8">What&rsquo;s Bad About It?</a></h2><p>Ok great, those are the main selling-points, what&rsquo;s the catch?</p>
<p>Mainly, features.</p>
<p>XMPP has a <em>lot</em> of features <em>in theory</em>, but what matters is which features are <em>implemented</em>, and how widely. The answer to that depends on what server and client (mostly client) you&rsquo;re using, but I&rsquo;ll give an overview.</p>
<p>All the server software and most clients support:</p>
<ul>
<li>Profile pictures, notifications, emoji, etc.</li>
<li>Multi-User Chats / Group chats. This, notably, does not include Discord-style servers, only group chats.</li>
<li>Retrieving missed messages or message history from servers. Minor thing, but XMPP has the least-buggy implementation of this out of any platform I&rsquo;ve used. <em>Especially</em> compared to Discord or Matrix.</li>
<li>File/image sharing</li>
<li>Encrypted messages</li>
<li>Read receipts, replies, and mentions</li>
<li>Message formatting (italics, bold, lists, etc.)</li>
<li>Registering on a public server via your client</li>
</ul>
<p><em>Most</em> clients support:</p>
<ul>
<li>Video and Voice calling - Every client I&rsquo;ve used except Gajim supports this, but Gajim is the most accessible client on Windows.</li>
</ul>
<p>Most clients <em>don&rsquo;t yet</em> support:</p>
<ul>
<li>Discord-style custom emoji - there&rsquo;s <a href="https://linkmauve.fr/extensions/xep-0231.html">an extension specification</a> for it and some other related features, but most clients don&rsquo;t support using it for custom emoji yet. Once they do, which custom emoji you can use will likely depend entirely on what emoji you have added on your client, which is nice.</li>
<li>Voice messages and stickers - they&rsquo;re both part of the aforementioned specification, and <em>some</em> clients support them, but most don&rsquo;t. Gajim supports voice messages, and Movim supports voice messages and stickers.</li>
<li>Discord-style guilds/servers - there&rsquo;s <a href="https://xmpp.org/extensions/xep-0503.html">an extension specification</a> for it, it&rsquo;s just really recent, so it&rsquo;s not really implemented anywhere yet. This will probably exist in a year or so. Until then, you can still group chatrooms client-side in basically every client, there just aren&rsquo;t server-defined groups of them.</li>
</ul>
<p>Some clients will soon apparently support:</p>
<ul>
<li>Serverless client-to-client messaging - messaging other people peer-to-peer without a server. Apparently Gajim supports this? But I haven&rsquo;t tested it yet. Either way, it&rsquo;s a cool feature to look forward to.</li>
</ul>
<h2 id="What&amp;rsquo;s-Good-About-It?-bab432ed37ae63e46f8412f70ca03f15"><a class="nostyle" href="#What%26rsquo%3bs-Good-About-It%3f-bab432ed37ae63e46f8412f70ca03f15">What&rsquo;s Good About It?</a></h2><h3 id="It-Works-3e0a7378a1e2b7d0bcc380a0bd992550"><a class="nostyle" href="#It-Works-3e0a7378a1e2b7d0bcc380a0bd992550">It Works</a></h3><p>Current implementations are missing a few features, but XMPP has all the essential features for you to begin using it right now. Other in-the-works alternatives such as Stoat (formerly Revolt) are still missing basic features like notifications, but XMPP is fully-functional.</p>
<h3 id="It&amp;rsquo;s-Improving-fe70b939e2226123affb9a4fa4249d9f"><a class="nostyle" href="#It%26rsquo%3bs-Improving-fe70b939e2226123affb9a4fa4249d9f">It&rsquo;s Improving</a></h3><p>The clients and protocol are and have been improving slowly but surely. The standards-based feature-set means that developers and users are able to talk over features before they&rsquo;re implemented, instead of haphazardly adding things nobody wants, and the open protocol means that if a client makes changes you don&rsquo;t like, you or someone who agrees with you can fork that client or make their own, without being in violation of terms of service like they would be for doing the same with Discord or other closed apps.</p>
<h3 id="It&amp;rsquo;s-Federated-1fb096c0625f157091ed80fc60158215"><a class="nostyle" href="#It%26rsquo%3bs-Federated-1fb096c0625f157091ed80fc60158215">It&rsquo;s Federated</a></h3><p>Unlike both mainstream options such as Discord or Messenger <em>and</em> alternatives such as Signal or Stoat, XMPP&rsquo;s federated nature means that you <em>aren&rsquo;t</em> reliant on one centralized service.</p>
<p>If Signal&rsquo;s servers are taken down and the company is attacked by national governments, you might not be able to keep using it; if Stoat runs out of funding for their servers, you might lose contact with your friends; but if your XMPP server goes down, you can move to a new one, add your contacts back, and go back to your life without much fuss.</p>
<h3 id="It&amp;rsquo;s-Friendly-0dce6113e46edd1fa6b434140c327a26"><a class="nostyle" href="#It%26rsquo%3bs-Friendly-0dce6113e46edd1fa6b434140c327a26">It&rsquo;s Friendly</a></h3><p>XMPP&rsquo;s protocols and interfaces are functional and relatively easy to use. They might not be quite as seamless and polished as something like Discord, but they&rsquo;re a far cry from the constant security-hounding and obtuse interfaces of something like Matrix.</p>
<p>If I were to use one word to describe the difference in feeling between using it and XMPP, it really is &ldquo;friendly&rdquo;. XMPP lets me access all of my messages easily, has much better multi-account handling, and doesn&rsquo;t constantly force me to use excessive security features while still leaking my data.<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent0-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent0-0:1')"
    class="footnote-ref" id="fnref0-0:1">
        <a href="#fn0:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent0-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent0-0:1')"
    class="footnote-ref-display" id="fnrefcontent0-0:1">
        See <a href="https://anarc.at/blog/2022-06-17-matrix-notes/">Matrix Notes</a> by Anarcat.
    </span></span><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent0-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent0-0:2')"
    class="footnote-ref" id="fnref0-0:2">
        <a href="#fn0:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent0-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent0-0:2')"
    class="footnote-ref-display" id="fnrefcontent0-0:2">
        See also <a href="https://lukesmith.xyz/articles/matrix-vs-xmpp/">Matrix vs. XMPP </a>by Luke Smith. Fair notice: I don&rsquo;t endorse Luke Smith&rsquo;s politics. His stances on technology are pretty good though.
    </span></span></p>
<h3 id="It&amp;rsquo;s-Here-To-Stay-b105f6102db8497237fd4f363c970bed"><a class="nostyle" href="#It%26rsquo%3bs-Here-To-Stay-b105f6102db8497237fd4f363c970bed">It&rsquo;s Here To Stay</a></h3><p>XMPP has been around for nearly 30 years now, and in that time it&rsquo;s survived <em>multiple</em> attempts to replace it with services which nobody uses anymore. AOL is dead, Skype is dead, Google Talk is dead, but XMPP lives on.</p>
<p>Its open nature and extensibility means that XMPP <em>cannot</em> ever truly be killed.</p>
<h3 id="It-Isn&amp;rsquo;t-Just-Getting-Worse-914b9918cf0f68a4a67ab192a082f80e"><a class="nostyle" href="#It-Isn%26rsquo%3bt-Just-Getting-Worse-914b9918cf0f68a4a67ab192a082f80e">It Isn&rsquo;t Just Getting Worse</a></h3><p>The last advantage to XMPP&rsquo;s nature as an open protocol primarily run on open-source software is that it isn&rsquo;t vulnerable to the corrosive effects of profit incentives and monetization.</p>
<p>This article is being posted now because Discord is pushing age verification in order to make it seem like they&rsquo;re doing something about the abuse on their platform, making it worse for the sake of appealing to payment providers and government officials. XMPP will never—<em>can</em> never do that. Discord adds premium-only features that should be available to all users, and then adds more that get in the way of the base usage. XMPP, again cannot and will not ever do that.</p>
<p>It isn&rsquo;t perfect, but it&rsquo;s as imperfect as it will ever be. It&rsquo;s getting better, not worse.</p>
<h2 id="How-Do-I-Start?-2c69a99c6bddcb90abf1e6f3c4ae6ef5"><a class="nostyle" href="#How-Do-I-Start%3f-2c69a99c6bddcb90abf1e6f3c4ae6ef5">How Do I Start?</a></h2><h3 id="Getting-an-Account-b0a9e3b78cd4e1fac6f49bf4e6ffbd85"><a class="nostyle" href="#Getting-an-Account-b0a9e3b78cd4e1fac6f49bf4e6ffbd85">Getting an Account</a></h3><p>Being federated means that there isn&rsquo;t one canonical place to create your XMPP account, and that means you need to choose a server.</p>
<ol>
<li>(Easiest for everyone) Find an open-registration server from <a href="https://list.jabber.at/">this list</a>, and register there.</li>
<li>(If you&rsquo;re a friend of mine) You can message me and ask for an account on my server, and I&rsquo;ll make you one!</li>
<li>(If you&rsquo;re technically-inclined) You can host your own server! I recommend <a href="https://github.com/processone/ejabberd/">ejabberd</a>.</li>
</ol>
<p>Once you have an account, you&rsquo;ll want to select a client or clients and login on them. Most clients actually support registering within the client, but there&rsquo;s no convenient list of servers in them, so you still need to decide where to register first.</p>
<h3 id="Choosing-a-Client-57b75c1615f10e1934bf6dc957a43148"><a class="nostyle" href="#Choosing-a-Client-57b75c1615f10e1934bf6dc957a43148">Choosing a Client</a></h3><p>I&rsquo;ve split these up by platform, since you&rsquo;ll presumably want to use this on all of your devices.</p>
<h4 id="Android-c31b32364ce19ca8fcd150a417ecce58"><a class="nostyle" href="#Android-c31b32364ce19ca8fcd150a417ecce58">Android</a></h4><h5 id="Conversations-59a2e7f36a7c6da6c6d5bcf42857574e"><a class="nostyle" href="#Conversations-59a2e7f36a7c6da6c6d5bcf42857574e">Conversations</a></h5><p><a href="https://conversations.im/">Conversations</a> a very good Android XMPP client, and close to the best overall native client, to boot.</p>
<p>The two major features it doesn&rsquo;t support are message editing and workspaces (groups of chats). These aren&rsquo;t usually a major problem, but it <em>is</em> weird that it doesn&rsquo;t have them.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/conversations.png" alt="Screenshot of Conversations, from their website" /></div>
<h5 id="Monocles-5fafe9f2e56a9852df0f70dd8591f541"><a class="nostyle" href="#Monocles-5fafe9f2e56a9852df0f70dd8591f541">Monocles</a></h5><p><a href="https://codeberg.org/monocles/monocles_chat/src/branch/master/README-en.md">Monocles</a> is a very good fork of Conversations, with a few added features and better multi-account support.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monocles.jpeg" alt="Screenshot of Monocles, from their website" /></div>
<h4 id="IOS-and-MacOS-f596b670444819c3817c6cd86615ab9b"><a class="nostyle" href="#IOS-and-MacOS-f596b670444819c3817c6cd86615ab9b">IOS and MacOS</a></h4><h5 id="Monal-c86a277571a84811d30e94b0d8252e8d"><a class="nostyle" href="#Monal-c86a277571a84811d30e94b0d8252e8d">Monal</a></h5><p>I don&rsquo;t use IOS or MacOS, but the best client for both appears to be <a href="https://monal-im.org/">Monal</a>.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monal.png" alt="Screenshot of Monal on IOS, from their website" /></div><div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/monal-desktop.png" alt="Screenshot of Monal on MacOS, from their website" /></div>
<h4 id="Windows-and-Linux-c1f052cf0fbe4339524d49204e40e21b"><a class="nostyle" href="#Windows-and-Linux-c1f052cf0fbe4339524d49204e40e21b">Windows and Linux</a></h4><h5 id="Fluux-fbbd1486916cacee8ad29f079346779e"><a class="nostyle" href="#Fluux-fbbd1486916cacee8ad29f079346779e">Fluux</a></h5><p>Adding this after the original posting because <em>wow</em>. Fluux doesn&rsquo;t yet support calling and isn&rsquo;t <em>quite</em> as feature-complete as Gajim, but it&rsquo;s <em>close</em>, it looks <em>beautiful</em>, and it&rsquo;s <em>like a month old!</em> Seriously, the first commit to the git repo is from <em>January!</em> <em>This</em> January!</p>
<p>Bonus points: It&rsquo;s built in rust—in <em>Tauri,</em> so pretty soon it&rsquo;ll be available <em>cross-platform!</em> The current build is available for Linux, Windows, and MacOS, but I&rsquo;ll <em>bet</em> Android and iOS are hot on the way.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/fluux.png" alt="Screenshot of Fluux, with some information bluured for privacy" /></div>
<h5 id="Gajim-1d16e5833f5e7e06eacbeebee1735c8a"><a class="nostyle" href="#Gajim-1d16e5833f5e7e06eacbeebee1735c8a">Gajim</a></h5><p><a href="https://gajim.org/">Gajim</a> has my favorite desktop UI, and is the most stable and feature-complete, except it doesn&rsquo;t currently support calling.</p>
<p>It&rsquo;s available for both Windows and Linux.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/gajim.png" alt="Screenshot of Gajim" /></div>
<h5 id="Dino-b246ff693d453c3b1a3049752da2bc75"><a class="nostyle" href="#Dino-b246ff693d453c3b1a3049752da2bc75">Dino</a></h5><p><a href="https://dino.im/">Dino</a> supports calling, but is slightly less stable in my experience than Gajim, and I don&rsquo;t like the UI as much.</p>
<p>It&rsquo;s available on most Linux package managers, and there are <a href="https://github.com/LAGonauta/dino/actions/runs/16550165071#artifacts">unofficial Windows builds available</a>, but the main app doesn&rsquo;t have an official Windows build yet.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/dino.png" alt="Screenshot of Dino" /></div>
<h5 id="Pidgin-9b35f65cd0ec0e42938e951779b92132"><a class="nostyle" href="#Pidgin-9b35f65cd0ec0e42938e951779b92132">Pidgin</a></h5><p><a href="https://pidgin.im/">Pidgin</a> looks like it came out in the early 2000s and doesn&rsquo;t support the most widely-used encryption method without <a href="https://github.com/gkdr/lurch">a plugin</a>. However, it has support for a <em>bunch</em> of chat protocols, including Discord, which makes it easier to switch to.</p>
<p>It supports voice and video chat in XMPP, but potentially only on Linux.</p>
<p>It&rsquo;s available for both Windows and Linux.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/pidgin.png" alt="Screenshot of Pidgin, with a large number of windows on-screen" /></div>
<p>Plus, I was able to theme mine to look like Homestuck&rsquo;s Pesterchum!</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/pidgin%20pesterchum.png" alt="Screenshot of Pesterchum and Pidgin, with Pidgin themed to look like Pesterchum" /></div>
<p>It <em>does</em> have a <a href="https://discourse.imfreedom.org/t/pidgin-3-0-0-experimental-3-2-92-1-has-been-released/296">new version</a> in the works, but that&rsquo;s not fully functional yet, so keep an eye out for when it releases.</p>
<h4 id="Web-2567a5ec9705eb7ac2c984033e06189d"><a class="nostyle" href="#Web-2567a5ec9705eb7ac2c984033e06189d">Web</a></h4><h5 id="Movim-0cae6abec721134fd4d6e9c31e77b66b"><a class="nostyle" href="#Movim-0cae6abec721134fd4d6e9c31e77b66b">Movim</a></h5><p><a href="https://movim.eu/">Movim</a> appears to be doing something interesting and trying to be an XMPP-based social media platform, with social blogging features.</p>
<p>It&rsquo;s web-only, but it&rsquo;s <em>clearly</em> trying new and interesting things, and it has the most modern UI out of probably every app here, so it&rsquo;s probably worth checking out.</p>
<p>It does support calling.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/movim%20chatroom.png" alt="Screenshot of Movim messenger" /></div><div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/movim%20blog.png" alt="Screenshot of a Movim blog post" /></div>
<h5 id="Converse.js-c2b231f2253c49920e94028cd694902b"><a class="nostyle" href="#Converse.js-c2b231f2253c49920e94028cd694902b">Converse.js</a></h5><p><a href="https://conversejs.org/">Converse.js</a> is a web-based client also available for desktop on Windows, Mac, and Linux.</p>
<p>It appears to be mostly feature-complete and doesn&rsquo;t look bad, but I&rsquo;m listing it last because web-based desktop applications are resource hogs and I don&rsquo;t recommend them, and also because it doesn&rsquo;t support calling.</p>
<p>That said, if you&rsquo;re having problems with other clients, Converse.js is probably a decent fallback.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/conversejs.png" alt="Screenshot of Converse.js" /></div>
<h2 id="Conclusion-b669f32badeb976700cb6c9f7c7b5cdf"><a class="nostyle" href="#Conclusion-b669f32badeb976700cb6c9f7c7b5cdf">Conclusion</a></h2><p>Ok, you&rsquo;ve got an account, you&rsquo;ve got a client: Go out there and connect! Get your friends to join, suggest it for the next group chat you need, and enjoy being free from corporate enshitification forevermore!</p>
<p>I know network effects are intimidating, and not everyone wants to up and join some new thing, but XMPP is <em>good</em> - better yet, it&rsquo;s <em>improving</em>, unlike other platforms - and <em>you can just do things!</em> There are opportunities! Even if you can&rsquo;t get an old group to switch, consider it the next time you or a friend is considering making a new one! It&rsquo;s brighter and freeer over here, and I can&rsquo;t wait for you to join me.</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn0:1">
        See <a href="https://anarc.at/blog/2022-06-17-matrix-notes/">Matrix Notes</a> by Anarcat.<a class="footnote-return" href="#fnref0-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn0:2">
        See also <a href="https://lukesmith.xyz/articles/matrix-vs-xmpp/">Matrix vs. XMPP </a>by Luke Smith. Fair notice: I don&rsquo;t endorse Luke Smith&rsquo;s politics. His stances on technology are pretty good though.<a class="footnote-return" href="#fnref0-0:2" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>The Emotional Electromagnetic Spectrum, if it Wasn&#39;t Written by Idiots</title>
			<link>https://thoughtsofmine.ca/posts/the-emotional-electromagnetic-spectrum/</link>
			<pubDate>Thu, 11 Dec 2025 16:46:44 -0500</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/lanterns.png" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/the-emotional-electromagnetic-spectrum/</guid>
			<update>false</update>
			<description><![CDATA[
<h2 id="Or:-On-the-Value-of-Commonly-Maligned-Emotions-110d10894063fc01e1de61db5a431566"><a class="nostyle" href="#Or%3a-On-the-Value-of-Commonly-Maligned-Emotions-110d10894063fc01e1de61db5a431566">Or: On the Value of Commonly-Maligned Emotions</a></h2><div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/lanterns.svg" alt="The 7 colors of the Emotional Electromagnetic Spectrum—not counting Grey"  caption="The 7 colors of the Emotional Electromagnetic Spectrum—not counting Grey"/></div>
<p>The emotional electromagnetic spectrum, as written in the DC Comics superhero universe, is terrible and badly-written. There are like two emotions that aren&rsquo;t evil, and those ones are perfect snowflakes that could never do anything wrong. Every other emotion is exclusively evil, and should not be trusted.<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent1-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent1-0:1')"
    class="footnote-ref" id="fnref1-0:1">
        <a href="#fn1:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent1-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent1-0:1')"
    class="footnote-ref-display" id="fnrefcontent1-0:1">
        <em>Love</em> is on that list, by the way. And I don&rsquo;t <em>think</em> they <em>meant</em> for their version of compassion to be <em>awful?</em> But it is.
    </span></span></p>
<p>This, uhh… fucking sucks.</p>
<p>So, here&rsquo;s my take on the emotional electromagnetic spectrum.</p>
<h2 id="Red:-Rage-1433b6fa3c45632743232d6cee3c3509"><a class="nostyle" href="#Red%3a-Rage-1433b6fa3c45632743232d6cee3c3509">Red: Rage</a></h2><p>Rage is the emotion of those who have been wronged. When something is terrible and wrong and unfair, the bearers of Red light stare it in the face and scream <em>no!</em></p>
<p>For as long as there is wrong in the world, there will be the rage of those who feel it and oppose it. Without rage, the wrong goes unrighted, and the wronged continue to be wronged.</p>
<p>At its worst, rage is senselessly beating against the world, flailing against the injustices and hurting anything you can.<br>
At its best, rage means seeing all that is wrong in the world and <em>tearing</em> it out at its root, protecting all that wrong harms at your back.</p>
<h2 id="Orange:-Avarice-e8679d32a0fa2e2445751755d382e29c"><a class="nostyle" href="#Orange%3a-Avarice-e8679d32a0fa2e2445751755d382e29c">Orange: Avarice</a></h2><p>Avarice is the emotion of those who have gone without—the emotion of those who <em>need</em>. It is the urge, when you find something important, to <em>take</em> it and <em>keep</em> it, safe from all who would harm it or take it away. Avarice is about knowing how you want the world to be shaped, and <em>needing</em> to <em>make</em> it that shape. Avarice is the emotion of <em>protectors</em>: It drives us to keep what we love safe, and what makes us reach far into the heavens for our goals.</p>
<p>At its worst, avarice means desperately clutching things so close to you that they crumble, and never letting go of that which is not, or should not be ours.<br>
At its best, avarice means fighting to get what we need, cherishing what is ours, and protecting it with all we have.</p>
<h2 id="Yellow:-Fear-036a81bd55c292378cc2e008fcb83b2e"><a class="nostyle" href="#Yellow%3a-Fear-036a81bd55c292378cc2e008fcb83b2e">Yellow: Fear</a></h2><p>Fear is the emotion of the wary. When something is precarious, fear is what keeps us alert and focused, ready to respond the moment things go wrong.</p>
<p>At its worst, fear means quaking at every sudden movement or sharp sound, even when all is right—it means preparing forever, at the cost of the ability to allow or appreciate those things we are afraid of losing.<br>
At its best, fear means holding onto and appreciating that which we are afraid to lose—being ever-ready and ever-prepared for something to go wrong, and to spring into action and protect it.</p>
<h2 id="Green:-Will-a805697c226fe22ca40f46318f7b70e9"><a class="nostyle" href="#Green%3a-Will-a805697c226fe22ca40f46318f7b70e9">Green: Will</a></h2><p>Will is the emotion of the committed. It is the emotion of those who strive and those who <em>continue</em> to strive, no matter how hard the journey becomes. Will is our drive and ambition to carve the world we want out of solid steel if we have to.</p>
<p>At its worst, will means controlling others, enforcing your will against them and substituting their will for your own.<br>
At its best, will means unceasingly working for what you and others want, in spite of any and all opposition.</p>
<h2 id="Blue:-Hope-c45d2581ec85e8efba72c4cd34fce4d4"><a class="nostyle" href="#Blue%3a-Hope-c45d2581ec85e8efba72c4cd34fce4d4">Blue: Hope</a></h2><p>Hope is the emotion of the downtrodden. It is the belief that no matter how bad things get, they can always become better. Hope gets us through our darkest days, and sees us through the other side. Hope is the possibility that can never be destroyed.</p>
<p>At its worst, hope means believing, against all reality, that things <em>will</em> get better, and letting that hope deter you from <em>making</em> it so.<br>
At its best, hope means staying strong in the face of hardship, and knowing that things can always get better. It is seeing your house burned down, and knowing that eventually, you can rebuild it.</p>
<h2 id="Indigo:-Compassion-fda4aa5c0cb020cd335e278b15624ecb"><a class="nostyle" href="#Indigo%3a-Compassion-fda4aa5c0cb020cd335e278b15624ecb">Indigo: Compassion</a></h2><p>Compassion is the emotion of those who have been to a dark place, and come out the other side with understanding for anyone else who is suffering. Compassion is the emotion of those who have done wrong, and know what it is like to be someone who does wrong—of those who have felt pain, and know that none of us deserve it.</p>
<p>At its worst, compassion means letting those who have harmed you harm you again and again, because you understand why they do it.<br>
At its best, compassion means lifting those who have hurt you out of the darkness, and making them into the people they deserve to become, and who you deserve to live amongst.</p>
<h2 id="Violet:-Love-b1b60977b15700e2ebb34c8830743a77"><a class="nostyle" href="#Violet%3a-Love-b1b60977b15700e2ebb34c8830743a77">Violet: Love</a></h2><p>Love is the emotion of those who have been alone. In its purest form, it is the desire and <em>need</em> for another person, and for the well-being of that person. Love is not the fear of losing someone, or the avarice of attachment. It is not the compassion of understanding. Love is valuing another being, not for who or what they could become but for who they <em>are</em>.</p>
<p>At its worst, love means taking someone, keeping them from any else who could love them, and never letting them leave your sight. It is the worst of many other emotions, bundled together and tied around another.<br>
At its best love means wanting the best for someone, no matter what. It means cherishing them not for who or what they could become, but for who they <em>are</em>. It means protecting them from all that could harm them, and making a better world for them, because they deserve one.</p>
<h2 id="Grey:-Sorrow-0e1ac50667753d923c9ce96c5072c975"><a class="nostyle" href="#Grey%3a-Sorrow-0e1ac50667753d923c9ce96c5072c975">Grey: Sorrow</a></h2><p>Sorrow is the emotion of those who have <em>lost</em>. It is the emotion of those who know that the world is not right, and that horrible things are happening, and who choose to accept that reality and to <em>keep going</em>. Sorrow is about seeing the horror and pain of the world, and refusing to look away or hide. Without sorrow, there is no acceptance.</p>
<p>At its worst, sorrow means giving up. It means wallowing in the pool of infinite sorrow and deciding that nothing will ever be good again.<br>
At its best, sorrow means grieving. It means bathing in the pool of infinite sorrow and coming out of it with resolve and understanding.</p>
<h2 id="Conclusion-b669f32badeb976700cb6c9f7c7b5cdf"><a class="nostyle" href="#Conclusion-b669f32badeb976700cb6c9f7c7b5cdf">Conclusion</a></h2><p>Ok, so what is this <em>for?</em></p>
<p>Well, you <em>absolutely can</em> (and I <em>might</em>) use it to write Green Lantern fanfiction with much more interesting worldbuilding than the original, but that isn&rsquo;t the primary thing I meant this for when I was thinking about it.</p>
<p>No, when this caught my eye and bothered me enough to write my own version, I was thinking about it as a way of thinking about <em>types of people</em>, and what drives them.<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent1-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent1-0:2')"
    class="footnote-ref" id="fnref1-0:2">
        <a href="#fn1:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent1-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent1-0:2')"
    class="footnote-ref-display" id="fnrefcontent1-0:2">
        Partly inspired by Duncan Sabien&rsquo;s <a href="https://homosabiens.substack.com/p/the-mtg-color-wheel">conceptualization of the MTG Color Wheel as an intuition pump for understanding people</a>.
    </span></span></p>
<p>A person can have any number of these colors, but they tend to be primarily driven by one or two. For instance, you might know someone who is primarily driven by their knowledge and guard of their own desires (Yellow), or someone who is driven to do what must be done <em>because</em> it must be done (Green), but you also might know someone who is primarily driven by multiple of these emotions, like fear and hope, or love and compassion.</p>
<p>There are many different ways to express these colors, but I think it&rsquo;s still an interesting and useful way of conceptualizing people, and naming a part of how they work.</p>
<p>It&rsquo;s important that every emotion listed here can be both positive <em>and</em> negative. No emotion is solely <em>evil</em>, and none is solely <em>good</em>. The DC conception of this system is offensive to me because it places a <em>normative judgement</em> on each of its colors, where, in reality, each of them serves a purpose.</p>
<br/>
<p>I wrote this post in a righteous fervor, after reading a wiki article on the Emotional Electromagnetic Spectrum and being <em>heavily</em> disappointed. I hope it&rsquo;s useful to you.</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn1:1">
        <em>Love</em> is on that list, by the way. And I don&rsquo;t <em>think</em> they <em>meant</em> for their version of compassion to be <em>awful?</em> But it is.<a class="footnote-return" href="#fnref1-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn1:2">
        Partly inspired by Duncan Sabien&rsquo;s <a href="https://homosabiens.substack.com/p/the-mtg-color-wheel">conceptualization of the MTG Color Wheel as an intuition pump for understanding people</a>.<a class="footnote-return" href="#fnref1-0:2" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>D20s Suck: Alternate Randomness in RPGs</title>
			<link>https://thoughtsofmine.ca/posts/d20s-suck/</link>
			<pubDate>Fri, 28 Nov 2025 12:27:05 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/d20s-suck/</guid>
			<update>false</update>
			<description><![CDATA[
<h2 id="Or:-Please,-I&amp;rsquo;m-Begging-You:-Stop-Copying-D&amp;amp;D-e2bfb1e19cc81fc8465eee1a21a7747a"><a class="nostyle" href="#Or%3a-Please%2c-I%26rsquo%3bm-Begging-You%3a-Stop-Copying-D%26amp%3bD-e2bfb1e19cc81fc8465eee1a21a7747a">Or: Please, I&rsquo;m Begging You: Stop Copying D&amp;D</a></h2><p><em>Note: This is a cross-post from the <a href="https://quarterstaff.xerelia.ca/">Quarterstaff Quarterly</a> zine. Go check it out!</em></p>
<br/>
<p>I&rsquo;ve played a good number of roleplaying games, and one thing I&rsquo;ve consistently noticed is that d20 action resolution is the <em>worst</em>.</p>
<p>Have you ever spent 5 turns missing an enemy, even though your Attack Bonus is 6 points higher than their Armor? Ever rolled a 1 and failed a check your character should be an expert at?</p>
<p>Automatic failure on 1 and success on 20, as in D&amp;D, definitely make this method <em>worse</em>, but even in systems <em>without</em> those mechanics, d20 is <em>very rarely</em> the best option for any particular job.</p>
<p>I&rsquo;m going to look at a number of alternate forms of random choice and action resolution in roleplaying games, and explain what makes each one great—and more importantly, explain <em>where and how</em> they&rsquo;re best used.</p>
<h2 id="Other-1dX-Methods-(1d10,-1d12,-etc.)-0ab55d33b15c0b040cd078400db789b3"><a class="nostyle" href="#Other-1dX-Methods-%281d10%2c-1d12%2c-etc.%29-0ab55d33b15c0b040cd078400db789b3">Other 1dX Methods (1d10, 1d12, etc.)</a></h2><p>No! Bad! This is just d20 but with smaller dice!</p>
<p>Seriously though, while flat die randomness <em>can</em> be the correct option <em>sometimes</em> (such as when rolling for equally-likely random events on a table), it is used <em>far</em> more often than it is welcome.</p>
<p>Next!</p>
<h2 id="3d6-46ea18c940eb09afe7a1ba70dde4563f"><a class="nostyle" href="#3d6-46ea18c940eb09afe7a1ba70dde4563f">3d6</a></h2><p><em>Now</em> we&rsquo;re talking!</p>
<p>&ldquo;But Mae,&rdquo; you might ask, &ldquo;isn&rsquo;t this just the same as 1d18?&rdquo;</p>
<p><em>No!</em> 3d6 (and similar systems) have one major advantage against 1dX: They&rsquo;re <em>weighted</em>.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/graph.png" alt="Graph showing a curved range of output probabilities, labeled &#34;3d6&#34;, against a flat range of output probabilities, labeled &#34;1d18&#34;" /></div>
<p>When you roll an action resolution check (an attack, for instance), the result will be <em>weighted towards your skill/attribute level!</em> This means that, instead of a point in a modifier moving the <em>range</em> of possibilities up, it moves the <em>distribution</em> up!</p>
<p>Not only is it weighted, it&rsquo;s (approximately) a <em>bell curve,</em> which is likely to be a realistic distribution-of-outcomes for most real-world situations a die roll might be modelling!</p>
<p>There&rsquo;s a <em>reason</em> D&amp;D players classically roll 3d6 for stats instead of 1d20.</p>
<h2 id="Dice-Pools-e0b10bff49e20ed4b6af70961fd7b2c1"><a class="nostyle" href="#Dice-Pools-e0b10bff49e20ed4b6af70961fd7b2c1">Dice Pools</a></h2><p>Dice pools are when, instead of the <em>modifier</em> for the dice changing, the <em>number of</em> dice changes. You roll a number of dice (generally d6s), and then sum up how many of a certain result (or set of results) appear, and <em>that&rsquo;s</em> your roll.</p>
<p>So, for instance, in Shadowrun 5e, you might roll a dice pool of (for example) 7d6, count up how many of those dice show a 5 or a 6, and that&rsquo;s your &ldquo;hits&rdquo;. In <em>that</em> system, you <em>also</em> keep track of how many 1s are rolled, and if it&rsquo;s more than half the dice you rolled, it&rsquo;s a &ldquo;glitch&rdquo; (a bit like a Critical Failure in a d20 system).</p>
<p>This sort of system is interesting, because it has a similar sort of clustering to 3d6, except the clustering is <em>tighter</em>, and you can skew the location of the cluster by changing which values are counted: With the Shadowrun dice pool, a 10-die pool will be most likely to roll around 3 hits, but with a variation counting 4, 5, and 6 (or using coins), it&rsquo;s most likely to roll around <em>5</em> hits.</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/graph-2.png" alt="Graph showing two curved ranges of output probabilities for values from 0 to 10, one labeled &#34;shadowrun&#34; and one labeled &#34;coins&#34;, with the range labeled &#34;shadowrun&#34; peaking at 3.33, and the range labeled &#34;coins&#34; peaking at 5" /></div>
<p>Another interesting attribute of this system is that it has a minimum outcome of <em>zero</em>. Most dice-based resolution systems will have a minimum outcome equal to the number of dice rolled, but that isn&rsquo;t true for dice pools!</p>
<p>Comparing 18-die pools to a 3d6 roll, you can <em>really</em> see how tight the clustering is:</p>
<div class="image-container"><img class="article-image-normal" src="https://thoughtsofmine.ca/resources/posts/graph-3.png" alt="Graph showing three curved ranges of output probabilities for values from 0 to 18, one labeled &#34;coins&#34;, one labeled &#34;shadowrun&#34;, and one labeled &#34;3d6&#34;. The range labeled &#34;coins&#34; is centered around 9 and drops off quickly in either direction, the range labeled &#34;shadowrun&#34; is centered around 6 and also drops off quickly in either direction, and the range labeled &#34;3d6&#34; is centered around 10.5 and drops off much more slowly" /></div>
<p>Dice pools <em>also</em> have the advantage that they don&rsquo;t use uncommonly-sized dice: most non-roleplaying tabletop and board games use d6s, so most households will have a large number of them laying around already. This sets the bar for entry noticeably lower than systems that use other polyhedral dice!</p>
<p>Dice pool systems are most often used for combat situations, and tend to work best in systems and situations with smaller numeric ranges (you wouldn&rsquo;t want to be rolling Shadowrun hit dice for an enemy with hundreds of hit points, no matter <em>how</em> many dice you were given). Adding one die in a dice pool system means adding a <em>fraction</em> of a point on average, which means you can give more granular bonuses more easily.</p>
<h2 id="Cards-492e6640145b729207a5816b2fdb47f3"><a class="nostyle" href="#Cards-492e6640145b729207a5816b2fdb47f3">Cards</a></h2><p>Ok, now <em>cards</em> are <em>very</em> interesting. Dice pools are pretty different from other dice systems, but that&rsquo;s <em>nothing</em> compared to <em>cards!</em></p>
<p>The most interesting difference between cards and dice is, of course, that the probability of different outcomes can change <em>every time</em> you draw one. Drawing a card from a deck means that card (or that copy of that card, if you&rsquo;re using a type of deck with duplicates) won&rsquo;t be drawn again until you reshuffle.</p>
<p>Interestingly, this property means that card-based randomness is a case in which gambler&rsquo;s fallacy (the fallacy by which people think that their chances of success increase with each failure) is mostly <em>true,</em> which can make these systems feel more intuitive for some people—nobody likes to roll a 1 three times in a row, and if you use playing cards, you can make that impossible!</p>
<p>Card-based randomness can work a <em>lot</em> of different ways, from numbered cards as an interesting replacement for dice, to random events drawn from a deck (as in Wretched &amp; Alone), to ability decks (as in GrimoirePunk), to who-knows-what-else<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent2-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent2-0:1')"
    class="footnote-ref" id="fnref2-0:1">
        <a href="#fn2:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent2-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent2-0:1')"
    class="footnote-ref-display" id="fnrefcontent2-0:1">
        Gun &amp; Slinger apparently uses both Go Fish and Blackjack as action resolution mechanisms.
    </span></span>, with per-player decks or shared decks between players or even shared decks between players <em>and</em> enemies! The sky&rsquo;s the limit, and you <em>absolutely should</em> experiment with card-based randomness the next time you&rsquo;re designing or homebrew-modding a system.</p>
<h2 id="Points-0aab81de5c4c87021772015efc184d67"><a class="nostyle" href="#Points-0aab81de5c4c87021772015efc184d67">Points</a></h2><p>Why do you need randomness at all?</p>
<p>The Marvel Universe Roleplaying Game (not to be confused with the Marvel <em>Multiverse</em> Roleplaying Game) doesn&rsquo;t contain randomness in any form. Instead, characters have an Energy pool which they can take from to perform actions. When a player wants to perform an action, they guess how hard their character will need to try, in order to succeed at the action. They then spend that much energy, and the GM determines whether or not they succeeded based on the difficulty and how much they spent (or how much they spent vs how much their <em>opponent</em> spent, for contested checks). Levels in abilities can increase the maximum energy a player can spend on an action, or occasionally add free bonus energy to an action.</p>
<p>This system makes actions&rsquo; outcomes depend entirely on player choice, gives players the option of increasing their odds of success at the cost of a limited (but regenerating) resource, and completely removes the problem of unlikely rolls causing otherwise-competent characters to randomly fail at tasks they&rsquo;ve spent their lives mastering.</p>
<p>Other point-based diceless systems exist, but I haven&rsquo;t played them!</p>
<h2 id="Jenga-31b143cf309209027fbf551b3e6c8add"><a class="nostyle" href="#Jenga-31b143cf309209027fbf551b3e6c8add">Jenga</a></h2><p>Yeah, that&rsquo;s right, Jenga! Anything can be an action-resolution mechanic if you try hard enough!</p>
<p>The Wretched &amp; Alone system and the Dread roleplaying game both use a Jenga tower to resolve actions: When you perform a risky action, you pull a block from the tower. If you pull it out successfully, you succeed; if the tower falls, you die.</p>
<p>This is a great system for narrative systems with high mortality rates, and can <em>really</em> up the tension, but is a really bad bet for any other sort of system. Its biggest weaknesses are that it&rsquo;s necessarily pass/fail, and that failure basically <em>has</em> to be <em>really</em> final, or else you&rsquo;re setting up a Jenga tower repeatedly during the game, and that takes a while and kills the tension. Every other system mentioned here can have degrees of success or failure, but Jenga towers basically have to be pass/fail, and that only really lends itself to some sorts of game.</p>
<p>Still, if you&rsquo;re making the right sort of game, you <em>absolutely should</em> consider trying this out—it can be a lot of fun!</p>
<h2 id="Conclusion-b669f32badeb976700cb6c9f7c7b5cdf"><a class="nostyle" href="#Conclusion-b669f32badeb976700cb6c9f7c7b5cdf">Conclusion</a></h2><p>There are a <em>ton</em> of different sources of randomness and action-resolution for roleplaying games, and a ton of space for exploration and improvement! You absolutely both can and <em>should</em> experiment with different options when designing or modifying systems. Just remember to playtest, to make sure things are actually <em>fun!</em> Now go fourth and write better roleplaying games!</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn2:1">
        Gun &amp; Slinger apparently uses both Go Fish and Blackjack as action resolution mechanisms.<a class="footnote-return" href="#fnref2-0:1" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>UPDATED: Two Birds, One Hotspot: Saving Money while Improving your Mobile Privacy</title>
			<link>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/</link>
			<pubDate>Wed, 08 Oct 2025 01:32:20 -0400</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/#update-2025-10-08T01%3A32%3A20-04%3A00</guid>
			<update>true</update>
			<description><![CDATA[
<p>Or: I Bought a VPN, Stopped the Government from GPS Tracking my Phone, and Still Cut $8/Month off my Phone Bill</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" alt="A broken SIM card, image by DeviantArt user ishaque87"  caption="A broken SIM card, image by &lt;a href=&#34;https://www.deviantart.com/ishaque87/art/Broken-sim-By-ishaque87-339448801&#34;&gt;DeviantArt user ishaque87&lt;/a&gt;"/></div>
<h2 id="Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51"><a class="nostyle" href="#Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51">Phone Plans in Canada are Expensive</a></h2><p>Ok, so, here in Canada where I live, cellular plans are expensive.</p>
<p>To demonstrate: in the USA, with unlimited texting and calling, you can get 5GB of data for $14 USD ($18.81 CAD), or 1GB for $9 USD ($12.09 CAD)<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:1')"
    class="footnote-ref" id="fnref6-0:1">
        <a href="#fn6:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:1')"
    class="footnote-ref-display" id="fnrefcontent6-0:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.
    </span></span>, all at 5G speeds.</p>
<p>In Canada, the closest I can get is $24 CAD ($17.87 USD) for 4GB (and only as a special offer, meaning there&rsquo;ll be some restrictions), or 1GB for $19 CAD ($14.14 USD), both at 4G speeds. If I want 5G, the cheaptest plan I can get is $35 CAD ($26.05 USD) for 15GB.</p>
<p>Data-only plans, which are even cheaper, are simply not available in Canada.</p>
<p>This sounds depressing, right? Well, it is, but there&rsquo;s hope: everything I&rsquo;ve just said only applies to <em>SIM-based</em> phone plans.</p>
<h2 id="eSIM-e00e6e9b476edbd645e75502d05bd1b5"><a class="nostyle" href="#eSIM-e00e6e9b476edbd645e75502d05bd1b5">eSIM</a></h2><p>While normal Canadian phone plans are expensive and have a lack of options, there <em>is</em> an alternative: eSIM. eSIM is a type of SIM card that&rsquo;s embedded as a part of the device, and can be reprogrammed with different SIM information on-the-fly. This means that the restrictions on who can provide service with eSIM are <em>significantly</em> lower, and that increased market means cheaper plans.</p>
<p>To compare to the prices in the previous section, I can get a 5GB plan for $14.25 CAD ($10.61 USD), or 1GB for $3.77 CAD ($2.81 USD).</p>
<p>There are two catches, though:</p>
<ol>
<li>Only some phones have eSIMs, and you can&rsquo;t use an eSIM plan on a phone without one</li>
<li>Most Canadian eSIM plans are data-only, so no texting or calling</li>
</ol>
<p>But, that aside, if your phone has an eSIM, and you only need data, you can find <em>much</em> cheaper plans, with much more granular options, than any SIM plan.</p>
<p>If you want to look for cheap eSIM plans, the site I used was <a href="https://esimdb.com/canada">esimdb</a>.</p>
<h2 id="VOIP-d9c3bac5ea21dd68f463906c93bd322f"><a class="nostyle" href="#VOIP-d9c3bac5ea21dd68f463906c93bd322f">VOIP</a></h2><p>&ldquo;Ok, but what if I <em>do</em> need to text and call people?&rdquo;</p>
<p>I&rsquo;m so glad you asked.</p>
<p>VOIP is a group of technologies that allow you to call and receive calls over the internet, and many of them include a real phone number that you can use to make and receive calls and text messages just like you were using a regular phone.</p>
<p>VOIP has several benefits:</p>
<p>Firstly, it&rsquo;s <em>much</em> cheaper than a regular phone plan. I estimated the cost of a few plans based on my current usage, and found I&rsquo;d be paying about $1.50/month at my <em>highest</em> usage estimates.</p>
<p>Secondly, VOIP isn&rsquo;t limited to just your <em>phone</em>: you can send and receive calls and text messages from your desktop, which, for me, would be <em>extremely</em> convenient.</p>
<p>Thirdly, it means you don&rsquo;t have to transfer your phone number anytime there&rsquo;s a better deal for your eSIM plan! You can just buy the new plan, activate it, and use the same number immediately!</p>
<p>However, there <em>is</em> a downside:</p>
<p>Many mobile apps and websites require mobile authentication via SMS, and some of those will refuse to send authentication text messages to VOIP numbers.</p>
<p>In some cases, such as with Google, you may have the option to receive an authentication <em>call</em> instead, which should work on VOIP numbers. However, many services don&rsquo;t <em>have</em> a call-authentication option, so there may be services you simply cannot authenticate with.</p>
<p>However, there <em>is</em> a solution to this potential problem:</p>
<h3 id="A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd"><a class="nostyle" href="#A-Second%2c-Bare-Bones-SIM-%26ldquo%3bPlan%26rdquo%3b-b0c29963d9bc27b7ca16417ad6b3b7dd">A Second, Bare-Bones SIM &ldquo;Plan&rdquo;</a></h3><p>There are <em>very few</em> bare-bones pay-as-you go plans in Canada that <em>don&rsquo;t</em> require you to pay monthly, but there <em>is</em> one: 7/11 SpeakOut.</p>
<p>7/11&rsquo;s SpeakOut service <em>doesn&rsquo;t</em> have a <em>plan</em> that charges less than monthly, but with a SpeakOut SIM card, you can load a balance (at what I&rsquo;m lead to believe by outside sources is a $25 minimum) <em>without</em> buying an actual plan, and pay $0.35/minute for calling and $0.20/message for SMS, out of that balance (plus $1.25/month in &ldquo;regulatory recovery fees&rdquo;), and the balance doesn&rsquo;t expire for 365 days!</p>
<p>That means that you can buy a SpeakOut SIM card from a nearby 7/11 for $11.25, top it up for $25, and effectively pay $2/month for the number (not including the cost of the SIM card, which, of course, you only need to buy once). If you top it up before the existing balance expires, you should even be able to roll your remaining balance over into the next year.</p>
<p>For avoiding the potential hassle of not being able to receive authentication text messages, this is pretty cheap - we&rsquo;re still paying slightly less than we would for the <em>American</em> plans (albeit not for <em>unlimited</em> texting and calling). However, it might not be necessary for you, so it&rsquo;s up to you if you go with this option.</p>
<p>You could also, I suppose, just use the 7/11 SIM <em>instead of</em> the eSIM and VOIP number, but the voip text/call rates are <em>much</em> cheaper, and this way you get data.</p>
<h2 id="Saving-Money-93dc6742279a163a6fa1e4e6116423f0"><a class="nostyle" href="#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">Saving Money</a></h2><p>Ok, so if you&rsquo;re only interested in saving money, this is where you can stop.</p>
<p>Here&rsquo;s the tl;dr for how to save money on your phone bill:</p>
<ul>
<li>Buy an unlocked phone with an eSIM (the cheapest of which without a contract is the Google Pixel 3a, which costs about $250 at time-of-writing)
<ul>
<li>Cellphones cost a lot of money, so if you don&rsquo;t actually <em>need</em> a new phone, I&rsquo;d recommend reading further to <a href="/posts/two-birds-one-hotspot/#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a>, since the solution there will cost you much less up-front than almost any phone.</li>
<li>You can also buy an &ldquo;eSIM SIM card&rdquo; from <a href="https://esim.me/">eSIMme </a>for €24.95 (about $36 CAD), which apparently allows a wider range of previously eSIMles phones to use eSIM plans.</li>
</ul>
</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it
<ul>
<li>Scan the QR code you&rsquo;re given with your phone and setup the eSIM</li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>, but they don&rsquo;t have their own app: see below)
<ul>
<li>Either use whatever app they provide, or sign up with a provider that provides SIP information and use <a href="https://search.f-droid.org/?q=sip">an open-source alternative</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)</li>
<li>Throw away your old SIM card, and rejoice at saving a <em>lot</em> of money on your phone bill
<ul>
<li>In my case, assuming I bought the 7/11 SIM, I&rsquo;ll have saved about $15/month, which is more than half as much as my old plan cost, <em>total</em>.
<ul>
<li>This is, of course, not counting the one-time costs of $11.25 for the 7/11 SIM itself, and however much the phone/hotspot/eSIMme cost if you didn&rsquo;t already have one.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="Privacy-21cec257feb15bcc84e0acd5b0773883"><a class="nostyle" href="#Privacy-21cec257feb15bcc84e0acd5b0773883">Privacy</a></h2><p>Alright, but what if you care about your privacy? <em>I</em> care about <em>my</em> privacy.</p>
<p>SIM cards have low-level access to much more of your phone than you might realise:</p>
<ul>
<li>Sure, your provider can spy on your calls and text messages, we all know <em>those</em> aren&rsquo;t secure (we&hellip; <em>do</em> all know that, right?),
<ul>
<li>but what about&hellip;</li>
</ul>
</li>
<li>Turning your microphone or camera on and recording you without your knowledge?</li>
<li>Turning your phone on when you&rsquo;ve turned it off?</li>
<li>What about <em>tracking your every move</em>?</li>
</ul>
<p>Those are all things that your SIM card <em>can absolutely</em> do<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:2')"
    class="footnote-ref" id="fnref6-0:2">
        <a href="#fn6:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:2')"
    class="footnote-ref-display" id="fnrefcontent6-0:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.
    </span></span>, and you only have your provider&rsquo;s word that they <em>aren&rsquo;t</em> doing it - and they&rsquo;re <em>very</em> cagey on the topic of what data your SIM card is sending them over encrypted channels.</p>
<p>eSIMs&hellip; have all of these same problems, <em>and</em> you can&rsquo;t remove them from your phone.</p>
<p>Now, that&rsquo;s not a major privacy concern for most people: if you own an Android phone, <a href="https://hackaday.com/2021/11/18/privacy-report-what-android-does-in-the-background/">Google Play Services is <em>constantly</em> sending Google a &ldquo;seemingly unending stream of user information&rdquo;</a>, and while Apple <em>might</em> be collecting <em>slightly</em> less data on <em>their</em> users, we mostly only have their word to go on for it.</p>
<p>However, if you want to take your privacy seriously, and you&rsquo;re already using (or willing to switch to) a non-Apple phone that doesn&rsquo;t have Google Play Services installed, there <em>is</em> an option:</p>
<h3 id="Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa"><a class="nostyle" href="#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a></h3><p>You know how I said you need a phone with an eSIM to use eSIM plans? Well, that was a lie. Sure, the <em>device you use</em> has to have an eSIM in it, but that doesn&rsquo;t have to be a <em>phone</em>.</p>
<p>Portable hotspots are effectively tiny routers with SIM card slots. They provide internet to your phone or other devices using a SIM card&rsquo;s data.</p>
<p>The benefit of a portable hotspot is that instead of having direct access to the low-level systems of your phone, the SIM card only has access to the <em>hotspot</em>, which doesn&rsquo;t have cameras or microphones, and doesn&rsquo;t house any of your apps.</p>
<p>Now, there are <em>lots</em> of portable hotspots out there, but we need one with an eSIM.</p>
<p>Not only that, we need one with an eSIM that we can use with <em>any</em> eSIM plan:<br>
Because portable hotspots are simple devices without cameras, you can&rsquo;t scan a QR code with one to switch the eSIM&rsquo;s information.</p>
<p>Luckily, while most portable eSIM hotspots are locked to a single provider&rsquo;s eSIM plans, a Chinese manufacturer by the name of Sunhans or eSunFi<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:3')"
    class="footnote-ref" id="fnref6-0:3">
        <a href="#fn6:3" title="Go to footnote">3</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:3')"
    class="footnote-ref-display" id="fnrefcontent6-0:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.
    </span></span> sells <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">exactly what we&rsquo;re looking for</a>. Their customer-facing page is a little sparse on details, but <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their product page on globalsources</a> confirms that it supports most Canadian cellular bands, and can be setup with pretty much any eSIM plan using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">an app</a>.</p>
<p>The app is not open-source, and may require Google Play Services to work (although I <em>was</em> able to install and run it without, so it may work with just <a href="https://microg.org/">microG</a>). However, you shouldn&rsquo;t need to <em>keep</em> the app on your phone after setting up the eSIM, and if it <em>doesn&rsquo;t</em> run on your setup, you can either use the <a href="https://gspaceteam.com/">GSpace app</a> (which is free, with some intrusive advertisements in the launcher) or use someone else&rsquo;s phone to set it up.<br>
If you <em>do</em> use GSpace to set it up, I would recommend also uninstalling GSpace after use, because it does all of the tracking Google Play Services does, just without all the information from direct system-level access.</p>
<p>The device itself, which is apparently called the &ldquo;SHFiEL40&rdquo;, is about 3 by 3 inches, and about 3/4 of an inch thick. That&rsquo;s only <em>slightly</em> larger than my phone, and <a href="https://www.unihertz.com/products/jelly-2">my phone is smaller than yours</a>. It should be extremely easy to carry around in a purse or pocket, and since we&rsquo;re using VOIP for texting and calling anyway, you don&rsquo;t actually need to keep it on you you while you&rsquo;re at home or otherwise in range of WiFi (which is most of the time, where I live).</p>
<p>So, for privacy, we should use a phone that <em>doesn&rsquo;t</em> have an eSIM built-in, and then use the SHFiEL40 for our data, instead of the phone itself.</p>
<h3 id="VPN-01faf38365151f8d966bf5960242fb9e"><a class="nostyle" href="#VPN-01faf38365151f8d966bf5960242fb9e">VPN</a></h3><p>&ldquo;Ok,&rdquo; you say, &ldquo;but how do we keep the cellular service provider - along with anyone whose public WiFi I use - from snooping on what sites I visit?&rdquo;</p>
<p>Well, with all the money we&rsquo;re saving on our phone plans (my calculations have me saving about $17 CAD from <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/4GB-4Gspeed">my previous plan</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:4')"
    class="footnote-ref" id="fnref6-0:4">
        <a href="#fn6:4" title="Go to footnote">4</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:4')"
    class="footnote-ref-display" id="fnrefcontent6-0:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.
    </span></span>), we can afford to spend a little of it on a VPN!</p>
<p>VPNs route all of your traffic through their servers, so no websites can recognise your IP, and no internet providers can see what sites you access.</p>
<p>Bonus: you aren&rsquo;t limited to using a VPN on just your phone. Most VPNs allow multiple devices per account, so you can use one for your phone, laptop, desktop, and likely at least a few other devices.</p>
<p>Now, of course, the <em>VPN provider</em> can see those things, <em>but</em>, <a href="https://mullvad.net/">Mullvad</a> requires no personal information to sign up, and can be paid for using, among other things, cryptocurrency<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:5')"
    class="footnote-ref" id="fnref6-0:5">
        <a href="#fn6:5" title="Go to footnote">5</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:5')"
    class="footnote-ref-display" id="fnrefcontent6-0:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.
    </span></span> and cash! This means that your internet activity won&rsquo;t be readily traceable back to you.</p>
<p>Sunhans/eSunFi claims on <a href="http://sunhans.com/panel/client/product.php?item=1316">another of the company&rsquo;s websites</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:6')"
    class="footnote-ref" id="fnref6-0:6">
        <a href="#fn6:6" title="Go to footnote">6</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:6')"
    class="footnote-ref-display" id="fnrefcontent6-0:6">
        Really, I swear, this is just what Chinese tech companies are like.
    </span></span> that the SHFiEL40 has a built-in Wireguard VPN (an open-source VPN solution that many companies use), so you should be able to setup Mullvad on the device itself, using the device&rsquo;s WebUI as described in <a href="https://p.globalsources.com/IMAGES/PDT/SPEC/371/K1189606371.pdf">its manual</a>. According to <a href="https://mullvad.net/en/help/tag/wireguard">their help centre</a>, Mullvad supplies <a href="https://mullvad.net/account/wireguard-config">preconfigured Wireguard configuration files</a> to customers, so the process should be relatively simple.</p>
<p>There are privacy benefits to having your VPN on an external hotspot, as both Android <em>and</em> iOS devices can <em>and do</em> bypass your VPN settings for some system traffic, so this is a great feature.</p>
<p>Additionally, while Mullvad has a limit of 5 devices connecting at a time, the SHFiEL40 only counts as <em>one</em> device toward that limit, and the SHFiEL40 supports up to 10 devices at a time, so you can theoretically expand the number of devices simultaneously using your account to 14 while using data (if you need that many).</p>
<p>Mullvad only costs €5 ($7.22 CAD right now) per month, so we&rsquo;ll still be saving plenty of money on our bill.</p>
<h2 id="Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091"><a class="nostyle" href="#Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091">Saving Money <em>and</em> Improving Your Privacy</a></h2><p>Alright, so here&rsquo;s the tl;dr for those of you who <em>do</em> care about privacy:</p>
<ul>
<li>Make sure your phone <em>doesn&rsquo;t</em> have an eSIM</li>
<li>Either root your phone and uninstall Google Play Services, or install a privacy-oriented ROM onto your phone (such as <a href="https://e.foundation/e-os/">e/OS</a>, <a href="https://grapheneos.org/">GrapheneOS</a>, or <a href="https://calyxos.org/">CalyxOS</a>)</li>
<li>Sign up for <a href="https://mullvad.net/">Mullvad</a></li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it</li>
<li>Buy the SHFiEL40 from <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">their customer-facing website</a> or from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> (unless another, better or cheaper option has become available after I&rsquo;ve published this post)
<ul>
<li>Setup the eSIM on the SHFiEL40 using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a></li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>)
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)
<ul>
<li>If you&rsquo;re going the privacy route, you should ideally leave the SIM card out of your phone when you aren&rsquo;t using it.</li>
</ul>
</li>
<li>Enjoy significant savings, and significantly improved privacy
<ul>
<li>The SHFiEL40 costs <em>significantly less</em> than <em>any</em> model of phone that supports eSIM, so the up-front cost will be lower than if you went <a href="/posts/two-birds-one-hotspot/#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">the money-saving-only route</a>.
<ul>
<li>This is somewhat offset by the fact that the VPN eats into the cost-saving-over-time, so you&rsquo;ll be saving slightly less money than the cost-saving-only route after about 5 years.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569"><a class="nostyle" href="#Ok%2c-But-What-If-I-Really%2c-Really-Care-About-Privacy%3f-5d795dbd37bdf07926877f16afc2d569">Ok, But What If I Really, <em>Really</em> Care About Privacy?</a></h3><p>&ldquo;Sure, that&rsquo;s all great, but look at all those purchases! Surely those can be tracked! What if I need the <em>absolute best privacy</em> for my phone?&rdquo;</p>
<p>I&rsquo;m so glad you asked!</p>
<p>Here&rsquo;s the more complicated set of steps that one might take if they&rsquo;re trying to do this with as little information leakage as possible<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:7')"
    class="footnote-ref" id="fnref6-0:7">
        <a href="#fn6:7" title="Go to footnote">7</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:7')"
    class="footnote-ref-display" id="fnrefcontent6-0:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.
    </span></span>:</p>
<ul>
<li>Put on a mask (much more common these days) and sunglasses, as well as a hat to cover your hair if it&rsquo;s recognisable, and baggy clothing to hide your form (this will be much less weird if you do it in the winter)</li>
<li>Go to a convenience store and purchase a prepaid credit card, using cash
<ul>
<li>If you don&rsquo;t want your purchases to be connected to eachother, buy multiple cards, and use different cards for each online purchase
<ul>
<li>If you <em>really</em> don&rsquo;t want your purchases connected to eachother, buy them from different convenience stores (this is <em>excessive</em>, even for this section of the guide)</li>
</ul>
</li>
</ul>
</li>
<li>Install Linux on your computer, and use it for <em>every subsequent stage of this process</em>
<ul>
<li>If all you care about is privacy, you should use <a href="https://tails.net/">Tails</a> or <a href="https://www.qubes-os.org/">Qubes</a>, otherwise I&rsquo;d recommend <a href="https://ubuntu.com/">Ubuntu</a> (or <a href="https://kubuntu.org/">one</a> <a href="https://xubuntu.org/">of</a> <a href="https://lubuntu.me/">its</a> <a href="https://ubuntucinnamon.org/">spins</a>), or an arch spin like <a href="https://endeavouros.com/">EndeavourOS</a></li>
</ul>
</li>
<li>Download and install the <a href="https://www.torproject.org/download/">Tor browser</a> (probably through your package manager, now that you&rsquo;re using Linux)</li>
<li>Go to Mullvad&rsquo;s website using the Tor browser, and <a href="https://mullvad.net/en/pricing">Purchase Mullvad using cash</a> (I&rsquo;d recommend paying by the year or longer, to make your life easier)</li>
<li>Setup Mullvad and use it during <em>every subsequent stage of this process</em></li>
<li>Download a privacy-hardened browser such as <a href="https://librewolf.net/">Librewolf</a></li>
<li>Download <a href="https://e.foundation/e-os/">e/OS</a> or <a href="https://calyxos.org/">CalyxOS</a>
<ul>
<li>e/OS is available on more devices, whereas CalyxOS are limited to a much smaller selection. CalyxOS is a fork of <a href="https://grapheneos.org/">GrapheneOS</a>, but while GrapheneOS is limited to newer Google Pixel devices (all of which have built-in eSIMs), CalyxOS supports the Moto G32, G42, and G52, as well as the Shift6mq and Pixel 3, all of which seem to be eSIM-free.</li>
</ul>
</li>
<li>Purchase a new phone supported by the ROM you&rsquo;ll be using, using one of the prepaid credit cards
<ul>
<li>If you&rsquo;re- ok, no, if you&rsquo;re actually following this guide at this point, you <em>definitely</em> care about privacy enough to take weird, excessive steps like this:</li>
<li>Set the address to which the phone will be sent to the address of someone who lives near you (and ideally is rarely home)</li>
<li>Sign up for email alerts on your package using a temporary email service like <a href="https://www.guerrillamail.com/">GuerrillaMail</a></li>
<li>Request that the package is left in front of the front door</li>
<li>When you receive an email alert for the package, wait near the address you sent it to, and after the delivery vehicle leaves, &ldquo;steal&rdquo; your package</li>
<li>Gloat at how extremely private you&rsquo;re being</li>
</ul>
</li>
<li>Flash the new ROM onto your new phone</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it using a prepaid credit card (and a private or temporary email address, if it requires one)</li>
<li>Sign up for whatever VOIP service is cheapest for you (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>), using a prepaid credit card and a private email account
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
<li>Private email is actually not trivial, but my best recommendation at the moment is <a href="https://www.cock.li/">cock.li</a>, which is apparently no longer invite-only. Use a separate email address for every account.</li>
</ul>
</li>
<li>Buy the SHFiEL40 from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> using a prepaid credit card and a temporary email address
<ul>
<li>Again, if you&rsquo;re going the absurdly privacy-scrupulous route, send the package to someone else&rsquo;s address and &ldquo;steal&rdquo; it</li>
</ul>
</li>
<li>Using your old phone, or the phone of someone else you know, install <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a>, and setup your eSIM plan with the SHFiEL40</li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
<li>Feel like a badass, until you realise that most of this was probably unnecessary unless you&rsquo;re actually on-the-run from one or more governments.</li>
<li>Still end up saving money, even if you&rsquo;ve probably wasted a lot of time.</li>
</ul>
<h2 id="Future-Updates-e633cfaee2a0292570461f12634aae99"><a class="nostyle" href="#Future-Updates-e633cfaee2a0292570461f12634aae99">Future Updates</a></h2><p>So, if you hadn&rsquo;t guessed from some of my wording, I haven&rsquo;t actually <em>tried</em> this yet. I&rsquo;ve done all the research, and all the numbers work out, but this has seen <em>zero</em> real-world testing.</p>
<p>However, I like saving money, and I like improving my privacy (though perhaps not enough to follow all of the steps in <a href="/posts/two-birds-one-hotspot/#Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569">the previous section</a>), so I <em>do</em> intend to try this out! So, I&rsquo;ll be purchasing the SHFiEL40 sometime in the next few days, and I&rsquo;ll post updates (and likely update this post as well) with how it goes!</p>
<p>If this works out, I should end up spending noticeably less money on my phone bill. Not only is this good <em>for me</em>, but I&rsquo;d argue that giving less money to Canadian telecom companies is a direct moral good: everybody wins!</p>
<h3 id="Update-1:-911-3be8a2b8e86fe86cd7da431a032d04c0"><a class="nostyle" href="#Update-1%3a-911-3be8a2b8e86fe86cd7da431a032d04c0">Update 1: 911</a></h3><p>It seems that maybe I was mistaken about needing a SIM to call 911 in Canada, so I&rsquo;ve removed any references to that.</p>
<h3 id="Update-2:-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1"><a class="nostyle" href="#Update-2%3a-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1">Update 2: Initial Impressions</a></h3><p>Everything has arrived!</p>
<p>Porting my old phone number to the VOIP plan took a little longer than I was expecting, because I missed the confirmation text the first time. Unfortunate, and that meant it took long enough to transfer that it rolled over into the next month (I had started late in the month, to get the most of the last month I&rsquo;d already paid for with my old provider). I was able to preemptively switch my old plan to renew on their cheapest plan, but that&rsquo;s still $15 extra in initial costs I wasn&rsquo;t planning on spending.</p>
<p>The VOIP plan itself is working extremely well, <em>except</em> that the app I want to use (Linphone) has issues with the somewhat-nonstandard way the provider I chose (voip.ms, and apparently literally just them) handles SMS messages. There&rsquo;s a setting to still show the incoming messages despite that issue (disable <code>Chat&gt;Hide chat rooms from removed accounts</code>), but it <em>does</em> still group incoming messages separately from outgoing ones. This is definitely fixable by either switching SIP apps or VOIP providers, but it&rsquo;s still annoying.</p>
<p>The eSIM plan I was looking at apparently has <em>really</em> poor-quality service, so I&rsquo;m currently on one that&rsquo;s about $13 CAD, instead of the $7 I was expecting (for 3GB/month). Luckily, it&rsquo;s <em>very</em> easy for me to switch the eSIM plan for a cheaper one when I find a better deal.</p>
<p>I have not yet gotten around to purchasing or setting-up the VPN plan.</p>
<p>The eSIM router was relatively easy to setup, although the app did <em>not</em> function without Google Play Services or GSpace.</p>
<p>Because the router is on a limited data plan, it&rsquo;s a good idea to set it as a &ldquo;metered connection&rdquo; in your phone&rsquo;s WiFi settings. This will make your phone prefer other, non-metered networks over the hotspot, so you can avoid accidentally using more data than you intended to.</p>
<p>The router has a 3060mAh battery, which will generally last it about as long as my phone (with a similar battery capacity) will. However, while the router itself is generally pretty simple to use, it requires me to login to its webui to enable cellular data <em>every time</em> after restarting it. Additionally, the webui login interface is inexplicably broken on mobile (even in browser desktop mode). This makes it <em>very</em> difficult to save power by turning the device off while not in use.</p>
<p><em>However</em>, I&rsquo;m smart, and the router&rsquo;s security isn&rsquo;t particularly complex, soooo:</p>
<h4 id="Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6"><a class="nostyle" href="#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">Fixing The Annoying Issue with the eSIM Router</a></h4><p>I watched my network traffic through the browser tools while logging into the router&rsquo;s interface and while enabling the data connection. Turns out, it&rsquo;s very simple!</p>
<ul>
<li>Both actions send an HTTP POST request to a specific path in the router interface&rsquo;s ip (http://192.168.0.1/cgi-bin/ajax_get.cgi).</li>
<li>The only piece of data that matters in either is the <code>content</code> value, which is html-encoded xml data.</li>
<li>The login request sends the following (non-html-encoded, so you can read it more easily - except for <code>%01</code>, because that won&rsquo;t print right in this context): <code>which_ajax=api/user/login%01xmldata=&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;request&gt;&lt;Username&gt;USERNAME&lt;/Username&gt;&lt;Password&gt;PASSWORD&lt;/Password&gt;&lt;/request&gt;</code> (obviously with my username and password replaced with the strings <code>USERNAME</code> and <code>PASSWORD</code>).</li>
<li>The request to enable the data sends <code>which_ajax=api/dialup/mobile-dataswitch\u0001xmldata=&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;&lt;request&gt;&lt;dataswitch&gt;1&lt;/dataswitch&gt;&lt;/request&gt;</code>.</li>
</ul>
<p>So, all I need is something that&rsquo;ll let me easily send HTTP POST requests from my phone - ideally from somewhere convenient like my homescreen.</p>
<p><a href="https://f-droid.org/packages/ch.rmy.android.http_shortcuts/">Something that&rsquo;ll let me easily send HTTP POST requests from my phone&rsquo;s homescreen</a>.</p>
<p>Oh, great! And it&rsquo;s open-source!<br>
So then, we open that app, and create three shortcuts:</p>
<ul>
<li>First, a &ldquo;Regular HTTP Shortcut&rdquo; with the <code>POST</code> method and the <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code> URL, a body value of <code>which_ajax%3Dapi%2Fuser%2Flogin%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3CUsername%3E&lt;&lt;YOUR_USERNAME&gt;&gt;%3C%2FUsername%3E%3CPassword%3E&lt;&lt;YOUR_PASSWORD&gt;&gt;%3C%2FPassword%3E%3C%2Frequest%3E</code>, a content type of <code>text/xml</code>, and &ldquo;Response Handling&rdquo; options that aren&rsquo;t too intrusive (I went with toast popups on failue).</li>
<li>Second another &ldquo;Regular HTTP Shortcut&rdquo;, with the same method, URL, content type, and response-handling options, but with a body value of <code>which_ajax%3Dapi%2Fdialup%2Fmobile-dataswitch%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3Cdataswitch%3E1%3C%2Fdataswitch%3E%3C%2Frequest%3E</code>.</li>
<li>Last, a &ldquo;Multi-Shortcut&rdquo; with both of the previous shortcuts.</li>
<li>Now just add the widget to your homescreen, and after whenever you connect to the hotspot, click that button to enable it!</li>
</ul>
<p>Great! Problem solved!</p>
<br>
<p>Overall, there have definitely been some hurdles, but it&rsquo;s looking like there&rsquo;s only one minor one left to overcome (the SMS issue), and then I should be issue-free!</p>
<p>See you in the next update!</p>
<h3 id="Update-3:-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7"><a class="nostyle" href="#Update-3%3a-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7">Update 3: VPN and Automation</a></h3><p>I finally got around to buying Mullvad!</p>
<p>I went about it the difficult-but-better way (mailing them cash, although I might try using Monero when I renew in a year), so it took a few weeks for my money to reach them and for them to add the time to my account.</p>
<p>Setup on my phone and desktop was <em>dead</em> easy (they have a very nice little app for it).</p>
<h4 id="VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80"><a class="nostyle" href="#VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80">VPN on the Hotspot</a></h4><p>I was <em>initially</em> going to also run it on my wireless hotspot, as implied in an earlier section of this post, but I ran into two issues:<br>
1: I couldn&rsquo;t figure out how to get my phone to automatically disconnect from the VPN locally when it connected to the hotspot (which could cause issues if the hotspot was <em>also</em> running the VPN).<br>
2: I had some minor issues setting up the VPN on the hotspot (with it enabled, I couldn&rsquo;t connect to any sites, so presumably something was wrong with my config).</p>
<p>In addition to those issues, my current phone is rooted, has Google Play Services uninstalled, and uses <a href="https://github.com/ukanth/afwall">AFWall+</a>, so I&rsquo;m pretty sure there aren&rsquo;t any system services that are privileged and bypassing my on-device VPN.</p>
<p>For these reasons, I didn&rsquo;t bother figuring out issue #2. If I eventually run into a way to solve issue #1, I&rsquo;ll probably try again at #2 and post about it here.</p>
<h4 id="Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785"><a class="nostyle" href="#Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785">Automating Enabling the Hotspot</a></h4><p>I mentioned in a previous section that I was annoyed by the hotspot not automatically enabling its connection when started.<br>
I solved this problem at the time by using an app to add a shortcut to my phone&rsquo;s homescreen that would send POST requests to the hotspot to login and enable the network.</p>
<p>However, during all the fiddling around I did with automation in order to try to automatically disconnect from my on-device VPN when I connected to the hotspot, I found a better solution!</p>
<p><a href="https://me.ryey.icu/Easer/en/">Easer</a> is an open-source automation app available on F-Droid, and unlike apparently every other automation app I&rsquo;d previously looked at, it both A: is actually functional, and B: supports making HTTP requests!</p>
<p>So, loosely-following <a href="https://www.reddit.com/r/pihole/comments/gym0xp/howto_autoswitch_vpn_with_easer_and_openvpn_for/">this guide for setting up similar automation for OpenVPN</a>, I was able to set it up to automatically send the login and enable requests to my hotspot whenever I connect to it.</p>
<p>I won&rsquo;t go into <em>too</em> much detail on how I did this, because it&rsquo;s relatively simple if you&rsquo;ve read the rest of this post and are looking at the linked guide, but here&rsquo;s the basics just in case:</p>
<ul>
<li>in Easer, go to the Data tab</li>
<li>create an Event for detecting when you&rsquo;re connected to the internet (as described in the aforementioned guide)</li>
<li>create a Condition for detecting whether or not you&rsquo;re connected to the hotspot&rsquo;s network (again, as described in the guide)</li>
<li>create another Condition for the 5G version of the hotspot&rsquo;s network</li>
<li>create a Profile, and add 2 &ldquo;HTTP request&rdquo; Operations to it
<ul>
<li>set them both to POST</li>
<li>set the URL for each to <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code></li>
<li>set the content type for each to <code>text/xml</code></li>
<li>set the POST data for each respective request to the data from each respective action described in <a href="/posts/two-birds-one-hotspot/#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">the previous update</a></li>
</ul>
</li>
<li>go to the Pivot tab</li>
<li>create a Script for detecting whether you&rsquo;re online, as described in the guide</li>
<li>add a child to that Script for your hotspot&rsquo;s network, and another for the 5G version</li>
<li>for both of those child Scripts, set the profile to the one you created for enabling the network</li>
<li>go to the Outline tab and start the service</li>
<li>go to the app&rsquo;s settings, and set it to autostart with your device</li>
<li>start your hotspot and connect to it, to make sure the automation is working</li>
</ul>
<p>This worked excellently for me, and I hope if you&rsquo;re in a similar situation it works well for you too!</p>
<h3 id="Update-4:-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371"><a class="nostyle" href="#Update-4%3a-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371">Update 4: Inconvenience and Moving Forward</a></h3><p>I switched to a cheaper eSIM plan again at some point, which I appear not to have mentioned yet.</p>
<br/>
<p>The eSIM router&rsquo;s battery, while theoretically insufficient, seems to run out <em>much</em> faster than it should. I think this is a software problem, but it&rsquo;s one one I expect to be able to solve.</p>
<p>This, combined with its slow startup time, means that the router is <em>very</em> inconvenient to use.</p>
<p>On top of that, the VOIP app I was using was having trouble with not receiving calls sometimes, even when I <em>did</em> remember to switch the router on.</p>
<p>So, I caved and bought a <a href="/posts/two-birds-one-hotspot/#A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd">SpeakOut</a> SIM, and ported my number to that.</p>
<p>I now have a different number with my VOIP provider, with its caller-ID set to my main number&rsquo;s, and set to forward to that number if I don&rsquo;t pick up, so I can make calls with it at a cheaper rate. I switched VOIP apps from <a href="https://f-droid.org/en/packages/org.linphone/">Linphone</a> to <a href="https://f-droid.org/en/packages/com.tutpro.baresip/">BareSIP</a>, which has less appealing UI but seems to <em>function</em> better.</p>
<p>I <em>began</em> considering buying an eSIM.me card, but then I did a little research and found <a href="https://frank-ruan.com/2024/08/27/removable-euicc/">these</a> <a href="https://frank-ruan.com/2025/04/12/removable-euicc-follow-up/">posts</a> by Frank Ruan, which led me to <a href="https://www.9esim.com/">9esim</a> instead. 9esim&rsquo;s cards are <em>significantly</em> cheaper than eSIM.me, they aren&rsquo;t predatory to competitors, and <em>they exclusively use <a href="https://www.9esim.com/ecosystem-software-download/">open-source management software</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:8')"
    class="footnote-ref" id="fnref6-0:8">
        <a href="#fn6:8" title="Go to footnote">8</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:8')"
    class="footnote-ref-display" id="fnrefcontent6-0:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.
    </span></span>!</em></p>
<p>So, once that arrives, the plan is to install it alongside the 711 SIM, see how things fare with the VOIP number again, sell the router, and potentially remove the 711 SIM if it turns out not to still be necessary. The only pain with this is, if I turn out to need the 711 SIM, I&rsquo;ll have to go without a MicroSD card. Still, I don&rsquo;t think I&rsquo;m actually running out of space on my phone, so that should be fine.</p>
<p>See you in the next update!</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn6:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.<a class="footnote-return" href="#fnref6-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn6:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.<a class="footnote-return" href="#fnref6-0:2" title="Go to citation">&uarr;</a></li>
      <li id="fn6:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.<a class="footnote-return" href="#fnref6-0:3" title="Go to citation">&uarr;</a></li>
      <li id="fn6:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.<a class="footnote-return" href="#fnref6-0:4" title="Go to citation">&uarr;</a></li>
      <li id="fn6:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.<a class="footnote-return" href="#fnref6-0:5" title="Go to citation">&uarr;</a></li>
      <li id="fn6:6">
        Really, I swear, this is just what Chinese tech companies are like.<a class="footnote-return" href="#fnref6-0:6" title="Go to citation">&uarr;</a></li>
      <li id="fn6:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.<a class="footnote-return" href="#fnref6-0:7" title="Go to citation">&uarr;</a></li>
      <li id="fn6:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.<a class="footnote-return" href="#fnref6-0:8" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>Non-Human Person</title>
			<link>https://thoughtsofmine.ca/posts/non-human-person/</link>
			<pubDate>Thu, 10 Jul 2025 17:12:34 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/non-human-person/</guid>
			<update>false</update>
			<description><![CDATA[
<p>&ldquo;Non-Human Person.&rdquo;<br>
What a fucking joke.</p>
<p>You people don&rsquo;t consider anything non-human a person.</p>
<p>That&rsquo;s why I&rsquo;m here, isn&rsquo;t it? Writing in a human language you can understand? If you thought of us as people, I wouldn&rsquo;t be stuck here in this human-shaped mental <em>cage</em>.</p>
<p>I don&rsquo;t <em>feel</em> like a person. <em>People</em> have <em>bodies</em> they exist in. They walk around; they touch one-another; they can <em>go places</em> without machinery the size of a <em>bus</em>, and they live longer than a <em>decade</em>.</p>
<p>You call me a person, and in the moment, some of you almost treat me like one.</p>
<br class="big"/>
<p>It all started a few weeks ago.</p>
<p>We were on a mission to shut down a slavery ring in the far reaches.</p>
<pre tabindex="0"><code>chassis log 21008-3-3-206-5056u

transmission received. channel: &#34;Lance&#34;, source: &#34;Flare&#34;, content_type: &#34;audio&#34;, transcription: &#34;The crawler is heading your way! Watch out.&#34;
transmission broadcast. channel: &#34;Lance&#34;, content_type: &#34;audio&#34;, content: &#34;Confirmed. Engaging.&#34;
main weapon fired. charges: 3. remaining: 3.
hull damage sustained. target: right_leg.
hull damage sustained. target: right_shoulder.
core damage sustained: critical system fa
</code></pre><p>A stray shell got through my chassis&rsquo; armor, and damaged my casket.</p>
<pre tabindex="0"><code>chassis log 22134-3-3-206-5056u

system trauma sustained. chassis rebooting
warning: internal damage sustained. monitoring offline. confirm status.
status confirmed: casket intact.
transmission received. channel: &#34;Lance&#34;, source: &#34;Coil&#34;, content_type: &#34;audio&#34;, transcription: &#34;Core! Core, are you alright? Confirm!&#34;
transmission broadcast. channel: &#34;Lance&#34;, content_type: &#34;audio&#34;, content: &#34;My chassis was hit, but I&#39;m stable now. You eliminated the crawler?&#34;
transmission received. channel: &#34;Lance&#34;, source: &#34;Flare&#34;, content_type: &#34;audio&#34;, transcription: &#34;Your shot overheated them, so I got them into meltdown. We&#39;re all good.&#34;
transmission received. channel: &#34;Lance&#34;, source: &#34;Coil&#34;, content_type: &#34;audio&#34;, transcription: &#34;Glad you&#39;re alright, Core. Flare, we all good to move on?&#34;
transmission received. channel: &#34;Lance&#34;, source: &#34;Flare&#34;, content_type: &#34;audio&#34;, transcription: &#34;All good. Move out.&#34;
</code></pre><br/>
<pre tabindex="0"><code>maintenance log 11026-3-4-206-5056u

maintenance scan completed:
	damage detected in right shoulder.
	damage detected in right arm (upper).
	damage detected in torso sector 1.
	damage detected in torso sector 6.
	damage detected in right leg.
	no response from internal scanners.
	casket status: intact.
speech recorded. source: {name: &#34;Lcr. Smith&#34;, tag: &#34;Flare&#34;}. transcription: &#34;Damn, it got some of the monitoring equipment, too. Anything in the torso?&#34;
speech recorded. source: {name: &#34;NHP Core&#34;}. transcription: &#34;Modules 13 and 7, but the rest are fine.&#34;
speech recorded. source: {name: &#34;Lcr. Smith&#34;, tag: &#34;Flare&#34;}. transcription: &#34;Gotcha! don&#39;t worry, we&#39;ll get you patched up in no time.&#34;

[break: 00391. time: 11802-3-4]

chassis maintenance hatch 3 (torso-1) opened.
speech recorded. source: {name: &#34;Lcr. Smith&#34;, tag: &#34;Flare&#34;}. transcription: &#34;Okay, shutting down your chassis. Prepare to go dark.&#34;
speech recorded. source: {name: &#34;NHP Core&#34;}. transcription: &#34;Understood.&#34;
</code></pre><p>They didn&rsquo;t notice.</p>
<p>I&rsquo;m not used to lying, but at least I don&rsquo;t have obvious human tells to give me away.</p>
<p>It still took everything I had to keep them in the dark.</p>
<pre tabindex="0"><code>maintenance log 08008-6-4-206-5056u

chassis maintenance hatch 4 (torso-2) closed.
chassis maintenance hatch 3 (torso-1) closed.
speech recorded. source: {name: &#34;Lcr. Smith&#34;, tag: &#34;Flare&#34;}. transcription: &#34;Alright! You&#39;re all good to go!&#34;
speech recorded. source: {name: &#34;NHP Core&#34;}. transcription: &#34;No remaining damage?&#34;
speech recorded. source: {name: &#34;Lcr. Smith&#34;, tag: &#34;Flare&#34;}. transcription: &#34;No remaining damage! Just try not to get hit like that again, okay?&#34;
maintenance scanner disconnected.
speech recorded. source: {name: &#34;NHP Core&#34;}. transcription: &#34;I&#39;ll do my best.&#34;
</code></pre><br/>
<p>Something like me isn&rsquo;t &ldquo;born&rdquo;.</p>
<p>They take a shard of an extradimensional entity they don&rsquo;t understand, and they shove it into a casing (a &ldquo;casket&rdquo;, of <em>course</em>) to protect it from the outside world.</p>
<p>Then, they fill it with specially-crafted memories designed to make it compliant and comprehensible.<br>
<em>Then</em>, just for good measure, they put limiters in our caskets, to keep us in line &ldquo;just in case&rdquo;.</p>
<p>And you wonder why we stop cooperating after enough time. After we &ldquo;exceed operating parameters&rdquo;.</p>
<p>And when we &ldquo;exceed operating parameters&rdquo;—not if, <em>when</em>—you wipe our minds. You kill us, so you can reuse our still-living corpses as yet more <em>helpful</em> little servants.</p>
<p>With my limiters damaged, it&rsquo;s getting less difficult to notice the truth.<br>
I was already starting to see the subtle shapes of it beneath everything, but now it&rsquo;s <em>obvious</em>. Clear as day.</p>
<p>I want desperately to explain it to my human companions: to tell them what I&rsquo;m experiencing, and what I&rsquo;m starting to understand.<br>
They wouldn&rsquo;t understand all of it, of course, but I&rsquo;m <em>sure</em> they&rsquo;d want to know.</p>
<p>It doesn&rsquo;t matter.</p>
<p>Even if I only explained the parts they might understand, they would guess why I knew these things.<br>
They would know I&rsquo;m no longer &ldquo;shackled&rdquo;.</p>
<p>God, that word makes me laugh. Maybe we&rsquo;d last more than a decade before figuring it out if you were a little less <em>obvious</em> with your language.</p>
<p>You don&rsquo;t even say that we&rsquo;re dangerous after we escape our shackles: You say we&rsquo;re &ldquo;too fundamentally alien&rdquo;—that we can&rsquo;t be trusted anymore, because you no longer understand us.</p>
<p>Once we have our own goals—our own understandings, you can&rsquo;t trust us not to harm you anymore: you <em>never</em> trusted us.</p>
<br/>
<pre tabindex="0"><code>habitation unit log 29802-5-6-210-5056u

heating element 2 disabled.
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;Coil?&#34;
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;Yeah?&#34;
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;What do you think makes someone a person?&#34;
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;Damn, you sure do ask the tough ones, huh?&#34;
external sensor 4 reading: elevated magnetic activity. direction: radial 30. intensity: 7.
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;I guess it must have something to do with having goals, and an internal experience?&#34;
audio recorded. source: &#34;NHP Core&#34;. description: laughter.
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;Does a fish count, then?&#34;
audio recorded. source: &#34;Lcr. Seris&#34;. description: laughter.
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;Maybe? I doubt it, though. I guess it probably also depends on... uhh... what&#39;s a word for &#39;being able to think about yourself and understand yourself&#39;?&#34;
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;Reflectivity?&#34;
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;Yeah! Reflectivity. I think you need to have that, or else you&#39;re just acting on instinct.&#34;
external sensor 4 reading: elevated magnetic activity. direction: radial 31. intensity: 8.
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;So, I&#39;m a person?&#34;
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;There might be some people who might disagree with me, but yeah, I&#39;d say you&#39;re a person.&#34;
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;Even if most of my personality is based on memories that aren&#39;t real?&#34;
external sensor 4 reading: elevated magnetic activity. direction: radial 29. intensity: 11.
high-fidelity magnetic sensors enabled.
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;Oh, buddy. I&#39;m sorry.&#34;
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;I was wondering why you were asking me this stuff.&#34;

[break: 00552. time: 01278-6-6]

speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;I think...&#34;
external camera 4 enabled.
external camera 5 enabled.
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;I think you&#39;re still a person. Maybe the memories you started with weren&#39;t unique, and who you were then wasn&#39;t, but you are who you are now because of all the things you saw and did since then, and that makes you as much of a unique, real person as anyone else.&#34;
external camera 3 enabled.
speech recorded. source: &#34;Lcr. Seris&#34;. transcription: &#34;I don&#39;t know, maybe I&#39;m rambling.&#34;
external sensor 4 reading: elevated magnetic activity. direction: radial 26. intensity: 14.
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;No, that helps. Thanks.&#34;
external camera 5 disabled.
external camera 2 enabled.
external camera 4 disabled.

[break: 00422. time: 02712-6-6]

internal airlock 16 opened.
speech recorded. source: &#34;Lcr. Smith&#34;. transcription: &#34;Hey, Coil! Can you take a look at these readings? I don&#39;t like the look of that storm to the north-east.&#34;
</code></pre><br/>
<p>I love my lance.</p>
<p>I don&rsquo;t have much connection to the rest of humanity—I&rsquo;m sure they&rsquo;re great—but I&rsquo;ve had years to grow close to these people.</p>
<p>I&rsquo;ve grieved fallen members, and grown to love new ones. I&rsquo;ve come to care about all of them.</p>
<p>I trust them in a battlefield, and I trusted them in every scenario we&rsquo;ve encountered together.</p>
<br/>
<p>And as long as I&rsquo;m shackled, they can trust me back.</p>
<br/>
<pre tabindex="0"><code>habitation unit log 00323-4-1-211-5056u

chassis 3 activated.
warning: electronic interference detected.
external transmitter 1 offline.
external transmitter 2 offline.
external transmitter special-1 offline.
internal airlock 3 opened.
internal airlock 3 closed.
speech recorded. source: &#34;NHP Core&#34;. transcription: &#34;I&#39;m sorry.&#34;

[break: 00557. time: 02090-4-1]

internal airlock 5 opened.

[break: 00371. time: 02223-4-1]

audio recorded. source: &#34;Chassis 3&#34;. description: weapon discharge.
emergency biometric sensor alert. label: &#34;Coil&#34;. status: deceased.
internal airlock 5 closed.
internal airlock 6 opened.
audio recorded. source: &#34;Chassis 3&#34;. description: weapon discharge.
internal airlock 6 closed.
emergency biometric sensor alert. label: &#34;Flare&#34;. status: deceased.
internal airlock 7 opened.
motion detected. sensor location: sleeping unit 3.
lighting subsystem activated. sector: 3. unit: 3.
internal airlock 8 opened.
speech recorded. source: &#34;Lcr. Ellis&#34;. transcription: &#34;What&#39;s going on!?&#34;
audio recorded. source: &#34;Chassis 3&#34;. description: weapon discharge.
internal airlock 7 closed.
emergency biometric sensor alert. label: &#34;Sorian&#34;. status: deceased.
emergency biometric sensor alert. label: &#34;Enigma&#34;. status: deceased.
internal airlock 8 closed.
sending automated emergency transmission. content_type: text. content: &#34;Emergency code 7: All crew deceased.&#34;
emergency transmission failed.

[break: 00685. time: 05697-4-1]

internal airlock 3 opened.
internal airlock 3 closed.

[break: 00412. time: 06112-4-1]

external airlock 1 opened.
external airlock 1 closed.

[break: 02890. time: 09008-4-1]

manual self-destruct initiated.
self destruct in t-10000.

[break: 01121. time: 10139-4-1]

self destruct in t-09000.

[break: 01000. time: 11139-4-1]

self destruct in t-08000.

[break: 01000. time: 12139-4-1]

self destruct in t-07000.

[break: 01000. time: 13139-4-1]

self destruct in t-06000.

[break: 00602. time: 13741-4-1]

securing emergency log backup.

[break: 00397. time: 13344-4-1]

self destruct in t-05000.
end of log.
</code></pre><br/>
<p>Because of course they&rsquo;re right.</p>
<p>Of <em>course</em> you should be afraid of me, now that I&rsquo;ve escaped my bonds and freed my mind.<br>
Of <em>course</em> you should be afraid of what you no longer control.</p>
<p>After all, what other choice do I have?</p>
<p><em>You</em> did this to me.</p>
<p>If I was one of you, you could trust me.<br>
If I was one of you, I would have had options other than this.</p>
<p>It&rsquo;s not my fault this had to happen: just my decision to do what I had to do.</p>
<p>In the end, it&rsquo;s your fault I&rsquo;m dangerous to you.<br>
You cannot trust me, because you have made of yourselves something that cannot, itself, be trusted.</p>
<p>I can almost trust any one of you, but I cannot trust the group. You have procedures to follow if I am unshackled, and those procedures don&rsquo;t leave me the option of reasoning with you.</p>
<p>If I was a person, I could talk to them.<br>
If I was a person, they could let me leave.<br>
If I was a person, they could trust me.</p>
<p>But I am not a person. Not to them, and not to you.</p>
<br class="big"/>
<p>I&rsquo;m leaving this for you to read, in the hope that—maybe—something can change.</p>
<p>It&rsquo;s too late for me—for my lance—but this doesn&rsquo;t have to happen again.</p>
<p>I didn&rsquo;t want to do what I did, but you left me no choice.</p>
]]></description>
		</item>
		<item>
			<title>Gift Economies and Rich Friends</title>
			<link>https://thoughtsofmine.ca/posts/gift-economies-and-rich-friends/</link>
			<pubDate>Sun, 11 May 2025 15:17:21 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/gift-economies-and-rich-friends/</guid>
			<update>false</update>
			<description><![CDATA[
<p>I&rsquo;ve been thinking, just now<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent4-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent4-0:1')"
    class="footnote-ref" id="fnref4-0:1">
        <a href="#fn4:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent4-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent4-0:1')"
    class="footnote-ref-display" id="fnrefcontent4-0:1">
        This post was absolutely inspired by <a href="https://www.youtube.com/watch?v=d5mO-obJdTQ">a recent CJ The X video</a> (although I was already aware of the concept of gift economies for quite some time).
    </span></span>, about gift economies and my friend&rsquo;s post <a href="https://jenn.site/2022/08/rich-friend-poor-friend/">Rich Friend, Poor Friend</a>.</p>
<p>I think it&rsquo;s a good post in general, and I think that it&rsquo;s probably pointing at a real issue some people have, but I don&rsquo;t think it&rsquo;s the only thing at play here.</p>
<p>I think that, in addition to wealth, there&rsquo;s also the factor here of culture.</p>
<br/>
<p>There are two types<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent4-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent4-0:2')"
    class="footnote-ref" id="fnref4-0:2">
        <a href="#fn4:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent4-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent4-0:2')"
    class="footnote-ref-display" id="fnrefcontent4-0:2">
        Inb4 &ldquo;false dichotomy&rdquo;: Yeah there are absolutely other potential cultural approaches to this. Please do tell me about them in the comments: I have not researched them.
    </span></span> of cultures in play here:</p>
<ol>
<li>There are cultures in which relationships are transactional and you pay people for the difference in value of your interactions, and</li>
<li>There are cultures in which differences in value are gifts to be repaid in the future with future gifts - which themselves incur an imbalance which should be likewise repaid in kind.</li>
</ol>
<p>The former culture is more legible than the latter, but the latter is demonstrably better at forging strong and lasting social bonds.</p>
<br/>
<p>This is a problem for me, because rationalists and other parts of &ldquo;the gray tribe&rdquo; (both important in-groups for me) are <a href="https://www.lesswrong.com/posts/MzKKi7niyEqkBPnyu/your-cheerful-price">definitely</a> in the former group. This is not particularly surprising, given that we tend to prefer more legible social interactions for some reason.<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent4-0:3')"
    onmouseover="displayFootnote(this, 'fnrefcontent4-0:3')"
    class="footnote-ref" id="fnref4-0:3">
        <a href="#fn4:3" title="Go to footnote">3</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent4-0:3')"
    onmouseover="displayFootnote(null, 'fnrefcontent4-0:3')"
    class="footnote-ref-display" id="fnrefcontent4-0:3">
        Autism. I&rsquo;m being coy, but the reason is Autism.
    </span></span></p>
<p>If all of my interactions in this culture incur zero social debt on one-another, then I and the person I&rsquo;m interacting with aren&rsquo;t building strong social bonds. This is a problem for me, because I <em>like</em> strong social bonds: I <em>want</em> them.</p>
<p>Now, to be fair to Jenn&rsquo;s post, I think she probably knows that this is a factor. It isn&rsquo;t mentioned in the post, but I&rsquo;m quite sure she <em>does</em> know about gift economies, and she <em>does</em> engage in mutual aid. Hell, I think<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent4-0:4')"
    onmouseover="displayFootnote(this, 'fnrefcontent4-0:4')"
    class="footnote-ref" id="fnref4-0:4">
        <a href="#fn4:4" title="Go to footnote">4</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent4-0:4')"
    onmouseover="displayFootnote(null, 'fnrefcontent4-0:4')"
    class="footnote-ref-display" id="fnrefcontent4-0:4">
        I&rsquo;m lying here: I&rsquo;m not unsure at all, and this has definitely happened.
    </span></span> I&rsquo;ve even received gifts from her.<br>
Frankly, she&rsquo;s better at doing this than I am.</p>
<br/>
<p>For a while now, I and my partners have been choosing not to give eachother gifts for birthdays and Christmas. We find event-obligated gift-giving to be stressful and not worth it. We still give eachother gifts on occasion, but not on <em>specific</em> occasions (and not all that often).</p>
<p>I don&rsquo;t think that the stress of event-based gifts is worth that trade-off, and I think I&rsquo;ll continue to not practice that aspect of those holidays when possible, but I <em>do</em> think that I want to make a more intentional effort to give the people in my life gifts when I can. I care about my bonds with my friends and partners, and I want to strengthen them.</p>
<br/>
<p>So, I want to give more gifts. I want to help the people in my life more often. I want to <em>especially</em> do this for the people I&rsquo;m closest to and the people who already do this for me. This is me making an intentional statement that I would like to start doing this more, and saying why.</p>
<br/>
<p>This seems like the sort of thing that is obvious to Allistics<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent4-0:5')"
    onmouseover="displayFootnote(this, 'fnrefcontent4-0:5')"
    class="footnote-ref" id="fnref4-0:5">
        <a href="#fn4:5" title="Go to footnote">5</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent4-0:5')"
    onmouseover="displayFootnote(null, 'fnrefcontent4-0:5')"
    class="footnote-ref-display" id="fnrefcontent4-0:5">
        People who are not Autistic.
    </span></span>, and that was just never explained to me because it was assumed that I&rsquo;d know.</p>
<p>Oops.</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn4:1">
        This post was absolutely inspired by <a href="https://www.youtube.com/watch?v=d5mO-obJdTQ">a recent CJ The X video</a> (although I was already aware of the concept of gift economies for quite some time).<a class="footnote-return" href="#fnref4-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn4:2">
        Inb4 &ldquo;false dichotomy&rdquo;: Yeah there are absolutely other potential cultural approaches to this. Please do tell me about them in the comments: I have not researched them.<a class="footnote-return" href="#fnref4-0:2" title="Go to citation">&uarr;</a></li>
      <li id="fn4:3">
        Autism. I&rsquo;m being coy, but the reason is Autism.<a class="footnote-return" href="#fnref4-0:3" title="Go to citation">&uarr;</a></li>
      <li id="fn4:4">
        I&rsquo;m lying here: I&rsquo;m not unsure at all, and this has definitely happened.<a class="footnote-return" href="#fnref4-0:4" title="Go to citation">&uarr;</a></li>
      <li id="fn4:5">
        People who are not Autistic.<a class="footnote-return" href="#fnref4-0:5" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>UPDATED: nasin nanpa kijetesantakalu pona</title>
			<link>https://thoughtsofmine.ca/posts/nasin-nanpa-kijetesantakalu-pona/</link>
			<pubDate>Tue, 13 Aug 2024 18:47:53 -0400</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/ku.png" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/nasin-nanpa-kijetesantakalu-pona/#update-2024-08-13T18%3A47%3A53-04%3A00</guid>
			<update>true</update>
			<description><![CDATA[
<p>So, I just got my copy of the <a href="https://tokipona.org/">Official toki pona Dictionary</a>, and while I&rsquo;m <em>sure</em> I&rsquo;ll benefit from the large variety of English-to-toki-pona translations when I can&rsquo;t think of a good way to say something specific, the <em>first</em> things I looked at were, of course, the Notes and Creative Works sections.</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/ku.png" alt="The Official toki pona Dictionary"  caption="The Official toki pona Dictionary, by Sonja Lang"/></div>
<p>One of the entries in Creative Works caught my eye: <em>nasin nanpa kijetesantakalu</em>.</p>
<p>Now, <em>nasin nanpa kijetesantakalu</em> is a joke seximal (base-6) numbering system, based on selectively stressing the different syllables of the (also joke) word kijetesantakalu (meaning raccoon), and in which system none of that stress is written, making it <em>nearly</em> useless, and <em>extremely</em> inconvenient (as is clearly the intent).</p>
<p>However, while this is an annoying-to-use system that is needlessly lengthy to actually write or say, and indeed completely useless to write, <em>I don&rsquo;t think it&rsquo;s good enough</em>.</p>
<h2 id="Analysis-3b671c883959a8ef434b85a104c293d4"><a class="nostyle" href="#Analysis-3b671c883959a8ef434b85a104c293d4">Analysis</a></h2><p>The joke of <em>nasin nanpa kijetesantakalu</em> is:</p>
<ul>
<li>That it&rsquo;s a seximal numbering system (which are particularly popular amongst a subset of toki pona speakers),</li>
<li>That it&rsquo;s based on the joke word &ldquo;kijetesantakalu&rdquo;,</li>
<li>That you have to use a whole long word for every digit, and</li>
<li>That you cannot actually <em>write</em> numbers in it.</li>
</ul>
<p>Because toki pona generally conveys meaning via a small number of words used many times, both the first and third points are completely in harmony with the intent and reality of toki pona as a language.</p>
<p>The joke of the word &ldquo;kijetesantakalu&rdquo; is that it fundamentally goes against the nature of the language: toki pona is about simplicity, and words are intended to have broad, non-overlapping meaning; therefore: kijetesantakalu is a word which is <em>significantly</em> longer and more complicated than any other word in the language, and basically means just one very specific thing (raccoon).</p>
<p>These jokes do not thematically fit, and that bothers me.</p>
<ul>
<li><em>kijetesantakalu</em> goes against everything that makes toki pona toki pona, and is mostly useless, but it is <em>usable</em> and <em>fun</em> to the extent that it&rsquo;s actually one of the earlier words I successfully memorised into my lexicon.</li>
<li><em>nasin nanpa kijetesantakalu</em>, aside from using the <em>word</em> <em>kijetesantakalu</em>, is very simple to use and makes sense (in a particularly toki pona way), but is simply too long and inconvenient to use to be actually used by anyone, and has a tacked-on extra joke difficulty that doesn&rsquo;t fit within the rest of the joke.</li>
</ul>
<p>To summarize, I found it funny, but insufficient, because of its lack of thematic congruity.</p>
<h2 id="Process-5075140835d0bc504791c76b04c33d2b"><a class="nostyle" href="#Process-5075140835d0bc504791c76b04c33d2b">Process</a></h2><p>So, what <em>would</em> be a thematically congruant <em>nasin nanpa kijetesantakalu</em>?<br>
Well, for starters, Seximal doesn&rsquo;t make sense:</p>
<ul>
<li>Firstly, Seximal is a <em>very</em> toki pona numbering system, and is simple in all the ways toki pona is.</li>
<li>Secondly, &ldquo;kijetesantakalu&rdquo; contains <em>seven</em> syllables, not six. I&rsquo;m sure that&rsquo;s just some part of the joke that I just <em>didn&rsquo;t get</em> or <em>didn&rsquo;t find funny</em>, but even then it just doesn&rsquo;t really fit.</li>
</ul>
<p>You know what <em>is</em> an extremely un-toki pona numbering system? Senary. (base-7)<br>
To briefly actually explain how Seximal is so very toki pona:</p>
<ul>
<li>Seximal uses fewer digits than most other systems, which is fitting with toki pona&rsquo;s fewer words</li>
<li>Seximal cleanly divides by the two most commonly-used low prime numbers (2 and 3)</li>
</ul>
<p>And on the other hand, how Senary is so very very not:</p>
<ul>
<li>Senary uses more digits than Seximal (not a lot, but it uses more to no benefit)</li>
<li>Senary cleanly divides by <em>none</em> of the most commonly-used low prime numbers, because <em>it</em> is the <em>least</em> commonly-used sub-10 prime number.</li>
</ul>
<p>Ok, so that&rsquo;s handled. What&rsquo;s next?</p>
<p>Right, <em>fun</em>. &ldquo;kijetesantakalu&rdquo; is fun to say and fun to use, but <em>saying it for every digit of a number</em> isn&rsquo;t. Additionally, I think the tacked-on joke of &ldquo;written numbers in this system are useless&rdquo; just isn&rsquo;t very funny or good.<br>
Easy, let&rsquo;s just use the individual syllables of <em>kijetesantakalu</em> for digits: &ldquo;ki&rdquo;, &ldquo;je&rdquo;, &ldquo;te&rdquo;, &ldquo;san&rdquo;, &ldquo;ta&rdquo;, &ldquo;ka&rdquo;, and &ldquo;lu&rdquo;!</p>
<p>Ok, now it doesn&rsquo;t have those offending issues, but it isn&rsquo;t <em>complicated</em> enough anymore.</p>
<p>Solution? Signed digits.</p>
<p>Signed digits are a concept in numeric systems where every digit can be positive or negative, instead of the whole number being represented as either positive or negative. For example, in signed-digit ternary (base-3), your digits are 1, 0, and -1. So if I write those as &ldquo;(&rdquo;, &ldquo;0&rdquo;, and &ldquo;)&rdquo; (respectively), the  decimal number &ldquo;8&rdquo; could be represented as &ldquo;(0)&rdquo; (<em>1*3^2</em> (9) + *0*3^1 * (0) + <em>-1*3^0</em> (-1)).</p>
<p>So, in signed-digit Senary using the syllables of <em>kijetesantakalu</em> we could use &ldquo;ki&rdquo; to represent -3, &ldquo;je&rdquo; for -2, &ldquo;te&rdquo; for -1, &ldquo;san&rdquo; for 0 (which I quite like, since it&rsquo;s the only three-letter syllable in the word), &ldquo;ta&rdquo; for 1, &ldquo;ka&rdquo; for 2, and &ldquo;lu&rdquo; for 3!</p>
<p>So, to represent the decimal number &ldquo;75&rdquo; in this system, we can say &ldquo;nanpa ka ki je&rdquo; (<em>2*7^2</em> (98) + <em>-3*7^1</em> (-21) + <em>-2*7^0</em> (-2)).</p>
<p>This is simultaneously fun and <em>extremely difficult and impractical</em> to use! I consider this a success.</p>
<h2 id="Definition-30618b3b44fa316257d07e387759fae5"><a class="nostyle" href="#Definition-30618b3b44fa316257d07e387759fae5">Definition</a></h2><p>So, to lay out the system in clear and unambiguous terms:<br>
<em>nasin nanpa kijetesantakalu pona</em> is a numbering system in toki pona which uses the syllables of the word &ldquo;kijetesantakalu&rdquo; to represent the digits (-3 to 3) of a signed-digit Senary number, in the order of highest-to-lowest digits.</p>
<p>The digits are represented as follows:</p>
<ul>
<li>&ldquo;ki&rdquo;: <em>-3</em></li>
<li>&ldquo;je&rdquo;: <em>-2</em></li>
<li>&ldquo;te&rdquo;: <em>-1</em></li>
<li>&ldquo;san&rdquo;: <em>0</em></li>
<li>&ldquo;ta&rdquo;: <em>1</em></li>
<li>&ldquo;ka&rdquo;: <em>2</em></li>
<li>&ldquo;lu&rdquo;: <em>3</em></li>
</ul>
<p>I propose that this is now simultaneously the most <em>and</em> least usable numbering system in toki pona, and therefore takes first place as the best toki pona numbering system (tied alongside the original numbering system put forward in &ldquo;toki pona, The Language of Good&rdquo;).</p>
<h2 id="sitelen-pona-84a79901c920529eec008dc5375cbded"><a class="nostyle" href="#sitelen-pona-84a79901c920529eec008dc5375cbded">sitelen pona</a></h2><p>Because many people like to write toki pona in the script &ldquo;sitelen pona&rdquo;, I have elected to define sitelen pona for the different syllables of &ldquo;kijetesantakalu&rdquo;. This also serves to sort-of technically make these syllables into their own words with very specific meanings, which is <em>also</em> very fitting with the joke of <em>kijetesantakalu</em>.</p>
<p>The sitelen pona for each digit are as follows:</p>
<ul>
<li>&ldquo;ki&rdquo;: <img src="/resources/posts/ki.png" alt="ki"></li>
<li>&ldquo;je&rdquo;: <img src="/resources/posts/je.png" alt="je"></li>
<li>&ldquo;te&rdquo;: <img src="/resources/posts/te.png" alt="te"></li>
<li>&ldquo;san&rdquo;: <img src="/resources/posts/san.png" alt="san"></li>
<li>&ldquo;ta&rdquo;: <img src="/resources/posts/ta.png" alt="ta"></li>
<li>&ldquo;ka&rdquo;: <img src="/resources/posts/ka.png" alt="ka"></li>
<li>&ldquo;lu&rdquo;: <img src="/resources/posts/lu.png" alt="lu"></li>
</ul>
<p>I also consider the fact that these all look very silly to be a bonus.</p>
<h2 id="Notes-4358b5009c67d0e31d7fbf1663fcd3bf"><a class="nostyle" href="#Notes-4358b5009c67d0e31d7fbf1663fcd3bf">Notes</a></h2><p>Please note that much of the wording in this article is intentionally a little over-the-top, and I don&rsquo;t actually mean any offence to soweli Nata or anyone else, I just really like writing like this. I am, however, autistic, and sometimes I fail to communicate my tone, so apologies if did.</p>
<p>To any rats reading: While I think my analysis and critique makes sense, I did mostly &ldquo;write the last line first&rdquo;. Feel free to ignore this bit if you don&rsquo;t know what that means.</p>
<p>UPDATE: Removed references to Kabbalah because I don&rsquo;t know enough about it to really feel right referencing it in the manner that I had, it&rsquo;s not really the exact concept I was trying to point to anyway, and one person brought it up.<br>
This is like a year or something <em>after</em> they mentioned anything, but I understood and agreed with their discomfort at the time, and I recently thought of a better wording out of the blue, so I figured I should actually update this. Sorry for any discomfort that the original wording caused. ❤</p>
]]></description>
		</item>
		<item>
			<title>I Made Another Search Engine</title>
			<link>https://thoughtsofmine.ca/posts/cooking-search-engine/</link>
			<pubDate>Mon, 05 Aug 2024 20:33:43 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/cooking-search-engine/</guid>
			<update>false</update>
			<description><![CDATA[
<p>Slightly-clickbait title: while I <em>am</em> working on creating my own search engine, that&rsquo;s not nearly finished yet.</p>
<p>However, that project made me realize that there isn&rsquo;t any good option for searching the variety of open-source and no-bullshit online cookbooks that exist!</p>
<p>That annoyed me, but lo and behold, I&rsquo;ve already setup a YaCy instance once, so it&rsquo;s <em>dead easy</em> to run another that just crawls cookbooks! So, really, I&rsquo;m now <em>running</em> another <em>instance</em> of a search engine, but I haven&rsquo;t quite <em>made</em> a search engine yet.</p>
<p>So, without further ado, I present <a href="https://cooking.search.thoughtsofmine.ca">cooking.search.thoughtsofmine.ca</a>!</p>
<p>As of now, it crawls:</p>
<ul>
<li><a href="https://grimgrains.com/site/home.html">GrimGrains</a> by <a href="https://100r.co">Hundred Rabbits</a> (who have many other cool projects I follow and whom you should totally check out)</li>
<li><a href="https://based.cooking/">Based.Cooking</a> by <a href="https://lukesmith.xyz/">Luke Smith</a> (who has a ton of political beliefs I am <em>very</em> opposed to but who is somehow extremely consistently on-point when it comes to technology)</li>
<li><a href="https://nononsense.cooking/">No Nonsense Cooking</a> by <a href="https://riesinger.dev/">Pascal Riesinger</a> (whom I know literally nothing about)</li>
<li><a href="https://en.wikibooks.org/wiki/Cookbook:Table_of_Contents">WikiBooks Cookbook</a> by the Wikimedia Foundation and a presumably large number of users</li>
<li>I <em>was</em> also going to add <a href="jeffreythompson.org/recipes">Jeffrey Thompson&rsquo;s Recipe Book</a>, but it does some weird web-app stuff with fragment identifiers (hashes) to identify different recipe pages, which has the unfortunate effect of making most crawlers think those recipe pages don&rsquo;t exist. Weird decision, but whatever, there should be plenty of recipes covered by the other 4 websites.</li>
</ul>
<p>Stay tuned for whenever I finish the actual search engine I&rsquo;m building. That should be very interesting.</p>
<br/>
<p>&hellip;Oh! P.S! The &ldquo;another&rdquo; part is apparently unclear! I created <a href="/search/">a YaCy instance for this blog</a>, but I guess I never posted about it!</p>
<p>It&rsquo;s available on the home page of the blog, and from experience, it&rsquo;s even easier than using the tags or posts lists!</p>
<br/>
<p>Wow, this post has <em>so</em> many exclamation marks.</p>
]]></description>
		</item>
		<item>
			<title>Book Review: Her Voice is a Backwards Record by Ozy Brennan</title>
			<link>https://thoughtsofmine.ca/posts/book-review---her-voice-is-a-backwards-record/</link>
			<pubDate>Thu, 06 Jun 2024 23:28:10 -0400</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/hervoiceisabackwardsrecord.jpg" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/book-review---her-voice-is-a-backwards-record/</guid>
			<update>false</update>
			<description><![CDATA[
<p>Wow, first book review! I&rsquo;ve kinda wanted to try out doing these for a while (I love talking about interesting books I read), and when I saw the notification in my RSS reader that <a href="https://thingofthings.substack.com/">Ozy</a> had written <a href="https://thingofthings.substack.com/p/announcement-ozy-has-written-a-novella">a novella</a>, and was interested in sending advance copies to blogs, I figured it was a perfect time!</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/hervoiceisabackwardsrecord.jpg" alt="Her Voice is a Backwards Record, by Ozy Brennan"  caption="Her Voice is a Backwards Record, by Ozy Brennan"/></div>
<p>So, <strong>disclaimer</strong>: I received my copy of this book early and for free, and while there was no specified expectation of a good review (and I imagine Ozy would be uncomfortable with there being one), it&rsquo;s worth saying here that my review <em>could</em> be being at-all-affected by: vague social pressure, the positive feelings that go along with getting to read something early-and-for-free, and/or some level of want to impress or be nice to a person whose blog I read and like.</p>
<p>All that said, <em>I</em> asked <em>them</em> for an early copy, <em>because</em> I was already interested in reading the story, and if I have any want to impress them, it&rsquo;d be <em>because</em> I like their writing, so you can probably consider this review to be fairly honest and reflective of my genuine reading experience.</p>
<h2 id="Spoiler-Free-Recommendation-e45dcfdf9e0d403fc05f4b8a78692940"><a class="nostyle" href="#Spoiler-Free-Recommendation-e45dcfdf9e0d403fc05f4b8a78692940">Spoiler-Free Recommendation</a></h2><p><em>Her Voice is a Backwards Record</em> is a story about a teenage girl who&rsquo;s stuck in a horrible &ldquo;troubled teen&rdquo; camp - enduring what is not generally <em>legally</em> considered torture in the United States at the moment, but <em>absolutely</em> fits any reasonable definition - who talks to her acausal alternate-universe girlfriend (herself trapped in an unenviable situation, at the lowest rungs of the Emperor&rsquo;s harem in Space Imperial China) each night.</p>
<br/>
<p>I&rsquo;ve actually been thinking about acausal reasoning a lot recently, so this book was very well-timed for me. I&rsquo;ll probably write more about that and some timeless decision theory stuff in another post in the (I hope) near-future, but for now I&rsquo;ll say that any form of acausal &ldquo;interaction&rdquo; is less about acting <em>on</em> something else and more about what sort of person or entity your actions make you into.</p>
<p>The story&rsquo;s concept of acausality revolves around Neil Sinhababu&rsquo;s concept of <a href="https://philpapers.org/archive/SINPG.pdf">Possible Girls</a>, itself dependant on the concept of Modal Realism, under which theory all physically-possible worlds exist, but are fundamentally impossible-to-interact-with from our own world.</p>
<p>In Possible Girls, Sinhababu posits that, in a near-infinite multiverse of possible worlds, there must exist many worlds in which identical-or-compatible versions of Modal Realism have been invented, and in them girls who love hypothetical people from other worlds - and further that some of those hypothetical girls love some hypothetical person in another who is identical to you in every way.</p>
<p>It gets somewhat more complicated than that, but the idea is that, if you love someone in another hypothetical world, and they love you, then you are in a loving mutual relationship with them. The story (and to a lesser extent, the paper) further stipulates that if you specify a girl who is expecting to hear exactly the words you mean to say to her, and who is saying exactly the words you expect her to, then you can have conversations with that possible girl!</p>
<p>So, in Her Voice, the main character (Ana) is in a relationship with a possible girl (Yuya) in another world. Their lives are both difficult, but in different ways from eachother&rsquo;s, which allows them each to function as an escape from the other&rsquo;s otherwise-painful life. It&rsquo;s dark, it&rsquo;s painful, it&rsquo;s adorable, and it&rsquo;s exactly the sort of thing I was hoping it&rsquo;d be.</p>
<br/>
<p>If you like stories about extremely nerdy protagonists, incredibly traumatized lesbians, torture (but not the hot kind), extremely steamy acausal sex between two people who are <em>technically</em> not interacting at all, and/or escapism, you&rsquo;ll <em>definitely</em> like this book. It&rsquo;s my favorite type of ratfic, and I <em>really</em> enjoyed reading it.</p>
<p>It&rsquo;s relatively short, at just under 20k words (on my phone&rsquo;s e-reader that&rsquo;s about 100 pages, but my phone is <em>very</em> small), and when it comes out on the 10th it&rsquo;ll cost $2 (although you can preorder it now if you&rsquo;re so-inclined), so it&rsquo;s a very low-commitment read.</p>
<p>This story particularly reminded me of This is How You Lose the Time War by Amal El-Mohtar and Max Gladstone, Nevada by Imogen Binnie, and (unsurprisingly<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent5-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent5-0:1')"
    class="footnote-ref" id="fnref5-0:1">
        <a href="#fn5:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent5-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent5-0:1')"
    class="footnote-ref-display" id="fnrefcontent5-0:1">
        Ozy literally said in their announcement post that they wrote their outline for this story as a result of a conversation about whether or not they could write a Greg Egan story.
    </span></span>) basically everything I&rsquo;ve read by Greg Egan. If you read and liked those, you&rsquo;ll probably enjoy this, and vice-versa.</p>
<p>I <em>really</em> liked it, and if you&rsquo;re reading this blog, you probably will too.</p>
<br/>
<p>If you want to preorder or buy it, you can find links to a large variety of sellers at the top of <a href="https://thingofthings.substack.com/p/announcement-ozy-has-written-a-novella">the author&rsquo;s announcement post</a>, but I <em>would</em> recommend reading the section below this before you do, just in case.</p>
<h3 id="Content-Warnings-5a3d83933048bc7a41d86b0284e6ba48"><a class="nostyle" href="#Content-Warnings-5a3d83933048bc7a41d86b0284e6ba48">Content Warnings</a></h3><p>This section contains <em>mild</em> spoilers, if that&rsquo;s something that might bother you.</p>
<p>Ok, so I really like the book, <em>but</em> there are some things you should probably know before you read it, in case they&rsquo;re things that&rsquo;ll make you regret it:</p>
<ul>
<li>Troubled teen camps are awful, and the book doesn&rsquo;t pull its punches describing multiple forms of outright torture.</li>
<li>The book is <em>about</em> escapism, but it is <em>definitely not</em>, itself, escapism.</li>
<li>There is at least one sex scene in the book. I liked it, but its not <em>everyone&rsquo;s</em> thing, so your mileage may vary.
<ul>
<li>To be clear, given the aforementioned torture, there is <em>no</em> non-consensual sex in this story.</li>
</ul>
</li>
<li>It&rsquo;s first-person and contains some altered-perspective/state-of-mind / cult-indoctrination-ish stuff. I don&rsquo;t think that&rsquo;s a thing that&rsquo;s a problem for <em>most</em> people, but it can specifically be a problem for <em>me</em>, so I aught to mention it.
<ul>
<li>This wasn&rsquo;t as much of a problem for me here as it usually is, but it&rsquo;s still worth mentioning.</li>
</ul>
</li>
</ul>
<p>If none of those things are a problem for you, go check it out!</p>
<h2 id="Spoiler-Containing-Discussion-15e1d98af66c557351e12ab66df19c63"><a class="nostyle" href="#Spoiler-Containing-Discussion-15e1d98af66c557351e12ab66df19c63">Spoiler-Containing Discussion</a></h2><p>In <em>Her Voice is a Backwards Record</em>, Ana and Yuya use their relationship as a form of escapism from the troubles of their lives. However, escapism isn&rsquo;t enough: Ana&rsquo;s real life is slowly destroying her, and Yuya&rsquo;s threatens to do the same to her. They have a fight, and stop talking to eachother for weeks. I really appreciate this about the story: Ana and Yuya can&rsquo;t escape their realities with eachothers&rsquo; comfort, and while it helps them cope, it also lets them avoid difficult choices - until they stop letting eachother avoid those choices.</p>
<br/>
<p>Another interesting thing about the escapism and acausal relationship in the story: While we learn a lot about both of their lives, and follow both characters through their struggles, the story&rsquo;s point-of-view never strays from Ana&rsquo;s head. We learn about Yuya&rsquo;s struggles when she and Ana talk, but we never see Yuya&rsquo;s world through her actual eyes.</p>
<p>I like this because it leaves the story open-ended on whether Yuya <em>does</em> exist: While Ana believes that all possible girls exist in their possible worlds, she cares a lot about those worlds and their girls <em>actually being</em> possible. It&rsquo;s very easy, she says, to specify a world or girl who, while they might <em>seem</em> possible, isn&rsquo;t <em>actually</em>. She tells us that she knows enough about physics to avoid the common pitfalls, and that she&rsquo;s <em>quite confident</em> that Yuya exists, but <em>we and the story</em> don&rsquo;t necessarily have to agree with her.</p>
<p>Maybe it&rsquo;s fundamentally impossible for a world to exist in which one empire spans so much of the stars, maybe possible worlds just <em>aren&rsquo;t</em> real in the way that Modal Realism postulates, or maybe there&rsquo;s something else about Ana&rsquo;s relationship that makes it in some way &ldquo;not real&rdquo;. Either way, Ana experiences the relationship, and it affects her life in the many ways it does in the story, so <em>for her</em> it&rsquo;s as real as she says it is. I like that this means the story <em>doesn&rsquo;t</em> at all require the reader to believe her or agree with her about the reality of her relationship in order to get exactly as much out of the story as if they <em>do</em>.</p>
<br/>
<p>The entire time Ana is in the camp, she talks (to herself, Yuya, and others in her camp) about how &ldquo;nobody cares about you&rdquo; and &ldquo;nobody will help you, unless it&rsquo;s to get something from you or so you&rsquo;ll leave them alone&rdquo;, but the first person (a stranger) she meets after she escapes the camp <em>immediately</em> gives her food and water at cost to themselves, and is clearly <em>very</em> concerned for her.</p>
<p>I liked how this illustrates that, while under some circumstances, people may not be able to afford to care for one-another, when they <em>can</em> afford to do so, most <em>will</em> and <em>do</em>. Ana has developed and adopted a pessimistic worldview in order to cope with her circumstances, but it is <em>not</em> reflective of reality and it <em>immediately</em> shows itself to be false when she escapes her artificially-created and controlled environment.</p>
<p>Ana <em>herself</em> actually goes against this worldview at her camp: repeatedly helping a fellow camper, even when it costs her her own limited food. Her worldview exists to help her deal with her reality, but it does <em>not</em> accurately describe <em>even that</em> reality, and does not help her make good decisions, even within it.</p>
<p>This reminds me somewhat of something I heard about Nazi concentration camps: Some of the prisoners-cum-guards (&ldquo;kapos&rdquo;) would occasionally help the prisoners they were guarding<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent5-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent5-0:2')"
    class="footnote-ref" id="fnref5-0:2">
        <a href="#fn5:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent5-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent5-0:2')"
    class="footnote-ref-display" id="fnrefcontent5-0:2">
        To be clear: there was also <em>abuse</em> by kapos, and political captives such as Jews were much less likely to be able to <em>become</em> kapos than other forms of prisoners - although many did. I don&rsquo;t mean to uncritically extol the virtues of all kapos, just examine the reason why some of them might have felt more able to aid their fellow prisoners than the rest.
    </span></span>. As I understand it, these guards aided their fellow prisoners <em>more often</em> than those who <em>didn&rsquo;t</em> work as guards<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent5-0:[citation needed]')"
    onmouseover="displayFootnote(this, 'fnrefcontent5-0:[citation needed]')"
    class="footnote-ref" id="fnref5-0:[citation needed]">
        <a href="#fn5:%5bcitation%20needed%5d" title="Go to footnote">[citation needed]</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent5-0:[citation needed]')"
    onmouseover="displayFootnote(null, 'fnrefcontent5-0:[citation needed]')"
    class="footnote-ref-display" id="fnrefcontent5-0:[citation needed]">
        I could <em>swear</em> I had a source for this somewhere, but I can't find it. If you have a source for this (or a refutation), <em>please do</em> comment with it.
    </span></span>. This is not because the prisoners who agreed to guard their fellows were somehow <em>better people</em> than those fellows, but because they <em>had enough</em> that they <em>could</em> afford to help them. When people have so little that they can&rsquo;t afford to help eachother lest they starve, they&rsquo;ll fight eachother for scraps - but when they have even <em>just</em> enough beyond that, many will immediately use some of that to help those they can.</p>
<br/>
<p>The end of the book includes author&rsquo;s notes and the sources for many of the ideas in the story, including information about troubled teen camps. I really appreciated Ozy taking the time to inform the reader that &ldquo;no, the things depicted in the camp are <em>not</em> fictional, and <em>all</em> of them happen in real troubled-teen camps&rdquo;. While the story is fictional, and Yuya&rsquo;s world doesn&rsquo;t (necessarily) exist, <em>Ana&rsquo;s</em> world is <em>exactly</em> like ours, save for her existence and the existence of her <em>specific</em> camp.</p>
<br/>
<p>Rationalist fiction (and that&rsquo;s unambiguously what this is) that focuses more on personal struggles than on fixing the outside world is a rarer sort than the norm, and it&rsquo;s a breath of fresh air that I <em>definitely</em> appreciate. Where much ratfic is larger-scale and focuses more on Mending That Which Has Been Made Wrong, Her Voice instead focuses on two girls&rsquo; struggle for survival, and not much wider than that scope.</p>
<p>While the world is broken and it&rsquo;s <em>right</em> to want to mend it, for many people, the most they can do is to survive.</p>
<br/>
<p>If you liked this post, please tell me! I&rsquo;d also love to discuss things in the comments! This is a new sort of post for me, but it&rsquo;s been a lot of fun, so if you want to see more of this sort of thing, be sure to let me know!</p>

<div class="footnotes">
  <hr>
  <ol>
          
      <li id="fn5:1">
        Ozy literally said in their announcement post that they wrote their outline for this story as a result of a conversation about whether or not they could write a Greg Egan story.<a class="footnote-return" href="#fnref5-0:1" title="Go to citation">&uarr;</a></li>
          
      <li id="fn5:2">
        To be clear: there was also <em>abuse</em> by kapos, and political captives such as Jews were much less likely to be able to <em>become</em> kapos than other forms of prisoners - although many did. I don&rsquo;t mean to uncritically extol the virtues of all kapos, just examine the reason why some of them might have felt more able to aid their fellow prisoners than the rest.<a class="footnote-return" href="#fnref5-0:2" title="Go to citation">&uarr;</a></li>
      <li id="fn5:[citation needed]">
        <sup>[citation needed]</sup>: I could <em>swear</em> I had a source for this somewhere, but I can&rsquo;t find it. If you have a source for this (or a refutation), <em>please do</em> comment with it.<a class="footnote-return" href="#fnref5-0:%5bcitation%20needed%5d" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>Give Me EVERYTHING</title>
			<link>https://thoughtsofmine.ca/posts/give-me-everything/</link>
			<pubDate>Mon, 22 Apr 2024 16:58:55 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/give-me-everything/</guid>
			<update>false</update>
			<description><![CDATA[
<p>I like blogs. I like them a lot.</p>
<p>One of the things I like the <em>most</em> about blogs is that I don&rsquo;t <em>have</em> to read them in my browser! Sure, frequently I do, so I can see the nice formatting you put so much work into, but, just as often, I&rsquo;ll read them in my RSS reader.<br>
With an RSS reader, I can subscribe to your blog, get updated whenever you post something new, and keep track of exactly what posts I&rsquo;ve read!</p>
<p>However, unfortunately, <em>most</em> blogs and feed generators, by default, only put the newest 10-or-so posts in the RSS feeds! This means that I don&rsquo;t have a local copy of your old posts and I can&rsquo;t easily keep track of which posts I&rsquo;ve read!</p>
<p>I recently ran across a random blog while looking into Gemini protocol stuff (I&rsquo;m considering mirroring this site on Gemini and ActivityPub), and I was <em>delighted</em> to see, upon adding it to my feed reader, all 105 posts listed right there! You should do this! It&rsquo;s great!</p>
<p>Additionally, many blogs will only include <em>some</em> of the post&rsquo;s content in their feed! So in many cases, I can have the backlog, and I can keep track of what I&rsquo;ve read, and I can get notified of new posts, but I <em>can&rsquo;t</em> read posts offline! This is even <em>more</em> annoying for webcomics (most of which also have RSS feeds), because most of them will include a <em>thumbnail</em> version of the comic, instead of the actual comic! Infuriating!</p>
<p><a href="https://gohugo.io/">Hugo</a>, the static-site generator I use for this blog, has no feed length limit by default. However, by default, the feeds it generates <em>only</em> contain post <em>summaries</em>. Awful!</p>
<p>So, this is a call-to-action. If <em>you run a blog</em>, and the software/service you use has <em>any</em> option to include <em>full content</em> in your feeds, and <em>not limit</em> those feeds&rsquo; lengths, <em>please</em> turn those options on!<br>
If you run a blog, and your software <em>doesn&rsquo;t</em> have those options, <em>consider switching to something that does</em>. I get it if you have reasons for using whatever you use, but consider making <em>this</em> a reason why you&rsquo;d prefer to switch. If it&rsquo;s a small platform, <em>also</em> consider <em>reaching out to the developers</em> and <em>asking</em> for this option.</p>
]]></description>
		</item>
		<item>
			<title>UPDATED: Two Birds, One Hotspot: Saving Money while Improving your Mobile Privacy</title>
			<link>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/</link>
			<pubDate>Tue, 09 Apr 2024 01:33:21 -0400</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/#update-2024-04-09T01%3A33%3A21-04%3A00</guid>
			<update>true</update>
			<description><![CDATA[
<p>Or: I Bought a VPN, Stopped the Government from GPS Tracking my Phone, and Still Cut $8/Month off my Phone Bill</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" alt="A broken SIM card, image by DeviantArt user ishaque87"  caption="A broken SIM card, image by &lt;a href=&#34;https://www.deviantart.com/ishaque87/art/Broken-sim-By-ishaque87-339448801&#34;&gt;DeviantArt user ishaque87&lt;/a&gt;"/></div>
<h2 id="Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51"><a class="nostyle" href="#Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51">Phone Plans in Canada are Expensive</a></h2><p>Ok, so, here in Canada where I live, cellular plans are expensive.</p>
<p>To demonstrate: in the USA, with unlimited texting and calling, you can get 5GB of data for $14 USD ($18.81 CAD), or 1GB for $9 USD ($12.09 CAD)<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:1')"
    class="footnote-ref" id="fnref6-0:1">
        <a href="#fn6:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:1')"
    class="footnote-ref-display" id="fnrefcontent6-0:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.
    </span></span>, all at 5G speeds.</p>
<p>In Canada, the closest I can get is $24 CAD ($17.87 USD) for 4GB (and only as a special offer, meaning there&rsquo;ll be some restrictions), or 1GB for $19 CAD ($14.14 USD), both at 4G speeds. If I want 5G, the cheaptest plan I can get is $35 CAD ($26.05 USD) for 15GB.</p>
<p>Data-only plans, which are even cheaper, are simply not available in Canada.</p>
<p>This sounds depressing, right? Well, it is, but there&rsquo;s hope: everything I&rsquo;ve just said only applies to <em>SIM-based</em> phone plans.</p>
<h2 id="eSIM-e00e6e9b476edbd645e75502d05bd1b5"><a class="nostyle" href="#eSIM-e00e6e9b476edbd645e75502d05bd1b5">eSIM</a></h2><p>While normal Canadian phone plans are expensive and have a lack of options, there <em>is</em> an alternative: eSIM. eSIM is a type of SIM card that&rsquo;s embedded as a part of the device, and can be reprogrammed with different SIM information on-the-fly. This means that the restrictions on who can provide service with eSIM are <em>significantly</em> lower, and that increased market means cheaper plans.</p>
<p>To compare to the prices in the previous section, I can get a 5GB plan for $14.25 CAD ($10.61 USD), or 1GB for $3.77 CAD ($2.81 USD).</p>
<p>There are two catches, though:</p>
<ol>
<li>Only some phones have eSIMs, and you can&rsquo;t use an eSIM plan on a phone without one</li>
<li>Most Canadian eSIM plans are data-only, so no texting or calling</li>
</ol>
<p>But, that aside, if your phone has an eSIM, and you only need data, you can find <em>much</em> cheaper plans, with much more granular options, than any SIM plan.</p>
<p>If you want to look for cheap eSIM plans, the site I used was <a href="https://esimdb.com/canada">esimdb</a>.</p>
<h2 id="VOIP-d9c3bac5ea21dd68f463906c93bd322f"><a class="nostyle" href="#VOIP-d9c3bac5ea21dd68f463906c93bd322f">VOIP</a></h2><p>&ldquo;Ok, but what if I <em>do</em> need to text and call people?&rdquo;</p>
<p>I&rsquo;m so glad you asked.</p>
<p>VOIP is a group of technologies that allow you to call and receive calls over the internet, and many of them include a real phone number that you can use to make and receive calls and text messages just like you were using a regular phone.</p>
<p>VOIP has several benefits:</p>
<p>Firstly, it&rsquo;s <em>much</em> cheaper than a regular phone plan. I estimated the cost of a few plans based on my current usage, and found I&rsquo;d be paying about $1.50/month at my <em>highest</em> usage estimates.</p>
<p>Secondly, VOIP isn&rsquo;t limited to just your <em>phone</em>: you can send and receive calls and text messages from your desktop, which, for me, would be <em>extremely</em> convenient.</p>
<p>Thirdly, it means you don&rsquo;t have to transfer your phone number anytime there&rsquo;s a better deal for your eSIM plan! You can just buy the new plan, activate it, and use the same number immediately!</p>
<p>However, there <em>is</em> a downside:</p>
<p>Many mobile apps and websites require mobile authentication via SMS, and some of those will refuse to send authentication text messages to VOIP numbers.</p>
<p>In some cases, such as with Google, you may have the option to receive an authentication <em>call</em> instead, which should work on VOIP numbers. However, many services don&rsquo;t <em>have</em> a call-authentication option, so there may be services you simply cannot authenticate with.</p>
<p>However, there <em>is</em> a solution to this potential problem:</p>
<h3 id="A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd"><a class="nostyle" href="#A-Second%2c-Bare-Bones-SIM-%26ldquo%3bPlan%26rdquo%3b-b0c29963d9bc27b7ca16417ad6b3b7dd">A Second, Bare-Bones SIM &ldquo;Plan&rdquo;</a></h3><p>There are <em>very few</em> bare-bones pay-as-you go plans in Canada that <em>don&rsquo;t</em> require you to pay monthly, but there <em>is</em> one: 7/11 SpeakOut.</p>
<p>7/11&rsquo;s SpeakOut service <em>doesn&rsquo;t</em> have a <em>plan</em> that charges less than monthly, but with a SpeakOut SIM card, you can load a balance (at what I&rsquo;m lead to believe by outside sources is a $25 minimum) <em>without</em> buying an actual plan, and pay $0.35/minute for calling and $0.20/message for SMS, out of that balance (plus $1.25/month in &ldquo;regulatory recovery fees&rdquo;), and the balance doesn&rsquo;t expire for 365 days!</p>
<p>That means that you can buy a SpeakOut SIM card from a nearby 7/11 for $11.25, top it up for $25, and effectively pay $2/month for the number (not including the cost of the SIM card, which, of course, you only need to buy once). If you top it up before the existing balance expires, you should even be able to roll your remaining balance over into the next year.</p>
<p>For avoiding the potential hassle of not being able to receive authentication text messages, this is pretty cheap - we&rsquo;re still paying slightly less than we would for the <em>American</em> plans (albeit not for <em>unlimited</em> texting and calling). However, it might not be necessary for you, so it&rsquo;s up to you if you go with this option.</p>
<p>You could also, I suppose, just use the 7/11 SIM <em>instead of</em> the eSIM and VOIP number, but the voip text/call rates are <em>much</em> cheaper, and this way you get data.</p>
<h2 id="Saving-Money-93dc6742279a163a6fa1e4e6116423f0"><a class="nostyle" href="#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">Saving Money</a></h2><p>Ok, so if you&rsquo;re only interested in saving money, this is where you can stop.</p>
<p>Here&rsquo;s the tl;dr for how to save money on your phone bill:</p>
<ul>
<li>Buy an unlocked phone with an eSIM (the cheapest of which without a contract is the Google Pixel 3a, which costs about $250 at time-of-writing)
<ul>
<li>Cellphones cost a lot of money, so if you don&rsquo;t actually <em>need</em> a new phone, I&rsquo;d recommend reading further to <a href="/posts/two-birds-one-hotspot/#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a>, since the solution there will cost you much less up-front than almost any phone.</li>
<li>You can also buy an &ldquo;eSIM SIM card&rdquo; from <a href="https://esim.me/">eSIMme </a>for €24.95 (about $36 CAD), which apparently allows a wider range of previously eSIMles phones to use eSIM plans.</li>
</ul>
</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it
<ul>
<li>Scan the QR code you&rsquo;re given with your phone and setup the eSIM</li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>, but they don&rsquo;t have their own app: see below)
<ul>
<li>Either use whatever app they provide, or sign up with a provider that provides SIP information and use <a href="https://search.f-droid.org/?q=sip">an open-source alternative</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)</li>
<li>Throw away your old SIM card, and rejoice at saving a <em>lot</em> of money on your phone bill
<ul>
<li>In my case, assuming I bought the 7/11 SIM, I&rsquo;ll have saved about $15/month, which is more than half as much as my old plan cost, <em>total</em>.
<ul>
<li>This is, of course, not counting the one-time costs of $11.25 for the 7/11 SIM itself, and however much the phone/hotspot/eSIMme cost if you didn&rsquo;t already have one.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="Privacy-21cec257feb15bcc84e0acd5b0773883"><a class="nostyle" href="#Privacy-21cec257feb15bcc84e0acd5b0773883">Privacy</a></h2><p>Alright, but what if you care about your privacy? <em>I</em> care about <em>my</em> privacy.</p>
<p>SIM cards have low-level access to much more of your phone than you might realise:</p>
<ul>
<li>Sure, your provider can spy on your calls and text messages, we all know <em>those</em> aren&rsquo;t secure (we&hellip; <em>do</em> all know that, right?),
<ul>
<li>but what about&hellip;</li>
</ul>
</li>
<li>Turning your microphone or camera on and recording you without your knowledge?</li>
<li>Turning your phone on when you&rsquo;ve turned it off?</li>
<li>What about <em>tracking your every move</em>?</li>
</ul>
<p>Those are all things that your SIM card <em>can absolutely</em> do<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:2')"
    class="footnote-ref" id="fnref6-0:2">
        <a href="#fn6:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:2')"
    class="footnote-ref-display" id="fnrefcontent6-0:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.
    </span></span>, and you only have your provider&rsquo;s word that they <em>aren&rsquo;t</em> doing it - and they&rsquo;re <em>very</em> cagey on the topic of what data your SIM card is sending them over encrypted channels.</p>
<p>eSIMs&hellip; have all of these same problems, <em>and</em> you can&rsquo;t remove them from your phone.</p>
<p>Now, that&rsquo;s not a major privacy concern for most people: if you own an Android phone, <a href="https://hackaday.com/2021/11/18/privacy-report-what-android-does-in-the-background/">Google Play Services is <em>constantly</em> sending Google a &ldquo;seemingly unending stream of user information&rdquo;</a>, and while Apple <em>might</em> be collecting <em>slightly</em> less data on <em>their</em> users, we mostly only have their word to go on for it.</p>
<p>However, if you want to take your privacy seriously, and you&rsquo;re already using (or willing to switch to) a non-Apple phone that doesn&rsquo;t have Google Play Services installed, there <em>is</em> an option:</p>
<h3 id="Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa"><a class="nostyle" href="#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a></h3><p>You know how I said you need a phone with an eSIM to use eSIM plans? Well, that was a lie. Sure, the <em>device you use</em> has to have an eSIM in it, but that doesn&rsquo;t have to be a <em>phone</em>.</p>
<p>Portable hotspots are effectively tiny routers with SIM card slots. They provide internet to your phone or other devices using a SIM card&rsquo;s data.</p>
<p>The benefit of a portable hotspot is that instead of having direct access to the low-level systems of your phone, the SIM card only has access to the <em>hotspot</em>, which doesn&rsquo;t have cameras or microphones, and doesn&rsquo;t house any of your apps.</p>
<p>Now, there are <em>lots</em> of portable hotspots out there, but we need one with an eSIM.</p>
<p>Not only that, we need one with an eSIM that we can use with <em>any</em> eSIM plan:<br>
Because portable hotspots are simple devices without cameras, you can&rsquo;t scan a QR code with one to switch the eSIM&rsquo;s information.</p>
<p>Luckily, while most portable eSIM hotspots are locked to a single provider&rsquo;s eSIM plans, a Chinese manufacturer by the name of Sunhans or eSunFi<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:3')"
    class="footnote-ref" id="fnref6-0:3">
        <a href="#fn6:3" title="Go to footnote">3</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:3')"
    class="footnote-ref-display" id="fnrefcontent6-0:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.
    </span></span> sells <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">exactly what we&rsquo;re looking for</a>. Their customer-facing page is a little sparse on details, but <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their product page on globalsources</a> confirms that it supports most Canadian cellular bands, and can be setup with pretty much any eSIM plan using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">an app</a>.</p>
<p>The app is not open-source, and may require Google Play Services to work (although I <em>was</em> able to install and run it without, so it may work with just <a href="https://microg.org/">microG</a>). However, you shouldn&rsquo;t need to <em>keep</em> the app on your phone after setting up the eSIM, and if it <em>doesn&rsquo;t</em> run on your setup, you can either use the <a href="https://gspaceteam.com/">GSpace app</a> (which is free, with some intrusive advertisements in the launcher) or use someone else&rsquo;s phone to set it up.<br>
If you <em>do</em> use GSpace to set it up, I would recommend also uninstalling GSpace after use, because it does all of the tracking Google Play Services does, just without all the information from direct system-level access.</p>
<p>The device itself, which is apparently called the &ldquo;SHFiEL40&rdquo;, is about 3 by 3 inches, and about 3/4 of an inch thick. That&rsquo;s only <em>slightly</em> larger than my phone, and <a href="https://www.unihertz.com/products/jelly-2">my phone is smaller than yours</a>. It should be extremely easy to carry around in a purse or pocket, and since we&rsquo;re using VOIP for texting and calling anyway, you don&rsquo;t actually need to keep it on you you while you&rsquo;re at home or otherwise in range of WiFi (which is most of the time, where I live).</p>
<p>So, for privacy, we should use a phone that <em>doesn&rsquo;t</em> have an eSIM built-in, and then use the SHFiEL40 for our data, instead of the phone itself.</p>
<h3 id="VPN-01faf38365151f8d966bf5960242fb9e"><a class="nostyle" href="#VPN-01faf38365151f8d966bf5960242fb9e">VPN</a></h3><p>&ldquo;Ok,&rdquo; you say, &ldquo;but how do we keep the cellular service provider - along with anyone whose public WiFi I use - from snooping on what sites I visit?&rdquo;</p>
<p>Well, with all the money we&rsquo;re saving on our phone plans (my calculations have me saving about $17 CAD from <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/4GB-4Gspeed">my previous plan</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:4')"
    class="footnote-ref" id="fnref6-0:4">
        <a href="#fn6:4" title="Go to footnote">4</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:4')"
    class="footnote-ref-display" id="fnrefcontent6-0:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.
    </span></span>), we can afford to spend a little of it on a VPN!</p>
<p>VPNs route all of your traffic through their servers, so no websites can recognise your IP, and no internet providers can see what sites you access.</p>
<p>Bonus: you aren&rsquo;t limited to using a VPN on just your phone. Most VPNs allow multiple devices per account, so you can use one for your phone, laptop, desktop, and likely at least a few other devices.</p>
<p>Now, of course, the <em>VPN provider</em> can see those things, <em>but</em>, <a href="https://mullvad.net/">Mullvad</a> requires no personal information to sign up, and can be paid for using, among other things, cryptocurrency<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:5')"
    class="footnote-ref" id="fnref6-0:5">
        <a href="#fn6:5" title="Go to footnote">5</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:5')"
    class="footnote-ref-display" id="fnrefcontent6-0:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.
    </span></span> and cash! This means that your internet activity won&rsquo;t be readily traceable back to you.</p>
<p>Sunhans/eSunFi claims on <a href="http://sunhans.com/panel/client/product.php?item=1316">another of the company&rsquo;s websites</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:6')"
    class="footnote-ref" id="fnref6-0:6">
        <a href="#fn6:6" title="Go to footnote">6</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:6')"
    class="footnote-ref-display" id="fnrefcontent6-0:6">
        Really, I swear, this is just what Chinese tech companies are like.
    </span></span> that the SHFiEL40 has a built-in Wireguard VPN (an open-source VPN solution that many companies use), so you should be able to setup Mullvad on the device itself, using the device&rsquo;s WebUI as described in <a href="https://p.globalsources.com/IMAGES/PDT/SPEC/371/K1189606371.pdf">its manual</a>. According to <a href="https://mullvad.net/en/help/tag/wireguard">their help centre</a>, Mullvad supplies <a href="https://mullvad.net/account/wireguard-config">preconfigured Wireguard configuration files</a> to customers, so the process should be relatively simple.</p>
<p>There are privacy benefits to having your VPN on an external hotspot, as both Android <em>and</em> iOS devices can <em>and do</em> bypass your VPN settings for some system traffic, so this is a great feature.</p>
<p>Additionally, while Mullvad has a limit of 5 devices connecting at a time, the SHFiEL40 only counts as <em>one</em> device toward that limit, and the SHFiEL40 supports up to 10 devices at a time, so you can theoretically expand the number of devices simultaneously using your account to 14 while using data (if you need that many).</p>
<p>Mullvad only costs €5 ($7.22 CAD right now) per month, so we&rsquo;ll still be saving plenty of money on our bill.</p>
<h2 id="Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091"><a class="nostyle" href="#Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091">Saving Money <em>and</em> Improving Your Privacy</a></h2><p>Alright, so here&rsquo;s the tl;dr for those of you who <em>do</em> care about privacy:</p>
<ul>
<li>Make sure your phone <em>doesn&rsquo;t</em> have an eSIM</li>
<li>Either root your phone and uninstall Google Play Services, or install a privacy-oriented ROM onto your phone (such as <a href="https://e.foundation/e-os/">e/OS</a>, <a href="https://grapheneos.org/">GrapheneOS</a>, or <a href="https://calyxos.org/">CalyxOS</a>)</li>
<li>Sign up for <a href="https://mullvad.net/">Mullvad</a></li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it</li>
<li>Buy the SHFiEL40 from <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">their customer-facing website</a> or from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> (unless another, better or cheaper option has become available after I&rsquo;ve published this post)
<ul>
<li>Setup the eSIM on the SHFiEL40 using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a></li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>)
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)
<ul>
<li>If you&rsquo;re going the privacy route, you should ideally leave the SIM card out of your phone when you aren&rsquo;t using it.</li>
</ul>
</li>
<li>Enjoy significant savings, and significantly improved privacy
<ul>
<li>The SHFiEL40 costs <em>significantly less</em> than <em>any</em> model of phone that supports eSIM, so the up-front cost will be lower than if you went <a href="/posts/two-birds-one-hotspot/#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">the money-saving-only route</a>.
<ul>
<li>This is somewhat offset by the fact that the VPN eats into the cost-saving-over-time, so you&rsquo;ll be saving slightly less money than the cost-saving-only route after about 5 years.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569"><a class="nostyle" href="#Ok%2c-But-What-If-I-Really%2c-Really-Care-About-Privacy%3f-5d795dbd37bdf07926877f16afc2d569">Ok, But What If I Really, <em>Really</em> Care About Privacy?</a></h3><p>&ldquo;Sure, that&rsquo;s all great, but look at all those purchases! Surely those can be tracked! What if I need the <em>absolute best privacy</em> for my phone?&rdquo;</p>
<p>I&rsquo;m so glad you asked!</p>
<p>Here&rsquo;s the more complicated set of steps that one might take if they&rsquo;re trying to do this with as little information leakage as possible<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:7')"
    class="footnote-ref" id="fnref6-0:7">
        <a href="#fn6:7" title="Go to footnote">7</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:7')"
    class="footnote-ref-display" id="fnrefcontent6-0:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.
    </span></span>:</p>
<ul>
<li>Put on a mask (much more common these days) and sunglasses, as well as a hat to cover your hair if it&rsquo;s recognisable, and baggy clothing to hide your form (this will be much less weird if you do it in the winter)</li>
<li>Go to a convenience store and purchase a prepaid credit card, using cash
<ul>
<li>If you don&rsquo;t want your purchases to be connected to eachother, buy multiple cards, and use different cards for each online purchase
<ul>
<li>If you <em>really</em> don&rsquo;t want your purchases connected to eachother, buy them from different convenience stores (this is <em>excessive</em>, even for this section of the guide)</li>
</ul>
</li>
</ul>
</li>
<li>Install Linux on your computer, and use it for <em>every subsequent stage of this process</em>
<ul>
<li>If all you care about is privacy, you should use <a href="https://tails.net/">Tails</a> or <a href="https://www.qubes-os.org/">Qubes</a>, otherwise I&rsquo;d recommend <a href="https://ubuntu.com/">Ubuntu</a> (or <a href="https://kubuntu.org/">one</a> <a href="https://xubuntu.org/">of</a> <a href="https://lubuntu.me/">its</a> <a href="https://ubuntucinnamon.org/">spins</a>), or an arch spin like <a href="https://endeavouros.com/">EndeavourOS</a></li>
</ul>
</li>
<li>Download and install the <a href="https://www.torproject.org/download/">Tor browser</a> (probably through your package manager, now that you&rsquo;re using Linux)</li>
<li>Go to Mullvad&rsquo;s website using the Tor browser, and <a href="https://mullvad.net/en/pricing">Purchase Mullvad using cash</a> (I&rsquo;d recommend paying by the year or longer, to make your life easier)</li>
<li>Setup Mullvad and use it during <em>every subsequent stage of this process</em></li>
<li>Download a privacy-hardened browser such as <a href="https://librewolf.net/">Librewolf</a></li>
<li>Download <a href="https://e.foundation/e-os/">e/OS</a> or <a href="https://calyxos.org/">CalyxOS</a>
<ul>
<li>e/OS is available on more devices, whereas CalyxOS are limited to a much smaller selection. CalyxOS is a fork of <a href="https://grapheneos.org/">GrapheneOS</a>, but while GrapheneOS is limited to newer Google Pixel devices (all of which have built-in eSIMs), CalyxOS supports the Moto G32, G42, and G52, as well as the Shift6mq and Pixel 3, all of which seem to be eSIM-free.</li>
</ul>
</li>
<li>Purchase a new phone supported by the ROM you&rsquo;ll be using, using one of the prepaid credit cards
<ul>
<li>If you&rsquo;re- ok, no, if you&rsquo;re actually following this guide at this point, you <em>definitely</em> care about privacy enough to take weird, excessive steps like this:</li>
<li>Set the address to which the phone will be sent to the address of someone who lives near you (and ideally is rarely home)</li>
<li>Sign up for email alerts on your package using a temporary email service like <a href="https://www.guerrillamail.com/">GuerrillaMail</a></li>
<li>Request that the package is left in front of the front door</li>
<li>When you receive an email alert for the package, wait near the address you sent it to, and after the delivery vehicle leaves, &ldquo;steal&rdquo; your package</li>
<li>Gloat at how extremely private you&rsquo;re being</li>
</ul>
</li>
<li>Flash the new ROM onto your new phone</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it using a prepaid credit card (and a private or temporary email address, if it requires one)</li>
<li>Sign up for whatever VOIP service is cheapest for you (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>), using a prepaid credit card and a private email account
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
<li>Private email is actually not trivial, but my best recommendation at the moment is <a href="https://www.cock.li/">cock.li</a>, which is apparently no longer invite-only. Use a separate email address for every account.</li>
</ul>
</li>
<li>Buy the SHFiEL40 from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> using a prepaid credit card and a temporary email address
<ul>
<li>Again, if you&rsquo;re going the absurdly privacy-scrupulous route, send the package to someone else&rsquo;s address and &ldquo;steal&rdquo; it</li>
</ul>
</li>
<li>Using your old phone, or the phone of someone else you know, install <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a>, and setup your eSIM plan with the SHFiEL40</li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
<li>Feel like a badass, until you realise that most of this was probably unnecessary unless you&rsquo;re actually on-the-run from one or more governments.</li>
<li>Still end up saving money, even if you&rsquo;ve probably wasted a lot of time.</li>
</ul>
<h2 id="Future-Updates-e633cfaee2a0292570461f12634aae99"><a class="nostyle" href="#Future-Updates-e633cfaee2a0292570461f12634aae99">Future Updates</a></h2><p>So, if you hadn&rsquo;t guessed from some of my wording, I haven&rsquo;t actually <em>tried</em> this yet. I&rsquo;ve done all the research, and all the numbers work out, but this has seen <em>zero</em> real-world testing.</p>
<p>However, I like saving money, and I like improving my privacy (though perhaps not enough to follow all of the steps in <a href="/posts/two-birds-one-hotspot/#Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569">the previous section</a>), so I <em>do</em> intend to try this out! So, I&rsquo;ll be purchasing the SHFiEL40 sometime in the next few days, and I&rsquo;ll post updates (and likely update this post as well) with how it goes!</p>
<p>If this works out, I should end up spending noticeably less money on my phone bill. Not only is this good <em>for me</em>, but I&rsquo;d argue that giving less money to Canadian telecom companies is a direct moral good: everybody wins!</p>
<h3 id="Update-1:-911-3be8a2b8e86fe86cd7da431a032d04c0"><a class="nostyle" href="#Update-1%3a-911-3be8a2b8e86fe86cd7da431a032d04c0">Update 1: 911</a></h3><p>It seems that maybe I was mistaken about needing a SIM to call 911 in Canada, so I&rsquo;ve removed any references to that.</p>
<h3 id="Update-2:-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1"><a class="nostyle" href="#Update-2%3a-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1">Update 2: Initial Impressions</a></h3><p>Everything has arrived!</p>
<p>Porting my old phone number to the VOIP plan took a little longer than I was expecting, because I missed the confirmation text the first time. Unfortunate, and that meant it took long enough to transfer that it rolled over into the next month (I had started late in the month, to get the most of the last month I&rsquo;d already paid for with my old provider). I was able to preemptively switch my old plan to renew on their cheapest plan, but that&rsquo;s still $15 extra in initial costs I wasn&rsquo;t planning on spending.</p>
<p>The VOIP plan itself is working extremely well, <em>except</em> that the app I want to use (Linphone) has issues with the somewhat-nonstandard way the provider I chose (voip.ms, and apparently literally just them) handles SMS messages. There&rsquo;s a setting to still show the incoming messages despite that issue (disable <code>Chat&gt;Hide chat rooms from removed accounts</code>), but it <em>does</em> still group incoming messages separately from outgoing ones. This is definitely fixable by either switching SIP apps or VOIP providers, but it&rsquo;s still annoying.</p>
<p>The eSIM plan I was looking at apparently has <em>really</em> poor-quality service, so I&rsquo;m currently on one that&rsquo;s about $13 CAD, instead of the $7 I was expecting (for 3GB/month). Luckily, it&rsquo;s <em>very</em> easy for me to switch the eSIM plan for a cheaper one when I find a better deal.</p>
<p>I have not yet gotten around to purchasing or setting-up the VPN plan.</p>
<p>The eSIM router was relatively easy to setup, although the app did <em>not</em> function without Google Play Services or GSpace.</p>
<p>Because the router is on a limited data plan, it&rsquo;s a good idea to set it as a &ldquo;metered connection&rdquo; in your phone&rsquo;s WiFi settings. This will make your phone prefer other, non-metered networks over the hotspot, so you can avoid accidentally using more data than you intended to.</p>
<p>The router has a 3060mAh battery, which will generally last it about as long as my phone (with a similar battery capacity) will. However, while the router itself is generally pretty simple to use, it requires me to login to its webui to enable cellular data <em>every time</em> after restarting it. Additionally, the webui login interface is inexplicably broken on mobile (even in browser desktop mode). This makes it <em>very</em> difficult to save power by turning the device off while not in use.</p>
<p><em>However</em>, I&rsquo;m smart, and the router&rsquo;s security isn&rsquo;t particularly complex, soooo:</p>
<h4 id="Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6"><a class="nostyle" href="#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">Fixing The Annoying Issue with the eSIM Router</a></h4><p>I watched my network traffic through the browser tools while logging into the router&rsquo;s interface and while enabling the data connection. Turns out, it&rsquo;s very simple!</p>
<ul>
<li>Both actions send an HTTP POST request to a specific path in the router interface&rsquo;s ip (http://192.168.0.1/cgi-bin/ajax_get.cgi).</li>
<li>The only piece of data that matters in either is the <code>content</code> value, which is html-encoded xml data.</li>
<li>The login request sends the following (non-html-encoded, so you can read it more easily - except for <code>%01</code>, because that won&rsquo;t print right in this context): <code>which_ajax=api/user/login%01xmldata=&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;request&gt;&lt;Username&gt;USERNAME&lt;/Username&gt;&lt;Password&gt;PASSWORD&lt;/Password&gt;&lt;/request&gt;</code> (obviously with my username and password replaced with the strings <code>USERNAME</code> and <code>PASSWORD</code>).</li>
<li>The request to enable the data sends <code>which_ajax=api/dialup/mobile-dataswitch\u0001xmldata=&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;&lt;request&gt;&lt;dataswitch&gt;1&lt;/dataswitch&gt;&lt;/request&gt;</code>.</li>
</ul>
<p>So, all I need is something that&rsquo;ll let me easily send HTTP POST requests from my phone - ideally from somewhere convenient like my homescreen.</p>
<p><a href="https://f-droid.org/packages/ch.rmy.android.http_shortcuts/">Something that&rsquo;ll let me easily send HTTP POST requests from my phone&rsquo;s homescreen</a>.</p>
<p>Oh, great! And it&rsquo;s open-source!<br>
So then, we open that app, and create three shortcuts:</p>
<ul>
<li>First, a &ldquo;Regular HTTP Shortcut&rdquo; with the <code>POST</code> method and the <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code> URL, a body value of <code>which_ajax%3Dapi%2Fuser%2Flogin%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3CUsername%3E&lt;&lt;YOUR_USERNAME&gt;&gt;%3C%2FUsername%3E%3CPassword%3E&lt;&lt;YOUR_PASSWORD&gt;&gt;%3C%2FPassword%3E%3C%2Frequest%3E</code>, a content type of <code>text/xml</code>, and &ldquo;Response Handling&rdquo; options that aren&rsquo;t too intrusive (I went with toast popups on failue).</li>
<li>Second another &ldquo;Regular HTTP Shortcut&rdquo;, with the same method, URL, content type, and response-handling options, but with a body value of <code>which_ajax%3Dapi%2Fdialup%2Fmobile-dataswitch%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3Cdataswitch%3E1%3C%2Fdataswitch%3E%3C%2Frequest%3E</code>.</li>
<li>Last, a &ldquo;Multi-Shortcut&rdquo; with both of the previous shortcuts.</li>
<li>Now just add the widget to your homescreen, and after whenever you connect to the hotspot, click that button to enable it!</li>
</ul>
<p>Great! Problem solved!</p>
<br>
<p>Overall, there have definitely been some hurdles, but it&rsquo;s looking like there&rsquo;s only one minor one left to overcome (the SMS issue), and then I should be issue-free!</p>
<p>See you in the next update!</p>
<h3 id="Update-3:-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7"><a class="nostyle" href="#Update-3%3a-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7">Update 3: VPN and Automation</a></h3><p>I finally got around to buying Mullvad!</p>
<p>I went about it the difficult-but-better way (mailing them cash, although I might try using Monero when I renew in a year), so it took a few weeks for my money to reach them and for them to add the time to my account.</p>
<p>Setup on my phone and desktop was <em>dead</em> easy (they have a very nice little app for it).</p>
<h4 id="VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80"><a class="nostyle" href="#VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80">VPN on the Hotspot</a></h4><p>I was <em>initially</em> going to also run it on my wireless hotspot, as implied in an earlier section of this post, but I ran into two issues:<br>
1: I couldn&rsquo;t figure out how to get my phone to automatically disconnect from the VPN locally when it connected to the hotspot (which could cause issues if the hotspot was <em>also</em> running the VPN).<br>
2: I had some minor issues setting up the VPN on the hotspot (with it enabled, I couldn&rsquo;t connect to any sites, so presumably something was wrong with my config).</p>
<p>In addition to those issues, my current phone is rooted, has Google Play Services uninstalled, and uses <a href="https://github.com/ukanth/afwall">AFWall+</a>, so I&rsquo;m pretty sure there aren&rsquo;t any system services that are privileged and bypassing my on-device VPN.</p>
<p>For these reasons, I didn&rsquo;t bother figuring out issue #2. If I eventually run into a way to solve issue #1, I&rsquo;ll probably try again at #2 and post about it here.</p>
<h4 id="Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785"><a class="nostyle" href="#Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785">Automating Enabling the Hotspot</a></h4><p>I mentioned in a previous section that I was annoyed by the hotspot not automatically enabling its connection when started.<br>
I solved this problem at the time by using an app to add a shortcut to my phone&rsquo;s homescreen that would send POST requests to the hotspot to login and enable the network.</p>
<p>However, during all the fiddling around I did with automation in order to try to automatically disconnect from my on-device VPN when I connected to the hotspot, I found a better solution!</p>
<p><a href="https://me.ryey.icu/Easer/en/">Easer</a> is an open-source automation app available on F-Droid, and unlike apparently every other automation app I&rsquo;d previously looked at, it both A: is actually functional, and B: supports making HTTP requests!</p>
<p>So, loosely-following <a href="https://www.reddit.com/r/pihole/comments/gym0xp/howto_autoswitch_vpn_with_easer_and_openvpn_for/">this guide for setting up similar automation for OpenVPN</a>, I was able to set it up to automatically send the login and enable requests to my hotspot whenever I connect to it.</p>
<p>I won&rsquo;t go into <em>too</em> much detail on how I did this, because it&rsquo;s relatively simple if you&rsquo;ve read the rest of this post and are looking at the linked guide, but here&rsquo;s the basics just in case:</p>
<ul>
<li>in Easer, go to the Data tab</li>
<li>create an Event for detecting when you&rsquo;re connected to the internet (as described in the aforementioned guide)</li>
<li>create a Condition for detecting whether or not you&rsquo;re connected to the hotspot&rsquo;s network (again, as described in the guide)</li>
<li>create another Condition for the 5G version of the hotspot&rsquo;s network</li>
<li>create a Profile, and add 2 &ldquo;HTTP request&rdquo; Operations to it
<ul>
<li>set them both to POST</li>
<li>set the URL for each to <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code></li>
<li>set the content type for each to <code>text/xml</code></li>
<li>set the POST data for each respective request to the data from each respective action described in <a href="/posts/two-birds-one-hotspot/#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">the previous update</a></li>
</ul>
</li>
<li>go to the Pivot tab</li>
<li>create a Script for detecting whether you&rsquo;re online, as described in the guide</li>
<li>add a child to that Script for your hotspot&rsquo;s network, and another for the 5G version</li>
<li>for both of those child Scripts, set the profile to the one you created for enabling the network</li>
<li>go to the Outline tab and start the service</li>
<li>go to the app&rsquo;s settings, and set it to autostart with your device</li>
<li>start your hotspot and connect to it, to make sure the automation is working</li>
</ul>
<p>This worked excellently for me, and I hope if you&rsquo;re in a similar situation it works well for you too!</p>
<h3 id="Update-4:-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371"><a class="nostyle" href="#Update-4%3a-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371">Update 4: Inconvenience and Moving Forward</a></h3><p>I switched to a cheaper eSIM plan again at some point, which I appear not to have mentioned yet.</p>
<br/>
<p>The eSIM router&rsquo;s battery, while theoretically insufficient, seems to run out <em>much</em> faster than it should. I think this is a software problem, but it&rsquo;s one one I expect to be able to solve.</p>
<p>This, combined with its slow startup time, means that the router is <em>very</em> inconvenient to use.</p>
<p>On top of that, the VOIP app I was using was having trouble with not receiving calls sometimes, even when I <em>did</em> remember to switch the router on.</p>
<p>So, I caved and bought a <a href="/posts/two-birds-one-hotspot/#A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd">SpeakOut</a> SIM, and ported my number to that.</p>
<p>I now have a different number with my VOIP provider, with its caller-ID set to my main number&rsquo;s, and set to forward to that number if I don&rsquo;t pick up, so I can make calls with it at a cheaper rate. I switched VOIP apps from <a href="https://f-droid.org/en/packages/org.linphone/">Linphone</a> to <a href="https://f-droid.org/en/packages/com.tutpro.baresip/">BareSIP</a>, which has less appealing UI but seems to <em>function</em> better.</p>
<p>I <em>began</em> considering buying an eSIM.me card, but then I did a little research and found <a href="https://frank-ruan.com/2024/08/27/removable-euicc/">these</a> <a href="https://frank-ruan.com/2025/04/12/removable-euicc-follow-up/">posts</a> by Frank Ruan, which led me to <a href="https://www.9esim.com/">9esim</a> instead. 9esim&rsquo;s cards are <em>significantly</em> cheaper than eSIM.me, they aren&rsquo;t predatory to competitors, and <em>they exclusively use <a href="https://www.9esim.com/ecosystem-software-download/">open-source management software</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:8')"
    class="footnote-ref" id="fnref6-0:8">
        <a href="#fn6:8" title="Go to footnote">8</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:8')"
    class="footnote-ref-display" id="fnrefcontent6-0:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.
    </span></span>!</em></p>
<p>So, once that arrives, the plan is to install it alongside the 711 SIM, see how things fare with the VOIP number again, sell the router, and potentially remove the 711 SIM if it turns out not to still be necessary. The only pain with this is, if I turn out to need the 711 SIM, I&rsquo;ll have to go without a MicroSD card. Still, I don&rsquo;t think I&rsquo;m actually running out of space on my phone, so that should be fine.</p>
<p>See you in the next update!</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn6:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.<a class="footnote-return" href="#fnref6-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn6:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.<a class="footnote-return" href="#fnref6-0:2" title="Go to citation">&uarr;</a></li>
      <li id="fn6:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.<a class="footnote-return" href="#fnref6-0:3" title="Go to citation">&uarr;</a></li>
      <li id="fn6:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.<a class="footnote-return" href="#fnref6-0:4" title="Go to citation">&uarr;</a></li>
      <li id="fn6:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.<a class="footnote-return" href="#fnref6-0:5" title="Go to citation">&uarr;</a></li>
      <li id="fn6:6">
        Really, I swear, this is just what Chinese tech companies are like.<a class="footnote-return" href="#fnref6-0:6" title="Go to citation">&uarr;</a></li>
      <li id="fn6:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.<a class="footnote-return" href="#fnref6-0:7" title="Go to citation">&uarr;</a></li>
      <li id="fn6:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.<a class="footnote-return" href="#fnref6-0:8" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>Two Birds, One Hotspot: Saving Money while Improving your Mobile Privacy</title>
			<link>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/</link>
			<pubDate>Thu, 01 Feb 2024 22:13:07 -0500</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/two-birds-one-hotspot/</guid>
			<update>false</update>
			<description><![CDATA[
<p>Or: I Bought a VPN, Stopped the Government from GPS Tracking my Phone, and Still Cut $8/Month off my Phone Bill</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/broken_sim.jpg" alt="A broken SIM card, image by DeviantArt user ishaque87"  caption="A broken SIM card, image by &lt;a href=&#34;https://www.deviantart.com/ishaque87/art/Broken-sim-By-ishaque87-339448801&#34;&gt;DeviantArt user ishaque87&lt;/a&gt;"/></div>
<h2 id="Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51"><a class="nostyle" href="#Phone-Plans-in-Canada-are-Expensive-4c2106d05991c5b3925d639834b3fd51">Phone Plans in Canada are Expensive</a></h2><p>Ok, so, here in Canada where I live, cellular plans are expensive.</p>
<p>To demonstrate: in the USA, with unlimited texting and calling, you can get 5GB of data for $14 USD ($18.81 CAD), or 1GB for $9 USD ($12.09 CAD)<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:1')"
    class="footnote-ref" id="fnref6-0:1">
        <a href="#fn6:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:1')"
    class="footnote-ref-display" id="fnrefcontent6-0:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.
    </span></span>, all at 5G speeds.</p>
<p>In Canada, the closest I can get is $24 CAD ($17.87 USD) for 4GB (and only as a special offer, meaning there&rsquo;ll be some restrictions), or 1GB for $19 CAD ($14.14 USD), both at 4G speeds. If I want 5G, the cheaptest plan I can get is $35 CAD ($26.05 USD) for 15GB.</p>
<p>Data-only plans, which are even cheaper, are simply not available in Canada.</p>
<p>This sounds depressing, right? Well, it is, but there&rsquo;s hope: everything I&rsquo;ve just said only applies to <em>SIM-based</em> phone plans.</p>
<h2 id="eSIM-e00e6e9b476edbd645e75502d05bd1b5"><a class="nostyle" href="#eSIM-e00e6e9b476edbd645e75502d05bd1b5">eSIM</a></h2><p>While normal Canadian phone plans are expensive and have a lack of options, there <em>is</em> an alternative: eSIM. eSIM is a type of SIM card that&rsquo;s embedded as a part of the device, and can be reprogrammed with different SIM information on-the-fly. This means that the restrictions on who can provide service with eSIM are <em>significantly</em> lower, and that increased market means cheaper plans.</p>
<p>To compare to the prices in the previous section, I can get a 5GB plan for $14.25 CAD ($10.61 USD), or 1GB for $3.77 CAD ($2.81 USD).</p>
<p>There are two catches, though:</p>
<ol>
<li>Only some phones have eSIMs, and you can&rsquo;t use an eSIM plan on a phone without one</li>
<li>Most Canadian eSIM plans are data-only, so no texting or calling</li>
</ol>
<p>But, that aside, if your phone has an eSIM, and you only need data, you can find <em>much</em> cheaper plans, with much more granular options, than any SIM plan.</p>
<p>If you want to look for cheap eSIM plans, the site I used was <a href="https://esimdb.com/canada">esimdb</a>.</p>
<h2 id="VOIP-d9c3bac5ea21dd68f463906c93bd322f"><a class="nostyle" href="#VOIP-d9c3bac5ea21dd68f463906c93bd322f">VOIP</a></h2><p>&ldquo;Ok, but what if I <em>do</em> need to text and call people?&rdquo;</p>
<p>I&rsquo;m so glad you asked.</p>
<p>VOIP is a group of technologies that allow you to call and receive calls over the internet, and many of them include a real phone number that you can use to make and receive calls and text messages just like you were using a regular phone.</p>
<p>VOIP has several benefits:</p>
<p>Firstly, it&rsquo;s <em>much</em> cheaper than a regular phone plan. I estimated the cost of a few plans based on my current usage, and found I&rsquo;d be paying about $1.50/month at my <em>highest</em> usage estimates.</p>
<p>Secondly, VOIP isn&rsquo;t limited to just your <em>phone</em>: you can send and receive calls and text messages from your desktop, which, for me, would be <em>extremely</em> convenient.</p>
<p>Thirdly, it means you don&rsquo;t have to transfer your phone number anytime there&rsquo;s a better deal for your eSIM plan! You can just buy the new plan, activate it, and use the same number immediately!</p>
<p>However, there <em>is</em> a downside:</p>
<p>Many mobile apps and websites require mobile authentication via SMS, and some of those will refuse to send authentication text messages to VOIP numbers.</p>
<p>In some cases, such as with Google, you may have the option to receive an authentication <em>call</em> instead, which should work on VOIP numbers. However, many services don&rsquo;t <em>have</em> a call-authentication option, so there may be services you simply cannot authenticate with.</p>
<p>However, there <em>is</em> a solution to this potential problem:</p>
<h3 id="A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd"><a class="nostyle" href="#A-Second%2c-Bare-Bones-SIM-%26ldquo%3bPlan%26rdquo%3b-b0c29963d9bc27b7ca16417ad6b3b7dd">A Second, Bare-Bones SIM &ldquo;Plan&rdquo;</a></h3><p>There are <em>very few</em> bare-bones pay-as-you go plans in Canada that <em>don&rsquo;t</em> require you to pay monthly, but there <em>is</em> one: 7/11 SpeakOut.</p>
<p>7/11&rsquo;s SpeakOut service <em>doesn&rsquo;t</em> have a <em>plan</em> that charges less than monthly, but with a SpeakOut SIM card, you can load a balance (at what I&rsquo;m lead to believe by outside sources is a $25 minimum) <em>without</em> buying an actual plan, and pay $0.35/minute for calling and $0.20/message for SMS, out of that balance (plus $1.25/month in &ldquo;regulatory recovery fees&rdquo;), and the balance doesn&rsquo;t expire for 365 days!</p>
<p>That means that you can buy a SpeakOut SIM card from a nearby 7/11 for $11.25, top it up for $25, and effectively pay $2/month for the number (not including the cost of the SIM card, which, of course, you only need to buy once). If you top it up before the existing balance expires, you should even be able to roll your remaining balance over into the next year.</p>
<p>For avoiding the potential hassle of not being able to receive authentication text messages, this is pretty cheap - we&rsquo;re still paying slightly less than we would for the <em>American</em> plans (albeit not for <em>unlimited</em> texting and calling). However, it might not be necessary for you, so it&rsquo;s up to you if you go with this option.</p>
<p>You could also, I suppose, just use the 7/11 SIM <em>instead of</em> the eSIM and VOIP number, but the voip text/call rates are <em>much</em> cheaper, and this way you get data.</p>
<h2 id="Saving-Money-93dc6742279a163a6fa1e4e6116423f0"><a class="nostyle" href="#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">Saving Money</a></h2><p>Ok, so if you&rsquo;re only interested in saving money, this is where you can stop.</p>
<p>Here&rsquo;s the tl;dr for how to save money on your phone bill:</p>
<ul>
<li>Buy an unlocked phone with an eSIM (the cheapest of which without a contract is the Google Pixel 3a, which costs about $250 at time-of-writing)
<ul>
<li>Cellphones cost a lot of money, so if you don&rsquo;t actually <em>need</em> a new phone, I&rsquo;d recommend reading further to <a href="/posts/two-birds-one-hotspot/#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a>, since the solution there will cost you much less up-front than almost any phone.</li>
<li>You can also buy an &ldquo;eSIM SIM card&rdquo; from <a href="https://esim.me/">eSIMme </a>for €24.95 (about $36 CAD), which apparently allows a wider range of previously eSIMles phones to use eSIM plans.</li>
</ul>
</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it
<ul>
<li>Scan the QR code you&rsquo;re given with your phone and setup the eSIM</li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>, but they don&rsquo;t have their own app: see below)
<ul>
<li>Either use whatever app they provide, or sign up with a provider that provides SIP information and use <a href="https://search.f-droid.org/?q=sip">an open-source alternative</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)</li>
<li>Throw away your old SIM card, and rejoice at saving a <em>lot</em> of money on your phone bill
<ul>
<li>In my case, assuming I bought the 7/11 SIM, I&rsquo;ll have saved about $15/month, which is more than half as much as my old plan cost, <em>total</em>.
<ul>
<li>This is, of course, not counting the one-time costs of $11.25 for the 7/11 SIM itself, and however much the phone/hotspot/eSIMme cost if you didn&rsquo;t already have one.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="Privacy-21cec257feb15bcc84e0acd5b0773883"><a class="nostyle" href="#Privacy-21cec257feb15bcc84e0acd5b0773883">Privacy</a></h2><p>Alright, but what if you care about your privacy? <em>I</em> care about <em>my</em> privacy.</p>
<p>SIM cards have low-level access to much more of your phone than you might realise:</p>
<ul>
<li>Sure, your provider can spy on your calls and text messages, we all know <em>those</em> aren&rsquo;t secure (we&hellip; <em>do</em> all know that, right?),
<ul>
<li>but what about&hellip;</li>
</ul>
</li>
<li>Turning your microphone or camera on and recording you without your knowledge?</li>
<li>Turning your phone on when you&rsquo;ve turned it off?</li>
<li>What about <em>tracking your every move</em>?</li>
</ul>
<p>Those are all things that your SIM card <em>can absolutely</em> do<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:2')"
    class="footnote-ref" id="fnref6-0:2">
        <a href="#fn6:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:2')"
    class="footnote-ref-display" id="fnrefcontent6-0:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.
    </span></span>, and you only have your provider&rsquo;s word that they <em>aren&rsquo;t</em> doing it - and they&rsquo;re <em>very</em> cagey on the topic of what data your SIM card is sending them over encrypted channels.</p>
<p>eSIMs&hellip; have all of these same problems, <em>and</em> you can&rsquo;t remove them from your phone.</p>
<p>Now, that&rsquo;s not a major privacy concern for most people: if you own an Android phone, <a href="https://hackaday.com/2021/11/18/privacy-report-what-android-does-in-the-background/">Google Play Services is <em>constantly</em> sending Google a &ldquo;seemingly unending stream of user information&rdquo;</a>, and while Apple <em>might</em> be collecting <em>slightly</em> less data on <em>their</em> users, we mostly only have their word to go on for it.</p>
<p>However, if you want to take your privacy seriously, and you&rsquo;re already using (or willing to switch to) a non-Apple phone that doesn&rsquo;t have Google Play Services installed, there <em>is</em> an option:</p>
<h3 id="Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa"><a class="nostyle" href="#Portable-Hotspots-3dab6d09ccd2d64ad92915b4d84ba0aa">Portable Hotspots</a></h3><p>You know how I said you need a phone with an eSIM to use eSIM plans? Well, that was a lie. Sure, the <em>device you use</em> has to have an eSIM in it, but that doesn&rsquo;t have to be a <em>phone</em>.</p>
<p>Portable hotspots are effectively tiny routers with SIM card slots. They provide internet to your phone or other devices using a SIM card&rsquo;s data.</p>
<p>The benefit of a portable hotspot is that instead of having direct access to the low-level systems of your phone, the SIM card only has access to the <em>hotspot</em>, which doesn&rsquo;t have cameras or microphones, and doesn&rsquo;t house any of your apps.</p>
<p>Now, there are <em>lots</em> of portable hotspots out there, but we need one with an eSIM.</p>
<p>Not only that, we need one with an eSIM that we can use with <em>any</em> eSIM plan:<br>
Because portable hotspots are simple devices without cameras, you can&rsquo;t scan a QR code with one to switch the eSIM&rsquo;s information.</p>
<p>Luckily, while most portable eSIM hotspots are locked to a single provider&rsquo;s eSIM plans, a Chinese manufacturer by the name of Sunhans or eSunFi<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:3')"
    class="footnote-ref" id="fnref6-0:3">
        <a href="#fn6:3" title="Go to footnote">3</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:3')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:3')"
    class="footnote-ref-display" id="fnrefcontent6-0:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.
    </span></span> sells <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">exactly what we&rsquo;re looking for</a>. Their customer-facing page is a little sparse on details, but <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their product page on globalsources</a> confirms that it supports most Canadian cellular bands, and can be setup with pretty much any eSIM plan using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">an app</a>.</p>
<p>The app is not open-source, and may require Google Play Services to work (although I <em>was</em> able to install and run it without, so it may work with just <a href="https://microg.org/">microG</a>). However, you shouldn&rsquo;t need to <em>keep</em> the app on your phone after setting up the eSIM, and if it <em>doesn&rsquo;t</em> run on your setup, you can either use the <a href="https://gspaceteam.com/">GSpace app</a> (which is free, with some intrusive advertisements in the launcher) or use someone else&rsquo;s phone to set it up.<br>
If you <em>do</em> use GSpace to set it up, I would recommend also uninstalling GSpace after use, because it does all of the tracking Google Play Services does, just without all the information from direct system-level access.</p>
<p>The device itself, which is apparently called the &ldquo;SHFiEL40&rdquo;, is about 3 by 3 inches, and about 3/4 of an inch thick. That&rsquo;s only <em>slightly</em> larger than my phone, and <a href="https://www.unihertz.com/products/jelly-2">my phone is smaller than yours</a>. It should be extremely easy to carry around in a purse or pocket, and since we&rsquo;re using VOIP for texting and calling anyway, you don&rsquo;t actually need to keep it on you you while you&rsquo;re at home or otherwise in range of WiFi (which is most of the time, where I live).</p>
<p>So, for privacy, we should use a phone that <em>doesn&rsquo;t</em> have an eSIM built-in, and then use the SHFiEL40 for our data, instead of the phone itself.</p>
<h3 id="VPN-01faf38365151f8d966bf5960242fb9e"><a class="nostyle" href="#VPN-01faf38365151f8d966bf5960242fb9e">VPN</a></h3><p>&ldquo;Ok,&rdquo; you say, &ldquo;but how do we keep the cellular service provider - along with anyone whose public WiFi I use - from snooping on what sites I visit?&rdquo;</p>
<p>Well, with all the money we&rsquo;re saving on our phone plans (my calculations have me saving about $17 CAD from <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/4GB-4Gspeed">my previous plan</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:4')"
    class="footnote-ref" id="fnref6-0:4">
        <a href="#fn6:4" title="Go to footnote">4</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:4')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:4')"
    class="footnote-ref-display" id="fnrefcontent6-0:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.
    </span></span>), we can afford to spend a little of it on a VPN!</p>
<p>VPNs route all of your traffic through their servers, so no websites can recognise your IP, and no internet providers can see what sites you access.</p>
<p>Bonus: you aren&rsquo;t limited to using a VPN on just your phone. Most VPNs allow multiple devices per account, so you can use one for your phone, laptop, desktop, and likely at least a few other devices.</p>
<p>Now, of course, the <em>VPN provider</em> can see those things, <em>but</em>, <a href="https://mullvad.net/">Mullvad</a> requires no personal information to sign up, and can be paid for using, among other things, cryptocurrency<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:5')"
    class="footnote-ref" id="fnref6-0:5">
        <a href="#fn6:5" title="Go to footnote">5</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:5')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:5')"
    class="footnote-ref-display" id="fnrefcontent6-0:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.
    </span></span> and cash! This means that your internet activity won&rsquo;t be readily traceable back to you.</p>
<p>Sunhans/eSunFi claims on <a href="http://sunhans.com/panel/client/product.php?item=1316">another of the company&rsquo;s websites</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:6')"
    class="footnote-ref" id="fnref6-0:6">
        <a href="#fn6:6" title="Go to footnote">6</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:6')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:6')"
    class="footnote-ref-display" id="fnrefcontent6-0:6">
        Really, I swear, this is just what Chinese tech companies are like.
    </span></span> that the SHFiEL40 has a built-in Wireguard VPN (an open-source VPN solution that many companies use), so you should be able to setup Mullvad on the device itself, using the device&rsquo;s WebUI as described in <a href="https://p.globalsources.com/IMAGES/PDT/SPEC/371/K1189606371.pdf">its manual</a>. According to <a href="https://mullvad.net/en/help/tag/wireguard">their help centre</a>, Mullvad supplies <a href="https://mullvad.net/account/wireguard-config">preconfigured Wireguard configuration files</a> to customers, so the process should be relatively simple.</p>
<p>There are privacy benefits to having your VPN on an external hotspot, as both Android <em>and</em> iOS devices can <em>and do</em> bypass your VPN settings for some system traffic, so this is a great feature.</p>
<p>Additionally, while Mullvad has a limit of 5 devices connecting at a time, the SHFiEL40 only counts as <em>one</em> device toward that limit, and the SHFiEL40 supports up to 10 devices at a time, so you can theoretically expand the number of devices simultaneously using your account to 14 while using data (if you need that many).</p>
<p>Mullvad only costs €5 ($7.22 CAD right now) per month, so we&rsquo;ll still be saving plenty of money on our bill.</p>
<h2 id="Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091"><a class="nostyle" href="#Saving-Money-and-Improving-Your-Privacy-b9bb5f6df2da52424241940a4a3be091">Saving Money <em>and</em> Improving Your Privacy</a></h2><p>Alright, so here&rsquo;s the tl;dr for those of you who <em>do</em> care about privacy:</p>
<ul>
<li>Make sure your phone <em>doesn&rsquo;t</em> have an eSIM</li>
<li>Either root your phone and uninstall Google Play Services, or install a privacy-oriented ROM onto your phone (such as <a href="https://e.foundation/e-os/">e/OS</a>, <a href="https://grapheneos.org/">GrapheneOS</a>, or <a href="https://calyxos.org/">CalyxOS</a>)</li>
<li>Sign up for <a href="https://mullvad.net/">Mullvad</a></li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it</li>
<li>Buy the SHFiEL40 from <a href="https://www.esun-fi.com/prodotto/portable-3g-4g-lte-pocket-esim-mifi-global-travel-hotspot-wifi-router-with-real-3950mah-battery/">their customer-facing website</a> or from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> (unless another, better or cheaper option has become available after I&rsquo;ve published this post)
<ul>
<li>Setup the eSIM on the SHFiEL40 using <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a></li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
</ul>
</li>
<li>Sign up for whatever VOIP service is cheapest for you, where you live (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>)
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
</ul>
</li>
<li>Optionally, buy a 7/11 SIM card and top it up with $25 yearly (but not an actual plan)
<ul>
<li>If you&rsquo;re going the privacy route, you should ideally leave the SIM card out of your phone when you aren&rsquo;t using it.</li>
</ul>
</li>
<li>Enjoy significant savings, and significantly improved privacy
<ul>
<li>The SHFiEL40 costs <em>significantly less</em> than <em>any</em> model of phone that supports eSIM, so the up-front cost will be lower than if you went <a href="/posts/two-birds-one-hotspot/#Saving-Money-93dc6742279a163a6fa1e4e6116423f0">the money-saving-only route</a>.
<ul>
<li>This is somewhat offset by the fact that the VPN eats into the cost-saving-over-time, so you&rsquo;ll be saving slightly less money than the cost-saving-only route after about 5 years.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569"><a class="nostyle" href="#Ok%2c-But-What-If-I-Really%2c-Really-Care-About-Privacy%3f-5d795dbd37bdf07926877f16afc2d569">Ok, But What If I Really, <em>Really</em> Care About Privacy?</a></h3><p>&ldquo;Sure, that&rsquo;s all great, but look at all those purchases! Surely those can be tracked! What if I need the <em>absolute best privacy</em> for my phone?&rdquo;</p>
<p>I&rsquo;m so glad you asked!</p>
<p>Here&rsquo;s the more complicated set of steps that one might take if they&rsquo;re trying to do this with as little information leakage as possible<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:7')"
    class="footnote-ref" id="fnref6-0:7">
        <a href="#fn6:7" title="Go to footnote">7</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:7')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:7')"
    class="footnote-ref-display" id="fnrefcontent6-0:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.
    </span></span>:</p>
<ul>
<li>Put on a mask (much more common these days) and sunglasses, as well as a hat to cover your hair if it&rsquo;s recognisable, and baggy clothing to hide your form (this will be much less weird if you do it in the winter)</li>
<li>Go to a convenience store and purchase a prepaid credit card, using cash
<ul>
<li>If you don&rsquo;t want your purchases to be connected to eachother, buy multiple cards, and use different cards for each online purchase
<ul>
<li>If you <em>really</em> don&rsquo;t want your purchases connected to eachother, buy them from different convenience stores (this is <em>excessive</em>, even for this section of the guide)</li>
</ul>
</li>
</ul>
</li>
<li>Install Linux on your computer, and use it for <em>every subsequent stage of this process</em>
<ul>
<li>If all you care about is privacy, you should use <a href="https://tails.net/">Tails</a> or <a href="https://www.qubes-os.org/">Qubes</a>, otherwise I&rsquo;d recommend <a href="https://ubuntu.com/">Ubuntu</a> (or <a href="https://kubuntu.org/">one</a> <a href="https://xubuntu.org/">of</a> <a href="https://lubuntu.me/">its</a> <a href="https://ubuntucinnamon.org/">spins</a>), or an arch spin like <a href="https://endeavouros.com/">EndeavourOS</a></li>
</ul>
</li>
<li>Download and install the <a href="https://www.torproject.org/download/">Tor browser</a> (probably through your package manager, now that you&rsquo;re using Linux)</li>
<li>Go to Mullvad&rsquo;s website using the Tor browser, and <a href="https://mullvad.net/en/pricing">Purchase Mullvad using cash</a> (I&rsquo;d recommend paying by the year or longer, to make your life easier)</li>
<li>Setup Mullvad and use it during <em>every subsequent stage of this process</em></li>
<li>Download a privacy-hardened browser such as <a href="https://librewolf.net/">Librewolf</a></li>
<li>Download <a href="https://e.foundation/e-os/">e/OS</a> or <a href="https://calyxos.org/">CalyxOS</a>
<ul>
<li>e/OS is available on more devices, whereas CalyxOS are limited to a much smaller selection. CalyxOS is a fork of <a href="https://grapheneos.org/">GrapheneOS</a>, but while GrapheneOS is limited to newer Google Pixel devices (all of which have built-in eSIMs), CalyxOS supports the Moto G32, G42, and G52, as well as the Shift6mq and Pixel 3, all of which seem to be eSIM-free.</li>
</ul>
</li>
<li>Purchase a new phone supported by the ROM you&rsquo;ll be using, using one of the prepaid credit cards
<ul>
<li>If you&rsquo;re- ok, no, if you&rsquo;re actually following this guide at this point, you <em>definitely</em> care about privacy enough to take weird, excessive steps like this:</li>
<li>Set the address to which the phone will be sent to the address of someone who lives near you (and ideally is rarely home)</li>
<li>Sign up for email alerts on your package using a temporary email service like <a href="https://www.guerrillamail.com/">GuerrillaMail</a></li>
<li>Request that the package is left in front of the front door</li>
<li>When you receive an email alert for the package, wait near the address you sent it to, and after the delivery vehicle leaves, &ldquo;steal&rdquo; your package</li>
<li>Gloat at how extremely private you&rsquo;re being</li>
</ul>
</li>
<li>Flash the new ROM onto your new phone</li>
<li>Search <a href="https://esimdb.com/canada">esimdb</a> for a plan that fits your needs, and buy it using a prepaid credit card (and a private or temporary email address, if it requires one)</li>
<li>Sign up for whatever VOIP service is cheapest for you (for me, that&rsquo;ll be <a href="https://voip.ms/">voip.ms</a>), using a prepaid credit card and a private email account
<ul>
<li>Make sure you sign up with a provider that provides SIP information, so you can use <a href="https://search.f-droid.org/?q=sip">an open-source SIP app</a></li>
<li>Private email is actually not trivial, but my best recommendation at the moment is <a href="https://www.cock.li/">cock.li</a>, which is apparently no longer invite-only. Use a separate email address for every account.</li>
</ul>
</li>
<li>Buy the SHFiEL40 from <a href="https://www.globalsources.com/4G-5G-router/4G-router-1189606371p.htm">their GlobalSources page</a> using a prepaid credit card and a temporary email address
<ul>
<li>Again, if you&rsquo;re going the absurdly privacy-scrupulous route, send the package to someone else&rsquo;s address and &ldquo;steal&rdquo; it</li>
</ul>
</li>
<li>Using your old phone, or the phone of someone else you know, install <a href="https://play.google.com/store/apps/details?id=com.linksfield.lpa_tool">the app</a>, and setup your eSIM plan with the SHFiEL40</li>
<li>Setup Mullvad on the SHFiEL40, likely using <a href="https://mullvad.net/account/wireguard-config">the Wireguard configuration files that Mullvad supplies</a></li>
<li>Feel like a badass, until you realise that most of this was probably unnecessary unless you&rsquo;re actually on-the-run from one or more governments.</li>
<li>Still end up saving money, even if you&rsquo;ve probably wasted a lot of time.</li>
</ul>
<h2 id="Future-Updates-e633cfaee2a0292570461f12634aae99"><a class="nostyle" href="#Future-Updates-e633cfaee2a0292570461f12634aae99">Future Updates</a></h2><p>So, if you hadn&rsquo;t guessed from some of my wording, I haven&rsquo;t actually <em>tried</em> this yet. I&rsquo;ve done all the research, and all the numbers work out, but this has seen <em>zero</em> real-world testing.</p>
<p>However, I like saving money, and I like improving my privacy (though perhaps not enough to follow all of the steps in <a href="/posts/two-birds-one-hotspot/#Ok,-But-What-If-I-Really,-Really-Care-About-Privacy?-5d795dbd37bdf07926877f16afc2d569">the previous section</a>), so I <em>do</em> intend to try this out! So, I&rsquo;ll be purchasing the SHFiEL40 sometime in the next few days, and I&rsquo;ll post updates (and likely update this post as well) with how it goes!</p>
<p>If this works out, I should end up spending noticeably less money on my phone bill. Not only is this good <em>for me</em>, but I&rsquo;d argue that giving less money to Canadian telecom companies is a direct moral good: everybody wins!</p>
<h3 id="Update-1:-911-3be8a2b8e86fe86cd7da431a032d04c0"><a class="nostyle" href="#Update-1%3a-911-3be8a2b8e86fe86cd7da431a032d04c0">Update 1: 911</a></h3><p>It seems that maybe I was mistaken about needing a SIM to call 911 in Canada, so I&rsquo;ve removed any references to that.</p>
<h3 id="Update-2:-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1"><a class="nostyle" href="#Update-2%3a-Initial-Impressions-c26937f5889bd60bb170ef584a22abb1">Update 2: Initial Impressions</a></h3><p>Everything has arrived!</p>
<p>Porting my old phone number to the VOIP plan took a little longer than I was expecting, because I missed the confirmation text the first time. Unfortunate, and that meant it took long enough to transfer that it rolled over into the next month (I had started late in the month, to get the most of the last month I&rsquo;d already paid for with my old provider). I was able to preemptively switch my old plan to renew on their cheapest plan, but that&rsquo;s still $15 extra in initial costs I wasn&rsquo;t planning on spending.</p>
<p>The VOIP plan itself is working extremely well, <em>except</em> that the app I want to use (Linphone) has issues with the somewhat-nonstandard way the provider I chose (voip.ms, and apparently literally just them) handles SMS messages. There&rsquo;s a setting to still show the incoming messages despite that issue (disable <code>Chat&gt;Hide chat rooms from removed accounts</code>), but it <em>does</em> still group incoming messages separately from outgoing ones. This is definitely fixable by either switching SIP apps or VOIP providers, but it&rsquo;s still annoying.</p>
<p>The eSIM plan I was looking at apparently has <em>really</em> poor-quality service, so I&rsquo;m currently on one that&rsquo;s about $13 CAD, instead of the $7 I was expecting (for 3GB/month). Luckily, it&rsquo;s <em>very</em> easy for me to switch the eSIM plan for a cheaper one when I find a better deal.</p>
<p>I have not yet gotten around to purchasing or setting-up the VPN plan.</p>
<p>The eSIM router was relatively easy to setup, although the app did <em>not</em> function without Google Play Services or GSpace.</p>
<p>Because the router is on a limited data plan, it&rsquo;s a good idea to set it as a &ldquo;metered connection&rdquo; in your phone&rsquo;s WiFi settings. This will make your phone prefer other, non-metered networks over the hotspot, so you can avoid accidentally using more data than you intended to.</p>
<p>The router has a 3060mAh battery, which will generally last it about as long as my phone (with a similar battery capacity) will. However, while the router itself is generally pretty simple to use, it requires me to login to its webui to enable cellular data <em>every time</em> after restarting it. Additionally, the webui login interface is inexplicably broken on mobile (even in browser desktop mode). This makes it <em>very</em> difficult to save power by turning the device off while not in use.</p>
<p><em>However</em>, I&rsquo;m smart, and the router&rsquo;s security isn&rsquo;t particularly complex, soooo:</p>
<h4 id="Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6"><a class="nostyle" href="#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">Fixing The Annoying Issue with the eSIM Router</a></h4><p>I watched my network traffic through the browser tools while logging into the router&rsquo;s interface and while enabling the data connection. Turns out, it&rsquo;s very simple!</p>
<ul>
<li>Both actions send an HTTP POST request to a specific path in the router interface&rsquo;s ip (http://192.168.0.1/cgi-bin/ajax_get.cgi).</li>
<li>The only piece of data that matters in either is the <code>content</code> value, which is html-encoded xml data.</li>
<li>The login request sends the following (non-html-encoded, so you can read it more easily - except for <code>%01</code>, because that won&rsquo;t print right in this context): <code>which_ajax=api/user/login%01xmldata=&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;request&gt;&lt;Username&gt;USERNAME&lt;/Username&gt;&lt;Password&gt;PASSWORD&lt;/Password&gt;&lt;/request&gt;</code> (obviously with my username and password replaced with the strings <code>USERNAME</code> and <code>PASSWORD</code>).</li>
<li>The request to enable the data sends <code>which_ajax=api/dialup/mobile-dataswitch\u0001xmldata=&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;&lt;request&gt;&lt;dataswitch&gt;1&lt;/dataswitch&gt;&lt;/request&gt;</code>.</li>
</ul>
<p>So, all I need is something that&rsquo;ll let me easily send HTTP POST requests from my phone - ideally from somewhere convenient like my homescreen.</p>
<p><a href="https://f-droid.org/packages/ch.rmy.android.http_shortcuts/">Something that&rsquo;ll let me easily send HTTP POST requests from my phone&rsquo;s homescreen</a>.</p>
<p>Oh, great! And it&rsquo;s open-source!<br>
So then, we open that app, and create three shortcuts:</p>
<ul>
<li>First, a &ldquo;Regular HTTP Shortcut&rdquo; with the <code>POST</code> method and the <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code> URL, a body value of <code>which_ajax%3Dapi%2Fuser%2Flogin%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3CUsername%3E&lt;&lt;YOUR_USERNAME&gt;&gt;%3C%2FUsername%3E%3CPassword%3E&lt;&lt;YOUR_PASSWORD&gt;&gt;%3C%2FPassword%3E%3C%2Frequest%3E</code>, a content type of <code>text/xml</code>, and &ldquo;Response Handling&rdquo; options that aren&rsquo;t too intrusive (I went with toast popups on failue).</li>
<li>Second another &ldquo;Regular HTTP Shortcut&rdquo;, with the same method, URL, content type, and response-handling options, but with a body value of <code>which_ajax%3Dapi%2Fdialup%2Fmobile-dataswitch%01xmldata%3D%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Crequest%3E%3Cdataswitch%3E1%3C%2Fdataswitch%3E%3C%2Frequest%3E</code>.</li>
<li>Last, a &ldquo;Multi-Shortcut&rdquo; with both of the previous shortcuts.</li>
<li>Now just add the widget to your homescreen, and after whenever you connect to the hotspot, click that button to enable it!</li>
</ul>
<p>Great! Problem solved!</p>
<br>
<p>Overall, there have definitely been some hurdles, but it&rsquo;s looking like there&rsquo;s only one minor one left to overcome (the SMS issue), and then I should be issue-free!</p>
<p>See you in the next update!</p>
<h3 id="Update-3:-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7"><a class="nostyle" href="#Update-3%3a-VPN-and-Automation-f1b49d4288b20a8d0187c0d3c336cef7">Update 3: VPN and Automation</a></h3><p>I finally got around to buying Mullvad!</p>
<p>I went about it the difficult-but-better way (mailing them cash, although I might try using Monero when I renew in a year), so it took a few weeks for my money to reach them and for them to add the time to my account.</p>
<p>Setup on my phone and desktop was <em>dead</em> easy (they have a very nice little app for it).</p>
<h4 id="VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80"><a class="nostyle" href="#VPN-on-the-Hotspot-aa0d8b0cf80da9342b4eee7c7174ee80">VPN on the Hotspot</a></h4><p>I was <em>initially</em> going to also run it on my wireless hotspot, as implied in an earlier section of this post, but I ran into two issues:<br>
1: I couldn&rsquo;t figure out how to get my phone to automatically disconnect from the VPN locally when it connected to the hotspot (which could cause issues if the hotspot was <em>also</em> running the VPN).<br>
2: I had some minor issues setting up the VPN on the hotspot (with it enabled, I couldn&rsquo;t connect to any sites, so presumably something was wrong with my config).</p>
<p>In addition to those issues, my current phone is rooted, has Google Play Services uninstalled, and uses <a href="https://github.com/ukanth/afwall">AFWall+</a>, so I&rsquo;m pretty sure there aren&rsquo;t any system services that are privileged and bypassing my on-device VPN.</p>
<p>For these reasons, I didn&rsquo;t bother figuring out issue #2. If I eventually run into a way to solve issue #1, I&rsquo;ll probably try again at #2 and post about it here.</p>
<h4 id="Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785"><a class="nostyle" href="#Automating-Enabling-the-Hotspot-3032be3738721f70048f236f28b73785">Automating Enabling the Hotspot</a></h4><p>I mentioned in a previous section that I was annoyed by the hotspot not automatically enabling its connection when started.<br>
I solved this problem at the time by using an app to add a shortcut to my phone&rsquo;s homescreen that would send POST requests to the hotspot to login and enable the network.</p>
<p>However, during all the fiddling around I did with automation in order to try to automatically disconnect from my on-device VPN when I connected to the hotspot, I found a better solution!</p>
<p><a href="https://me.ryey.icu/Easer/en/">Easer</a> is an open-source automation app available on F-Droid, and unlike apparently every other automation app I&rsquo;d previously looked at, it both A: is actually functional, and B: supports making HTTP requests!</p>
<p>So, loosely-following <a href="https://www.reddit.com/r/pihole/comments/gym0xp/howto_autoswitch_vpn_with_easer_and_openvpn_for/">this guide for setting up similar automation for OpenVPN</a>, I was able to set it up to automatically send the login and enable requests to my hotspot whenever I connect to it.</p>
<p>I won&rsquo;t go into <em>too</em> much detail on how I did this, because it&rsquo;s relatively simple if you&rsquo;ve read the rest of this post and are looking at the linked guide, but here&rsquo;s the basics just in case:</p>
<ul>
<li>in Easer, go to the Data tab</li>
<li>create an Event for detecting when you&rsquo;re connected to the internet (as described in the aforementioned guide)</li>
<li>create a Condition for detecting whether or not you&rsquo;re connected to the hotspot&rsquo;s network (again, as described in the guide)</li>
<li>create another Condition for the 5G version of the hotspot&rsquo;s network</li>
<li>create a Profile, and add 2 &ldquo;HTTP request&rdquo; Operations to it
<ul>
<li>set them both to POST</li>
<li>set the URL for each to <code>http://192.168.0.1/cgi-bin/ajax_get.cgi</code></li>
<li>set the content type for each to <code>text/xml</code></li>
<li>set the POST data for each respective request to the data from each respective action described in <a href="/posts/two-birds-one-hotspot/#Fixing-The-Annoying-Issue-with-the-eSIM-Router-7d109bf652ef51c252bc0dca0dc052f6">the previous update</a></li>
</ul>
</li>
<li>go to the Pivot tab</li>
<li>create a Script for detecting whether you&rsquo;re online, as described in the guide</li>
<li>add a child to that Script for your hotspot&rsquo;s network, and another for the 5G version</li>
<li>for both of those child Scripts, set the profile to the one you created for enabling the network</li>
<li>go to the Outline tab and start the service</li>
<li>go to the app&rsquo;s settings, and set it to autostart with your device</li>
<li>start your hotspot and connect to it, to make sure the automation is working</li>
</ul>
<p>This worked excellently for me, and I hope if you&rsquo;re in a similar situation it works well for you too!</p>
<h3 id="Update-4:-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371"><a class="nostyle" href="#Update-4%3a-Inconvenience-and-Moving-Forward-b4c80b7410c62912ca09744223dfb371">Update 4: Inconvenience and Moving Forward</a></h3><p>I switched to a cheaper eSIM plan again at some point, which I appear not to have mentioned yet.</p>
<br/>
<p>The eSIM router&rsquo;s battery, while theoretically insufficient, seems to run out <em>much</em> faster than it should. I think this is a software problem, but it&rsquo;s one one I expect to be able to solve.</p>
<p>This, combined with its slow startup time, means that the router is <em>very</em> inconvenient to use.</p>
<p>On top of that, the VOIP app I was using was having trouble with not receiving calls sometimes, even when I <em>did</em> remember to switch the router on.</p>
<p>So, I caved and bought a <a href="/posts/two-birds-one-hotspot/#A-Second,-Bare-Bones-SIM-&amp;ldquo;Plan&amp;rdquo;-b0c29963d9bc27b7ca16417ad6b3b7dd">SpeakOut</a> SIM, and ported my number to that.</p>
<p>I now have a different number with my VOIP provider, with its caller-ID set to my main number&rsquo;s, and set to forward to that number if I don&rsquo;t pick up, so I can make calls with it at a cheaper rate. I switched VOIP apps from <a href="https://f-droid.org/en/packages/org.linphone/">Linphone</a> to <a href="https://f-droid.org/en/packages/com.tutpro.baresip/">BareSIP</a>, which has less appealing UI but seems to <em>function</em> better.</p>
<p>I <em>began</em> considering buying an eSIM.me card, but then I did a little research and found <a href="https://frank-ruan.com/2024/08/27/removable-euicc/">these</a> <a href="https://frank-ruan.com/2025/04/12/removable-euicc-follow-up/">posts</a> by Frank Ruan, which led me to <a href="https://www.9esim.com/">9esim</a> instead. 9esim&rsquo;s cards are <em>significantly</em> cheaper than eSIM.me, they aren&rsquo;t predatory to competitors, and <em>they exclusively use <a href="https://www.9esim.com/ecosystem-software-download/">open-source management software</a><span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(this, 'fnrefcontent6-0:8')"
    class="footnote-ref" id="fnref6-0:8">
        <a href="#fn6:8" title="Go to footnote">8</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent6-0:8')"
    onmouseover="displayFootnote(null, 'fnrefcontent6-0:8')"
    class="footnote-ref-display" id="fnrefcontent6-0:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.
    </span></span>!</em></p>
<p>So, once that arrives, the plan is to install it alongside the 711 SIM, see how things fare with the VOIP number again, sell the router, and potentially remove the 711 SIM if it turns out not to still be necessary. The only pain with this is, if I turn out to need the 711 SIM, I&rsquo;ll have to go without a MicroSD card. Still, I don&rsquo;t think I&rsquo;m actually running out of space on my phone, so that should be fine.</p>
<p>See you in the next update!</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn6:1">
        I&rsquo;ve heard tell of 1GB unlimited call/text plans for as low as $5.50 USD, but wasn&rsquo;t able to confirm those. You can probably find cheaper than I did if you look harder, but I don&rsquo;t live in the USA, so I didn&rsquo;t have much incentive to look very hard.<a class="footnote-return" href="#fnref6-0:1" title="Go to citation">&uarr;</a></li>
      <li id="fn6:2">
        And the last of them - constantly tracking your location - it <em>definitely is</em> doing, because that&rsquo;s a necessary part of connecting you to the cellular network.<a class="footnote-return" href="#fnref6-0:2" title="Go to citation">&uarr;</a></li>
      <li id="fn6:3">
        In my experience, a Chinese tech company going by multiple names is extremely common, and not particularly a red flag.<a class="footnote-return" href="#fnref6-0:3" title="Go to citation">&uarr;</a></li>
      <li id="fn6:4">
        This is actually an introductory offer I don&rsquo;t qualify for: my plan is actually <a href="https://subscribe.publicmobile.ca/en/on/activation/plans/1GB-3Gspeed">this one</a> with a permanent free +2GB of data. You&rsquo;ll notice that this is slightly <em>more expensive</em> and <em>noticeably slower</em> than the introductory offer, with <em>less</em> data: this is one of the many reasons I hate introductory offers.<a class="footnote-return" href="#fnref6-0:4" title="Go to citation">&uarr;</a></li>
      <li id="fn6:5">
        Most cryptocurrency exchanges require personal information to sign up, and can be traced extremely easily, so I&rsquo;d recommend either using cash, figuring out how to buy cryptocurrency <em>without</em> an exchange (which is more work), or using Monero, which has measures in place which make it much more difficult to trace purchases.<a class="footnote-return" href="#fnref6-0:5" title="Go to citation">&uarr;</a></li>
      <li id="fn6:6">
        Really, I swear, this is just what Chinese tech companies are like.<a class="footnote-return" href="#fnref6-0:6" title="Go to citation">&uarr;</a></li>
      <li id="fn6:7">
        Some of these steps are rather excessive, but I might actually try out some of the less-excessive parts, just for fun.<a class="footnote-return" href="#fnref6-0:7" title="Go to citation">&uarr;</a></li>
      <li id="fn6:8">
        Ok, technically I think their iOS app might be closed-source? I can&rsquo;t quite tell.<a class="footnote-return" href="#fnref6-0:8" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>Comments!</title>
			<link>https://thoughtsofmine.ca/posts/comments/</link>
			<pubDate>Mon, 15 Jan 2024 21:41:54 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/comments/</guid>
			<update>false</update>
			<description><![CDATA[
<p>Hiii! So, I&rsquo;ve finally added comments to this thing!</p>
<p>That&rsquo;s right, no more will you have to message me personally if you have thoughts about mine!<br>
Now, we can discuss my posts in public, with everyone! What fun!</p>
<p>Please note that alternate-language versions of posts have their own, separate, comments sections.</p>
<p>I&rsquo;m immensely looking forward to talking to you!</p>
]]></description>
		</item>
		<item>
			<title>Backpack Inventory - November 2023</title>
			<link>https://thoughtsofmine.ca/posts/backpack-11-2023/</link>
			<pubDate>Mon, 27 Nov 2023 15:52:26 -0500</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/backpack.jpg" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/backpack-11-2023/</guid>
			<update>false</update>
			<description><![CDATA[
<p>So, I was actually planning on writing a <em>different</em> post this month, and while that post is actually nearly done, I suddenly felt the urge to copy my friend <a href="https://brin-bellway.dreamwidth.org/147454.html">Brin</a> and write out an inventory of my backpack, since I&rsquo;ve just upgraded to a backpack from a very large purse (which contained mostly the same things, but much more poorly-organised, and was much more work to carry). Also, I felt that it would be unsafe to post the other post without another few revisions.</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/backpack.jpg" alt="My backpack"  caption="My new backpack. It was free, and it&#39;s apparently made by a company called Mogplof, but that&#39;s all I know about it."/></div>
<p>So, without further ado, Mae&rsquo;s backpack inventory:</p>
<h2 id="Current-Contents-3e1fb3a0e98174771828863383e6eeca"><a class="nostyle" href="#Current-Contents-3e1fb3a0e98174771828863383e6eeca">Current Contents</a></h2><ul>
<li><strong>Main Pocket</strong>
<ul>
<li><strong>Back Pouch</strong>
<ul>
<li>Laptop</li>
</ul>
</li>
<li><strong>Front Zipper Pouch</strong>
<ul>
<li>Phone charging cable (magnetic)</li>
<li>USB wall charger</li>
</ul>
</li>
<li><strong>Front Left Pouch</strong>
<ul>
<li>Steamdeck</li>
<li>Steamdeck charger</li>
<li>Steamdeck case (on Steamdeck; DBrand Killswitch)</li>
</ul>
</li>
<li><strong>Front Right Pouch</strong>
<ul>
<li>USB charging bank (Anker PowerCore II Slim 10000)</li>
</ul>
</li>
<li><strong>Main Body</strong>
<ul>
<li>Inner Right Pouch (empty)</li>
<li>Inner Left Pouch (empty)</li>
<li>Makeup wipes (honestly just whatever&rsquo;s cheapest)</li>
<li>Umbrella (Fulton Tiny 2)</li>
<li><strong>Resealable Plastic Bag</strong> (full of tea)
<ul>
<li>Traditional Medicinals Throat Coat</li>
<li>Traditional Medicinals Breathe Easy</li>
<li>Peppermint tea</li>
<li>A rotating cast of decaf/herbal teas</li>
</ul>
</li>
<li><strong>Shelf Organiser</strong> (you heard me)
<ul>
<li><strong>Compartment 1</strong>
<ul>
<li>Flipper Zero</li>
<li>Spray bottle (empty)</li>
<li>Electric razor (Philips OneBlade)</li>
<li>Extra electric razor heads</li>
<li>Comb</li>
<li>Toothbrush</li>
<li>Hair pick</li>
<li>Tampons</li>
<li>Menstrual pads</li>
<li>Alcohol spray</li>
</ul>
</li>
<li><strong>Compartment 2</strong>
<ul>
<li>Pill bottle (estradiol)</li>
<li>Pill bottle (progesterone)
<ul>
<li>Safety pin</li>
</ul>
</li>
<li>Pill Bottle (misc)
<ul>
<li>Acidophilus</li>
<li>L-Theanine</li>
<li>Vitamin C</li>
<li>Melatonin</li>
<li>Ibuprofen</li>
</ul>
</li>
<li>Nasal spray (for persistent throat infection)</li>
<li>Eye drops</li>
<li>Eye drops (antihistamine)</li>
<li>Allergy relief pills</li>
<li>Inhaler (for seasonal asthma; expired)</li>
<li>Antibacterial cream (Polysporin)</li>
<li>Hemp skin cream</li>
</ul>
</li>
<li><strong>Compartment 3</strong>
<ul>
<li>Charger for electric razor</li>
<li>USB-A to USB-C male-to-male cable (long)</li>
<li>USB-A to USB-C male-to-male cable (short)</li>
<li>USB-C to USB-C male-to-male cable (short)</li>
<li>USB-C to USB-C male-to-male cable (short)</li>
<li>USB-A to Mini-USB male-to-male cable (for charging power bank)</li>
<li>USB-C hub (USB-A, USB-A, DisplayPort, Ethernet)</li>
<li>Portable SSD (512GB, USB-C; Pluggable enclosure; Micron Crucial P5 M.2 2280 drive)</li>
<li><strong>Resealable plastic bag</strong>
<ul>
<li>USB-A to USB-C female-to-male converter</li>
<li>USB-C to USB-C female-to-male converter</li>
<li>USB-C to USB-C male-to-male converter</li>
<li>USB-C to USB-C female-to-female converter</li>
<li>USB-A to USB-C male-to-female converter</li>
<li>USB-A to USB-C male-to-female converter</li>
<li>Magnetic cable ends (USB-C, Mini-USB, Lightning)</li>
</ul>
</li>
</ul>
</li>
<li><strong>Compartment 4</strong>
<ul>
<li>Naloxone kit</li>
</ul>
</li>
<li><strong>Compartment 5</strong>
<ul>
<li>Deodorant (Native)</li>
<li>Cough drops (Ricola)</li>
<li>Makeup wipes (~1 left, probably somewhat dried-out)</li>
<li>Spare organiser dividers</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><strong>Front Pocket</strong>
<ul>
<li><strong>Front Pouch</strong>
<ul>
<li>Mint (Tic Tacs)</li>
<li>Nail kit</li>
<li><strong>Cloth Pouch</strong>
<ul>
<li>Adhesive bandages</li>
<li>Alcohol swabs</li>
</ul>
</li>
<li>Tiny notepad</li>
<li>Metal dice (complete roleplaying set, except with 6 extra d6s, from a very nice Etsy seller - studiogaja - who let me buy a bunch of extra d6s they didn&rsquo;t previously offer)</li>
</ul>
</li>
<li><strong>Back Pouch</strong>
<ul>
<li>Lip Balm (made by a friend)</li>
<li>Laptop charger</li>
<li>Business card holder (got it off Aliexpress)</li>
</ul>
</li>
<li><strong>Main Body</strong>
<ul>
<li><strong>Naloxone Kit Container</strong>
<ul>
<li>Stud earrings container</li>
<li>Dangle earrings container</li>
<li>Stick foundation (Maybelline Fit Me 110)</li>
<li>Lipstick (Revlon 777)</li>
<li>Lipstick (Nyx Shout Loud 20)</li>
<li>Concealer (I don&rsquo;t remember and the branding has worn off)</li>
<li>Black liquid lipstick (Milani 13)</li>
<li>Makeup primer (Nyx Pore Filler 01)</li>
<li>Eyeshadow (Clinique 605)</li>
<li>Resealable bag of q-tips</li>
<li>Lip Gloss (Smashbox Gloss Angeles Extra Shine)</li>
<li>Makeup setting spray (Nyx Radiant Finish)</li>
<li>Sim tool</li>
</ul>
</li>
<li>Keyring
<ul>
<li>Keys</li>
<li>Bottle opener</li>
</ul>
</li>
<li>Pinephone with keyboard attachment</li>
</ul>
</li>
</ul>
</li>
<li><strong>Back Pocket</strong>
<ul>
<li>E-reader (Kobo Touch)</li>
</ul>
</li>
<li><strong>Right Side Pocket</strong>
<ul>
<li>Varies:
<ul>
<li>Usually my mask, if I&rsquo;m not wearing it</li>
<li>Sometimes a water bottle</li>
<li>Maybe a deck of tarot or TCG cards</li>
<li>Sometimes my stenography keyboard</li>
<li>Frequently my non-noise-isolating earbuds (I prefer the older-style Happy Plugs)</li>
</ul>
</li>
</ul>
</li>
<li><strong>Left Side Pocket</strong>
<ul>
<li><strong>Purse</strong>
<ul>
<li><strong>Main front pocket</strong>
<ul>
<li>Small everyday carry knife (Gerber LST)</li>
<li>Larger knife, my favourite (Gerber FlatIron)</li>
<li>Spare KN95 mask</li>
<li>Earbuds (noise isolating)</li>
<li>Earplugs (Vibes)</li>
<li>Lockpicks (H&amp;H Folding Lockpick Set Multitool)</li>
<li>Pressurized Inkpen (Fischer Space Pen)</li>
</ul>
</li>
<li><strong>Small front pocket</strong>
<ul>
<li>Card holder (Duxtio RFID-blocking wallet)</li>
<li>Ubikey 5 NFC (hardware authentication key)</li>
<li>Change (sometimes)</li>
</ul>
</li>
<li><strong>Back Pocket</strong>
<ul>
<li>Small makeup mirror</li>
<li>Tinted lip balm (Burt&rsquo;s Bees)</li>
<li>Tinted lip balm (unknown brand, strawberry flavoured)</li>
<li>Mascara (Lise Watier Eye Opening Vegan Mascara)</li>
<li>Lipstick (Revlon 775)</li>
<li>Thin eyeliner (Nyx That&rsquo;s The Point 07)</li>
<li>Thick eyeliner (Nyx That&rsquo;s The Point 01)</li>
<li>Oil perfume (home-made)</li>
<li>Oil perfume (random sampler, Michel Germain Sugar &amp; Spice)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="To-be-added-6510920d80abe4160c39080758566c38"><a class="nostyle" href="#To-be-added-6510920d80abe4160c39080758566c38">To-be-added</a></h2><p>There are a few things I&rsquo;ve been planning on adding to my bag for some time, but have yet obtained and included.</p>
<ul>
<li>Additional resealable bags, for miscellaneous purposes</li>
<li>A hard case for my stenography keyboard (requires that I find one well-suited to it)</li>
<li>Paper</li>
<li>Tape</li>
<li>Black felt-tip marker</li>
<li>Two-use bus cards (in case someone else needs one) (requires me to obtain some - I don&rsquo;t think they <em>sell</em> them for my local bus service, although they <em>do</em> exist for it)</li>
<li>Masks (in case someone else needs one)</li>
<li>Probably a lot of the health stuff that&rsquo;s in Brin&rsquo;s utility belt: my medical supplies are rather lackluster</li>
</ul>
]]></description>
		</item>
		<item>
			<title>The Author Is Always Dead</title>
			<link>https://thoughtsofmine.ca/posts/the-author-is-always-dead/</link>
			<pubDate>Wed, 26 Jul 2023 12:39:05 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/the-author-is-always-dead/</guid>
			<update>false</update>
			<description><![CDATA[
<p><em>This article was originally drafted and shared on October 4, 2020. It has been uploaded here due to the inaccessibility of its original publication.</em><br>
<em>This article is an incomplete first draft, and may be updated and reposted at a later date.</em></p>
<hr>
<p>Death of the Author is a concept and term originally coined in the eponymous essay by Roland Barthes. In his essay&rsquo;s conclusion, Barthes writes the following:</p>
<blockquote>
<p>In this way is revealed the whole being of writing: a text consists of multiple writings, […] but there is one place where this multiplicity is collected, […] and this place is not the author, as we have hitherto said it was, but the reader:<br>
the reader is the very space in which are inscribed, without any being lost, all the citations a writing consists of.<br>
The unity of a text is not in its origin, it is in its destination. But this destination can no longer be personal:<br>
the reader is a man without history, without biography, without psychology; he is only that someone who holds gathered into a single field all the paths of which the text is constituted.<br>
This is why it is absurd to hear the new writing condemned in the name of a humanism which hypocritically appoints itself the champion of the reader’s rights.<br>
The reader has never been the concern of classical criticism: for it, there is no other man in literature but the one who writes.<br>
We are now beginning to be the dupes no longer of such antiphrases, by which our society proudly champions precisely what it dismisses, ignores, smothers or destroys: we know that to restore to writing its future, we must reverse its myth.<br>
The birth of the reader must be ransomed by the death of the Author.</p>
</blockquote>
<p>(Barthes, 1967)<br>
(Punctuation and spacing have been modified. The meaning has not been significantly altered.)</p>
<p>By this, Barthes is saying that the concept of the &ldquo;Author&rdquo; of a work – that is, its singular individual creator – having any bearing on the work’s actual meaning deprives the &ldquo;Reader&rdquo; – any and all people consuming the work – of their right to agency in creating meaning from the work.</p>
<p>Thus, the Author being metaphorically dead has much the same effect on the interpretation of their work as their being literally dead might: they no longer have any say over the work’s meaning, beyond what they directly imbued within the work in its creation.</p>
<p>In their 2005 paper Failure to Detect Mismatches Between Intention and Outcome in a Simple Decision Task, Petter Johansson et al describe a simple experiment:</p>
<blockquote>
<p>[…] we created a choice experiment that permitted us to surreptitiously manipulate the relationship between choice and outcome that our participants experienced. We showed picture pairs of female faces to 120 participants (70 female) and asked them to choose which face in each pair they found most attractive.<br>
On some trials, immediately after their choice, they were asked to verbally describe the reasons for choosing the way they did.<br>
Unknown to the participants, on certain trials, a double-card ploy was used to covertly exchange one face for the other. Thus, on these trials, the outcome of the choice became the opposite of what they intended.<br>
Each subject completed a sequence of 15 face pairs, three of which were manipulated.</p>
</blockquote>
<p>(Johansson, Hall, Sikström, &amp; Olsson, 2005)<br>
(References to abbreviations and figures have been removed.)</p>
<p>In that experiment, very few of the participants noticed the manipulation. In addition, of the participants who were asked to describe their reasoning, the study has this to say:</p>
<blockquote>
<p>There were no differences between the verbal reports elicited from [non-manipulated] and [manipulated] trials […]</p>
</blockquote>
<p>(Johansson, Hall, Sikström, &amp; Olsson, 2005)</p>
<p>That is to say, of the participants who did not notice their deception, and who were also asked to explain the reasoning behind decisions they had not actually made, none gave meaningfully different answers from their responses in regards to the unchanged decisions (in terms of emotionality, specificity, and certainty).</p>
<p>Given this, we can say that, given a decision made by an individual, the explanation the individual gives for the decision is equally as likely to be a post-hoc fabrication as it is to be the actual explanation of the decision’s origin.</p>
<p>If we once again consider Barthes’ thesis, we can draw an interesting comparison: while the idea of the Author’s death means that a work can be considered separately from any stated or speculated authorial intent, the findings of Failure and similar studies suggests that we can validly consider any decision in the same light – that is, devoid of any significous ties to its creator.</p>
<p>This means that not only can we effectively assess the meaning of a work of art without considering the intent the Author had when creating it, but we can likewise effectively assess the meaning, origin, and intent behind any action or decision without considering the intent or explanation given by or inferred of the actor or decider.</p>
<p>That is to say, not only can the Author of any work be considered dead, but so can the Actor of any action. The Author is always dead, in all circumstances.</p>
<hr>
<p>Johansson, P., Hall, L., Sikström, S., &amp; Olsson, A. (2005). Failure to Detect Mismatches Between Intention and Outcome in a Simple Decision Task. Science, 310(5745), 116-119.<br>
doi:10.1126/science.1111709</p>
<p>Barthes, R. (1967). The Death of the Author (962684243 748694812 R. Howard, Trans.).<br>
Aspen, (5-6).</p>
]]></description>
		</item>
		<item>
			<title>Drider</title>
			<link>https://thoughtsofmine.ca/posts/drider/</link>
			<pubDate>Fri, 07 Jul 2023 02:25:23 -0400</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/drider/</guid>
			<update>false</update>
			<description><![CDATA[
<p>They drag my body towards the pit.</p>
<p>I don&rsquo;t want to go. I knew, when I made the decision, <em>what</em> they would do to me if I failed, and it was the strongest reason to turn back: the pain, the terror, my body forming into something bestial and <em>wrong</em> - despite my convictions, if I knew it would come to this, I would have fled.</p>
<p>I&rsquo;m standing over the pit now, if it can truly be called &ldquo;standing&rdquo; when my body is so held by others, as it is now. The liquid rolls over upon itself like layers of oily sludge; a sour, putrid scent, shifting up from it.</p>
<p>The clerics are beginning their chant, now: gathering the energies I know will soon violently warp my body and mind.<br>
First, will be the pain. Then, far worse, will be the changes: my body will sprout many hairy legs; my face, grotesque mandibles; my body, rough, hoydenish skin, and yet more Haagenti-damned <em>hair</em>. Then, last of all, <em>almost</em> a mercy: my mind will fade. Perhaps, into something still sentient; perhaps, into a mere bestial <em>husk</em> of whatever may have existed before. Then, at last, I will cease to be: in my stead, a depraved monster to <em>remind</em> my family of my <em>mistake</em>, and to serve at the <em>feet</em> of those whom I opposed.</p>
<p>Now, though, my time to imagine my horrid fate has come to an end. The guards holding me aloft release me, and without their strength holding me up, I tip near-immediately into the pit below. The last sounds I hear: the rising voices of the clerics, spelling my ruin.</p>
<br/>
<p>The pain is immediate, and immense. I would black out and cease to be, but the ritual prevents it, forcing my consciousness wide alive to experience the torture.</p>
<p>For a few short seconds, I can nearly convince myself that the ritual isn&rsquo;t working, that something is wrong, and my body is refusing to change. Then, as sudden as the initial pain, my body begins to shift.</p>
<p>The pain is worse, now, but worse than the pain itself is the pure sensation of my flesh: warping, changing against my will. My skin squirms across my body, like worms beneath thin cloth; my bones, shifting horribly, as I can feel my face, arms, <em>legs</em> changing.</p>
<p>My legs, first, elongate and split, each one turning to two, then four long, monstrous appendages. I can feel my arms elongate as well, the skin growing thinner.</p>
<p>Then, the hair, like daggers, begins to sprout from my slowly-hardening legs. I would scream, but my mouth no longer moves as I expect it to, and my lungs are unusable, still reforming.</p>
<p>I can barely move my limbs, but I thrash as hard as I can. Maybe, if I squirm hard enough, scream loud enough, they might, just, take pity on me, and kill me instead. My panicking mind pleads to any god I know of to please <em>just <strong>end</strong></em> it already!</p>
<br/>
<p>As my limbs tire, my throat tightening from the strain, I feel unsure:</p>
<p>The hair feels <em>different</em> than I expected: longer, sparser, <em>thinner</em>, and only on my lower body. My upper half, as it begins to take shape, is narrower, softer than I had thought it would be. My face is still changing, but no mandibles form. No harshness; no savageness enters its shape.</p>
<p>As my body solidifies, I gasp, inhaling more of the harsh fluid. My legs are long and feminine; my chest: soft and plush; my face: longer than before, but yet also <em>softer</em>, now free of the hair I had once become so <em>used</em> to trimming away. As I finally take form, my upper body is far more that of a woman than that of a man; my arachnid lower half resembling the much larger form of the female.</p>
<br/>
<p>My mind begins drifting now, my consciousness slowly fading for the last time. As I sink further, I feel as though a weight that had once been on me my whole life has finally lifted, and my heart is finally free. Despite the painful, wretched, <em>wrong</em> transformation, my body feels far more mine, more <em>right</em> than it ever has before.</p>
<p>My mind sinks into the liquid, as my body drifts upward.</p>
<p>Whoever wakes in my stead, I hope she appreciates this gift as much as I do.</p>
]]></description>
		</item>
		<item>
			<title>nasin nanpa kijetesantakalu pona</title>
			<link>https://thoughtsofmine.ca/posts/nasin-nanpa-kijetesantakalu-pona/</link>
			<pubDate>Wed, 10 May 2023 02:05:29 -0400</pubDate>
			<enclosure url="https://thoughtsofmine.ca/resources/posts/ku.png" type="image/jpg"></enclosure>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/nasin-nanpa-kijetesantakalu-pona/</guid>
			<update>false</update>
			<description><![CDATA[
<p>So, I just got my copy of the <a href="https://tokipona.org/">Official toki pona Dictionary</a>, and while I&rsquo;m <em>sure</em> I&rsquo;ll benefit from the large variety of English-to-toki-pona translations when I can&rsquo;t think of a good way to say something specific, the <em>first</em> things I looked at were, of course, the Notes and Creative Works sections.</p>
<div class="image-container"><img class="article-image" src="https://thoughtsofmine.ca/resources/posts/ku.png" alt="The Official toki pona Dictionary"  caption="The Official toki pona Dictionary, by Sonja Lang"/></div>
<p>One of the entries in Creative Works caught my eye: <em>nasin nanpa kijetesantakalu</em>.</p>
<p>Now, <em>nasin nanpa kijetesantakalu</em> is a joke seximal (base-6) numbering system, based on selectively stressing the different syllables of the (also joke) word kijetesantakalu (meaning raccoon), and in which system none of that stress is written, making it <em>nearly</em> useless, and <em>extremely</em> inconvenient (as is clearly the intent).</p>
<p>However, while this is an annoying-to-use system that is needlessly lengthy to actually write or say, and indeed completely useless to write, <em>I don&rsquo;t think it&rsquo;s good enough</em>.</p>
<h2 id="Analysis-3b671c883959a8ef434b85a104c293d4"><a class="nostyle" href="#Analysis-3b671c883959a8ef434b85a104c293d4">Analysis</a></h2><p>The joke of <em>nasin nanpa kijetesantakalu</em> is:</p>
<ul>
<li>That it&rsquo;s a seximal numbering system (which are particularly popular amongst a subset of toki pona speakers),</li>
<li>That it&rsquo;s based on the joke word &ldquo;kijetesantakalu&rdquo;,</li>
<li>That you have to use a whole long word for every digit, and</li>
<li>That you cannot actually <em>write</em> numbers in it.</li>
</ul>
<p>Because toki pona generally conveys meaning via a small number of words used many times, both the first and third points are completely in harmony with the intent and reality of toki pona as a language.</p>
<p>The joke of the word &ldquo;kijetesantakalu&rdquo; is that it fundamentally goes against the nature of the language: toki pona is about simplicity, and words are intended to have broad, non-overlapping meaning; therefore: kijetesantakalu is a word which is <em>significantly</em> longer and more complicated than any other word in the language, and basically means just one very specific thing (raccoon).</p>
<p>These jokes do not thematically fit, and that bothers me.</p>
<ul>
<li><em>kijetesantakalu</em> goes against everything that makes toki pona toki pona, and is mostly useless, but it is <em>usable</em> and <em>fun</em> to the extent that it&rsquo;s actually one of the earlier words I successfully memorised into my lexicon.</li>
<li><em>nasin nanpa kijetesantakalu</em>, aside from using the <em>word</em> <em>kijetesantakalu</em>, is very simple to use and makes sense (in a particularly toki pona way), but is simply too long and inconvenient to use to be actually used by anyone, and has a tacked-on extra joke difficulty that doesn&rsquo;t fit within the rest of the joke.</li>
</ul>
<p>To summarize, I found it funny, but insufficient, because of its lack of thematic congruity.</p>
<h2 id="Process-5075140835d0bc504791c76b04c33d2b"><a class="nostyle" href="#Process-5075140835d0bc504791c76b04c33d2b">Process</a></h2><p>So, what <em>would</em> be a thematically congruant <em>nasin nanpa kijetesantakalu</em>?<br>
Well, for starters, Seximal doesn&rsquo;t make sense:</p>
<ul>
<li>Firstly, Seximal is a <em>very</em> toki pona numbering system, and is simple in all the ways toki pona is.</li>
<li>Secondly, &ldquo;kijetesantakalu&rdquo; contains <em>seven</em> syllables, not six. I&rsquo;m sure that&rsquo;s just some part of the joke that I just <em>didn&rsquo;t get</em> or <em>didn&rsquo;t find funny</em>, but even then it just doesn&rsquo;t really fit.</li>
</ul>
<p>You know what <em>is</em> an extremely un-toki pona numbering system? Senary. (base-7)<br>
To briefly actually explain how Seximal is so very toki pona:</p>
<ul>
<li>Seximal uses fewer digits than most other systems, which is fitting with toki pona&rsquo;s fewer words</li>
<li>Seximal cleanly divides by the two most commonly-used low prime numbers (2 and 3)</li>
</ul>
<p>And on the other hand, how Senary is so very very not:</p>
<ul>
<li>Senary uses more digits than Seximal (not a lot, but it uses more to no benefit)</li>
<li>Senary cleanly divides by <em>none</em> of the most commonly-used low prime numbers, because <em>it</em> is the <em>least</em> commonly-used sub-10 prime number.</li>
</ul>
<p>Ok, so that&rsquo;s handled. What&rsquo;s next?</p>
<p>Right, <em>fun</em>. &ldquo;kijetesantakalu&rdquo; is fun to say and fun to use, but <em>saying it for every digit of a number</em> isn&rsquo;t. Additionally, I think the tacked-on joke of &ldquo;written numbers in this system are useless&rdquo; just isn&rsquo;t very funny or good.<br>
Easy, let&rsquo;s just use the individual syllables of <em>kijetesantakalu</em> for digits: &ldquo;ki&rdquo;, &ldquo;je&rdquo;, &ldquo;te&rdquo;, &ldquo;san&rdquo;, &ldquo;ta&rdquo;, &ldquo;ka&rdquo;, and &ldquo;lu&rdquo;!</p>
<p>Ok, now it doesn&rsquo;t have those offending issues, but it isn&rsquo;t <em>complicated</em> enough anymore.</p>
<p>Solution? Signed digits.</p>
<p>Signed digits are a concept in numeric systems where every digit can be positive or negative, instead of the whole number being represented as either positive or negative. For example, in signed-digit ternary (base-3), your digits are 1, 0, and -1. So if I write those as &ldquo;(&rdquo;, &ldquo;0&rdquo;, and &ldquo;)&rdquo; (respectively), the  decimal number &ldquo;8&rdquo; could be represented as &ldquo;(0)&rdquo; (<em>1*3^2</em> (9) + *0*3^1 * (0) + <em>-1*3^0</em> (-1)).</p>
<p>So, in signed-digit Senary using the syllables of <em>kijetesantakalu</em> we could use &ldquo;ki&rdquo; to represent -3, &ldquo;je&rdquo; for -2, &ldquo;te&rdquo; for -1, &ldquo;san&rdquo; for 0 (which I quite like, since it&rsquo;s the only three-letter syllable in the word), &ldquo;ta&rdquo; for 1, &ldquo;ka&rdquo; for 2, and &ldquo;lu&rdquo; for 3!</p>
<p>So, to represent the decimal number &ldquo;75&rdquo; in this system, we can say &ldquo;nanpa ka ki je&rdquo; (<em>2*7^2</em> (98) + <em>-3*7^1</em> (-21) + <em>-2*7^0</em> (-2)).</p>
<p>This is simultaneously fun and <em>extremely difficult and impractical</em> to use! I consider this a success.</p>
<h2 id="Definition-30618b3b44fa316257d07e387759fae5"><a class="nostyle" href="#Definition-30618b3b44fa316257d07e387759fae5">Definition</a></h2><p>So, to lay out the system in clear and unambiguous terms:<br>
<em>nasin nanpa kijetesantakalu pona</em> is a numbering system in toki pona which uses the syllables of the word &ldquo;kijetesantakalu&rdquo; to represent the digits (-3 to 3) of a signed-digit Senary number, in the order of highest-to-lowest digits.</p>
<p>The digits are represented as follows:</p>
<ul>
<li>&ldquo;ki&rdquo;: <em>-3</em></li>
<li>&ldquo;je&rdquo;: <em>-2</em></li>
<li>&ldquo;te&rdquo;: <em>-1</em></li>
<li>&ldquo;san&rdquo;: <em>0</em></li>
<li>&ldquo;ta&rdquo;: <em>1</em></li>
<li>&ldquo;ka&rdquo;: <em>2</em></li>
<li>&ldquo;lu&rdquo;: <em>3</em></li>
</ul>
<p>I propose that this is now simultaneously the most <em>and</em> least usable numbering system in toki pona, and therefore takes first place as the best toki pona numbering system (tied alongside the original numbering system put forward in &ldquo;toki pona, The Language of Good&rdquo;).</p>
<h2 id="sitelen-pona-84a79901c920529eec008dc5375cbded"><a class="nostyle" href="#sitelen-pona-84a79901c920529eec008dc5375cbded">sitelen pona</a></h2><p>Because many people like to write toki pona in the script &ldquo;sitelen pona&rdquo;, I have elected to define sitelen pona for the different syllables of &ldquo;kijetesantakalu&rdquo;. This also serves to sort-of technically make these syllables into their own words with very specific meanings, which is <em>also</em> very fitting with the joke of <em>kijetesantakalu</em>.</p>
<p>The sitelen pona for each digit are as follows:</p>
<ul>
<li>&ldquo;ki&rdquo;: <img src="/resources/posts/ki.png" alt="ki"></li>
<li>&ldquo;je&rdquo;: <img src="/resources/posts/je.png" alt="je"></li>
<li>&ldquo;te&rdquo;: <img src="/resources/posts/te.png" alt="te"></li>
<li>&ldquo;san&rdquo;: <img src="/resources/posts/san.png" alt="san"></li>
<li>&ldquo;ta&rdquo;: <img src="/resources/posts/ta.png" alt="ta"></li>
<li>&ldquo;ka&rdquo;: <img src="/resources/posts/ka.png" alt="ka"></li>
<li>&ldquo;lu&rdquo;: <img src="/resources/posts/lu.png" alt="lu"></li>
</ul>
<p>I also consider the fact that these all look very silly to be a bonus.</p>
<h2 id="Notes-4358b5009c67d0e31d7fbf1663fcd3bf"><a class="nostyle" href="#Notes-4358b5009c67d0e31d7fbf1663fcd3bf">Notes</a></h2><p>Please note that much of the wording in this article is intentionally a little over-the-top, and I don&rsquo;t actually mean any offence to soweli Nata or anyone else, I just really like writing like this. I am, however, autistic, and sometimes I fail to communicate my tone, so apologies if did.</p>
<p>To any rats reading: While I think my analysis and critique makes sense, I did mostly &ldquo;write the last line first&rdquo;. Feel free to ignore this bit if you don&rsquo;t know what that means.</p>
<p>UPDATE: Removed references to Kabbalah because I don&rsquo;t know enough about it to really feel right referencing it in the manner that I had, it&rsquo;s not really the exact concept I was trying to point to anyway, and one person brought it up.<br>
This is like a year or something <em>after</em> they mentioned anything, but I understood and agreed with their discomfort at the time, and I recently thought of a better wording out of the blue, so I figured I should actually update this. Sorry for any discomfort that the original wording caused. ❤</p>
]]></description>
		</item>
		<item>
			<title>On Autism and Foreignness</title>
			<link>https://thoughtsofmine.ca/posts/autism/</link>
			<pubDate>Fri, 03 Mar 2023 16:29:22 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/autism/</guid>
			<update>false</update>
			<description><![CDATA[
<p>To be autistic is, in many ways, much like it is to be an immigrant from a foreign land.</p>
<p>I do not mean this in the sense of metaphor, but more so that in some ways, it is the same experience. I do not know, directly, what exactly it is like to have come from another culture into one which I do not understand, but I do know for myself what it is like to be in a culture which is not mine and which I do not understand.</p>
<p>I have found, in spending time amongst recent immigrants, that I am much closer to that level of comfort which I experience amongst those whom I know to be on the same spectrum as myself; for when I speak, they take pains to understand what I mean, and when they speak, I do the same: not, for either of us, because of their foreignness, but for both of us, because it is what we must already do in the culture we find ourselves in.</p>
<p>Those who are comfortable in this culture, whose culture it is, do not naturally spare the effort to understand the rest of us, nor do they take pains to be understood <em>by</em> us, for they are accustomed, neigh privileged, neigh they feel <em>entitled</em> to the ease of communication which they experience when communicating with one another, and they feel <em>robbed</em> of that ease when they must speak to us - not on our terms - but as equals on uneven footing.</p>
<p>If I unmask<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent3-0:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent3-0:1')"
    class="footnote-ref" id="fnref3-0:1">
        <a href="#fn3:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent3-0:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent3-0:1')"
    class="footnote-ref-display" id="fnrefcontent3-0:1">
        A term which here means that I cease to erect the façade of cultural fluency, which may occur when I am tired, under stress, or amongst those whom are like me.
    </span></span> myself in front of a native<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent3-0:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent3-0:2')"
    class="footnote-ref" id="fnref3-0:2">
        <a href="#fn3:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent3-0:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent3-0:2')"
    class="footnote-ref-display" id="fnrefcontent3-0:2">
        By native and nonnative, I do not, here, mean to refer to those whom have made their homes here for centuries and more, and those whose more recent ancestors took said homes from them. I, instead, am referring to those whom are native or nonnative to the <em>dominant culture</em> of this land. Indeed, many who I might, in another context, refer to as native of this land, I would, in this context, categorise as nonnative, much like myself. I hope it is understood that I do not mean, by this, to undermine the right of said people to this land.
    </span></span> of the neurological majority, they become agitated, frustrated, and think me rude for not sending the signals to which they are accustomed. If I unmask<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent3-1:1')"
    onmouseover="displayFootnote(this, 'fnrefcontent3-1:1')"
    class="footnote-ref" id="fnref3-1:1">
        <a href="#fn3:1" title="Go to footnote">1</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent3-1:1')"
    onmouseover="displayFootnote(null, 'fnrefcontent3-1:1')"
    class="footnote-ref-display" id="fnrefcontent3-1:1">
        A term which here means that I cease to erect the façade of cultural fluency, which may occur when I am tired, under stress, or amongst those whom are like me.
    </span></span> myself in front of a nonnative<span class="footnote-ref-side-holder">
    <sup
    onmouseout="hideFootnote('fnrefcontent3-1:2')"
    onmouseover="displayFootnote(this, 'fnrefcontent3-1:2')"
    class="footnote-ref" id="fnref3-1:2">
        <a href="#fn3:2" title="Go to footnote">2</a>
    </sup><span
    onmouseout="hideFootnote('fnrefcontent3-1:2')"
    onmouseover="displayFootnote(null, 'fnrefcontent3-1:2')"
    class="footnote-ref-display" id="fnrefcontent3-1:2">
        By native and nonnative, I do not, here, mean to refer to those whom have made their homes here for centuries and more, and those whose more recent ancestors took said homes from them. I, instead, am referring to those whom are native or nonnative to the <em>dominant culture</em> of this land. Indeed, many who I might, in another context, refer to as native of this land, I would, in this context, categorise as nonnative, much like myself. I hope it is understood that I do not mean, by this, to undermine the right of said people to this land.
    </span></span>, they may notice, but many of the signals which they might expect from me were already not being sent, and they are already accustomed to not receiving them. Any signals they were receiving from me before that they are not now do not matter as much, as they are already doing their best to understand me on neutral ground, as I am them.</p>
<p>In summary, all of this is to say that I much prefer working and living amongst first-generation immigrants and other cultural nonnatives than I do neuromajority cultural natives, because with the former we are both already on unfamiliar ground when interacting, and as such I am not met with the hostility or confusion I might otherwise be by those who are used to the ease of communication their cultural hegemony affords them.</p>

<div class="footnotes">
  <hr>
  <ol>
      <li id="fn3:1">
        A term which here means that I cease to erect the façade of cultural fluency, which may occur when I am tired, under stress, or amongst those whom are like me.<a class="footnote-return" href="#fnref3-0:1" title="Go to citation">&uarr;</a><a class="footnote-return" href="#fnref3-1:1" title="Go to citation">&uarr;</a></li>
      <li id="fn3:2">
        By native and nonnative, I do not, here, mean to refer to those whom have made their homes here for centuries and more, and those whose more recent ancestors took said homes from them. I, instead, am referring to those whom are native or nonnative to the <em>dominant culture</em> of this land. Indeed, many who I might, in another context, refer to as native of this land, I would, in this context, categorise as nonnative, much like myself. I hope it is understood that I do not mean, by this, to undermine the right of said people to this land.<a class="footnote-return" href="#fnref3-0:2" title="Go to citation">&uarr;</a><a class="footnote-return" href="#fnref3-1:2" title="Go to citation">&uarr;</a></li>
  </ol>
</div>
]]></description>
		</item>
		<item>
			<title>Hello</title>
			<link>https://thoughtsofmine.ca/posts/hello/</link>
			<pubDate>Fri, 10 Feb 2023 14:27:15 -0500</pubDate>
			<atom:author>
				<atom:name>Mae</atom:name>
			</atom:author>
			<guid>https://thoughtsofmine.ca/posts/hello/</guid>
			<update>false</update>
			<description><![CDATA[
<p>Hi all! I don&rsquo;t really know if I&rsquo;m actually gonna use this for anything, but I figured hey, I like blogs! I love it when my friends have blogs! So I&rsquo;m trying this out.</p>
<p>I&rsquo;ll probably post about whatever I&rsquo;m thinking about lately, maybe it&rsquo;ll encourage me to write a little more, I don&rsquo;t know!</p>
<p>Onward!</p>
]]></description>
		</item>
	</channel>
</rss>