<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://nicholasjohnson.ch/tags/computing/</id>
    <title>Nicholas Johnson</title>
    <updated>2025-11-30T00:00:00+0000</updated>
    <link href="https://nicholasjohnson.ch/tags/computing/atom.xml" rel="self" />
    <link href="https://nicholasjohnson.ch/tags/computing/" rel="alternate" />
    <author>
        <name>Nicholas Johnson</name>
    </author>
    <generator>Hugo -- gohugo.io</generator>
    <rights type="html">Copyright © 2020-2026 Nicholas Johnson. CC BY-SA 4.0.</rights>
    <subtitle>Online journal about AI, autism, computing, economics, environmentalism, philosophy, privacy, society, and spirituality.</subtitle>
    <entry>
        <id>https://nicholasjohnson.ch/2025/11/30/please-disclose-ai-contributions-to-your-work/</id>
        <title type="html">Please Disclose AI Contributions to Your Work</title>
        <updated>2025-11-30T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2025/11/30/please-disclose-ai-contributions-to-your-work/" />
        <content type="html">&lt;p&gt;If you&amp;rsquo;re working on a creative project that others will see, such as an online journal like mine, please disclose A.I. contributions to your work.&lt;/p&gt;
&lt;p&gt;I personally have very little interest in creative works like books, websites, blogs, movies, music, and artwork that was produced by A.I. and I think many people feel similarly. We like getting to know the human(s) behind those works, through their works. We like discovering what motivated them to create it and what experiences they had that went into it.&lt;/p&gt;
&lt;p&gt;We know that A.I. could produce it a million times faster and better, but the process by which it was created also matters to us. As I said back in my entry &amp;ldquo;&lt;a class=&#34;link link--internal&#34; href=&#34;/2022/09/07/automation-and-the-meaning-of-work/&#34; title=&#34;Journal Entry: Automation and the Meaning of Work&#34; rel=&#34;noreferrer&#34;&gt;Automation and the Meaning of Work&lt;/a&gt;&amp;rdquo;, there are certain activities people just don&amp;rsquo;t want to be automated, even if they can be automated and the end product is better by some objective measure.&lt;/p&gt;
&lt;p&gt;So to respect that wish, if you use A.I. tools in the course of your creative work, the least you can do is make the nature of their contribution known to those who might find your work so that they can choose for themselves if they&amp;rsquo;re interested in it. I&amp;rsquo;ll lead by example:&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t use A.I. tools to write this journal, nor do I plan to. I don&amp;rsquo;t use A.I. tools to generate ideas for writing either—I prefer to come up with ideas myself. In the past, I used an automated tool, which included an NLP library, to detect and correct grammatical mistakes. I wasn&amp;rsquo;t restructuring whole paragraphs with it. I write without LLMs because I enjoy writing and because I want to give my readers the chance to get to know me through my writing, as opposed to what some LLM thinks the next word should be.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2025/11/23/store-now-decrypt-later-isnt-taken-seriously-enough/</id>
        <title type="html">Store Now Decrypt Later Isn&#39;t Taken Seriously Enough</title>
        <updated>2025-11-23T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2025/11/23/store-now-decrypt-later-isnt-taken-seriously-enough/" />
        <content type="html">&lt;p&gt;There is always the possibility that some new mathematical technique breaks existing encryption algorithms. We should not therefore say that all encryption is insecure. Rather, we should change our conception to reflect that &lt;strong&gt;encryption has an expiration date&lt;/strong&gt;. A lock is the most common analogy for encryption, and it&amp;rsquo;s fine for helping beginners grasp the concept, but a &lt;a class=&#34;link link--internal&#34; href=&#34;/2022/03/23/encryption-is-a-timer-not-a-lock/&#34; title=&#34;Journal Entry: Encryption is a Timer, Not a Lock&#34; rel=&#34;noreferrer&#34;&gt;countdown timer&lt;/a&gt; is more apt in this context.&lt;/p&gt;
&lt;p&gt;The countdown timer represents how long encrypted data will stay secret for. It has no markings on it for us to know how long until its dial reaches zero (representing the data becoming decryptable), so we can only estimate. Following that analogy, using classical encryption instead of hybrid encryption (classical + quantum-resistant) is like winding back the dial halfway when you could wind it back all the way.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s software out there whose users&amp;rsquo; data is vulnerable to &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Harvest_now,_decrypt_later&#34; title=&#34;Wikipedia: Harvest now, decrypt later&#34; rel=&#34;external noreferrer&#34;&gt;store now, decrypt later&lt;/a&gt; attacks in the near term not as a result of the aforementioned inevitable mathematical advances, but rather due to the software developers just not winding back the dial all the way (using quantum-secure libraries).&lt;/p&gt;
&lt;p&gt;We don&amp;rsquo;t know how soon practical &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Shor%27s_algorithm&#34; title=&#34;Wikipedia: Shor&amp;#39;s algorithm&#34; rel=&#34;external noreferrer&#34;&gt;Shor-capable&lt;/a&gt; quantum computers will hit the scene, but there are good reasons to suspect that they&amp;rsquo;re not far off. So developers should anticipate that any data sent today using classical encryption algorithms might be intercepted and retroactively decrypted in the near future.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re a developer, it is irresponsible to subject users to this risk when it can be avoided. There are quantum-secure cryptographic libraries available for mitigating it. Too many software projects that don&amp;rsquo;t need backwards compatibility still lack quantum-resistant encryption and still market their software as private and secure. I think some gatekeeping is in order&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If you&amp;rsquo;re writing software that transmits sensitive data over the internet in current year and it has no compatibility requirements and isn&amp;rsquo;t quantum-resistant, then it&amp;rsquo;s not private or secure and marketing it as such is false advertising.&lt;/strong&gt;&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2025/10/17/use-notifications-to-check-your-phone-less/</id>
        <title type="html">Use Notifications To Check Your Phone Less</title>
        <updated>2025-10-17T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2025/10/17/use-notifications-to-check-your-phone-less/" />
        <content type="html">&lt;p&gt;In my entry &amp;ldquo;&lt;a class=&#34;link link--internal&#34; href=&#34;/2021/12/26/why-i-dont-have-a-smartphone/&#34; title=&#34;Journal Entry: Why I Don&amp;#39;t Have a Smartphone&#34; rel=&#34;noreferrer&#34;&gt;Why I Don&amp;rsquo;t Have a Smartphone&lt;/a&gt;&amp;rdquo;, I wrote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip; [my smartphone] was in airplane mode unless I was making a call. It was always on silent with no vibration. Unless I deliberately pulled it out, it couldn&amp;rsquo;t interrupt my day.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think my goal of spending less time on distracting technology was worthwhile, but that keeping one&amp;rsquo;s phone always on silent with no vibration is not a practical way to achieve that for most people. Since writing that entry, I&amp;rsquo;ve started using a smartphone again and I&amp;rsquo;ve had to change the way I handle notifications as well since having it always on silent is no longer practical for me either.&lt;/p&gt;
&lt;p&gt;I have notifications turned on now because I noticed that when I had them off, I was constantly checking my phone every few minutes to make sure I didn&amp;rsquo;t miss anything important. With notifications turned on, I don&amp;rsquo;t need to poll my phone, because I&amp;rsquo;ll hear a ding if something important happens. If I haven&amp;rsquo;t heard a ding, I know I don&amp;rsquo;t need to check it. So if I only use my phone either when I receive a notification or when there&amp;rsquo;s something important I need to do on it, I know that I&amp;rsquo;m making good use of it. Otherwise, I know I&amp;rsquo;m probably wasting my time.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re interested in replicating my notification strategy, you &lt;em&gt;must&lt;/em&gt; curate your notification settings first on a per-app basis as I do. If you stick with the default notification settings for every app you have installed, you&amp;rsquo;ll get pinged for many unimportant things and it won&amp;rsquo;t help as much with checking your phone less. This isn&amp;rsquo;t hard to remedy, and you don&amp;rsquo;t have to fix it all at once. Each time you receive an unwanted notification, just go into settings and disable it. Eventually, all unwanted notifications will be gone. Repeat the process as you download new apps. The goal is to disable as many notifications as you can without falling back to constantly checking your phone.&lt;/p&gt;
&lt;p&gt;To close, I want to comment that I think that &lt;strong&gt;in popular media, there&amp;rsquo;s too much focus on reducing total time spent on one&amp;rsquo;s smartphone, and too little focus on making sure the time is well-spent&lt;/strong&gt;. The common recommendations to check one&amp;rsquo;s screen time or look at which apps you&amp;rsquo;re using the most don&amp;rsquo;t necessarily give much insight into whether you&amp;rsquo;re making &lt;em&gt;good use&lt;/em&gt; of the time. For instance, if you spend four hours per day on your smartphone, that might seem like a lot, but if you&amp;rsquo;re using it to read a book or practice a foreign language, that time isn&amp;rsquo;t wasted. If you&amp;rsquo;re just autoplaying YouTube videos or mindlessly scrolling through infinite feeds during breakfast, that&amp;rsquo;s a different story.&lt;/p&gt;
&lt;p&gt;As I&amp;rsquo;ve said before and I want to emphasize again here, I don&amp;rsquo;t think telling every individual person to just be more disciplined and find new strategies each time a distracting technology comes out is a substitute for real, &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/09/10/individual-vs-collective-advice/&#34; title=&#34;Journal Entry: Individual vs Collective Advice&#34; rel=&#34;noreferrer&#34;&gt;systemic solutions&lt;/a&gt; that address the challenges created by these technologies. If we&amp;rsquo;re going to have smartphones, they need to be non-distracting and non-addictive by default by design. In the meantime though, hopefully the notification strategy I&amp;rsquo;ve outlined here can help some people.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2025/04/05/on-personal-cybersecurity/</id>
        <title type="html">On Personal Cybersecurity</title>
        <updated>2025-04-05T00:00:01+0000</updated>
        <link href="https://nicholasjohnson.ch/2025/04/05/on-personal-cybersecurity/" />
        <content type="html">&lt;p&gt;I think the recent &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/United_States_government_group_chat_leak&#34; title=&#34;United States government group chat leak&#34; rel=&#34;external noreferrer&#34;&gt;US government Signal chat leak&lt;/a&gt; creates a good opportunity to talk about personal cybersecurity and offer a few high-level tips.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://signal.org/&#34; rel=&#34;external noreferrer&#34;&gt;Signal&lt;/a&gt; is a private messaging application. It prevents specific types of adversaries from accessing the contents of your calls and messages, and their metadata. But if you, the human, choose to use it for adversaries it was never designed to defend against, that&amp;rsquo;s a problem the technology can&amp;rsquo;t fix. &lt;strong&gt;The biggest vulnerability in cybersecurity is not the tools, the protocols, nor the cryptography. It&amp;rsquo;s the human.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Often, it&amp;rsquo;s the human not understanding the limitations of the tools they&amp;rsquo;re using. If you think that using Signal is all you need to do to secure your messages, you are so wrong. Consider that Signal is not designed to protect you against any of the following threats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A weak phone password&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Phishing&#34; title=&#34;Phishing&#34; rel=&#34;external noreferrer&#34;&gt;Phishing attacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Shoulder_surfing_%28computer_security%29&#34; title=&#34;Shoulder Surfing&#34; rel=&#34;external noreferrer&#34;&gt;Shoulder surfing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Inserting a malicious USB device masquerading as a charging cable into your phone&lt;/li&gt;
&lt;li&gt;Your virtual keyboard app collecting your keystrokes&lt;/li&gt;
&lt;li&gt;Vendor spyware installed on your phone&amp;rsquo;s stock operating system&lt;/li&gt;
&lt;li&gt;Hardware backdoors installed by governments or corporations acting on their behalf&lt;/li&gt;
&lt;li&gt;Someone stealing your phone while it&amp;rsquo;s unlocked and impersonating you&lt;/li&gt;
&lt;li&gt;Someone installing a rootkit on your phone while you&amp;rsquo;re away, sleeping, or distracted&lt;/li&gt;
&lt;li&gt;Someone screenshotting your disappearing messages&lt;/li&gt;
&lt;li&gt;Someone replacing your phone with a lookalike that sends them your password&lt;/li&gt;
&lt;li&gt;Being &lt;a class=&#34;link link--external&#34; href=&#34;https://xkcd.com/538/&#34; title=&#34;XKCD: Cybersecurity&#34; rel=&#34;external noreferrer&#34;&gt;drugged and hit with a five dollar wrench&lt;/a&gt; until you give up your messages&lt;/li&gt;
&lt;li&gt;Being overheard while on a phone call&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adding the wrong person with the same name to a private group chat&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What happened with the Signal leak was government officials used Signal for a purpose it wasn&amp;rsquo;t designed for — sharing military attack plans. There&amp;rsquo;s a proper tool for doing that. It&amp;rsquo;s called a &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Sensitive_compartmented_information_facility&#34; title=&#34;Sensitive compartmented information facility&#34; rel=&#34;external noreferrer&#34;&gt;SCIF&lt;/a&gt;. It would&amp;rsquo;ve prevented the mistake that caused the leak. The fact that they used a mobile chat app instead of a SCIF is a &lt;em&gt;monumental&lt;/em&gt; &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Operations_security&#34; title=&#34;Operations Security&#34; rel=&#34;external noreferrer&#34;&gt;OPSEC&lt;/a&gt; failure, and &lt;em&gt;somebody&lt;/em&gt; should be held accountable for it.&lt;/p&gt;
&lt;p&gt;Unfortunately, instead of owning up to their error, they made excuses and blamed Signal for being &amp;ldquo;insecure&amp;rdquo;. This leads me to another point which is important to understand for personal cybersecurity:&lt;/p&gt;
&lt;p&gt;Calling an application &amp;ldquo;secure&amp;rdquo; or &amp;ldquo;insecure&amp;rdquo; is an oversimplification. &lt;strong&gt;No one has ever managed to build a foolproof communications system. We only have systems that are secure against certain types of attacks carried out by certain adversaries.&lt;/strong&gt; As you can see with Signal, I just listed a dozen ways its security could be bypassed right off the top of my head.&lt;/p&gt;
&lt;p&gt;Another thing to keep in mind for your personal cybersecurity is that it&amp;rsquo;s easy to get tunnel vision, focusing only on the technicals while overlooking more basic threats that are far more likely. Your messages aren&amp;rsquo;t going to get compromised by a vulnerability in the &lt;a class=&#34;link link--external&#34; href=&#34;https://signal.org/docs/specifications/doubleratchet/&#34; title=&#34;The Double Ratchet Algorithm&#34; rel=&#34;external noreferrer&#34;&gt;Double Ratchet algorithm&lt;/a&gt; or &lt;a class=&#34;link link--external&#34; href=&#34;https://signal.org/docs/specifications/pqxdh/&#34; title=&#34;Post-Quantum Extended Diffie-Hellman&#34; rel=&#34;external noreferrer&#34;&gt;Post-Quantum Extended Diffie-Hellman&lt;/a&gt; that Signal uses. But have you ever sent a message to the wrong person because you were distracted or intoxicated? Exactly. &lt;strong&gt;You are the biggest vulnerability to your personal cybersecurity, not the technology.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Also, you need a cohesive strategy. Merely using Signal, or merely having a password manager, is not enough for good cybersecurity. Good tools are necessary for good cybersecurity, but cybersecurity is more than a set of tools. It&amp;rsquo;s a mindset. It requires you to think like the adversaries you&amp;rsquo;re likely to face, anticipate their attacks, create strategies to impede them, and update those strategies when circumstances change.&lt;/p&gt;
&lt;p&gt;Although &amp;ldquo;cyber&amp;rdquo; is in the name, sometimes the most effective measures you can take to improve your cybersecurity are non-technical. They have more to do with social awareness. Do you have any enemies? A jealous ex? A roommate who can&amp;rsquo;t stand you? A dirty cop whose ego you bruised? What information do they have on you? What information can they find out? What are their available resources? How might they carry out an attack? How dedicated are they? To create a sensible personal cybersecurity plan, you must &lt;strong&gt;know thine enemy&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Just one more thing I want to mention before signing off. Personal cybersecurity is an &lt;em&gt;endless&lt;/em&gt; rabbit hole one can go down. You&amp;rsquo;re free to go down that rabbit hole to your heart&amp;rsquo;s content. Just be sure to prioritize the threats to your security posture. &lt;strong&gt;Address the most likely attack vectors first, and the least likely ones last.&lt;/strong&gt; And finally, don&amp;rsquo;t rely on any single technology to protect you one hundred percent.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2025/02/01/a-retrospective-on-my-free-software-absolutism/</id>
        <title type="html">A Retrospective on My Free Software Absolutism</title>
        <updated>2025-02-01T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2025/02/01/a-retrospective-on-my-free-software-absolutism/" />
        <content type="html">&lt;h2 id=&#34;background&#34;&gt;Background&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s this problem one gets into when creating content about one&amp;rsquo;s own life. I&amp;rsquo;ll try to illustrate it with a few examples from past entries I&amp;rsquo;ve made.&lt;/p&gt;
