<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jackie&#39;s Blog</title>
    <link>https://jackiejude.me/</link>
    <description>Recent content on Jackie&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Copyright (C) 2026 Jackie Jude</copyright>
    <lastBuildDate>Fri, 23 Jan 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jackiejude.me/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Non Sum Qualis ERAM theory - Deltarune</title>
      <link>https://jackiejude.me/posts/deltarune-eram-theory/</link>
      <pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/deltarune-eram-theory/</guid>
      <description>&lt;p&gt;Deltarune fans are asking, what&amp;rsquo;s the deal with this character called &lt;a href=&#34;https://deltarune.fandom.com/wiki/Eram&#34;&gt;ERAM&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://jackiejude.me/img/non-sum-qualis.png&#34;&#xA;    alt=&#34;Art by @unusualartistic.bsky.social&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;Art by @unusualartistic.bsky.social&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
    </item>
    <item>
      <title>Chapter 3: Supplemental</title>
      <link>https://jackiejude.me/fiction/the-nothing/chapter3/</link>
      <pubDate>Sat, 13 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/fiction/the-nothing/chapter3/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://jackiejude.me/img/Zines/chapter4/INNERFRONT.png&#34; alt=&#34;As promised, here’s one of the files from the flash drive: a drawing of a woman with writing over it that says “Jackie, please do not write chapter three of The Nothing, I’ve been having nightmares since chapter two and I’m afraid you’re going to bring something horrible into this world”&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://jackiejude.me/img/Zines/chapter4/1.png&#34; alt=&#34;huh, “The Nothing”, I’ll check if there are any files here referencing that name… (a picture of a window and blinds)&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter 4 (but actually like 6 or something)</title>
      <link>https://jackiejude.me/e-zines/chapter4/</link>
      <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/chapter4/</guid>
      <description>&lt;img src=&#34;../../img/Zines/chapter4/FRONT.png&#34;  alt=&#34;Trapped in the Zine ch 4 (picture of sunset, pink clouds, and a qr code)&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/chapter4/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter 2: Snow Duplication Glitch</title>
      <link>https://jackiejude.me/fiction/the-nothing/chapter2/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/fiction/the-nothing/chapter2/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://archiveofourown.org/works/75142801/chapters/196370961&#34;&gt;Read on AO3&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;archivist&#34;&gt;Archivist&lt;/h1&gt;&#xA;&lt;p&gt;&amp;ldquo;You wanted to see me boss?&amp;rdquo;, Tim said, entering Jon&amp;rsquo;s office.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;I need the statement of David Ramao&amp;rdquo;, Jon said.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Who?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;David Ramao, husband of Andre Ramao&amp;rdquo; Jon insisted.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Oh, The homophobic vase?&amp;rdquo;, Tim said.&lt;/p&gt;&#xA;&lt;p&gt;Jon&amp;rsquo;s sharp exhale is carried on the stuffy air of his unventilated office.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Yes Tim, the &amp;lsquo;homophobic vase&amp;rsquo;, now if I recall correctly his husband had a run-in with the same artifact, where is &lt;em&gt;his&lt;/em&gt; statement?&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Nothing: Chapter 1</title>
      <link>https://jackiejude.me/fiction/the-nothing/chapter1/</link>
      <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/fiction/the-nothing/chapter1/</guid>
      <description>&lt;p&gt;Minimum required reading: The Magnus Archives Episode 38: Lost and Found &lt;a href=&#34;https://shows.acast.com/themagnusarchives/episodes/mag-38-lost-and-found&#34;&gt;Audio&lt;/a&gt; &lt;a href=&#34;https://snarp.github.io/magnus_archives_transcripts/episode/038.html&#34;&gt;Transcript&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://archiveofourown.org/works/75142801/chapters/196370961&#34;&gt;Read on AO3&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;nihilio-the-pale-the-endless-snowstorm-the-nothing&#34;&gt;Nihilio, The Pale, The Endless Snowstorm, The Nothing&lt;/h1&gt;&#xA;&lt;p&gt;The following is a fanfiction of the Magnus Archives, while both this and it&amp;rsquo;s source are clearly fictional, the reader is advised to say &amp;ldquo;This Is Not Real&amp;rdquo; out loud before reading any further.&lt;/p&gt;&#xA;&lt;p&gt;This&lt;/p&gt;&#xA;&lt;p&gt;Is&lt;/p&gt;&#xA;&lt;p&gt;Not&lt;/p&gt;&#xA;&lt;p&gt;Real&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;archivist&#34;&gt;&lt;strong&gt;ARCHIVIST:&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;[THE TAPE RECORDER IS ALREADY RUNNING]&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;For how much longer will my witch of a predecessor vex me! Nevermind the sorry state of the archives, I can guarantee that that &lt;em&gt;this&lt;/em&gt; is the first statement left completely redacted. After recovering the text with some paint remover, all I found were citations that go nowhere, like this one, Patricia Pendleton doesn&amp;rsquo;t exist!&lt;/p&gt;</description>
    </item>
    <item>
      <title>The LAPD Lied about Crime during the LA Fires</title>
      <link>https://jackiejude.me/posts/lapd-pants-fire/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/lapd-pants-fire/</guid>
      <description>&lt;p&gt;During the Palisades and &lt;a href=&#34;https://jackiejude.me/e-zines/eaton/&#34;&gt;Eaton&lt;/a&gt; fires, any Angeleno who turned on the news would be given something else to worry about: crime. We were bombarded with a 24/7 propaganda campaign about roving criminal gangs looting houses in the evacuation zone, a narrative that totally justifies the LAPD&amp;rsquo;s ballooning budget as the &lt;a href=&#34;https://www.newsweek.com/fact-check-did-los-angeles-cut-fire-department-funding-2011568&#34;&gt;fire department&amp;rsquo;s dwindling budget is cut yet again.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eaton Fire</title>
      <link>https://jackiejude.me/e-zines/eaton/</link>
      <pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/eaton/</guid>
      <description>&lt;img src=&#34;../../img/Zines/eaton/FRONT.png&#34;  alt=&#34;eaton fire jackiejude.me/zines &amp;#39;intentionally left blank&amp;#39;&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/eaton/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chapter 4: Halley&#39;s Comet</title>
      <link>https://jackiejude.me/e-zines/halleys-comet/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/halleys-comet/</guid>
      <description>&lt;img src=&#34;../../img/Zines/halleys-comet/FRONT.png&#34;  alt=&#34;TRAPPED in the zine ch4 Halley&amp;#39;s comet, hidden text reads: I&amp;#39;m sorry you could not be yourself in this world&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/halleys-comet/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving House of Leaves Part 1</title>
      <link>https://jackiejude.me/posts/solving-house/</link>
      <pubDate>Sun, 24 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/solving-house/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Update 2025-10-18&lt;/em&gt;: the in-line footnotes were not working on mobile so I have added a &lt;a href=&#34;https://jackiejude.me/posts/solving-house/#footnotes&#34;&gt;footnotes&lt;/a&gt; section at the bottom&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;spoilers ahead&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>0003</title>
      <link>https://jackiejude.me/comic/0003/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/comic/0003/</guid>
      <description>&lt;div class=&#34;irc-log&#34;&gt;&#xA;    &lt;details open&gt;&#xA;        &lt;summary&gt;Open IRC Log&lt;/summary&gt;&#xA;        &lt;div class=&#34;chat-content&#34;&gt;&#xA;            &#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt; hi!&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt; oh thank God&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  I thought I was the only nerd who thought to hop on IRC before going to school&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  but of course it&#39;s also you :p&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt;  wat&#39;s that supposed to mean dorkus :p&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  whoa whoa whoa, careful who you&#39;re calling dorkus, dorkus&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  unlike you, I&#39;m starting school with some popularity &#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt;  it&#39;s the first day of school how can have friends already&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  coz I went to summer school dingus! I already formed a club and everything!!&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt;  a club?! wtf a club for wat?&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  housetrapped!&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt;  wats that&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  just the best webcomic ever written, you gotta read it&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-purple&#34;&gt;&amp;lt;violetFate&amp;gt;&lt;/span&gt;  okie :3 if I read it can I join your club?&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;chat-line&#34;&gt;&#xA;    &#xA;    &lt;span class=&#34;nick-blue&#34;&gt;&amp;lt;Scott&amp;gt;&lt;/span&gt;  sure, first meeting is after school&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;        &lt;/div&gt;&#xA;    &lt;/details&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Trapped in the Zine: Chapter 3</title>
      <link>https://jackiejude.me/e-zines/chapter3/</link>
      <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/chapter3/</guid>
      <description>&lt;img src=&#34;../../img/Zines/chapter3/FRONT.png&#34;  alt=&#34;TRAPPED in the zine CHAPTER 3 jackiejude.me/zines (a chibi drawing of Des on a post-it note surrounded by other post-it drawings)&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/chapter3/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setups better than Signal</title>
      <link>https://jackiejude.me/posts/p-p1-better-than-signal/</link>
      <pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/p-p1-better-than-signal/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Update 2026-02-02: &lt;a href=&#34;https://microblog.jackiejude.me/posts/202602021855/&#34;&gt;See my latest privacy guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;terminology&#34;&gt;Terminology&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-is-a-threat-model&#34;&gt;What is a threat model&lt;/h2&gt;&#xA;&lt;p&gt;For any given piece of information the &lt;a href=&#34;https://en.m.wikipedia.org/wiki/Threat_model&#34;&gt;threat model&lt;/a&gt; is who or what you are protecting it &lt;em&gt;from&lt;/em&gt;. For example for your social security number, the threat model is identity thieves, it is not however the government, who already know it. Threat modeling is important because trying to use privacy models without it can lead you to paranoia or to getting burned out and giving up as it is impossible to hide everything from everyone&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to backup your weechat logs and config</title>
      <link>https://jackiejude.me/posts/irc-syncthing/</link>
      <pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/irc-syncthing/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;For when you don&amp;rsquo;t already have a &lt;a href=&#34;https://xeiaso.net/blog/2024/k8s-irc-client/&#34;&gt;kubernetes cluster&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;level-1-just-back-it-up&#34;&gt;Level 1: Just Back It Up&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Install syncthing for your distro and add another device&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;This tutorial won&amp;rsquo;t go into that, see the official syncthing tutorial &lt;a href=&#34;https://docs.syncthing.net/intro/getting-started.html&#34;&gt;here&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Move the weechat folders to ~/Sync (the default syncthing directory) and symlink them back&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create Syncthing directory for WeeChat&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/Sync/weechat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Move WeeChat data to Syncthing directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv ~/.local/share/weechat/ ~/Sync/weechat/logs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv ~/.config/weechat/ ~/Sync/weechat/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create symlinks back to original locations&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s ~/Sync/weechat/config ~/.config/weechat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s ~/Sync/weechat/logs ~/.local/share/weechat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Done! your weechat config and logs will now sync between devices&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;level-2-nix-declarative-config-and-versioning&#34;&gt;Level 2: Nix Declarative Config and Versioning&lt;/h2&gt;&#xA;&lt;p&gt;Create a &lt;a href=&#34;https://wiki.nixos.org/wiki/Syncthing&#34;&gt;syncthing.nix&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>0002</title>
      <link>https://jackiejude.me/comic/0002/</link>
      <pubDate>Sun, 15 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/comic/0002/</guid>
      <description>&lt;p&gt;Robin inspects her ID&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../../img/comic/0002.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;It appears she has already received an SSH key, this can be used to access the school&amp;rsquo;s internet relay chat server.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/comic/0003/&#34;&gt;Open laptop and launch IRC&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>0001</title>
      <link>https://jackiejude.me/comic/0001/</link>
      <pubDate>Tue, 27 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/comic/0001/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../../img/comic/0001.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A young woman stands in her room, it just so happens that today is her first day of high school. Despite not having stepped foot in it yet, she has already received her student ID in the mail.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/comic/0002/&#34;&gt;Pick up ID&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Km6 and Des</title>
      <link>https://jackiejude.me/e-zines/km6-and-des/</link>
      <pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/km6-and-des/</guid>
      <description>&lt;img src=&#34;../../img/Zines/km6_and_des/FRONT.png&#34;  alt=&#34;[TRAPPED IN THE ZINE CHAPTER 2: KM6 AND DES more zines at jackiejude.me/zines (qr code of previous link)&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/km6-and-des/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>TRAPPED_IN_THE_ZINE.EXE</title>
      <link>https://jackiejude.me/e-zines/trapped-in-the/</link>
      <pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/e-zines/trapped-in-the/</guid>
      <description>&lt;img src=&#34;../../img/Zines/TRAPPED_IN_THE_ZINE_DOT_EXE/FRONT.png&#34;  alt=&#34;Good evening... FELLOW ZINE MAKERS today we shall be discussing (the following text is disorted) HELP... TRAPPED IN THE ZINE PLEASE HELP ME ESCAPE&#34;  class=&#34;left&#34;  style=&#34;border-radius: 8px; max-width: 400px;&#34;    /&gt;&#xA;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://jackiejude.me/e-zines/trapped-in-the/&#34;&gt;Click to open&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to set up a burner phone</title>
      <link>https://jackiejude.me/posts/protest-phone/</link>
      <pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/protest-phone/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Update 2026-02-02: &lt;a href=&#34;https://microblog.jackiejude.me/posts/202602021855/&#34;&gt;See my latest privacy guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;what-and-why&#34;&gt;What and Why&lt;/h1&gt;&#xA;&lt;p&gt;This guide explains how to make a &lt;a href=&#34;https://en.m.wikipedia.org/wiki/Prepaid_mobile_phone&#34;&gt;burner phone&lt;/a&gt; with a &lt;a href=&#34;https://en.m.wikipedia.org/wiki/Threat_model&#34;&gt;threat model&lt;/a&gt;. There are many reasons to use one such as:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;keeping your main phone setup &lt;a href=&#34;../brief-privacy-guide&#34;&gt;convenient&lt;/a&gt; instead of having to lock it down&lt;/li&gt;&#xA;&lt;li&gt;not having to worry about apps on your main phone leaking information&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;hardware-and-os&#34;&gt;Hardware and OS&lt;/h1&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Get any unlocked android phone, this tutorial will use android because it can be setup without a google account and will work with all the apps I will mention, however if you want to try alternative mobile operating systems, there&amp;rsquo;s a list of them &lt;a href=&#34;https://itsfoss.com/open-source-alternatives-android/&#34;&gt;here&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Get a prepaid SIM card, while you still can, I was warned at the store that they will soon require in-store activation, which will deanonymize you&lt;/li&gt;&#xA;&lt;li&gt;Factory reset the phone and setup without a google account and without biometrics&lt;/li&gt;&#xA;&lt;li&gt;Add a pin to the SIM card so if stolen it cannot access your texts&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://infosec.exchange/@micahflee&#34;&gt;Micah Lee&lt;/a&gt; has written a &lt;a href=&#34;https://theintercept.com/2020/06/15/protest-tech-safety-burner-phone/&#34;&gt;more in-depth guide&lt;/a&gt; on setting up the phone that I recommend with some caveats:&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Pi Zero Setup</title>
      <link>https://jackiejude.me/posts/pi-zero/</link>
      <pubDate>Sun, 15 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/pi-zero/</guid>
      <description>&lt;h1 id=&#34;pi-alert&#34;&gt;&lt;a href=&#34;https://github.com/pucherot/Pi.Alert&#34;&gt;Pi Alert&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://github.com/pucherot/Pi.Alert/raw/main/docs/img/1_devices.jpg&#34;&#xA;    alt=&#34;Pi Alert Screenshot from Github&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Pi Alert continually scans your network and can alert you for new devices joining and devices going offline. This information is made available in a web interface and it&amp;rsquo;s light enough to run on the Pi Zero.&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately Pi Alert has no authentication whatsoever, presumably because it is only intended to be used on the same network, but we can fix that!&lt;/p&gt;&#xA;&lt;h1 id=&#34;tailscale&#34;&gt;&lt;a href=&#34;https://github.com/tailscale/tailscale&#34;&gt;Tailscale&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Tailscale lets me access my pi and services running on it from anywhere, it also lets me &lt;a href=&#34;https://tailscale.com/kb/1077/secure-server-ubuntu-18-04/&#34;&gt;lock down&lt;/a&gt; &lt;a href=&#34;https://tailscale.com/blog/tailscale-auth-nginx/&#34;&gt;those services&lt;/a&gt; so they can only be accessed with authentication.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flux n Rux</title>
      <link>https://jackiejude.me/posts/flux-rux/</link>
      <pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/flux-rux/</guid>
      <description>&lt;p&gt;I operate on a mental calendar loosely based on &lt;a href=&#34;https://youtu.be/NVGuFdX5guE&#34;&gt;CGP Grey&amp;rsquo;s&lt;/a&gt; &lt;a href=&#34;https://www.themesystem.com/&#34;&gt;Theme System&lt;/a&gt;. It centers around two seasons.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flux&lt;/strong&gt; (in the winter) - a time of introspection and looking within&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rux&lt;/strong&gt; (in the summer) - a time of growth and new beginnings&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It&amp;rsquo;s not tied to any specific month and sort of just goes by vibes. It&amp;rsquo;s been 80+ degrees where I live and I hung out with some friends from high school which is a summer-y activity so now it&amp;rsquo;s rux.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Saga of IPFS</title>
      <link>https://jackiejude.me/posts/ipfs-libgen-cloudflare/</link>
      <pubDate>Thu, 20 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/ipfs-libgen-cloudflare/</guid>
      <description>&lt;h1 id=&#34;or-why-cloudflare-is-hosting-a-mirror-of-everything--on-libgen&#34;&gt;or, why Cloudflare is hosting a mirror of everything  on libgen&lt;/h1&gt;&#xA;&lt;p&gt;If you&amp;rsquo;ve been on &lt;a href=&#34;https://www.vice.com/en/article/pa7jxb/archivists-are-trying-to-make-sure-a-pirate-bay-of-science-never-goes-down&#34;&gt;libgen&lt;/a&gt; recently you&amp;rsquo;ve probably seen this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../../img/libgen-download.png&#34; alt=&#34;screenshot of libgen download page with a cloudflare download option&#34; title=&#34;I didn&amp;#39;t actually download anything from libgen for this example but if I did it would&amp;#39;ve been something by CS Lewis because it&amp;#39;s insane his works aren&amp;#39;t in the public domain yet&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;huh!?? cloudflare is hosting libgen pdfs?&lt;/p&gt;&#xA;&lt;h1 id=&#34;what-is-ipfs&#34;&gt;What is IPFS&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ipfs/ipfs&#34;&gt;IPFS&lt;/a&gt;, or, interplanetary filesystem is a project that was started in 2015, it&amp;rsquo;s essentially torrent except:&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Brief Privacy Guide</title>
      <link>https://jackiejude.me/posts/brief-privacy-guide/</link>
      <pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/brief-privacy-guide/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Update 2026-02-02: &lt;a href=&#34;https://microblog.jackiejude.me/posts/202602021855/&#34;&gt;See my latest privacy guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;categories&#34;&gt;categories&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;casual: convenient option for casual usage&lt;/li&gt;&#xA;&lt;li&gt;secret: for a more intense threat model, for example, if you are &lt;a href=&#34;https://www.nbcnews.com/politics/politics-news/florida-bill-require-bloggers-write-governor-legislators-register-stat-rcna73191&#34;&gt;a blogger in Florida&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;avoid: something recommended by other privacy guides that I would avoid&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;web-browser&#34;&gt;web browser&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;casual: &lt;a href=&#34;https://www.mozilla.org/en-US/firefox/new/&#34;&gt;firefox&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;secret: &lt;a href=&#34;https://www.torproject.org/&#34;&gt;tor&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;avoid: brave&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;brave is a browser with its own cryptocurrency, if you love the &lt;a href=&#34;../cool-indie-sites&#34;&gt;indie web&lt;/a&gt;, and want to keep it free, &lt;a href=&#34;https://yesterweb.org/no-to-web3/&#34;&gt;say no to web3&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;operating-system&#34;&gt;operating system&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;casual: &lt;a href=&#34;https://nixos.org&#34;&gt;nixos&lt;/a&gt;, any &lt;a href=&#34;https://itsfoss.com/best-linux-beginners/&#34;&gt;linux distro&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;secret: &lt;a href=&#34;https://tails.boum.org/&#34;&gt;tails&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;see also: &lt;a href=&#34;https://xeiaso.net/blog/paranoid-nixos-2021-07-18&#34;&gt;paranoid nixos&lt;/a&gt;, &lt;a href=&#34;https://nixos.wiki/wiki/Remote_LUKS_Unlocking&#34;&gt;remote LUKS unlocking&lt;/a&gt; for nixos over ssh and Tor and keep an eye out for &lt;a href=&#34;https://spectrum-os.org/&#34;&gt;Spectrum OS&lt;/a&gt;, an OS that will combine &lt;a href=&#34;https://www.qubes-os.org/&#34;&gt;qubes-like&lt;/a&gt; virtualization with &lt;a href=&#34;https://nixos.wiki/wiki/NixOS:nixos-rebuild_build-vm&#34;&gt;nixos&amp;rsquo; ability&lt;/a&gt; to generate minimal VMs&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resources to find cool indie sites</title>
      <link>https://jackiejude.me/posts/cool-indie-sites/</link>
      <pubDate>Wed, 12 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/cool-indie-sites/</guid>
      <description>&lt;h1 id=&#34;neocities&#34;&gt;&lt;a href=&#34;https://neocities.org/browse&#34;&gt;Neocities&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;neocities is free hosting in the style of the original &lt;a href=&#34;https://www.howtogeek.com/692445/remembering-geocities-the-1990s-precursor-to-social-media/&#34;&gt;geocities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;a lot of very interesting looking sites, many made with html by hand&lt;/li&gt;&#xA;&lt;li&gt;plus, a lot of them are inspired by &lt;a href=&#34;https://neocities.org/browse?tag=lain&#34;&gt;serial experiments lain&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;yesterweb-links&#34;&gt;&lt;a href=&#34;https://web.archive.org/web/20230817122434/https://links.yesterweb.org/&#34;&gt;Yesterweb Links&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tagline: Remember when the internet felt exciting and mysterious?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Update: Yesterweb&amp;rsquo;s webring has been &lt;a href=&#34;https://web.archive.org/web/20230817122434/https://links.yesterweb.org/&#34;&gt;discontinued&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://web.archive.org/web/20230817122434/https://links.yesterweb.org/&#34;&gt;Here is an archive&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;wibyme&#34;&gt;&lt;a href=&#34;https://wiby.me/&#34;&gt;Wiby.me&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a search engine for text-based sites&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;under-1-megabyte-club&#34;&gt;&lt;a href=&#34;https://1mb.club/&#34;&gt;under 1 megabyte club&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a list of sites all under 1 megabyte&lt;/li&gt;&#xA;&lt;li&gt;my site actually almost makes the cut but the &lt;a href=&#34;https://jackiejude.me/tags/&#34;&gt;tags pages&lt;/a&gt; push me over&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;and-of-course-the-fediring&#34;&gt;and of course, the &lt;a href=&#34;https://fediring.net/&#34;&gt;Fediring&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;you can comment on this post &lt;a href=&#34;https://social.linux.pizza/@jackie/110189741022792586&#34;&gt;on mastodon&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>dudo: secure passwordless sudo replacement</title>
      <link>https://jackiejude.me/posts/dudo/</link>
      <pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/dudo/</guid>
      <description>&lt;p&gt;(this is satire)&lt;/p&gt;&#xA;&lt;p&gt;inspired by &lt;a href=&#34;https://xeiaso.net/blog/xn--ts9h/&#34;&gt;bottom&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/jackiejude/dudo&#34;&gt;dudo&lt;/a&gt; is a secure passwordless&#xA;privilege escalation utility to replace sudo&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=dudo&#34;&gt;No vulnerabilities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Obscurity&lt;/li&gt;&#xA;&lt;li&gt;No bloat&lt;/li&gt;&#xA;&lt;li&gt;AI-powered execution&lt;/li&gt;&#xA;&lt;li&gt;AI-powered command caching&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;no-bloat&#34;&gt;No Bloat&lt;/h2&gt;&#xA;&lt;p&gt;dudo is only 33 lines of code, sudo is like, a lot more, this is&#xA;&lt;a href=&#34;https://www.reddit.com/r/suckless&#34;&gt;scientifically proven&lt;/a&gt; to make it&#xA;more secure&lt;/p&gt;&#xA;&lt;h2 id=&#34;ai-powered-execution&#34;&gt;AI-powered execution&lt;/h2&gt;&#xA;&lt;p&gt;dudo uses AI to only execute the command you meant to type and not the&#xA;ones you did not&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nix home-manager as a Backup Tool</title>
      <link>https://jackiejude.me/posts/nix-backup/</link>
      <pubDate>Sat, 26 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/nix-backup/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;This is basically the config from&#xA;&lt;a href=&#34;https://nix-community.github.io/home-manager/options.xhtml#opt-home.file&#34;&gt;home.file&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;setup&#34;&gt;Setup&lt;/h1&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Install&#xA;&lt;a href=&#34;https://github.com/nix-community/home-manager&#34;&gt;home-manager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Create a directory called ~/backups to store the symlinks to&#xA;backups&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;(the actual data will be stored in /nix/store)&lt;/p&gt;&#xA;&lt;h1 id=&#34;backing-up-a-file&#34;&gt;Backing up a file&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add this to your &lt;code&gt;~/.config/nixpkgs/home.nix&lt;/code&gt;:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;home.file&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;example&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;source&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;/path/to/file&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;target&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;backups/example&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;run &lt;code&gt;home-manager switch&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;result&#34;&gt;Result&lt;/h2&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; hello world&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat backups/example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; hello world&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -l backups/example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; backups/example -&amp;gt; /nix/store/...home-manager-files/backups/example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;backing-up-a-directory&#34;&gt;Backing up a directory&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;home.file&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;exampleDir&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;source&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;/path/to/example-directory&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;target&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;backups/example-directory&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;recursive&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;result-1&#34;&gt;Result&lt;/h2&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls example-directory/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; example  example2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls backups/example-directory/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; example@  example2@&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -l backups/example-directory/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; example -&amp;gt; /nix/store/..home-manager-files/backups/example-directory/example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; example2 -&amp;gt; /nix/store/..home-manager-files/backups/example-directory/example2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;adding-a-script&#34;&gt;Adding a Script&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;home.file&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;exampleScript&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;source&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;/path/to/script&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;target&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;backups/script&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;executable&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;running-commands-on-file-change&#34;&gt;Running commands on file change&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This will always run if &lt;code&gt;recursive&lt;/code&gt; is set to true&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;home.file&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;exampleDir&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;source&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;/path/to/example-directory&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;target&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;backups/example-directory&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;recursive&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;onChange&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;echo $(date) &amp;gt;&amp;gt; /tmp/modified&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;};&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Result:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat /tmp/modified&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; Sat Feb &lt;span style=&#34;color:#ae81ff&#34;&gt;26&lt;/span&gt; 21:57:40 PST &lt;span style=&#34;color:#ae81ff&#34;&gt;2022&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;restoring-from-backups&#34;&gt;Restoring from backups&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ rm example &lt;span style=&#34;color:#75715e&#34;&gt;# Whoops!&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat backups/example &amp;gt; example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat example&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; hello world&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;deleting-backups&#34;&gt;Deleting Backups&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ vim ~/.config/nixpkgs/home.nix &lt;span style=&#34;color:#75715e&#34;&gt;# remove the entry from home.nix&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ home-manager switch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# the symlink in `~/backups` is gone but the data is still in /nix/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# store to remove it run:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ nix-collect-garbage -d&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;deduplication&#34;&gt;Deduplication&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd example-directory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ diff example example2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# huh, these files have the same content, why store it twice? run:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ nix-store --optimise&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Does the FSF Care About User Agency?</title>
      <link>https://jackiejude.me/posts/gnu-free/</link>
      <pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/gnu-free/</guid>
      <description>&lt;p&gt;This post is my take on &lt;a href=&#34;https://xeiaso.net/blog/gnu-your-parent-2022-02-10&#34;&gt;GNU Doesn&#39;t Care About Your Agency -&#xA;Xe&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Update from 2023-04-11 see also: &lt;a href=&#34;https://drewdevault.com/2023/04/11/2023-04-11-The-FSF-is-dying.html&#34;&gt;The Free Software Foundation is dying - Drew Devault&amp;rsquo;s blog&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;The Free Software Foundation, who developed the GNU system, is&#xA;surprisingly &lt;a href=&#34;https://www.gnu.org/distros/common-distros.html&#34;&gt;critical of most GNU/Linux&#xA;distributions&lt;/a&gt;, even&#xA;Debian which is &lt;a href=&#34;https://unix.stackexchange.com/questions/288027/what-are-the-differences-between-debian-linux-kernel-and-linux-libre&#34;&gt;fully&#xA;free&lt;/a&gt;.&#xA;This is because Debian does not meet the &lt;a href=&#34;https://www.gnu.org/distros/free-system-distribution-guidelines.html&#34;&gt;Free System Distribution&#xA;Guidelines (GNU&#xA;FSDG)&lt;/a&gt;.&#xA;Specifically, Debian has tutorials on how to install some proprietary&#xA;software on their wiki, it also has a &amp;quot;contrib&amp;quot; repository, which&#xA;contains free software that could potentially be used to load&#xA;proprietary software.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python For Loops Are Cool</title>
      <link>https://jackiejude.me/posts/python-for-loops-are-cool/</link>
      <pubDate>Fri, 26 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/python-for-loops-are-cool/</guid>
      <description>&lt;p&gt;Let&#39;s look at a for loop in Javascript&lt;/p&gt;&#xA;&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;&#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:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;){&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now let&#39;s write that same loop in python&lt;/p&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(i)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;strong&gt;range&lt;/strong&gt; command is flexible&lt;/p&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(i)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If it isn&#39;t flexible enough, you can run &lt;strong&gt;for&lt;/strong&gt; on lists&lt;/p&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; [&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(i)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Lists can have more than integers&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firejail Basics</title>
      <link>https://jackiejude.me/posts/firejail-basics/</link>
      <pubDate>Sat, 14 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/posts/firejail-basics/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Firejail - Linux namespaces sandbox program&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h1 id=&#34;installing&#34;&gt;Installing&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ apt install firejail&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;nixos&#34;&gt;NixOS&lt;/h2&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;programs.firejail.enable&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;profiles&#34;&gt;Profiles&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ firejail firefox             &lt;span style=&#34;color:#75715e&#34;&gt;# Run firefox with the default profile&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ firejail --noprofile firefox &lt;span style=&#34;color:#75715e&#34;&gt;# Run firefox without a profile&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ firejail --profile&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;firefox.profile firefox&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                               &lt;span style=&#34;color:#75715e&#34;&gt;# Run firefox with profile firefox.profile&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hint: there are default profiles for a &lt;em&gt;lot&lt;/em&gt; of programs in &lt;code&gt;/etc/firejail&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;jails&#34;&gt;Jails&lt;/h1&gt;&#xA;&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;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mkdir -p ~/jails/firefox1                       &lt;span style=&#34;color:#75715e&#34;&gt;# Create a jail&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ firejail --private&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$HOME/jails/firefox1 firefox &lt;span style=&#34;color:#75715e&#34;&gt;# Run firefox in a jail&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;firefox will now run as if ~/jails/firefox1 is the home folder and it&#xA;will not be able to access your actual home folder&lt;/p&gt;</description>
    </item>
    <item>
      <title>All Content</title>
      <link>https://jackiejude.me/all/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/all/</guid>
      <description></description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://jackiejude.me/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/contact/</guid>
      <description>&lt;p&gt;jackie (at) technologists (dot) cloud&lt;/p&gt;</description>
    </item>
    <item>
      <title>Julia Serano quote</title>
      <link>https://jackiejude.me/serano/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/serano/</guid>
      <description>&lt;p&gt;This quote made me cry so bad I just had to share it somewhere, so here it is, from &lt;a href=&#34;https://www.juliaserano.com/whippinggirl.html&#34;&gt;Whipping Girl&lt;/a&gt; by &lt;a href=&#34;https://www.juliaserano.com/index.html&#34;&gt;Julia Serano&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I replied that it is almost always [trans womens&amp;rsquo;] eyes. When I look into them, I see both endless strength and inconsolable sadness. I see someone who has overcome humiliation and abuses that would flatten the average person. I see a woman who was made to feel shame for her desires and yet had the courage to pursue them anyway. I see a woman who was forced against her will into boyhood, who held on to a dream that everybody in her life desperately tried to beat out of her, who refused to listen to the endless stream of people who told her that who she was and what she wanted was impossible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Zines</title>
      <link>https://jackiejude.me/zines/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/zines/</guid>
      <description>&lt;meta http-equiv=&#34;refresh&#34; content=&#34;0; url=https://jackiejude.me/e-zines&#34; /&gt;</description>
    </item>
    <item>
      <title>Signal Boost</title>
      <link>https://jackiejude.me/signal-boost/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://jackiejude.me/signal-boost/</guid>
      <description>&lt;h1 id=&#34;kill-six-billion-demons&#34;&gt;&lt;a href=&#34;https://killsixbilliondemons.com/comic/kill-six-billion-demons-chapter-1/&#34;&gt;KILL SIX BILLION DEMONS&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://killsixbilliondemons.com&#34;&gt;&lt;img src=&#34;../img/k6bd-banner.jpg&#34; alt=&#34;k6bd banner&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;i-am-in-eskew&#34;&gt;&lt;a href=&#34;https://www.iamineskew.com/&#34;&gt;I am in Eskew&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../img/eskew-banner.jpg&#34; alt=&#34;I am in Eskew Banner&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;find-us-alive&#34;&gt;&lt;a href=&#34;https://hodgepodgeaudio.com/#fua&#34;&gt;Find Us Alive&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../img/find-us-alive-banner.jpg&#34; alt=&#34;Find Us Alive Banner&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;hymns-for-the-road&#34;&gt;&lt;a href=&#34;https://hodgepodgeaudio.com/#hymns&#34;&gt;Hymns for the Road&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../img/hymns-for-the-road-banner.jpg&#34; alt=&#34;Hymns for the Road banner&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
