<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>revsuine</title>
    <link>/</link>
    <description>Recent content on revsuine</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Sat, 07 Feb 2026 16:23:08 +0000</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Asking Good Questions</title>
      <link>/blog/asking_good_questions/</link>
      <pubDate>Tue, 02 Sep 2025 15:00:06 +0100</pubDate>
      <guid>/blog/asking_good_questions/</guid>
      <description>&lt;p&gt;In some of my circles, I am seen as the &amp;ldquo;technical&amp;rdquo; person, which means that all sorts of questions get sent my way.&lt;/p&gt;&#xA;&lt;p&gt;I have always thought that I am a pretty poor choice for a teacher, because you know how teachers say &amp;ldquo;there are no&#xA;stupid questions&amp;rdquo;? Well, even if I wouldn&amp;rsquo;t say it to your face, I most certainly feel I have been asked stupid&#xA;stupid questions.&lt;/p&gt;&#xA;&lt;p&gt;I wanted to write a quick blog post explaining what I think makes a good and a bad question.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Librebooting a Dell Latitude E6400</title>
      <link>/blog/dell_latitude_e6400_libreboot/</link>
      <pubDate>Tue, 29 Jul 2025 04:53:51 +0100</pubDate>
      <guid>/blog/dell_latitude_e6400_libreboot/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;Libreboot is a user-friendly distribution of coreboot. Coreboot is free and open source firmware for desktop computers.&lt;/p&gt;&#xA;&lt;p&gt;The Dell Latitude E6400 is a recommended laptop for Librebooting because it can be &lt;strong&gt;internally flashed&lt;/strong&gt; and it&#xA;doesn&amp;rsquo;t require &lt;strong&gt;vendor file injection&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To change the firmware on a computer, you can flash externally, by opening up your computer and using a flash&#xA;programmer to overwrite your motherboard&amp;rsquo;s ROM chip. Alternatively, you can do internal flashing, which means&#xA;flashing from inside the OS, from within software. This means using the &lt;em&gt;internal&lt;/em&gt; programmer on your motherboard,&#xA;rather than an external one. Only some mainboards support internal flashing of Libreboot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 11 Virtual Machine with Virt-Manager and QEMU/KVM</title>
      <link>/blog/windows_11_vm/</link>
      <pubDate>Thu, 24 Jul 2025 21:06:18 +0100</pubDate>
      <guid>/blog/windows_11_vm/</guid>
      <description>&lt;p&gt;These are my notes on setting up a Windows 11 VM using virt-manager. This is assuming that virt-manager is already set&#xA;up; I wrote notes on how to set up virt-manager on Artix Linux &lt;a href=&#34;/blog/artix-qemu-notes/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;download&#34;&gt;Download&lt;/h1&gt;&#xA;&lt;p&gt;Firstly, obtain a Windows 11 iso. You can download from Microsoft here:&#xA;&lt;a href=&#34;https://www.microsoft.com/en-gb/software-download/windows11&#34;&gt;https://www.microsoft.com/en-gb/software-download/windows11&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Microsoft blocks VPN users from downloading Windows 11. If you are a VPN user, or if you just don&amp;rsquo;t want to download&#xA;from Microsoft&amp;rsquo;s servers, &lt;a href=&#34;https://massgrave.dev/genuine-installation-media&#34;&gt;MASSGRAVE is a reputable source of genuine Windows&#xA;isos&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Artix Linux QEMU with Virt-Manager Notes</title>
      <link>/blog/artix_qemu_notes/</link>
      <pubDate>Wed, 23 Jul 2025 19:41:37 +0100</pubDate>
      <guid>/blog/artix_qemu_notes/</guid>
      <description>&lt;p&gt;These are my notes for setting up virt-manager with QEMU/KVM on Artix Linux. I&amp;rsquo;m using runit, but anything&#xA;runit-specific should be easily converted to other init systems/service managers.&lt;/p&gt;&#xA;&lt;p&gt;This is largely the same as &lt;a href=&#34;https://github.com/tomit4/notes/blob/main/install_qemu.txt&#34;&gt;tomit4&amp;rsquo;s instructions&lt;/a&gt;, but&#xA;I&amp;rsquo;m doing networking over a bridge rather than a NAT.&lt;/p&gt;&#xA;&lt;h1 id=&#34;install-virt-manager&#34;&gt;Install virt-manager&lt;/h1&gt;&#xA;&lt;p&gt;Firstly, install relevant packages:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;#&lt;/span&gt; pacman -S qemu virt-manager virt-viewer vde2 openbsd-netcat libvirt libvirt-runit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you need virtualised TPM (e.g. for Windows 11), you also need to install &lt;code&gt;swtpm&lt;/code&gt;. Also, for Windows VMs in general,&#xA;install &lt;code&gt;virtio-win&lt;/code&gt; from the AUR for virtio drivers for Windows guests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting the Canon PIXMA TR4755i to Work on Linux</title>
      <link>/blog/canon_pixma_tr4755i/</link>
      <pubDate>Wed, 16 Apr 2025 23:26:33 +0100</pubDate>
      <guid>/blog/canon_pixma_tr4755i/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;&#xA;&lt;p&gt;For those of you who don&amp;rsquo;t know, Student Finance England provide free printers to more or less all disabled students&#xA;via their Disabled Students&amp;rsquo; Allowance (DSA) funding. The printer they provide is a Canon PIXMA TR4755i (or at least,&#xA;it was for me).&lt;/p&gt;&#xA;&lt;p&gt;Printers are known for being rather unreliable pieces of technology, particularly on Linux (although, historically,&#xA;I&amp;rsquo;ve honestly found printers to work much more reliably and without need for troubleshooting on Linux than Windows).&#xA;So I was quite concerned when the government sent me a free printer, that I would not be able to use it. Luckily, after&#xA;a few short hours of wrangling things, I managed to get it working via USB (I&amp;rsquo;ve not tried network printing, but will&#xA;update this post once I do). I wanted to make this post to save people time if you are also a disabled student, or&#xA;happen to have this model of printer for another reason.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PGP Encrypting All (Incoming) Emails</title>
      <link>/blog/pgp_encrypting_all_incoming_emails/</link>
      <pubDate>Fri, 13 Dec 2024 16:06:23 +0000</pubDate>
      <guid>/blog/pgp_encrypting_all_incoming_emails/</guid>
      <description>&lt;p&gt;Let&amp;rsquo;s say we want emails on our mail server to be encrypted at rest, such that only the user has the key. Luckily,&#xA;there already exists a popular solution for encrypting emails such that only the recipient can read them: OpenPGP.&lt;/p&gt;&#xA;&lt;p&gt;Using &lt;a href=&#34;https://doc.dovecot.org/main/core/plugins/sieve.html&#34;&gt;Dovecot Sieve scripts&lt;/a&gt;, we can easily PGP-encrypt all&#xA;incoming email for a user.&lt;/p&gt;&#xA;&lt;p&gt;A lot of people have done this before, and I didn&amp;rsquo;t come up with the idea. Please see the &lt;a href=&#34;/blog/pgp_encrypting_all_incoming_emails/#further-reading&#34;&gt;Further&#xA;reading&lt;/a&gt; section for some recommended articles I referred to.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Set up a Mail Server on Alpine Linux with Postfix and Dovecot</title>
      <link>/blog/mail_server_alpine_postfix_dovecot_tutorial/</link>
      <pubDate>Sun, 24 Nov 2024 16:29:01 +0000</pubDate>
      <guid>/blog/mail_server_alpine_postfix_dovecot_tutorial/</guid>
      <description>&lt;h1 id=&#34;about-mail-servers&#34;&gt;About mail servers&lt;/h1&gt;&#xA;&lt;p&gt;Simply put, a mail server sends and receives email. When &lt;code&gt;ruby@protonmail.com&lt;/code&gt; emails &lt;code&gt;klaasje@gmail.com&lt;/code&gt;, Protonmail&amp;rsquo;s&#xA;mail server&amp;rsquo;s &lt;abbr title=&#34;Mail Transfer Agent&#34;&gt;MTA&lt;/abbr&gt; sends the email to Google&amp;rsquo;s mail server&amp;rsquo;s MTA. Google&amp;rsquo;s&#xA;MTA then passes the email on to Google&amp;rsquo;s &lt;abbr title=&#34;Mail Delivery Agent&#34;&gt;MDA&lt;/abbr&gt;, which is responsible for storing&#xA;the email. MDAs also run &lt;abbr title=&#34;Internet Message Access Protocol&#34;&gt;IMAP&lt;/abbr&gt; or &lt;abbr&#xA;title=&#34;Post Office Protocol 3&#34;&gt;POP3&lt;/abbr&gt; servers so you can read your emails and send emails with an email client.&#xA;IMAP and POP3 are protocols for email retrieval over &lt;a href=&#34;https://en.wikipedia.org/wiki/Internet_protocol_suite&#34;&gt;TCP/IP&lt;/a&gt;.&#xA;For sending email, you would use &lt;a href=&#34;https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol&#34;&gt;&lt;abbr&#xA;title=&#34;Simple Mail Transfer Protocol&#34;&gt;SMTP&lt;/abbr&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/about/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m revsuine and this is my personal website.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m a communist with various interests. This website contains my blog which I&amp;rsquo;ll post to occasionally. I also host&#xA;various services for myself and my friends:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cloud.revsuine.xyz/&#34;&gt;Nextcloud&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://git.revsuine.xyz/&#34;&gt;Forgejo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mastodon.revsuine.xyz&#34;&gt;Mastodon&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;A Matrix homeserver at &lt;code&gt;revsuine.xyz&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;An email server at &lt;code&gt;mail.revsuine.xyz&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;My contact details can be found &lt;a href=&#34;/contact/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/contact/</guid>
      <description>&lt;h1 id=&#34;email&#34;&gt;Email&lt;/h1&gt;&#xA;&lt;p&gt;You can email me at &lt;code&gt;pid1 [at] revsuine [dot] xyz&lt;/code&gt;. Please use &lt;a href=&#34;/keys/openpgp_87B1783E27FD008152BA69CA7A7F274F7422E7CF.asc&#34;&gt;my OpenPGP&#xA;key&lt;/a&gt; (fingerprint&#xA;&lt;code&gt;87B1783E27FD008152BA69CA7A7F274F7422E7CF&lt;/code&gt;) to encrypt emails to me.&lt;/p&gt;&#xA;&lt;p&gt;All legitimate emails from this email will be signed with the above OpenPGP key.&lt;/p&gt;&#xA;&lt;p&gt;When I change OpenPGP keys, I will upload a statement signed with my previous key indicating what my new key is, and&#xA;this statement will be linked from this page.&lt;/p&gt;&#xA;&lt;p&gt;Previous keys:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;8FB418CD952022E5BBC432613F257B68F5BC9339&lt;/code&gt; expired 02/11/2025; I didn&amp;rsquo;t sign a revocation statement due to&#xA;forgetting.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;matrix&#34;&gt;Matrix&lt;/h1&gt;&#xA;&lt;p&gt;I can be contacted on Matrix at &lt;code&gt;@revsuine:revsuine.xyz&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Privacy Policy</title>
      <link>/privacy_policy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/privacy_policy/</guid>
      <description>&lt;p&gt;This is a privacy policy notice for anyone who happens to use any of the services I use.&lt;/p&gt;&#xA;&lt;h1 id=&#34;for-all-services&#34;&gt;For all services&lt;/h1&gt;&#xA;&lt;p&gt;My server is a VPS with full disk encryption. This means that, if the disk is seized, e.g. by law enforcement, your&#xA;data will be unreadable to them. However, if the VPS host wishes to, they can dump the decryption keys from RAM and&#xA;read my disk. For most user services I host, there will be additional encryption at rest, including such that data is&#xA;never decrypted server-side.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