&lt;h3 id=&#34;veganism&#34;&gt;Veganism&lt;/h3&gt;
&lt;p&gt;In one of my journal entries, I advised people to &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/01/23/go-vegan/&#34; title=&#34;Journal Entry: Go Vegan&#34; rel=&#34;noreferrer&#34;&gt;go vegan&lt;/a&gt;, mentioning that I was a vegetarian trying to become vegan myself.&lt;/p&gt;
&lt;p&gt;I am no longer a vegetarian.&lt;/p&gt;
&lt;p&gt;In fact, I haven&amp;rsquo;t been a vegetarian for quite some time now. I still believe in the cause of veganism and would advocate for others to take steps toward veganism if they can, but I personally still fall short of that goal.&lt;/p&gt;
&lt;h3 id=&#34;smartphones&#34;&gt;Smartphones&lt;/h3&gt;
&lt;p&gt;I also wrote about &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/12/26/why-i-dont-have-a-smartphone/&#34; title=&#34;Journal Entry: Why I Don&amp;#39;t Have a Smartphone&#34; rel=&#34;noreferrer&#34;&gt;why I didn&amp;rsquo;t have a smartphone&lt;/a&gt;, citing the harmful effects they have on people&amp;rsquo;s attention, privacy, and digital freedom.&lt;/p&gt;
&lt;p&gt;I now use a smartphone.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been using one for a while now. I still believe they&amp;rsquo;re harmful in all the ways I described in that entry. I try to mitigate the harm in my own case by using &lt;a class=&#34;link link--external&#34; href=&#34;https://grapheneos.org/&#34; rel=&#34;external noreferrer&#34;&gt;GrapheneOS&lt;/a&gt; with the proprietary apps isolated to a separate profile, but I still use one and I still have some proprietary applications installed.&lt;/p&gt;
&lt;h3 id=&#34;free-software&#34;&gt;Free Software&lt;/h3&gt;
&lt;p&gt;This next one will probably shock you the most if you&amp;rsquo;re a long-time reader of mine. After all the hubbub on my journal about the &lt;a class=&#34;link link--internal&#34; href=&#34;/2020/10/20/use-free-software/&#34; title=&#34;Journal Entry: Use Free Software&#34; rel=&#34;noreferrer&#34;&gt;harms of proprietary software&lt;/a&gt;, &lt;a class=&#34;link link--internal&#34; href=&#34;/2020/03/30/rejecting-discord-and-google-colab/&#34; title=&#34;Journal Entry: The Tipping Point — Rejecting Windows, Zoom, Lockdown Browser, and the Lockdown Monitor&#34; rel=&#34;noreferrer&#34;&gt;dropping classes over it&lt;/a&gt;, &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/09/05/gaining-clarity-after-walking-off-a-job-on-orientation-day/&#34; title=&#34;Journal Entry: Gaining Clarity After Walking Off a Job on Orientation Day&#34; rel=&#34;noreferrer&#34;&gt;sacrificing my career for it&lt;/a&gt;, and &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/06/16/my-career-path/&#34; title=&#34;Journal Entry: My Career Path&#34; rel=&#34;noreferrer&#34;&gt;building an unsuccessful career plan to avoid it&lt;/a&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;I now have a Windows machine and use proprietary software.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve even subjected myself to remote proctoring software, which I &lt;a class=&#34;link link--internal&#34; href=&#34;/2020/03/30/the-tipping-point-rejecting-windows-zoom-lockdown-browser-and-the-lockdown-monitor/&#34; title=&#34;Journal Entry: The Tipping Point — Rejecting Windows, Zoom, Lockdown Browser, and the Lockdown Monitor&#34; rel=&#34;noreferrer&#34;&gt;dropped out of university over&lt;/a&gt; back in 2020.&lt;/p&gt;
&lt;h2 id=&#34;on-giving-updates&#34;&gt;On Giving Updates&lt;/h2&gt;
&lt;p&gt;The point is, having my current lifestyle contradict a lot of what I&amp;rsquo;ve written in the past makes me feel like a hypocrite. Once I write about something in my life in order to further a point, I almost feel an obligation to give an update or explanation when it changes.&lt;/p&gt;
&lt;p&gt;To be fair, I never promised anyone that I&amp;rsquo;d never change my mind or behavior after writing an entry or that I&amp;rsquo;d make an update each time I do, and it&amp;rsquo;s expected for someone in their twenties to change quite a bit. Ideally, readers would interpret my journal entries as a snapshot of my beliefs and actions at the time of publication, but I know that in reality people will naturally assume that what I wrote at one point in time still applies, and I don&amp;rsquo;t want anyone to have a false impression.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s partly why I feel so strongly about writing this entry. Free software has been such a persistent theme in this journal that I feel like I owe some explanation.&lt;/p&gt;
&lt;h2 id=&#34;retrospective&#34;&gt;Retrospective&lt;/h2&gt;
&lt;p&gt;For this entry, I want to address my past free software absolutism, whether I made a positive difference, whether I avoided doing harm, and what it costed me.&lt;/p&gt;
&lt;h3 id=&#34;did-i-make-a-positive-difference&#34;&gt;Did I Make a Positive Difference?&lt;/h3&gt;
&lt;p&gt;I think it&amp;rsquo;s difficult to quantify how much of a positive difference I made. I mean, I don&amp;rsquo;t know how many people read this journal. I don&amp;rsquo;t know how many people I left an impression on with my free software advocacy or what they might&amp;rsquo;ve done as a result, so it&amp;rsquo;s pretty hard to measure.&lt;/p&gt;
&lt;p&gt;If I had to guess though, on the whole, I&amp;rsquo;d say that the difference I made was tiny.&lt;/p&gt;
&lt;p&gt;Because of me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A few more people use free software instead of proprietary&lt;/li&gt;
&lt;li&gt;A few more people are semi-aware of free software and mass surveillance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wanted to believe that I had more of an impact than that, but at least it&amp;rsquo;s something. I think there&amp;rsquo;s an important insight lurking here though: With a few compromises and a change of tactic, I could&amp;rsquo;ve had the same impact, probably an even greater impact, with far fewer personal sacrifices. What I was doing was akin to self-immolation with no audience.&lt;/p&gt;
&lt;p&gt;Okay. The positive difference I made wasn&amp;rsquo;t much in comparison to the sacrifices I had to make, but did I at least avoid doing harm?&lt;/p&gt;
&lt;h3 id=&#34;did-i-avoid-doing-harm&#34;&gt;Did I Avoid Doing Harm?&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s analyze harm I avoided doing during my free software absolutism:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Didn&amp;rsquo;t write proprietary software, avoiding &lt;em&gt;potential&lt;/em&gt; harm to users&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Mostly&lt;/em&gt; avoided being a victim of proprietary software and mass surveillance myself&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first point can itself be argued to be a harm actually. Since I&amp;rsquo;m someone who cares more about respecting user freedom than the average dev, I could have potentially reduced the harm meanwhile the proprietary software industry exists. The second point is positive. However, the knock-on effects of my free software absolutism overshadow it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero career progression&lt;/li&gt;
&lt;li&gt;No financial security or independence&lt;/li&gt;
&lt;li&gt;A lack of personal life experiences and personal growth due to the above&lt;/li&gt;
&lt;li&gt;Chronic medical problems that went untreated due to the above&lt;/li&gt;
&lt;li&gt;Immeasurable stress on me, the people financially supporting me, and our relationships&lt;/li&gt;
&lt;li&gt;Social isolation (I&amp;rsquo;m autistic, so it&amp;rsquo;s hard enough already)&lt;/li&gt;
&lt;li&gt;A lot of time and effort I will never get back that amounted to very little&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And the above isn&amp;rsquo;t even a comprehensive list. I can&amp;rsquo;t make a comprehensive list because it gets too personal.&lt;/p&gt;
&lt;p&gt;In the end, those who suggested that avoiding doing harm by being a free software absolutist would cause harm in other ways, were spot on. I made some counterarguments to that specific point in &amp;ldquo;&lt;a class=&#34;link link--internal&#34; href=&#34;/2021/06/16/my-career-path/&#34; title=&#34;Journal Entry: My Career Path&#34; rel=&#34;noreferrer&#34;&gt;My Career Path&lt;/a&gt;&amp;rdquo;, but I now see why those counterarguments were wrong. I didn&amp;rsquo;t end up starting a successful business in free software (I tried) or finding a more ethical career. All I accomplished was generating profits for corporations that retard the social movements I support, and relying financially on others who did the same so I didn&amp;rsquo;t have to.&lt;/p&gt;
&lt;p&gt;I think my heart was in the right place, but ultimately I was doing more harm than good and I may have subconsciously been using writing (along with other unhealthy coping strategies) as a way to escape that fact. Emotionally this has all been quite difficult to process, and it&amp;rsquo;s hard to put into words the loss that I feel. I sacrificed so much of my time, energy, and happiness just to have the same impact that I could&amp;rsquo;ve had without jeopardizing my health, career, and future.&lt;/p&gt;
&lt;h3 id=&#34;moderation-versus-dogmatism&#34;&gt;Moderation Versus Dogmatism&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m still going to promote and advocate for free software where I can, but I think the right approach is a more moderate one. The approach of people like &lt;a class=&#34;link link--external&#34; href=&#34;https://stallman.org/&#34; rel=&#34;external noreferrer&#34;&gt;Richard Stallman&lt;/a&gt; is, in my opinion, dogmatic to the point of possibly hurting the free software movement. It would do good to refine the free software philosophy a bit.&lt;/p&gt;
&lt;p&gt;I feel obliged to mention Louigi Verona, who has put some serious thought into the core principles of free software. &lt;a class=&#34;link link--external&#34; href=&#34;https://louigiverona.com&#34; title=&#34;Louigi Verona&amp;#39;s Workshop&#34; rel=&#34;external noreferrer&#34;&gt;His work&lt;/a&gt; brings much-needed skeptical analysis to free software philosophy as put forth by &lt;a class=&#34;link link--external&#34; href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34; title=&#34;The GNU Project&#34; rel=&#34;external noreferrer&#34;&gt;GNU&lt;/a&gt; and the &lt;a class=&#34;link link--external&#34; href=&#34;https://www.fsf.org/&#34; title=&#34;The Free Software Foundation&#34; rel=&#34;external noreferrer&#34;&gt;FSF&lt;/a&gt;. While I probably don&amp;rsquo;t agree with all of Louigi&amp;rsquo;s points, I think his effort in carefully deconstructing and &lt;a class=&#34;link link--external&#34; href=&#34;https://louigiverona.com/?page=projects&amp;amp;s=writings&amp;amp;t=philosophy&amp;amp;a=philosophy_freedoms&#34; title=&#34;On the justification of the four freedoms&#34; rel=&#34;external noreferrer&#34;&gt;critiquing the core tenants of free software&lt;/a&gt; is valuable and important for the future of the movement.&lt;/p&gt;
&lt;p&gt;Louigi himself is a proponent of both free software and skepticism and his writing on the subject is thought-provoking. At some point in the future, I&amp;rsquo;d like to get around to making a response to his arguments and talk about my thoughts on them.&lt;/p&gt;
&lt;h3 id=&#34;what-would-actually-make-a-difference&#34;&gt;What Would &lt;em&gt;Actually&lt;/em&gt; Make a Difference?&lt;/h3&gt;
&lt;p&gt;I have one final point to make because I feel like stopping here leaves one in limbo. This entry makes it seems like whether you work inside &amp;ldquo;the system&amp;rdquo;, trying to promote free software from within, you only get as far as the economic incentives let you, which is not far enough. And for most of us, trying to work outside &amp;ldquo;the system&amp;rdquo; and go full Stallman leaves you with no economic resources left to further the cause. Either way, you lose. So what is one to do?&lt;/p&gt;
&lt;p&gt;To put it bluntly, I think meaningful progress on most important social issues is made practically impossible by a single upstream systemic cause: capitalism. I&amp;rsquo;m not going to lay out the full argument for why capitalism is a problem here. I&amp;rsquo;m no expert on it and others have already made the case better than I can, but I&amp;rsquo;ll talk briefly about how capitalism hinders the free software movement specifically.&lt;/p&gt;
&lt;p&gt;Capitalism creates a system of economic incentives such that the majority of programmer labor power is spent competing, working on closed proprietary software, rather than collaborating on free software for the benefit of larger society. The feedback loop of capital accumulation by corporations creates vested interests for proprietary software. These corporations are economically incentivized to use their power to bribe elected representatives into passing laws that harm cooperation, such as strengthening copyright law and protecting software patents. To sum it up, I don&amp;rsquo;t think the fight for free software (or most other social causes) is winnable as long as the overriding economic incentives of capitalism are present.&lt;/p&gt;
&lt;p&gt;So with that in mind, I&amp;rsquo;ll finally answer the question of what actions I believe would actually make a difference for the free software movement. This advice also generalizes to other social causes out there:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Join pro-labor organizations and socialist groups. If you&amp;rsquo;re a leader or organizer of a movement, build solidarity with reasonable groups that oppose capitalism or its excesses&lt;/li&gt;
&lt;li&gt;Only make personal sacrifices commensurate with the results you expect to achieve. Big personal sacrifices are okay if you&amp;rsquo;re also achieving big results (E.g: &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Edward_Snowden&#34; title=&#34;Edward Snowden&#34; rel=&#34;external noreferrer&#34;&gt;Edward Snowden&lt;/a&gt;), but don&amp;rsquo;t do what I did and throw yourself under the bus just to make a tiny difference for a single cause, especially when there are better ways to go about it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Related to the last bullet point, there&amp;rsquo;s a book titled &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://hillaryrettigproductivity.com/the-lifelong-activist/&#34; rel=&#34;external noreferrer&#34;&gt;The Lifelong Activist: How to Change the World Without Losing Your Way&lt;/a&gt;&amp;rdquo;. It seems like a decent guide based on what I&amp;rsquo;ve read so far, so I recommend it to those of you who call yourselves activists. I&amp;rsquo;m not sure if it would&amp;rsquo;ve made any difference had I read it six years ago, but I certainly wish I would&amp;rsquo;ve discovered it sooner.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2024/04/08/why-i-timestamped-my-journal/</id>
        <title type="html">Why I Timestamped My Journal</title>
        <updated>2024-04-08T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2024/04/08/why-i-timestamped-my-journal/" />
        <content type="html">&lt;h2 id=&#34;foreword&#34;&gt;Foreword&lt;/h2&gt;
&lt;p&gt;Before I talk about timestamping, I just want to make clear that this entry does not constitute a return to writing. I&amp;rsquo;m still &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/12/09/journal-update-26/&#34; title=&#34;Journal Update 26: Taking a Step Back&#34; rel=&#34;noreferrer&#34;&gt;taking a step back&lt;/a&gt; from writing. I&amp;rsquo;m only writing this entry to give context for the new timestamp I created.&lt;/p&gt;
&lt;h2 id=&#34;why-i-timestamped-my-journal&#34;&gt;Why I Timestamped My Journal&lt;/h2&gt;
&lt;p&gt;As AI improves, it will get harder to differentiate synthetic (AI-generated) media from human-created media. Thus there&amp;rsquo;s a need for a verification system that can confirm the human provenance of media. What does this have to do with timestamps? Well, for sophisticated data such as this journal, timestamps can be used to prove that it existed &lt;em&gt;prior&lt;/em&gt; to AI&amp;rsquo;s ability to generate it. This proves its human provenance.&lt;/p&gt;
&lt;h2 id=&#34;how-i-timestamped-my-journal&#34;&gt;How I Timestamped My Journal&lt;/h2&gt;
&lt;p&gt;One way to timestamp data is by embedding its hash into the Bitcoin blockchain. Even if Bitcoin falls out of favor and miners stop securing its blockchain, a historical copy of the ledger would be all that&amp;rsquo;s necessary to verify timestamped data. Given Bitcoin&amp;rsquo;s cultural significance and the fact that its ledger is widely witnessed, genuine historical copies of its blockchain will probably be preserved for a long time, allowing verification of any timestamps within it. &lt;a class=&#34;link link--external&#34; href=&#34;https://opentimestamps.org/&#34; rel=&#34;external noreferrer&#34;&gt;OpenTimestamps&lt;/a&gt; is the software I used to do just this.&lt;/p&gt;
&lt;h2 id=&#34;how-to-verify-the-timestamp&#34;&gt;How to Verify The Timestamp&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s the procedure for verifying this journal&amp;rsquo;s timestamp (and thus its human provenance):&lt;/p&gt;
&lt;p&gt;Prerequisites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;OpenTimestamps&lt;/li&gt;
&lt;li&gt;A local Bitcoin node&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone --recursive https://git.nicholasjohnson.ch/journal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ots verify -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;git -C journal show-ref --hash archive/signify-signature-10&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; journal/static/static/timestamp-2.ots
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;critiquing-my-last-timestamping-entry&#34;&gt;Critiquing My Last Timestamping Entry&lt;/h2&gt;
&lt;p&gt;Now I first had this idea back in November of 2021 and wrote an entry about it titled &amp;ldquo;&lt;a class=&#34;link link--internal&#34; href=&#34;/2021/11/13/future-proof-digital-timestamping/&#34; title=&#34;Future-Proof Digital Timestamping&#34; rel=&#34;noreferrer&#34;&gt;future-proof digital timestamping&lt;/a&gt;&amp;rdquo;. There are a number of issues with that entry and I could spend time nitpicking it, but its primary deficiency is that the idea of timestamp chaining via successor ledgers is erroneous.&lt;/p&gt;
&lt;p&gt;Timestamp chaining could perhaps provide stronger assurance of the legitimacy of the timestamps (due to the successive blockchains having the largest amount of cumulative work), but the gains in assurance would only be very marginal at best, it&amp;rsquo;s all predicated on Bitcoin having endless successors that also rely on energy-intensive proof-of-work, and there would have to be software supporting such a scheme. In my estimation, that&amp;rsquo;s all highly unlikely.&lt;/p&gt;
&lt;p&gt;But one good idea contained in that entry was to restamp this journal&amp;rsquo;s Git repo to future-proof its timestamp. The old timestamp was performed on the old repo which used the broken SHA-1 hashing algorithm. Since then, I converted the repo to the new SHA-2 object format and SHA-2 support in Git has been stabilized. So everything I needed to create a new, stronger timestamp was present. Well, almost everything.&lt;/p&gt;
&lt;p&gt;The only issue I ran into was that the OpenTimestamps software does not have sufficient &lt;a class=&#34;link link--external&#34; href=&#34;https://github.com/opentimestamps/opentimestamps-client/blob/master/doc/git-integration.md&#34; title=&#34;OpenTimestamps Git Integration&#34; rel=&#34;external noreferrer&#34;&gt;Git integration&lt;/a&gt; to embed timestamps within Git objects in SHA-2 repos like it can for SHA-1 repos. So I just timestamped &lt;a class=&#34;link link--external&#34; href=&#34;https://git.nicholasjohnson.ch/journal/tag/?h=archive/signify-signature-10&#34; title=&#34;Most Recent Tag of Journal Repo&#34; rel=&#34;external noreferrer&#34;&gt;the most recent tag&lt;/a&gt; manually, creating a fully separate &lt;a class=&#34;link link--internal&#34; href=&#34;/static/timestamp-2.ots&#34; title=&#34;Timestamp Proof File&#34; rel=&#34;noreferrer&#34;&gt;.ots proof file&lt;/a&gt; which is verified without using OpenTimestamps&amp;rsquo; GnuPG wrapper.&lt;/p&gt;
&lt;p&gt;Hopefully the new timestamp lasts. If not, both &lt;a class=&#34;link link--external&#34; href=&#34;https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://git.nicholasjohnson.ch/journal&#34; title=&#34;Journal Repo on Software Heritage&#34; rel=&#34;external noreferrer&#34;&gt;Software Heritage&lt;/a&gt; and &lt;a class=&#34;link link--external&#34; href=&#34;https://web.archive.org/web/*/https://nicholasjohnson.ch/&#34; title=&#34;Journal on Archive.org&#34; rel=&#34;external noreferrer&#34;&gt;Archive.org&lt;/a&gt; have centralized timestamps of this journal as fallbacks.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/10/15/dont-say-pc-when-you-mean-windows/</id>
        <title type="html">Don&#39;t Say PC When You Mean Windows</title>
        <updated>2023-10-15T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/10/15/dont-say-pc-when-you-mean-windows/" />
        <content type="html">&lt;p&gt;&amp;ldquo;PC&amp;rdquo; stands for &amp;ldquo;personal computer&amp;rdquo;. Windows is one of a countless number of operating systems that can run on PCs.&lt;/p&gt;
&lt;p&gt;Occasionally the terms &amp;ldquo;PC&amp;rdquo; and &amp;ldquo;Windows&amp;rdquo; are used interchangeably. I ask people not to do this because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It may confuse laypeople&lt;/li&gt;
&lt;li&gt;It may confer a sense of primacy to Windows and secondariness to other operating systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you catch someone using these terms interchangeably, please explain why they should not do this.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/10/10/re-they-told-their-therapists-everything-hackers-leaked-it-all/</id>
        <title type="html">Re: They Told Their Therapists Everything. Hackers Leaked It All</title>
        <updated>2023-10-10T00:00:02+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/10/10/re-they-told-their-therapists-everything-hackers-leaked-it-all/" />
        <content type="html">&lt;p&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.wired.com/story/vastaamo-psychotherapy-patients-hack-data-breach/&#34; title=&#34;They Told Their Therapists Everything. Hackers Leaked It All&#34; rel=&#34;external noreferrer&#34;&gt;Vastaamo&lt;/a&gt; ran the largest network of private mental health providers in Finland when it suffered a catastrophic data breach. A hacker group (or individual) got into the database, downloaded private notes from patient therapy sessions, and threatened to release them all unless paid a very large sum of money by the provider, later extorting then-current and former patients as well.&lt;/p&gt;
&lt;p&gt;If you want to learn more about it, you can click the link above. I&amp;rsquo;m not writing about it for the details of this specific case though. I want to use it as evidence for a broader point, which is that data as sensitive as therapy notes don&amp;rsquo;t ever belong on networked computers. Putting them on networked computers is the most moronic thing I&amp;rsquo;ve ever heard. Unfortunately it continues to be standard practice in certain places.&lt;/p&gt;
&lt;p&gt;Hospitals and health facilities get hacked constantly. They&amp;rsquo;re so insecure that once I even accidentally socially engineered an employee to send me my own health data (they did not verify who I was). It would be more secure to use air gapped laptops with hardware-token-based full disk encryption, storing the laptops in a locked safe. At least then one would have to physically break into the facility, which would be much more difficult and risky than remotely hacking in.&lt;/p&gt;
&lt;p&gt;Edit (05-04-2025): One would not necessarily have to break into the facility to access patient records. One could coerce an employee to give up patient records or register as a patient oneself to access the computer system when the therapist is away. My main point was that it would be much harder to hack patient records remotely or in bulk with this configuration, thus making the hacker more vulnerable to getting caught, and less likely to even try in the first place.&lt;/p&gt;
&lt;p&gt;The relationship between a therapist and a patient is among the most intimate relationships there are. The only two people who need detailed records of said interaction are the therapist and the patient. That&amp;rsquo;s it. And the therapist only strictly needs those records until the patient stops being a patient. There is absolutely no need for patient notes to be available to anyone else, particularly not in a networked database.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not writing this to discourage anyone from seeking mental health treatment or avoid telling things to their therapist. I just wanted to highlight how unsafe the practice of putting therapy notes in networked databases is and suggest that providers stop doing it.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/10/10/dont-use-ancestry-services/</id>
        <title type="html">Don&#39;t Use Ancestry Services</title>
        <updated>2023-10-10T00:00:01+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/10/10/dont-use-ancestry-services/" />
        <content type="html">&lt;p&gt;I swear I planned on making this journal entry before the whole 23andMe fiasco. Alas, I never got around to it. Now seems like a good time.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re not up-to-date on what happened, &lt;a class=&#34;link link--external&#34; href=&#34;https://www.23andme.com/&#34; rel=&#34;external noreferrer&#34;&gt;23andMe&lt;/a&gt; is a company that offers genetics testing which reveals ancestry and health information. Recently, they had a data breach with millions of sensitive customer records now being sold on the dark web. These records include names, profile pictures, date of birth, location, and genetic ancestry data. As far as I&amp;rsquo;m aware, no raw DNA data was leaked, but nothing prevents that from happening in the future. As has been my mantra for years now:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Companies cannot protect your data.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;How this is not obvious to people yet, I do not know. After seeing breach after breach of user data on the news, one would think that people would stop voluntarily giving companies sensitive data. It doesn&amp;rsquo;t matter what promises companies make, what expensive advertising campaigns they run, or what laws are supposedly protecting you. The only person who can protect your data is you. The moment you give your data to a third party, you lose control.&lt;/p&gt;
&lt;p&gt;Privacy doesn&amp;rsquo;t exist in a vacuum like people think. Inductive reasoning and statistical inference automated by machine intelligence and applied to data that your associates surrender reveals information about you, even if you never signed anything. Since genetic data, by its nature, always reveals some information about genetically-related nonconsenting innocent parties, and data tends to get leaked, its long-term storage by anyone including governments is a non-starter for me.&lt;/p&gt;
&lt;p&gt;Most of the time it&amp;rsquo;s not the government collecting personal data directly. It&amp;rsquo;s private entities that people surrender their data to who cooperate with government. We need laws prohibiting the collection of highly sensitive personal data by private entities. While I&amp;rsquo;m not saying there aren&amp;rsquo;t legitimate ends that warrant collecting such data about people, even against their will, such collection must be off-limits to private entities since they&amp;rsquo;re undemocratic and can&amp;rsquo;t be held accountable like properly-functioning governments can.&lt;/p&gt;
&lt;p&gt;To conclude, don&amp;rsquo;t use ancestry services!&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/10/10/re-cloudflare-considered-harmful/</id>
        <title type="html">Re: Cloudflare Considered Harmful</title>
        <updated>2023-10-10T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/10/10/re-cloudflare-considered-harmful/" />
        <content type="html">&lt;p&gt;Time for another Hugo Landau blog post. This particular one, &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.devever.net/~hl/cloudflare&#34; rel=&#34;external noreferrer&#34;&gt;Cloudflare considered harmful&lt;/a&gt;&amp;rdquo;, was written in 2019, but it&amp;rsquo;s even more relevant given that Cloudflare has since expanded.&lt;/p&gt;
&lt;p&gt;First I just want to say that I fully agree with Hugo&amp;rsquo;s post.&lt;/p&gt;
&lt;p&gt;I will never MitM my websites with Cloudflare. For one, there&amp;rsquo;s no need for it. That I&amp;rsquo;m aware of, my site has never been DoSed and it gets on my nerves seeing websites use Cloudflare that don&amp;rsquo;t need it. I often stumble across a website in Tor Browser that I can&amp;rsquo;t access because of Cloudflare and think to myself &amp;ldquo;Is this website important enough to need Cloudflare? I doubt anyone has ever cared to DoS it.&amp;rdquo; And second, as Hugo Landau points out, there are other ways to mitigate DoS that don&amp;rsquo;t involve MitMing one&amp;rsquo;s site and making it stochastically fail.&lt;/p&gt;
&lt;p&gt;Another important point Hugo makes is that Cloudflare is potentially a global active adversary, calling it &amp;ldquo;essentially the world&amp;rsquo;s premier global MitM agency&amp;rdquo; which causes massive centralization and represents a huge step backwards in the progress we&amp;rsquo;ve made in TLS support since 2013. Given the nature of Cloudflare&amp;rsquo;s business, I agree with Hugo that it&amp;rsquo;s highly likely that it&amp;rsquo;s cooperating with the NSA. Even if by some miracle it&amp;rsquo;s not wittingly or willingly cooperating with the NSA, the nature of Cloudflare&amp;rsquo;s business makes it a high-value target for US intelligence. In other words, if the G men want the data badly enough, and they do, then they&amp;rsquo;ll find a way.&lt;/p&gt;
&lt;p&gt;Finally, I agree with Hugo that the idea of web application firewalls (WAFs) is fundamentally flawed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The “web application firewall” concept is fundamentally flawed in all instances, because it falsely presupposes that a blind intermediate proxy can reliably assess the semantic meaning of data transmitted, which is in actual fact impossible. Since this kind of “service” is part of the Cloudflare value proposition and an attempt to add a profit-making value-add, Cloudflare has essentially built their entire business on doing something which is a bad idea and which cannot be reliably implemented.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wouldn&amp;rsquo;t deny that WAFs can increase security. They are defense-in-depth. But they come at the cost of increasing coupling and complexity and, in Cloudflare&amp;rsquo;s case, blocking valid requests and mangling harmless HTML. Like Hugo says, it&amp;rsquo;s not the place of intermediate proxies to assess the semantic meaning of transmitted data.&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s about all I have to add. In summary, don&amp;rsquo;t use Cloudflare. If you find yourself tempted to use a WAF, maybe look for another solution.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/10/06/re-ive-stopped-using-mobile-phones-in-my-life/</id>
        <title type="html">Re: I&#39;ve stopped using mobile phones in my life.</title>
        <updated>2023-10-06T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/10/06/re-ive-stopped-using-mobile-phones-in-my-life/" />
        <content type="html">&lt;p&gt;There aren&amp;rsquo;t many people who intentionally go phoneless in today&amp;rsquo;s society, especially not young people &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/12/26/why-i-dont-have-a-smartphone/&#34; title=&#34;Why I Don&amp;#39;t Have a Smartphone&#34; rel=&#34;noreferrer&#34;&gt;like myself&lt;/a&gt;. But there are some who resist the social expectation to carry a proprietary surveillance device at all times. Since we are few, it&amp;rsquo;s important to spread the word about our efforts. So today, I comment on Jakub Bidžan&amp;rsquo;s blog post written in January of this year, &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://web.archive.org/web/20230930013138if_/https://bidzan.net/articles/phoneless-life.html&#34; rel=&#34;external noreferrer&#34;&gt;I&amp;rsquo;ve stopped using mobile phones in my life.&lt;/a&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Before I start, I must admit that I haven&amp;rsquo;t been completely or continuously phoneless since I wrote my entry about why I don&amp;rsquo;t use a smartphone, but I&amp;rsquo;ve resisted using one enough to feel qualified to comment on Jakub&amp;rsquo;s blog post. So I&amp;rsquo;ll start by introducing him.&lt;/p&gt;
&lt;p&gt;Jakub Bidžan is a Free Software enthusiast, GNU+Linux enthusiast, and GNU+Linux systems administrator from the Czech Republic. He is an administrator of &lt;a class=&#34;link link--external&#34; href=&#34;https://drgnz.club&#34; rel=&#34;external noreferrer&#34;&gt;drgnz.club&lt;/a&gt; and other servers as well. Judging by his picture, he is also young, which is interesting because most people who reject smartphones are older. Let&amp;rsquo;s see what he has to say.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;By the end of January 2023 I&amp;rsquo;ve decided that I would stop using mobile phones.As a consequence I expected there to be much more inconvenience in my life, but actually I feel way more mentally free. I generally have much less temptations with it and can focus better on what I&amp;rsquo;m doing.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My experience has been similar. Smartphones created this need in me for instant gratification. When it wasn&amp;rsquo;t provided by real life, out came my smartphone immediately. It was like a drug. I was often seeking the instant gratification it provided, making it impossible to achieve sustained focused attention for the long-term life goals which give me a deeper sense of meaning.&lt;/p&gt;
&lt;p&gt;I relate to feeling more &amp;ldquo;mentally free&amp;rdquo; too. Besides improving my focused attention, my mind also felt more free to wander. Without the need to be entertained by something 24/7, boredom troubled me less and I found it easier to connect with the real world around me. I developed patience, realizing that it doesn&amp;rsquo;t hurt me to wait sometimes and consequently being less of an asshole to people around me.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;You might think that I stopped using phones because the insane privacy violations that come with it, or because I just wanted to be a hipster that walks arround with his librebooted thinkpad and looks down upon normies who scroll through Instagram on their phones.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think that being young and intentionally phoneless certainly creates this air of curiosity around oneself, and not just for the surveillance state. But, as the author is about to explain, there are better reasons to go phoneless:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The real reason why I left phones is that I find phones to be utterly irritating. You can&amp;rsquo;t do anything useful on these bricks, they are designed to be debilitated devices that are used to coom to porn and consooming youtube.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Phones are powerful multitools which are good for a number of purposes. Jakub&amp;rsquo;s hyperbole has a point though. Phones lend themselves to consumption, nay, overconsumption. They have no physical keyboard, so typing is inefficient. The screen is small, so the kind of work you can get done is limited. Users demand a long battery life, so apps that do too much computing aren&amp;rsquo;t used.&lt;/p&gt;
&lt;p&gt;Besides not being that useful compared to computers, phones are also very distracting and addictive. They sound off at random times for notifications and calls, interrupting whatever their owners are doing and causing noise pollution that distracts others. Somehow this has become socially acceptable almost everywhere but movie theaters and business meetings.&lt;/p&gt;
&lt;p&gt;As Jakub points out, they are also used to &amp;ldquo;coom to porn&amp;rdquo;. Having a smartphone makes watching porn way more convenient since it only takes one hand. This is bad because porn is itself highly addictive and masturbating to porn can degrade real intimate relationships by ruining sex. Also, it heavily skews your expectations by showing you one perfect body after another.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Installing an operating systems of your choice them is a leap of faith and making them acceptably privacy-respecting is a herculean task. I actually wanted to install a newer version of lineage OS on my phone but I managed to soft-brick it. Now, A soft brick is fixable, but I think the right decision was to not waste time with these stupid devices and just not use them&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you have an iPhone, forget about changing the OS. Unless you buy an Android phone that is well-supported by custom roms, trying to flash one can be a &amp;ldquo;herculean task&amp;rdquo;. You may find yourself following instructions you found on &lt;a class=&#34;link link--external&#34; href=&#34;https://xdaforums.com/&#34; rel=&#34;external noreferrer&#34;&gt;XDA Forums&lt;/a&gt; that direct you to download unsigned firmware from expired Google drive links uploaded by god knows who. Then, after hours of trying, the custom rom still won&amp;rsquo;t work and your computer is now infected with malware.&lt;/p&gt;
&lt;p&gt;Desktop or laptop computers on the other hand generally don&amp;rsquo;t present so many obstacles to installing a privacy-respecting OS.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Now, I do still use a phone. I use a nokia 6 with stock android on it, which I leave at home and never ever bring it anywhere with me. It basically serves as a kind of a landline. For the few normies that still for some reason prefer to use inferior communication methods.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Seems like a reasonable compromise.&lt;/p&gt;
&lt;p&gt;Jakub goes on to talk about how he makes purchases without using a proprietary banking app. This may be a little off-topic, but I think it&amp;rsquo;s also important to include:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;My solution to money is to just pay use cash. I can hear people who read this screaming in disbelief, but it is true. I only use cash, I always did and I dont know why I should stop. I honestly don&amp;rsquo;t even know why I get so many weird reactions when I say this, or actually very cheerful reactions from people involved in Free Culture or Privacy. As if it was something hard, almost impossible to do. I truly don&amp;rsquo;t know what is so hard about it. Cash is the only good way of transacting privately nowdays, without being surveilled by Big Brother. I think people should be more aware of how dangerous it is for democracy that the government knows what each and every person is buying, where they&amp;rsquo;re sending money etc.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I live in Mexico where cash is universally accepted and many vendors don&amp;rsquo;t even have card readers, so carrying cash is necessary anyway. I&amp;rsquo;m happy that I never need to worry that cash might be rejected. But I&amp;rsquo;m keenly aware of societies that are trying to go cashless, making private monetary transactions impossible. I think this could account for why some people into free culture and privacy are so impressed. Where they live, it may be much harder to go cashless.&lt;/p&gt;
&lt;p&gt;As for the weird reactions Jakub receives, they probably come from clueless people who don&amp;rsquo;t understand why privacy matters. In a world filled with people who either don&amp;rsquo;t know or don&amp;rsquo;t care that their choices are empowering a surveillance state that erodes democracy, hearing about other young people who see the problem clearly and do something about it cheers me up.&lt;/p&gt;
&lt;p&gt;Jakub goes on to say what he misses about having a phone:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I used to use a phone for some handy things. One of these things was having a flashlight. I bought a small flashlight that is much stronger and I have it on my keyring.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This sounds like a good solution. Not having a flashlight when you need one can be a pain in the ass. The good thing is that they&amp;rsquo;re not needed in most normal circumstances and the need for one can often be anticipated beforehand.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Other thing is that I sometimes listened to music in public transport. Well, I could spend money and buy an MP3 player I guess but I mean I can just not listen to music in public transport&amp;hellip; so I did that.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Same. One doesn&amp;rsquo;t have to look very far to discover that there&amp;rsquo;s unlimited free entertainment available even without a smartphone, but I find that it&amp;rsquo;s good to limit myself so I don&amp;rsquo;t become dependent.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;There are only two things that I seriously miss about a phone. One thing is mobile hotspot. Going somewhere in the middle of nowhere with my thinkpad and having access to the internet is a nice convenience. I&amp;rsquo;ve adjusted my computer usage more for offline use, and I&amp;rsquo;m able to go without it.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The utility of a mobile hotspot depends on one&amp;rsquo;s lifestyle and location. People who live in cities for example don&amp;rsquo;t need one as much since free Wi-Fi is everywhere.&lt;/p&gt;
&lt;p&gt;While most people&amp;rsquo;s experiences with mobile hotspots are limited to smartphones and smartphones are probably the most convenient way to use one, you don&amp;rsquo;t strictly need a smartphone to have a mobile hotspot. You can buy a standalone mobile hotspot or use a radio for emergencies. I&amp;rsquo;m not a lawyer and this is not legal advice, but if I&amp;rsquo;m not mistaken, you&amp;rsquo;re allowed to transmit on certain radio frequencies without a license in emergency situations.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Another thing that I miss is a camera. I might just buy a physical camera from a second-hand store, that is my plan. I&amp;rsquo;m not exactly a photography enthusiast, so some basic one might suffice.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I can relate. I own a &lt;a class=&#34;link link--external&#34; href=&#34;https://wiki.postmarketos.org/wiki/PINE64_PinePhone_Pro_%28pine64-pinephonepro%29&#34; title=&#34;PINE64 PinePhone Pro (pine64-pinephonepro)&#34; rel=&#34;external noreferrer&#34;&gt;PinePhone Pro running postmarketOS&lt;/a&gt;. It&amp;rsquo;s turned off most of the time and I seldom carry it with me. The mobile Linux application ecosystem is lacking, so I&amp;rsquo;m thankfully not yet tempted to use it like I am with Android devices.&lt;/p&gt;
&lt;p&gt;I believe that the camera works for other OSes, but not for postmarketOS, which is disappointing. I miss being able to take pictures and record videos. Rather than buying a new camera, I&amp;rsquo;ve decided to just wait until camera support arrives, at which point I&amp;rsquo;ll probably start bringing it places.&lt;/p&gt;
&lt;p&gt;The author concludes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Living in a city while not having a cell phone is becomming increasingly difficult, but with enough will it&amp;rsquo;s not impossible. I think everyone should try not brining their phone anywhere or using it for some period of time, just to experience true freedom. I feel as though I am more mentally free, less teathered to the system and less reliant on technology. Which if you ask me, is a good thing.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Phones are undeniably useful and I admit that giving them up is a big sacrifice, but I agree with Jakub that we should try to get more people to not bring them everywhere, at least until they&amp;rsquo;re libre, non-addictive, and privacy-respecting. Maybe we can make it socially acceptable, expected even, to leave one&amp;rsquo;s phone at home sometimes? Surely that would be a step in the right direction.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/09/05/gaining-clarity-after-walking-off-a-job-on-orientation-day/</id>
        <title type="html">Gaining Clarity After Walking Off a Job on Orientation Day</title>
        <updated>2023-09-05T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/09/05/gaining-clarity-after-walking-off-a-job-on-orientation-day/" />
        <content type="html">&lt;p&gt;Over the past year, I&amp;rsquo;ve been trying to break into teaching as a career since there&amp;rsquo;s no money in free software. So I earned a &lt;a class=&#34;link link--external&#34; href=&#34;https://www.tefl.org/en-us/tefl-certification/&#34; rel=&#34;external noreferrer&#34;&gt;TEFL certification&lt;/a&gt; and was recently offered an English teaching job at a highly-respected educational institution in Mexico, where I live.&lt;/p&gt;
&lt;p&gt;It came as a surprise because this type of job normally wouldn&amp;rsquo;t be offered to an &amp;ldquo;unqualified&amp;rdquo; person like myself. In fact, I&amp;rsquo;m pretty sure it wasn&amp;rsquo;t even legal for me to occupy the position given how &amp;ldquo;unqualified&amp;rdquo; I am, but there was a desperate need to fill it and, in this country, corruption is the rule.&lt;/p&gt;
&lt;p&gt;It started with an interview with the English program director. We discussed the details of the job for a while and got to know each other. The director was surprised to learn that I didn&amp;rsquo;t have a phone or a phone number. After realizing that I&amp;rsquo;d need a phone, a phone number, and WhatsApp to contact the director and my coworkers, I told the director I would be willing to get those things. I also learned that I&amp;rsquo;d need a Mexican bank app to get paid. I wasn&amp;rsquo;t happy about it, but I tried to remind myself that I needed the job since I&amp;rsquo;ve lacked stable employment for quite a while now.&lt;/p&gt;
&lt;p&gt;Before I&amp;rsquo;d even discovered the teaching opportunity, I&amp;rsquo;d already made the rounds at large Mexican banks in a futile attempt to find one that didn&amp;rsquo;t require a proprietary mobile application just to use the fucking account. I ended up finding an alternative to banking that&amp;rsquo;s good enough for now. So imagine how annoyed I was finding out that I&amp;rsquo;d need an account and the app anyway. One of the biggest problems with these bank apps, besides them being proprietary spyware, is that they refuse to work if you use a custom rom or try to exercise any real control over your own device.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d need a real mobile phone to get the bank app since my computers lack the CPU instructions to spin up Android VMs. I certainly wasn&amp;rsquo;t going to spend money on a closed hardware computer or mobile phone, so a family member gave me their old Android device. Thanks to planned obsolescence, I could not upgrade the system past Android 8.1, meaning it probably contained unpatched security vulnerabilities. I was unable to install a custom degoogled rom either.&lt;/p&gt;
&lt;p&gt;Thus the phone had all the standard spyware one would expect from an off-the-shelf Android device, including a manufacturer backdoor. I removed as much of it as I could using the &lt;a class=&#34;link link--external&#34; href=&#34;https://github.com/0x192/universal-android-debloater&#34; rel=&#34;external noreferrer&#34;&gt;Universal Android Debloater&lt;/a&gt;, but it was still an outdated Googled Android rom. There was no real way to make it private or secure. This on top of &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/12/26/why-i-dont-have-a-smartphone/&#34; title=&#34;Why I Don&amp;#39;t Have a Smartphone&#34; rel=&#34;noreferrer&#34;&gt;the other reasons I don&amp;rsquo;t want a smartphone&lt;/a&gt; was making me progressively more agitated about the entire situation.&lt;/p&gt;
&lt;p&gt;Then I went to the store and gave money to the Mexican telecommunications monopoly Telmex in exchange for a SIM card. After putting it in the phone, I knew it would allow my location to be constantly tracked by the telecom, at least while I was at work and when I didn&amp;rsquo;t remember to put the phone in airplane mode.&lt;/p&gt;
&lt;p&gt;I used my new phone number to download WhatsApp. WhatsApp is an app owned by Facebook, a company so evil and dangerous for democracy that it should&amp;rsquo;ve been forcibly dissolved years ago, but instead it makes up a large part of the world&amp;rsquo;s digital communication infrastructure. I was not happy about giving the Zuck my data, but I told myself that I had no choice. I needed the job.&lt;/p&gt;
&lt;p&gt;I still hadn&amp;rsquo;t created the bank account, but I was all set up for it. I had an Android phone and a SIM card. I let the director know that I&amp;rsquo;d gotten that far.&lt;/p&gt;
&lt;p&gt;The next day, I went to the job orientation. The first thing I noticed was that everyone except me was dressed up in suits. It was then explained in the presentation that we were not allowed to wear &amp;ldquo;anything that made us look like a student&amp;rdquo;, including tennis shoes. I find formal attire uncomfortable and any expectation for me to wear it, especially on a long term basis, feels oppressive. But whatever. I needed the job.&lt;/p&gt;
&lt;p&gt;I also noticed that the classrooms had surveillance cameras, which made me uncomfortable because I had no idea what sort of system lied behind them. I might be okay with it if I knew for certain that the video surveillance feed data was never transmitted over the internet and only a human being was watching it, but I didn&amp;rsquo;t know that. For all I knew, it sent video surveillance data to some third party which used AI to analyze human faces.&lt;/p&gt;
&lt;p&gt;After the orientation, we were shuffled off to a conference room. In the conference room, we were emailed a document to complete as some kind of Google form. While everyone was using their phones to complete the form, I wasn&amp;rsquo;t even aware that I&amp;rsquo;d need to access my email on my phone while at work, so I didn&amp;rsquo;t prepare it and couldn&amp;rsquo;t access the form. I was also very apprehensive about putting any information in a Google form. Why should I have to give data to the corporate surveillance monster that is Google just to have a job?&lt;/p&gt;
&lt;p&gt;Eventually everyone in that group had completed the form and went to get their pictures taken, except for me since I could not access the form. I became frustrated and stressed, so I left to sit down on a bench outside the conference room to calm down, then headed towards the English language coordinator&amp;rsquo;s office to discuss the matter. They had to continue the orientation soon, but they gave me a few minutes anyway.&lt;/p&gt;
&lt;p&gt;At that point, I&amp;rsquo;d had enough. I didn&amp;rsquo;t want a phone. I didn&amp;rsquo;t want a phone number. I didn&amp;rsquo;t want WhatsApp. I didn&amp;rsquo;t want a bank app. I didn&amp;rsquo;t want to use Google. I originally thought I could put up with it all given how badly I needed a stable job, but it turns out I was wrong.&lt;/p&gt;
&lt;p&gt;I decided to confront the director about the software we were required to use and why I didn&amp;rsquo;t want to use it. We ended up having a fairly long discussion. I mentioned that I was on the verge of quitting before I had even begun the job because the software was so bothersome. The director said they wanted to keep me, that I didn&amp;rsquo;t need to use the technologies I didn&amp;rsquo;t like, and that they would be willing to work with me towards that goal.&lt;/p&gt;
&lt;p&gt;I was slightly relieved, but knowing how large institutions work, I was also skeptical that the English teaching director had the influence to make such an exception just for me. It was time for them to give their speech, so I left to sit outside and consider whether to leave then and there or give it a shot. I ultimately decided that I would give it a shot as long as certain concessions could be made from the very beginning. Specifically that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I could teach without using a phone number, WhatsApp, Google or Microsoft services, or a proprietary banking app&lt;/li&gt;
&lt;li&gt;My refusal to use these services would not inconvenience other teachers in any major way&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The director messaged asking me to return and I did. I tried to state the terms under which I was willing to work, but I and all the other teachers were shuffled into another room and paired into our groups before I had a chance to say anything. After being put into a group, the group leader asked me if there was a problem. I told them there was: I didn&amp;rsquo;t want to use WhatsApp. They said that my refusal to use it would be very inconvenient and cause problems for the group; exactly the situation I didn&amp;rsquo;t want to happen.&lt;/p&gt;
&lt;p&gt;The leader proceeded to lecture me, saying that sometimes it&amp;rsquo;s necessary to do things I don&amp;rsquo;t like to fit in with the group and that if I had a problem with that, I&amp;rsquo;d need to talk with the director. I believe that was the moment when I decided for certain I wasn&amp;rsquo;t going to work there.&lt;/p&gt;
&lt;p&gt;I sat through the rest of the debriefing anyway, where I noticed that the online grading system wasn&amp;rsquo;t even protected by a TLS certificate, meaning that anyone smart enough to use &lt;a class=&#34;link link--external&#34; href=&#34;https://www.wireshark.org&#34; rel=&#34;external noreferrer&#34;&gt;Wireshark&lt;/a&gt; could capture all institutional data including student grades and teacher and administrator login credentials.&lt;/p&gt;
&lt;p&gt;After the debriefing, I informed my group leader that I&amp;rsquo;d decided not to take the job and that they needed to tell the systems people to fix their TLS because the site was unsecured. I explained the severity of this and the importance of fixing it, but I was told that the systems people &amp;ldquo;would not listen to them&amp;rdquo;. After hearing that, I walked straight out the door.&lt;/p&gt;
&lt;h2 id=&#34;lessons-learned&#34;&gt;Lessons Learned&lt;/h2&gt;
&lt;p&gt;The reasons I decided to pursue the teaching position in an institution were the pay being reliable, gaining much-needed professional experience, and possibly finding an even better opportunity after.&lt;/p&gt;
&lt;p&gt;However, as I&amp;rsquo;ve realized, working in an institution has some major drawbacks. It means using WhatsApp and other proprietary spyware, making me a victim-coperpetrator of the surveillance apparatus that&amp;rsquo;s undermining everyone&amp;rsquo;s digital freedom. It means existing within a rigid command hierarchy where I work my ass off for an unlivable wage meanwhile the value I generate goes towards paper-pushing administrators who pretend to make sure certain requirements are being met.&lt;/p&gt;
&lt;p&gt;All in all, I&amp;rsquo;m glad I had this experience despite it being stressful. It helped me get clear on my career objectives by showing me that there&amp;rsquo;s absolutely no way I&amp;rsquo;ll be able to work or study inside any institution or normal workplace. I cannot fit inside &amp;ldquo;the system&amp;rdquo;, so I won&amp;rsquo;t spend any more time trying. The only viable option for me seems to be self-employment, so that&amp;rsquo;s what I&amp;rsquo;m going to focus on.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/08/23/the-electronic-frontier-foundation-defends-your-digital-rights/</id>
        <title type="html">The Electronic Frontier Foundation Defends Your Digital Rights</title>
        <updated>2023-08-23T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/08/23/the-electronic-frontier-foundation-defends-your-digital-rights/" />
        <content type="html">&lt;p&gt;The &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org&#34; rel=&#34;external noreferrer&#34;&gt;Electronic Frontier Foundation&lt;/a&gt; (EFF) is a nonprofit that has been tirelessly defending your digital rights since 1990. Here&amp;rsquo;s a quote from the about page of their website:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Today, EFF uses the unique expertise of leading technologists, activists, and attorneys in our efforts to defend free speech online, fight illegal surveillance, advocate for users and innovators, and support freedom-enhancing technologies.&lt;/p&gt;
&lt;p&gt;Together, we forged a vast network of concerned members and partner organizations spanning the globe. EFF advises policymakers and educates the press and the public through comprehensive analysis, educational guides, activist workshops, and more. EFF empowers hundreds of thousands of individuals through our Action Center and has become a leading voice in online rights debates.&lt;/p&gt;
&lt;p&gt;EFF is a donor-funded U.S. 501(c)(3) nonprofit organization that depends on your support to continue fighting for users.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Organizations like the EFF are more important now than they&amp;rsquo;ve ever been. They run &lt;a class=&#34;link link--external&#34; href=&#34;https://act.eff.org/action&#34; title=&#34;EFF Campaigns&#34; rel=&#34;external noreferrer&#34;&gt;campaigns&lt;/a&gt; and &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/events/list?type=event&#34; title=&#34;EFF Events&#34; rel=&#34;external noreferrer&#34;&gt;events&lt;/a&gt;, host &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/taxonomy/term/11579/&#34; title=&#34;EFF Podcasts&#34; rel=&#34;external noreferrer&#34;&gt;podcasts&lt;/a&gt;, make &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/updates?type=press_release&#34; title=&#34;EFF Press Releases&#34; rel=&#34;external noreferrer&#34;&gt;press releases&lt;/a&gt;, fight &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/pages/legal-cases&#34; title=&#34;EFF Legal Cases&#34; rel=&#34;external noreferrer&#34;&gt;legal battles&lt;/a&gt;, promote &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/pages/tools&#34; title=&#34;EFF Tools&#34; rel=&#34;external noreferrer&#34;&gt;digital privacy tools&lt;/a&gt;, document &lt;a class=&#34;link link--external&#34; href=&#34;https://atlasofsurveillance.org/&#34; title=&#34;EFF Atlas of Surveillance&#34; rel=&#34;external noreferrer&#34;&gt;police surveillance tech&lt;/a&gt;, and much more in the name of protecting digital civil liberties.&lt;/p&gt;
&lt;p&gt;My main personal interest in the EFF is their press releases. I find them informative and they help me stay updated. For others who might want to easily follow the EFF, here is &lt;a class=&#34;link link--external&#34; href=&#34;https://www.eff.org/rss&#34; title=&#34;EFF RSS Feeds&#34; rel=&#34;external noreferrer&#34;&gt;a list of their RSS feeds&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you can, please &lt;a class=&#34;link link--external&#34; href=&#34;https://supporters.eff.org/donate/join-eff-4&#34; title=&#34;EFF Donate&#34; rel=&#34;external noreferrer&#34;&gt;make a donation&lt;/a&gt; (not with cryptocurrency) or contribute to their work in other ways.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/08/17/re-why-even-let-users-set-their-own-passwords/</id>
        <title type="html">Re: Why even let users set their own passwords?</title>
        <updated>2023-08-17T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/08/17/re-why-even-let-users-set-their-own-passwords/" />
        <content type="html">&lt;p&gt;This entry is a yet another commentary on an article written by Hugo Landau, titled &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.devever.net/~hl/passwords&#34; rel=&#34;external noreferrer&#34;&gt;Why even let users set their own passwords?&lt;/a&gt;&amp;rdquo;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Today we seem to be living through a war on passwords. This is manifested in various ways &amp;hellip; The more material changes are the general trend towards no longer treating passwords as a sufficient condition for access in favour of either mandatory “2FA” or, where 2FA is not used, risk-based authentication, in which some extra authentication step is non-deterministically and randomly demanded.&lt;/p&gt;
&lt;p&gt;This step is commonly something like “enter the code in an email we just sent” when trying to login. Since this process is literally the same as most password recovery processes, it raises the question of what the point of a password is in the first place if you always have to go through this process when trying to login.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There are several flaws with this email token approach to account security as described by Hugo.&lt;/p&gt;
&lt;p&gt;First, as Hugo points out, since the alternate login flow (password recovery) only requires the email token, the password not only becomes a pointless inconvenience that increases system complexity with no security benefit, but it also gives the user a false sense that their account is protected using two-factor authentication when it&amp;rsquo;s not.&lt;/p&gt;
&lt;p&gt;Even if the email tokens were truly two-factor, most users probably access email from the same device they use to log in to online accounts anyway. So it still wouldn&amp;rsquo;t be &amp;ldquo;proper&amp;rdquo; two-factor.&lt;/p&gt;
&lt;p&gt;Second, these email tokens actually give the attacker several more avenues to gain account access, and in ways the user likely isn&amp;rsquo;t considering, doesn&amp;rsquo;t know about, and has no ability to mitigate. Here are a few:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Guessing the user&amp;rsquo;s email account password&lt;/li&gt;
&lt;li&gt;Completing the user&amp;rsquo;s email account recovery process&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Phishing&#34; title=&#34;Phishing&#34; rel=&#34;external noreferrer&#34;&gt;Phishing&lt;/a&gt; the user&amp;rsquo;s email&lt;/li&gt;
&lt;li&gt;Compromising the user&amp;rsquo;s email server&lt;/li&gt;
&lt;li&gt;Phishing the user&amp;rsquo;s email server administrator&lt;/li&gt;
&lt;li&gt;Compromising the user&amp;rsquo;s email server&amp;rsquo;s cloud hosting provider&lt;/li&gt;
&lt;li&gt;Compromising the user&amp;rsquo;s email server&amp;rsquo;s cloud hosting provider account&lt;/li&gt;
&lt;li&gt;Phishing the user&amp;rsquo;s email server&amp;rsquo;s cloud hosting provider&lt;/li&gt;
&lt;li&gt;Completing the email server&amp;rsquo;s cloud hosting provider account recovery process&lt;/li&gt;
&lt;li&gt;Breaking into the user&amp;rsquo;s email&amp;rsquo;s domain name registrar account&lt;/li&gt;
&lt;li&gt;Completing the user&amp;rsquo;s email&amp;rsquo;s domain name registrar account recovery process&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Often this will be combined with fallacious notions such as “remember this device”, the idea being you only have to go through all this the first time when logging in from a particular device. This idea is fallacious because the web has no notion of a “device”, and this is a very intentional design choice made for privacy purposes. We are literally living through the gradual phase-out of third-party cookies, amongst other functionality, specifically to try and prevent this sort of thing, so why do web developers persist in believing in this fiction of a “device”? My own browser erases all cookies from an origin immediately after the last tab from that origin is closed, so these sites are convinced I am logging in from a new “device” every single time, and then demand I respond to one of these challenge emails.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don&amp;rsquo;t see the &amp;ldquo;remember this device&amp;rdquo; terminology as a problem. I think it helps non-technical people understand what&amp;rsquo;s going on while technical people understand what it&amp;rsquo;s doing anyway.&lt;/p&gt;
&lt;p&gt;My browser also erases cookies, so I also have to log in every time, but this is the desired behavior.&lt;/p&gt;
&lt;p&gt;I agree that using email tokens as a login system is problematic, but that&amp;rsquo;s a separate issue. I agree that websites shouldn&amp;rsquo;t use third-party cookies, but third-party cookies aren&amp;rsquo;t required for &amp;ldquo;remember this device&amp;rdquo; that I&amp;rsquo;m aware of. So it&amp;rsquo;s not exactly clear to me what Hugo&amp;rsquo;s complaint is here or what they want done about it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;While at the same time every website for the masses now seems to be designed around the assumption that everyone is going to set their password to “password1”, web-based HTTP APIs are also widely popular nowadays. These services almost invariably perform authentication via use of a token or “API key”.&lt;/p&gt;
&lt;p&gt;An API key is basically a password, except that it is randomly generated by a website with a large amount of entropy and thus assumed to be secure. A given website might obnoxiously refuse to trust in my ability to set a secure password, assume the 24-character randomly generated password I keep in my password safe is insecure, and demand I complete an email challenge every time I login because I actually bother to exercise control over browser privacy and persistent cookies, yet that same website is happy to let me authenticate using an API key for API access as a single authentication step. No “2FA” here.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;API keys are used by programs and automated systems, so they can&amp;rsquo;t use 2FA. As Hugo observes, this nullifies 2FA. This is why API key access should be limited by default so someone with the key can&amp;rsquo;t just change the account login credentials as they could if they&amp;rsquo;d logged in normally with 2FA. Some online services do limit the scope of the API by default, but some don&amp;rsquo;t. They ought to.&lt;/p&gt;
&lt;p&gt;For many non-security-minded people, it doesn&amp;rsquo;t even occur to them that enabling API keys cancels their 2FA. Websites ought to display a warning inside a confirmation dialog when users try to create an API key that would circumvent 2FA while they have 2FA enabled, or when they enable 2FA while having an API key.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;all website login schemes ultimately rely on some kind of session cookie, which is similar to an API key in the sense that it is a high-entropy site-issued bearer token. In other words, all website authentication schemes, “2FA” or not, ultimately rely on the ability of a client to be enrolled in and use high-entropy site-issued bearer authentication tokens as the sole criterion of access.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;By logging in, users trade their 2FA for a 1FA session cookie. If the attacker can steal the session cookie, that&amp;rsquo;s all they need to assume control over the account.&lt;/p&gt;
&lt;p&gt;Some online services are keen on this and require an additional 2FA step to change important account settings while logged in, such as account credentials. This extra 2FA step still doesn&amp;rsquo;t make the account fully secure, but it&amp;rsquo;s better to have it than not and many websites don&amp;rsquo;t have it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;There are agreed best practices for the handling of passwords, namely, to not reuse passwords between accounts, use randomly generated passwords, and keep those unique passwords for each account in a password safe. This raises the question: if the industry agrees this is the (more or less only) correct way to handle passwords, why actually allow users to set their own passwords?&lt;/p&gt;
&lt;p&gt;Rather than allowing a user to set their own password, passwords can be issued in exactly the same way as API keys are now: a high-entropy password is randomly generated by the issuing website, and the user is shown the password once only and asked to record it. If the password is lost, a new password must be generated using the same process. The user cannot choose their password, but can get a new randomly generated one in the event of compromise. The password essentially becomes indistinguishable from an API key.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I agree. I also think it would be a good idea to include a notice telling the user to store the token in a password manager. Some might object &amp;ldquo;You can&amp;rsquo;t require users to store randomly generated passwords. Since they can&amp;rsquo;t remember it, they&amp;rsquo;d take a picture of it which would be synced to Google Photos and Apple iCloud. They&amp;rsquo;d write it down in an insecure location. They&amp;rsquo;d save it in a text file which they&amp;rsquo;d accidentally delete. They&amp;rsquo;d do everything except learn to use a password manager.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Based on my IT experience, I completely agree. The average user would simply ignore the advice to use a password manager and do whatever they wanted anyway. But they already do the same with passwords they set themselves. While websites have a duty to take every reasonable step to secure user accounts, in the end, they can&amp;rsquo;t stop users from shooting themselves in the foot if they insist on doing so. So they may as well make things as secure as possible on their end by generating secure user passwords rather than allowing them to set poor ones.&lt;/p&gt;
&lt;p&gt;On the server side, generating secure user passwords would have another benefit that Hugo didn&amp;rsquo;t mention: One could store user passwords run through a single iteration of a cheap, fast &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Hash_function&#34; title=&#34;Hash Function&#34; rel=&#34;external noreferrer&#34;&gt;hash function&lt;/a&gt; rather than using a relatively expensive &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Key_derivation_function&#34; title=&#34;Key Derivation Function&#34; rel=&#34;external noreferrer&#34;&gt;key derivation function&lt;/a&gt; that needs its iteration count constantly updated and requires storing a &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Salt_%28cryptography%29&#34; title=&#34;Cryptographic Salt&#34; rel=&#34;external noreferrer&#34;&gt;salt&lt;/a&gt;. &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Rainbow_table&#34; title=&#34;Rainbow Table&#34; rel=&#34;external noreferrer&#34;&gt;Rainbow tables&lt;/a&gt; and password cracking software would be so useless that no sane attacker would even attempt it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip; With TOTP, knowledge of the secret is proven without sending it to the website. With a site-generated password, knowledge of the secret is proven by sending that secret to the website. This is a slight security benefit to TOTP. It doesn&amp;rsquo;t seem to provide any useful security against a compromised or impersonating website (an impersonating website can just forward the TOTP challenge value to the real website and use it to login as the user), so its main benefit seems to be to avoid having the device the user is logging in as be able to glean the secret, in the event that device is compromised. This is a potential upside, though since on successful login the compromised client device has access to anything gated by that login anyway, the benefit seems dubious.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While I&amp;rsquo;d prefer to use &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Time-based_One-time_Password&#34; title=&#34;Time-Based One-Time Password&#34; rel=&#34;external noreferrer&#34;&gt;TOTP&lt;/a&gt; codes instead of a password for online services, I agree that the security gain would be dubious when compared to secure, server-generated passwords.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Since I don&amp;rsquo;t lose my secrets I&amp;rsquo;m happy to assume responsibility for the possibility of permanently locking myself out in exchange for higher account security and disabling email as the “master key to all accounts”.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Email being the &amp;ldquo;master key to all accounts&amp;rdquo; irks me too. I understand why online services make it so and it may even be necessary as an emergency fallback measure for restoring user account access post server compromise, but &lt;a class=&#34;link link--internal&#34; href=&#34;/2020/10/29/using-email/&#34; title=&#34;Using Email&#34; rel=&#34;noreferrer&#34;&gt;email is insecure&lt;/a&gt; and cannot be secured. 99.99% of users don&amp;rsquo;t even legally own the domain their email is registered under, so they don&amp;rsquo;t own their email either. That means the &amp;ldquo;master key to all their accounts&amp;rdquo; is an identifier they don&amp;rsquo;t own and can be arbitrarily taken away. Not good.&lt;/p&gt;
&lt;p&gt;But if you don&amp;rsquo;t allow users to reset passwords via email, what else is there? SMS codes? &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/08/10/re-phone-numbers-must-die/&#34; title=&#34;Re: Phone numbers must die&#34; rel=&#34;noreferrer&#34;&gt;Phone numbers are even less secure than email.&lt;/a&gt; Security questions require storing sensitive information about users that inevitably gets leaked by hackers.&lt;/p&gt;
&lt;p&gt;What I&amp;rsquo;m about to suggest might sound harsh, but I think it&amp;rsquo;s the best way forward. I think online services should just enforce random server-generated passwords as the only credential required for login and if a user loses it, they have to create a new account.&lt;/p&gt;
&lt;p&gt;I know, I know. People would be getting locked out of their accounts left and right, but I think part of the reason the average user is so incompetent is because online services are designed with the expectation that they are.&lt;/p&gt;
&lt;p&gt;If we want competent users, we should stop catering to the least common denominator. Let&amp;rsquo;s set this bare minimum standard instead: If a user can&amp;rsquo;t figure out how to save their login credentials to a file and create a backup in case of emergency, or at least find a trusted third-party to do it for them, maybe they&amp;rsquo;re not competent enough to use the service.&lt;/p&gt;
&lt;p&gt;If it&amp;rsquo;s important that they be able to access the service even if they&amp;rsquo;re technically uninclined, then the service should be available through offline means.&lt;/p&gt;
&lt;p&gt;There are online services that already use secure, server-generated passwords, such as the VPN company &lt;a class=&#34;link link--external&#34; href=&#34;https://mullvad.net/en/account/create&#34; rel=&#34;external noreferrer&#34;&gt;Mullvad&lt;/a&gt;. Granted, it&amp;rsquo;s easier for them to pull it off given the type of service they offer, but online services have to set the bar somewhere or else website login will continue to be inconsistent and suck.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip; a site which requires a password and email verification for each login is not 2FA if access to the same email account can be used to reset the password; this scheme is no more secure than just requiring email verification per login. Another example is if a site tries to insist on verifying logins using SMS messages sent to a user&amp;rsquo;s phone number. Since this (particularly bad) design is based on the false premise that a user&amp;rsquo;s phone number is more secure than an email account or any password, such sites will often allow a reset of all the other factors (like a password) by access to this phone number alone. This is quite literally 1FA, just with a different single factor.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think the reason websites&amp;rsquo; login systems often seem confused about what they&amp;rsquo;re doing and we get all these strange, poorly-designed login schemes is that they&amp;rsquo;re trying to accomplish two mutually exclusive goals simultaneously:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make certain that tech-illiterate users never get locked out of their accounts&lt;/li&gt;
&lt;li&gt;Secure user accounts and associated data against attackers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can try to strike a balance between these two options with &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/08/10/re-against-risk-based-authentication-or-why-i-wouldnt-trust-google-cloud/&#34; title=&#34;Re: Against risk-based authentication (or, why I wouldn&amp;#39;t trust Google Cloud)&#34; rel=&#34;noreferrer&#34;&gt;risk-based authentication&lt;/a&gt;, but you&amp;rsquo;ll just end up with indeterminate login criteria which locks out tech-illiterate users and/or collecting sensitive user data which &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/01/18/consumer-data-protection-is-a-distraction/&#34; title=&#34;Consumer Data Protection is a Distraction&#34; rel=&#34;noreferrer&#34;&gt;you cannot secure in the long run&lt;/a&gt;. Supporting &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/WebAuthn&#34; rel=&#34;external noreferrer&#34;&gt;Web Authentication&lt;/a&gt; is a good idea, but the tech-illiterate user will get locked out when their &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/FIDO_Alliance&#34; rel=&#34;external noreferrer&#34;&gt;FIDO&lt;/a&gt; device breaks or gets lost or they buy a new computer with a different &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Trusted_Platform_Module&#34; rel=&#34;external noreferrer&#34;&gt;TPM&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In conclusion, I&amp;rsquo;m highly skeptical that there&amp;rsquo;s any way of creating a secure online login system that also ensures tech-illiterate users never get locked out. Designing a login system around the assumption that the user can&amp;rsquo;t even safeguard a password or hardware key is a total non-starter for account security and teaches users that it&amp;rsquo;s okay not to know what they&amp;rsquo;re doing because online services cater to the clueless.&lt;/p&gt;
&lt;p&gt;Online services should instead start with the assumption that the user has a basic level of computer competence and force them to use passwords that are securely generated on the server-side with an optional 2-factor TOTP instead of cooking up poorly-designed, misleading, insecure, non-deterministic, data-hazardous login systems.&lt;/p&gt;
&lt;p&gt;Long term, we need to deprecate passwords and move towards asymmetric keys for authentication. There is an attempt to bring asymmetric-key-based authentication to the Web with the Web Authentication standard, but almost no one has FIDO devices, a lot of people still have old CPUs without TPMs, and I haven&amp;rsquo;t found any purely software-based solution for using WebAuthn.&lt;/p&gt;
&lt;p&gt;So, for the moment, forcing WebAuthn on users seems less practical than forcing secure server-generated passwords onto them. Until WebAuthn becomes a viable option or the Web itself is replaced with a &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/02/14/article-the-internet-is-broken/&#34; title=&#34;[Article] The Internet Is Broken&#34; rel=&#34;noreferrer&#34;&gt;more secure standard&lt;/a&gt;, secure server-generated passwords would be a good next step.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/08/10/re-against-risk-based-authentication-or-why-i-wouldnt-trust-google-cloud/</id>
        <title type="html">Re: Against risk-based authentication (or, why I wouldn&#39;t trust Google Cloud)</title>
        <updated>2023-08-10T00:00:01+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/08/10/re-against-risk-based-authentication-or-why-i-wouldnt-trust-google-cloud/" />
        <content type="html">&lt;p&gt;I found another &lt;a class=&#34;link link--external&#34; href=&#34;https://www.devever.net/~hl/logindenial&#34; title=&#34;Against risk-based authentication (or, why I wouldn&amp;#39;t trust Google Cloud)&#34; rel=&#34;external noreferrer&#34;&gt;article&lt;/a&gt; written by Hugo Landau which discusses the unavailability of risk-based authentication (non-deterministic login). For those who don&amp;rsquo;t want to read the entire article, here&amp;rsquo;s a short quote which captures the essence of Hugo&amp;rsquo;s critique:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The problem is precisely this: The credentials you require to access a Google account are essentially indeterminate. Supposedly, for a simple Google account without 2FA enabled, knowledge of the account email and password should be sufficient to access an account; except sometimes, they aren&amp;rsquo;t. Sometimes, Google might randomly decide your login attempt is suspicious, and demand you complete some additional verification step.&lt;/p&gt;
&lt;p&gt;This sounds potentially innocuous until you then realise that there&amp;rsquo;s no guarantee you can actually complete this additional verification step. There are to my recollection numerous stories of people being locked out of accounts which they have the passwords for because Google has decided that things are suspicious and having the password is not enough.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Apart from the availability issue that Hugo brought up, my problem with risk-based authentication is that it usually relies on collecting and indefinitely storing sensitive data about the user for later comparison, which violates their privacy and creates needless risk of sensitive data exposure.&lt;/p&gt;
&lt;p&gt;Hopefully risk-based authentication will fade away and online services will switch to better alternatives.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/08/10/re-phone-numbers-must-die/</id>
        <title type="html">Re: Phone numbers must die</title>
        <updated>2023-08-10T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/08/10/re-phone-numbers-must-die/" />
        <content type="html">&lt;p&gt;This entry is a commentary on the article written by Hugo Landau titled &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.devever.net/~hl/e164&#34; rel=&#34;external noreferrer&#34;&gt;Phone numbers must die&lt;/a&gt;&amp;rdquo;. I&amp;rsquo;ll be quoting from it heavily. Let&amp;rsquo;s get started.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I neither have, nor want, a E.164 number (phone number) at this time, so services which demand I offer them one are making an invalid assumption and, advertently or inadvertently, telling me to get lost.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Very early on in the article is the first criticism of E.164 numbers. Hugo doesn&amp;rsquo;t explicitly say so here, but it&amp;rsquo;s implied that they are frustrated that so many services require a phone number.&lt;/p&gt;
&lt;p&gt;I know what Hugo is going through here. As someone who also doesn&amp;rsquo;t want a phone number, I have struggled to avoid services which require one. My biggest obstacle so far has been banking. All the banks in Mexico require not only a phone number, but also a phone app, despite the fact that banks predate phones and phones have never been needed in the past to have a bank account. It took me some time to figure this out though.&lt;/p&gt;
&lt;p&gt;Edit (20-03-2024): It isn&amp;rsquo;t 100% fair to say that all banks in Mexico require a phone app, but it isn&amp;rsquo;t far from the truth. BanCoppel is the only major bank I&amp;rsquo;ve found to be semi-usable without downloading a proprietary app. If there are other banks which don&amp;rsquo;t require an app, they certainly don&amp;rsquo;t advertise it. Even at BanCoppel, customers without the app have limited account functionality and interactions with bank employees are more difficult since they&amp;rsquo;re so accustomed to app-using customers.&lt;/p&gt;
&lt;p&gt;In the first bank I tried, I was able to successfully make an account. I asked if a phone was required before I made the account and was told no. They said I could use the web interface. As I would find out later, a proprietary phone app (which also required a phone number) was needed to log into the web interface. I tried the app on someone else&amp;rsquo;s phone and found out it uses a dizzying array of seemingly redundant token-based authentication mechanisms which make it seem like whoever designed it didn&amp;rsquo;t understand the concept of a threat model. After looking into the app further, I discovered it included face-scanning, location tracking, and AI-based behavior tracking. Needless to say, I closed that account.&lt;/p&gt;
&lt;p&gt;After that, I walked into another bank branch where there was a sign saying that one had to make an appointment over WhatsApp before talking to someone. I just walked out.&lt;/p&gt;
&lt;p&gt;In the next bank, I was very clear that I didn&amp;rsquo;t want to use a phone or phone number. I was told that all banks in Mexico require proprietary smartphone apps. By refusing to use one, I&amp;rsquo;d be unbanked.&lt;/p&gt;
&lt;p&gt;As if that weren&amp;rsquo;t bad enough, I found out that the bank apps strictly limit the configuration of the phone for &amp;ldquo;security reasons&amp;rdquo;, making it very difficult to run them on privacy-respecting roms. It&amp;rsquo;s as if they expect you not to exercise control over your phone, and discriminate against those who do. During testing, I did successfully get one working on stock Android after several hours of fiddling with settings and installing mods to spoof system information. The average user would have no chance.&lt;/p&gt;
&lt;p&gt;In the end, since my only alternative was being unbanked, I signed up for a fintech company which doesn&amp;rsquo;t require a phone app. It still officially requires a phone number, but seems to work without one. It&amp;rsquo;s definitely not a permanent solution. In the future, I hope to find a more permanent solution that doesn&amp;rsquo;t require a phone nor a phone number in any capacity.&lt;/p&gt;
&lt;p&gt;After &amp;ldquo;Phone numbers must die&amp;rdquo;, Hugo wrote another article titled &amp;ldquo;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.devever.net/~hl/phonebank&#34; rel=&#34;external noreferrer&#34;&gt;Having a bank account without having a phone number&lt;/a&gt;&amp;rdquo;, the first part of which recounts their own story of achieving phoneless banking in the UK. Apparently it&amp;rsquo;s still feasible over there. Go ahead and read it if you&amp;rsquo;re curious.&lt;/p&gt;
&lt;p&gt;But phone numbers being mandatory doesn&amp;rsquo;t just leave phoneless people unbanked. It creates problems for attending university, socializing, finding a job, and other things which have never historically depended on having a phone number.&lt;/p&gt;
&lt;p&gt;I think this brings up the important question of why people like Hugo and I go through so much trouble not to have a phone number when it&amp;rsquo;s just easier to have one. What reason is there not to have one? As it turns out, there are many. Here&amp;rsquo;s one of Hugo&amp;rsquo;s reasons:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;Though I could trivially obtain a new SIM card to put in an old dumbphone, and with it a new E.164 number, this would force me to engage with the small number of carriers with spectrum and their variously obnoxious business practices, or the larger number of MVNOs which resell those carriers and are thereby forced to perpetuate their business practices, and thus can never truly be better than them.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As Hugo states, one of the reasons it&amp;rsquo;s a problem that having a phone number has become a de-facto requirement is that telcos are evil oligopolies that fuck over their customers. Why should you have to give money to evil telcos just to get a bank account, or a job, or a university degree?&lt;/p&gt;
&lt;p&gt;Given that the practical choice for the vast majority of people is between having a phone and phone number or being destitute, the telco contracts and software license agreements on phones are &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/08/21/manufacturing-agreement/&#34; title=&#34;Manufactured Agreement&#34; rel=&#34;noreferrer&#34;&gt;manufactured agreement&lt;/a&gt;. It&amp;rsquo;s a bastardization of real consent because there is no real alternative. When people sign these contracts, they&amp;rsquo;re not agreeing with the terms set by telcos or software vendors. They&amp;rsquo;re agreeing that they need a job. They&amp;rsquo;re agreeing that they want to participate in society. And they&amp;rsquo;re agreeing not to be left behind.&lt;/p&gt;
&lt;p&gt;I would just add that requiring telephone numbers for performing basic functions in society is also bad because it necessitates having a phone. Yes, online telephony APIs exist, but almost nobody uses them for a personal phone number. I&amp;rsquo;ve already made quite a detailed journal entry talking about &lt;a class=&#34;link link--internal&#34; href=&#34;/2021/12/26/why-i-dont-have-a-smartphone/&#34; title=&#34;Why I Don&amp;#39;t Have a Smartphone&#34; rel=&#34;noreferrer&#34;&gt;the harms of smartphones&lt;/a&gt;, but even dumbphones necessarily have 24/7 location tracking (that&amp;rsquo;s how the telephone network works). People shouldn&amp;rsquo;t have to submit to the surveillance or the addictive nature of phones just to function in society.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The E.164 namespace addresses an international, and rather opaque, network of companies operating dubious business and billing practices. Many networks are being converted to packet-switched, VoIP architectures internally, but the chronological billing model borne of the economics of circuit-switched telecoms is kept alive as a facade, it no doubt being more profitable. In some ways no company has any power to rise above this, because they have to route calls to other networks which operate in the same way. The global PSTN thus forms a dubious world map of private fiefdoms, each with their own billing practices. The PSTN is never going to be weaned off the billing model of hundred-page price lists listing E.164 prefixes and associated per-unit-time call costs, despite the Internet by its very existence having proven that there are better ways to pay for and operate a global communications network. I object to the continued existence of this network, operated as it is.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here, Hugo is shifting from criticizing phone numbers to the global circuit-switched telephone network itself. The first part of the criticism is technical. Hugo points out that circuit-switching is so outdated that telecoms don&amp;rsquo;t even use it internally because of its inefficiency. Instead, they use Voice over IP, a packet-switched internet protocol. The packet-switched internet should have superseded the telephone network years ago, but the telephone network still remains alive today.&lt;/p&gt;
&lt;p&gt;The second part of the criticism complains that the reason the telephone network remains alive is so that the oligopolistic telecoms can continue to greedily extract money from customers. There&amp;rsquo;s no technical reason that the telephone network shouldn&amp;rsquo;t be gone by now. We would all do just fine without it and without E.164 numbers. Some internet-based replacement for E.164 numbers could easily be realized.&lt;/p&gt;
&lt;p&gt;While I completely agree with Hugo&amp;rsquo;s technical criticisms, I would point out that while the internet is superior to the telephone network, it also faces the same problem of oligopolistic control enforced by the network effect. Like the telephone network, the internet is largely controlled by only a few entities. The reason for this centralization is because &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/02/14/article-the-internet-is-broken/&#34; title=&#34;[Article] The Internet is Broken&#34; rel=&#34;noreferrer&#34;&gt;the network stack is broken and outdated&lt;/a&gt;. We&amp;rsquo;ve known for decades about ways to improve it and create &lt;a class=&#34;link link--external&#34; href=&#34;https://www.gnunet.org/en/&#34; title=&#34;GNUnet&#34; rel=&#34;external noreferrer&#34;&gt;a more secure, decentralized internet&lt;/a&gt;, but it&amp;rsquo;s hard because, just like with the telephone network, there are vested interests who stand to lose power and money if the technology improves.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The E.164 namespace is not secure, not only because carriers are prone to randomly reassign disused numbers. Not too many months ago were articles posted on HN about how a targeted attacker managed to obtain control of a organization&amp;rsquo;s staff member&amp;rsquo;s highly used E.164 number, probably just via social engineering. Since many accounts systems entertain the demonstrably false idea that E.164 numbers represent a more secure point of contact than other identifiers, such as an e. mail address, this creates a significant vulnerability, especially where users are forced to offer E.164 numbers unto this end.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Fully agree. When I see online services using SMS as a form of multi-factor authentication, it drives me up a wall. SMS codes are not secure authentication! In my journal entry &amp;ldquo;&lt;a class=&#34;link link--internal&#34; href=&#34;/2022/08/05/comparing-multi-factor-authentication-methods/&#34; rel=&#34;noreferrer&#34;&gt;Comparing Multi-Factor Authentication Methods&lt;/a&gt;&amp;rdquo;, I rated SMS code security as &amp;ldquo;weak&amp;rdquo; precisely because texts can be intercepted relatively easily via SIM swapping. As a user, there is no way to prevent this. The burden to protect your phone number rests entirely on the side of telcos, who have proven easy to socially engineer.&lt;/p&gt;
&lt;p&gt;Also in my journal entry regarding multi-factor authentication, I rated email tokens as &amp;ldquo;fair&amp;rdquo; security. That is, perhaps not as strong as something like time-based one-time passwords when properly used (stored on a separate device), but definitely better than SMS codes. Hugo seems to agree with me about that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;There are an array of procedural hazards regarding the security of ICANN domains, relating to a variety of suspension and forced-transfer-of-ownership procedures, such as those used for trademark disputes. It&amp;rsquo;s not a very accountable system, and one that operates independently of the courts, nor are ICANN domains something one truly owns. Nonetheless, understanding the threats posed to ICANN domains one controls, I trust and prefer them a lot more than E.164 numbers.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve also expressed the opinion that &lt;a class=&#34;link link--internal&#34; href=&#34;/2022/09/07/icannot-be-trusted/&#34; title=&#34;ICANNot Be Trusted&#34; rel=&#34;noreferrer&#34;&gt;ICANN can&amp;rsquo;t be trusted&lt;/a&gt; and that you never truly &amp;ldquo;own&amp;rdquo; ICANN domains. But, I also trust and prefer ICANN domains over E.164 numbers.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Probably the most laughable instance of telephone centricity however was when in a moment of madness I tried to sign up for a Twitter account. Upon submission of the registration form the Twitter website told me to sign up via the Twitter smartphone application instead, which was a truly bizarre non sequitur given that I hadn&amp;rsquo;t provided it any evidence I had a smartphone in the first place. Since in fact I do not, it was essentially telling me to get lost. What was hilarious however was that I succeeded in creating the account by running the Twitter application inside an (obviously E.164 number-free) Android VM, essentially proving that the whole thing was a spectacle of security theatre.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve also used Android VMs to avoid smartphone use. I once helped someone set up an Android VM with Microsoft&amp;rsquo;s multi-factor authenticator app so they wouldn&amp;rsquo;t have to mix their work data with their personal smartphone. I understand if the developers are just targeting mobile, but intentionally forcing users to use mobile apps to accomplish certain flows is awful design. Like Hugo said, what if the user doesn&amp;rsquo;t have a phone?&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s particularly frustrating about this is that, as a user, I have no indication ahead of time which of the flows require the mobile app and which I can do on the web or desktop. It&amp;rsquo;s also not something company employees are used to thinking about, so they generally can&amp;rsquo;t give straight answers regarding which part of their services require a phone either. It&amp;rsquo;s like the example I mentioned with the bank that told me that I didn&amp;rsquo;t need a phone and then I found out later that I couldn&amp;rsquo;t even log in without their mobile app.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;What really irritates me about these demands for E.164 numbers, however, is how they represent an abandonment of what I would describe as &amp;ldquo;internet nativity&amp;rdquo;. When Google demands an E.164 number, they&amp;rsquo;re not demanding it despite the fact that E.164 is a somewhat closed, opaque network, but because of it. Basically everything bad about the E.164 namespace and its constituent organizations is precisely what makes it attractive to organizations for use cases like these. They prop up an opaque network by relying on it, because they find the very openness of the internet troublesome. This essentially represents a wilful vacation of the internet as the one true network, by an organization which is iconically associated with the internet itself. It&amp;rsquo;s a depressing move to see.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Internet services require a phone number because they cost money and the user probably already has one. So it makes for a decent barrier against spam that doesn&amp;rsquo;t make the user spend extra money and doesn&amp;rsquo;t leave out (most) legitimate users. But as Hugo points out, coupling E.164 numbers with internet services detracts from &amp;ldquo;internet nativity&amp;rdquo;, creating a dependency on an opaque network run by oligopolies following questionable business practices.&lt;/p&gt;
&lt;p&gt;If you run an online service or business which strictly depends on E.164 numbers and there&amp;rsquo;s no legal regulation forcing you to, then you&amp;rsquo;re just wrong. There are alternative ways to prevent spam and E.164 numbers certainly shouldn&amp;rsquo;t be used for authentication. There&amp;rsquo;s no excuse for requiring them. So please stop propping up this shite network and let phone numbers die already.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/07/18/copyright-versus-freedom-of-speech/</id>
        <title type="html">Copyright Versus Freedom of Speech</title>
        <updated>2023-07-18T00:00:01+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/07/18/copyright-versus-freedom-of-speech/" />
        <content type="html">&lt;p&gt;Almost all debates about copyright leave out a crucial argument against it, perhaps even the strongest one.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://www.hyphanet.org/&#34; rel=&#34;external noreferrer&#34;&gt;Hyphanet&lt;/a&gt;, a peer-to-peer platform for censorship-resistant and privacy-respecting publishing and communication, spells out this crucial argument in their &lt;a class=&#34;link link--external&#34; href=&#34;https://www.hyphanet.org/pages/about.html#and-what-of-copyright&#34; title=&#34;Hyphanet: And what of copyright?&#34; rel=&#34;external noreferrer&#34;&gt;about page&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The core problem with copyright is that enforcement of it requires monitoring of communications, and you cannot be guaranteed free speech if someone is monitoring everything you say. This is important, most people fail to see or address this point when debating the issue of copyright, so let me make it clear:&lt;/p&gt;
&lt;p&gt;You cannot guarantee freedom of speech and enforce copyright law&lt;/p&gt;
&lt;p&gt;It is for this reason that Hyphanet, a system designed to protect Freedom of Speech, must prevent enforcement of copyright.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the past, there was a stronger distinction between distributors and distributees of copyrighted media. The distributees didn&amp;rsquo;t themselves have the means to redistribute it on a mass scale. So this argument didn&amp;rsquo;t apply because one didn&amp;rsquo;t need to conduct massive surveillance on communications to enforce copyright law.&lt;/p&gt;
&lt;p&gt;But now we have the internet and peer-to-peer networks. Anyone can download from or upload to anyone else. Within this environment, the only way to ensure copyright law isn&amp;rsquo;t being broken is to employ a digital surveillance dragnet on everyone. This should be the first and last point brought up when debating copyright. Until someone figures out a way to enforce copyright without either crippling the open internet or violating people&amp;rsquo;s privacy and freedom of speech, no further refutation is necessary.&lt;/p&gt;
&lt;p&gt;The Hyphanet about page then goes on to make more standard arguments against copyright. I won&amp;rsquo;t quote these points since they&amp;rsquo;re a dime a dozen among those who are against copyright, but I&amp;rsquo;ll give a quick summary to close:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copyright is ineffective at rewarding artists&lt;/li&gt;
&lt;li&gt;There are better alternatives for rewarding artists than copyright&lt;/li&gt;
&lt;li&gt;Ending copyright wouldn&amp;rsquo;t be the end of professional art&lt;/li&gt;
&lt;/ul&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/07/08/explore-neocities/</id>
        <title type="html">Explore Neocities!</title>
        <updated>2023-07-08T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/07/08/explore-neocities/" />
        <content type="html">&lt;p&gt;This story starts with GeoCities. I&amp;rsquo;ll let &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/GeoCities&#34; rel=&#34;external noreferrer&#34;&gt;Wikipedia&lt;/a&gt; do the explaining:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;GeoCities, later Yahoo! GeoCities, was a Web hosting service that allowed users to create and publish websites for free and to browse user-created websites by their theme or interest. GeoCities was started in November 1994 by David Bohnett and John Rezner, and was named Beverly Hills Internet briefly before being renamed GeoCities. On January 28, 1999, it was acquired by Yahoo!, at which time it was reportedly the third-most visited website on the World Wide Web.&lt;/p&gt;
&lt;p&gt;In its original form, site users selected a &amp;ldquo;city&amp;rdquo; in which to list the hyperlinks to their Web pages. The &amp;ldquo;cities&amp;rdquo; were named after real cities or regions according to their content: For example, computer-related sites were placed in &amp;ldquo;SiliconValley&amp;rdquo; and those dealing with entertainment were assigned to &amp;ldquo;Hollywood&amp;rdquo;, hence the name of the site. Soon after its acquisition by Yahoo!, this practice was abandoned in favour of using the Yahoo! member names in the URLs.&lt;/p&gt;
&lt;p&gt;In April 2009, the company announced that it would end the United States GeoCities service on October 26, 2009.&lt;/p&gt;
&lt;p&gt;There were at least 38 million pages displayed by GeoCities before it was terminated, most user-written. The GeoCities Japan version of the service endured until March 31, 2019.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The third most visited website on the World Wide Web. 38 million mostly user-written pages before it was terminated in 2009. Just wow. That&amp;rsquo;s impressive. I was only ten years old when GeoCities shut down, so it was before my time. I never got to experience it in its prime.&lt;/p&gt;
&lt;p&gt;Thankfully it was archived by &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Internet_Archive&#34; rel=&#34;external noreferrer&#34;&gt;The Internet Archive&lt;/a&gt; and others before being shut down. So now there are &lt;a class=&#34;link link--external&#34; href=&#34;https://geocities.restorativland.org&#34; title=&#34;GeoCities mirror&#34; rel=&#34;external noreferrer&#34;&gt;mirrors&lt;/a&gt; out there which still allow navigating GeoCities in case you wish to browse. There&amp;rsquo;s also a &lt;a class=&#34;link link--external&#34; href=&#34;magnet:?xt=urn:btih:2DC18F47AFEE0307E138DAB3015EE7E5154766F6&amp;amp;dn=Geocities%20-%20The%20PATCHED%20Torrent&amp;amp;tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&amp;amp;tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&amp;amp;tr=udp%3A%2F%2Ftracker.bittor.pw%3A1337%2Fannounce&amp;amp;tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&amp;amp;tr=udp%3A%2F%2Fbt.xxx-tracker.com%3A2710%2Fannounce&amp;amp;tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce&amp;amp;tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&amp;amp;tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&amp;amp;tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&amp;amp;tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&amp;amp;tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&#34; title=&#34;GeoCities Torrent&#34; rel=&#34;external noreferrer&#34;&gt;torrent&lt;/a&gt; available for download containing archived GeoCities.&lt;/p&gt;
&lt;p&gt;In my &lt;a class=&#34;link link--internal&#34; href=&#34;/2022/04/26/gemini-appreciation-entry/&#34; title=&#34;Gemini Appreciation Entry&#34; rel=&#34;noreferrer&#34;&gt;Gemini appreciation entry&lt;/a&gt;, I briefly mentioned a site called &lt;a class=&#34;link link--external&#34; href=&#34;https://neocities.org/browse&#34; rel=&#34;external noreferrer&#34;&gt;Neocities&lt;/a&gt;, but decided that it deserves it&amp;rsquo;s own entry, which is what this is. Neocities is what it sounds like: a continuation of the idea of GeoCities. Unlike other site-creation websites which come with predefined templates with professional site designs, Neocities targets site designers who have a passion and interest for making fun websites, not just profit.&lt;/p&gt;
&lt;p&gt;The goal of Neocities is to revive the Web of old, where people made their own creative and fun websites instead of being herded into lame corporate-controlled addictive social media to express themselves. It allows anyone to create their own free website, express themselves online, and it makes the Web fun again.&lt;/p&gt;
&lt;p&gt;While I ultimately think that the Web should be replaced with a better protocol, I still very much enjoy browsing Neocities. There&amp;rsquo;s all sorts of zany websites there and it&amp;rsquo;s much more personal than anything you can find on the big search engines.&lt;/p&gt;
&lt;p&gt;Back in the day when the Web wasn&amp;rsquo;t a hypercommercialized advertising and tracking cesspool, people used to surf the Web. You followed &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Webring&#34; title=&#34;Webring&#34; rel=&#34;external noreferrer&#34;&gt;webrings&lt;/a&gt; from one website to the next and it was fun. Maybe you&amp;rsquo;d find a deep conspiracy, or read someone&amp;rsquo;s blog about their twenty cats, or take a virtual tour of someone&amp;rsquo;s garden. You never knew what you&amp;rsquo;d find, but every website you visited was personal. It was someone&amp;rsquo;s way of expressing themselves. It was a way of connecting with other people.&lt;/p&gt;
&lt;p&gt;Sure people express themselves today with social media, but it&amp;rsquo;s not how it used to be. People no longer surf the Web. They browse it, often just mindlessly scrolling to keep the dopamine levels up. Their creative freedom is more limited. Everyone&amp;rsquo;s profile pages look almost exactly alike. The Web is no longer the wild west it used to be. Now it&amp;rsquo;s just ruled by companies that want to mine our data and waste our time with ads.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why I appreciate Neocities. So check it out! (and maybe even make a site!)&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/07/06/the-problem-with-grapheneos/</id>
        <title type="html">The Problem With GrapheneOS</title>
        <updated>2023-07-06T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/07/06/the-problem-with-grapheneos/" />
        <content type="html">&lt;p&gt;&lt;a class=&#34;link link--external&#34; href=&#34;https://grapheneos.org&#34; rel=&#34;external noreferrer&#34;&gt;GrapheneOS&lt;/a&gt; offers far more privacy and security than the Googled vendor-and-carrier-modified versions of Android that most Android users have. This would still be true even if people continued using the same proprietary apps after transitioning to GrapheneOS. For that reason, I don&amp;rsquo;t want this entry to discourage anyone who already has a Pixel from flashing GrapheneOS.&lt;/p&gt;
&lt;p&gt;However, I think the way GrapheneOS is marketed is potentially harmful. GrapheneOS is marketed as private and secure despite it only supporting devices with proprietary firmware and blobs.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;But isn&amp;rsquo;t proprietary firmware a problem with all custom Android roms? Why pick on GrapheneOS?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Yes it&amp;rsquo;s a problem for all custom Android roms, but I&amp;rsquo;m picking on GrapheneOS in particular for several reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It runs &lt;em&gt;exclusively&lt;/em&gt; on devices with proprietary firmware&lt;/li&gt;
&lt;li&gt;Its website reaches many in the privacy/security community&lt;/li&gt;
&lt;li&gt;Its website emphasizes its privacy and security more than any other custom Android rom&lt;/li&gt;
&lt;li&gt;Its website documents how proprietary components are used to &amp;ldquo;increase&amp;rdquo; device security&lt;/li&gt;
&lt;li&gt;Its website fails to acknowledge that the proprietary firmware that GrapheneOS-supporting phones run is a risk to privacy and security&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In my opinion, calling your operating system (OS) &amp;ldquo;private and secure&amp;rdquo; while not acknowledging the risk of the proprietary blobs required to run it is misleading. It&amp;rsquo;s one thing if your OS can also run on open hardware or the proprietary firmware it requires is very limited, but it&amp;rsquo;s another thing entirely when your OS only runs on very closed hardware. Free software, privacy, and security go hand in hand. You can&amp;rsquo;t just ignore hundreds of megabytes of unauditable proprietary blobs that run at boot time and still pretend it&amp;rsquo;s a secure device just because you have hardened malloc.&lt;/p&gt;
&lt;p&gt;Also, there&amp;rsquo;s another problem with the proprietary firmware which GrapheneOS doesn&amp;rsquo;t sufficiently address in my opinion. Since GrapheneOS requires up-to-date proprietary firmware to support devices, it&amp;rsquo;s entirely dependent on &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Original_equipment_manufacturer&#34; title=&#34;Original Equipment Manufacturer&#34; rel=&#34;external noreferrer&#34;&gt;OEMs&lt;/a&gt; to update that firmware. But it&amp;rsquo;s in the OEM&amp;rsquo;s economic self-interest to stop providing support as soon as they&amp;rsquo;re not legally obligated to.&lt;/p&gt;
&lt;p&gt;Why is this GrapheneOS&amp;rsquo; problem? Well if privacy-conscious people are promoting GrapheneOS, some might purchase new Pixel phones to keep up with GrapheneOS&amp;rsquo; releases. This funnels more money into proprietary hardware, perpetuating the cycle of endless e-waste rather than funding open hardware, which is less wasteful and clearly the right direction for privacy and security. GrapheneOS could warn people against buying new Pixel phones just to install their OS and instead suggest supporting open hardware.&lt;/p&gt;
&lt;p&gt;As for the privacy/security aspect, what I&amp;rsquo;d like to see on GrapheneOS&amp;rsquo; website is something like what &lt;a class=&#34;link link--external&#34; href=&#34;https://www.replicant.us&#34; rel=&#34;external noreferrer&#34;&gt;Replicant&lt;/a&gt;, another Android fork, has. Replicant has a &lt;a class=&#34;link link--external&#34; href=&#34;https://www.replicant.us/freedom-privacy-security-issues.php&#34; title=&#34;Mobile Freedom, Privacy, and Security Issues&#34; rel=&#34;external noreferrer&#34;&gt;lengthy article&lt;/a&gt; detailing how the proprietary firmware and blobs plaguing modern smartphones threaten mobile privacy and security in the general case and specifically for Replicant-supported devices. It shows that the developers clearly understand &lt;a class=&#34;link link--external&#34; href=&#34;https://www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor&#34; title=&#34;Replicant developers find and close Samsung Galaxy backdoor&#34; rel=&#34;external noreferrer&#34;&gt;the problem&lt;/a&gt; with proprietary firmware.&lt;/p&gt;
&lt;p&gt;In conclusion, GrapheneOS should include a page like Replicant&amp;rsquo;s on their site detailing the potential dangers of the proprietary firmware on their supported devices and encouraging people to purchase maximally open hardware alternatives if possible.&lt;/p&gt;
&lt;p&gt;Finally, I know I&amp;rsquo;ve used the terms &amp;ldquo;firmware&amp;rdquo; and &amp;ldquo;blobs&amp;rdquo; interchangeably even though they&amp;rsquo;re not interchangeable. I don&amp;rsquo;t think it affects the point I&amp;rsquo;m making, but I&amp;rsquo;m not an expert in this topic. So I&amp;rsquo;m happy to take criticism from someone who knows more and make corrections or clarifications if necessary.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://nicholasjohnson.ch/2023/07/04/re-bullshit-js/</id>
        <title type="html">Re: bullshit.js</title>
        <updated>2023-07-04T00:00:00+0000</updated>
        <link href="https://nicholasjohnson.ch/2023/07/04/re-bullshit-js/" />
        <content type="html">&lt;p&gt;People in &lt;a class=&#34;link link--internal&#34; href=&#34;/2023/06/30/fuck-advertising/&#34; title=&#34;Fuck Advertising&#34; rel=&#34;noreferrer&#34;&gt;advertising&lt;/a&gt;, marketing, &lt;a class=&#34;link link--external&#34; href=&#34;https://en.wikipedia.org/wiki/Search_engine_optimization&#34; rel=&#34;external noreferrer&#34;&gt;SEO&lt;/a&gt;, and other bullshit industries have littered the web with phrases that sound significant but don&amp;rsquo;t actually communicate anything.&lt;/p&gt;
&lt;p&gt;A while back I discovered this amusing JavaScript program called &lt;a class=&#34;link link--external&#34; href=&#34;https://github.com/mourner/bullshit.js&#34; rel=&#34;external noreferrer&#34;&gt;bullshit.js&lt;/a&gt; which you can run in the browser to replace some of that marketing BS with the word &amp;ldquo;bullshit&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The official bullshit.js webpage includes a bookmark link which is vulnerable to &lt;a class=&#34;link link--external&#34; href=&#34;https://owasp.org/www-community/attacks/xss/&#34; title=&#34;Cross Site Scripting Attack&#34; rel=&#34;external noreferrer&#34;&gt;xss&lt;/a&gt;. Here&amp;rsquo;s my patched version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;javascript&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(){&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;d&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;document,&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;d&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;createElement&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;script&amp;#39;&lt;/span&gt;);&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;crossOrigin&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;anonymous&amp;#39;&lt;/span&gt;;&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;integrity&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sha256-J3uYBSO4XnmUCTfYH458SPL2Cp+wlPOnt64DreZjAtw=&amp;#39;&lt;/span&gt;;&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://unpkg.com/@mourner/bullshit@1.2.0/bullshit.js&amp;#39;&lt;/span&gt;;&lt;span style=&#34;color:#a6e22e&#34;&gt;d&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;body&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;appendChild&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;);}())
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Enjoy.&lt;/p&gt;
</content>
    </entry>
</feed>
