<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Vilyaem's Writings</title>
    <link>http://vilyaem.xyz/wrt/writings.html</link>
    <description>My writings.</description>
    <lastBuildDate>Tue, 01 Sep 2026 02:11:19 +0000</lastBuildDate>
    <item>
      <title>MySetup</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlMySetup.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlMySetup.txt</guid>
      <pubDate>Tue, 01 Sep 2026 02:08:07 +0000</pubDate>
      <description>&lt;p&gt;My Setup&lt;/p&gt;

&lt;p&gt;This document contains the software and hardware I use.&lt;/p&gt;

&lt;p&gt;Computer &amp;#8211; Thinkpad T480s&lt;br /&gt;
Operating System &amp;#8211; Devuan, I&amp;#8217;ve used Alpine and Void, they&amp;#8217;re good.&lt;br /&gt;
Email client &amp;#8211; Thunderbird&lt;br /&gt;
Text editor &amp;#8211; Neovim&lt;br /&gt;
Keyboard Layout &amp;#8211; Dvorak&lt;br /&gt;
Shell &amp;#8211; zsh&lt;br /&gt;
Web &amp;#8211; librewolf with the following extensions:
      &amp;#8211; block site
      &amp;#8211; dark reader
      &amp;#8211; libredirect
      &amp;#8211; I still don&amp;#8217;t care about cookies
      &amp;#8211; Stop Watching Porn or Get Assaded
      &amp;#8211; Yandex search
      &amp;#8211; uBlock Origin
    &amp;#8211; I occasionally use links2&lt;br /&gt;
Terminal emulator &amp;#8211; st&lt;br /&gt;
Window manager &amp;#8211; dwm &lt;br /&gt;
Video Editing &amp;#8211; kdenlive, shotcut, &amp;amp; ffmpeg&lt;br /&gt;
Image Editing &amp;#8211; gimp &amp;amp; imagemagick&lt;br /&gt;
Audio Editing &amp;#8211; sox  &amp;amp; audacity&lt;br /&gt;
Bible &amp;#8211; commandline kjv with deuterocanon, or &amp;#8220;&lt;span class="caps"&gt;OSB&lt;/span&gt;&amp;#8221; for mobile&lt;br /&gt;
3D &amp;#8211; Blender&lt;br /&gt;
Document viewer &amp;#8211; sioyek, I use &lt;span class="caps"&gt;KOR&lt;/span&gt;eader on mobile&lt;br /&gt;
Image/Video/Audio viewer  &amp;#8211; mpv &amp;amp; sxiv interchangeably&lt;br /&gt;
Music player &amp;#8211; audacious, auxio on mobile&lt;br /&gt;
I used to use &amp;#8216;Irfanview&amp;#8217; when I used Windows.&lt;br /&gt;
C Complier &amp;#8211; zig cc&lt;br /&gt;
Search engine &amp;#8211; 4get&lt;br /&gt;
Communication &amp;#8211; Matrix, Telegram (church friends), sms, email&lt;br /&gt;
Keyboard: The integrated ThinkPad keyboard&lt;br /&gt;
Mouse: Either the trackpoint or a Perixx 517 Trackball mouse&lt;/p&gt;


   ..,,;;;::;,..                    vilyaem@zaporozhie
           `&amp;#8217;:ddd;:,.               &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;
                 `&amp;#8216;dPPd:,.          OS: Devuan &lt;span class="caps"&gt;GNU&lt;/span&gt;/Linux 5 (daedalus) x86_64
                     `:b$$b`.       Host: 20L7001WUS (ThinkPad T480s)
                        &amp;#8216;P$$`       Kernel: Linux 6.1.0-43-amd64
                         ;$$$$      Packages: 3822 (dpkg)
                      .:P$$$$$$`    Shell: zsh 5.9
                  .,:b$$$$$$&amp;#8217;       Display (CMN14C9): 1920&amp;#215;1080 &lt;code&gt; 60 Hz in 14&amp;quot; [Built-in]
             .,:dP$$$$$$$$b:&amp;#39;       WM: dwm (X11)
      .,:;db$$$$$$$$$$Pd&amp;#39;`          Theme: BlackMATE [GTK2/3]
 ,db$$$$$$$$$$$$$$b:&amp;#39;`              Icons: Windows-7-master [GTK2/3]
:$$$$$$$$$$$$b:&amp;#39;`                   Font: Sans (10pt) [GTK2/3]
 `$$$$d:&amp;#39;&amp;#39;`                         Cursor: Bibata-Modern-Classic
   `&amp;#39;&amp;#39;&amp;#39;`                            Terminal: st 0.9.2
                                    Terminal Font: TerminessNerdFont (14pt)
                                    CPU: Intel(R) Core(TM) i5-8250U (8) &lt;/code&gt; 3.40 GHz
                                    &lt;span class="caps"&gt;GPU&lt;/span&gt;: Intel &lt;span class="caps"&gt;UHD&lt;/span&gt; Graphics 620 @ 1.10 GHz [Integrated]
                                    Locale: en_US.UTF-8



&lt;p&gt;If I had to recreate my &amp;#8216;bloat-maxxed&amp;#8217; Windows 10 setup 5 years ago, it would&lt;br /&gt;
be&amp;#8230;&lt;/p&gt;

&lt;p&gt;Computer &amp;#8211; &lt;span class="caps"&gt;AMD&lt;/span&gt; FX-8350 Eight-core / &lt;span class="caps"&gt;MSI&lt;/span&gt; AM3+ 970, that thing &lt;span class="caps"&gt;HOWLED&lt;/span&gt;&lt;br /&gt;
Operating System &amp;#8211; Windows 10&lt;br /&gt;
Email client &amp;#8211; gmail webmail&lt;br /&gt;
Text editor &amp;#8211; Notepad++ or gVim&lt;br /&gt;
Keyboard Layout &amp;#8211; &lt;span class="caps"&gt;QWERTY&lt;/span&gt;&lt;br /&gt;
Shell &amp;#8211; cmd.exe&lt;br /&gt;
Web &amp;#8211; firefox developer edition with the following extensions:
      &amp;#8211; dark reader
      &amp;#8211; uBlock Origin
      &amp;#8211; I still don&amp;#8217;t care about cookies
      &amp;#8211; Yandex search&lt;br /&gt;
Terminal emulator &amp;#8211; cmd.exe&lt;br /&gt;
Window manager &amp;#8211; dwm.exe&lt;br /&gt;
Video Editing &amp;#8211; adobe premiere pro&lt;br /&gt;
Image Editing &amp;#8211; pixlr, adobe illustrator, &amp;amp; adobe photoshop&lt;br /&gt;
Audio Editing &amp;#8211; audacity&lt;br /&gt;
Bible &amp;#8211; I seldom read scripture.&lt;br /&gt;
3D &amp;#8211; Blender&lt;br /&gt;
Document viewer &amp;#8211; firefox&lt;br /&gt;
Image/Video/Audio viewer  &amp;#8211; IrfanView&lt;br /&gt;
Music player &amp;#8211; YouTube&lt;br /&gt;
C Complier &amp;#8211; msvc.exe&lt;br /&gt;
Search engine &amp;#8211; Google &amp;amp; Yandex&lt;br /&gt;
Communication &amp;#8211; sms and the &amp;#8216;cord&amp;#8230;&lt;br /&gt;
Keyboard: Alienware Multimedia SK-8165, just a membrane, happens to be immortal&lt;br /&gt;
Mouse: Generic&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlIntroduction.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlIntroduction.txt</guid>
      <pubDate>Wed, 08 Jul 2026 20:29:36 +0000</pubDate>
      <description>&lt;p&gt;Hello, welcome to my site.&lt;/p&gt;





































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































&lt;p&gt;&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Volunteering is Nice</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlVolunteering is Nice.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlVolunteering is Nice.txt</guid>
      <pubDate>Mon, 04 May 2026 21:04:58 +0000</pubDate>
      <description>&lt;p&gt;I have begun volunteering at a local food pantry. I didn&amp;#8217;t know what to expect.&lt;br /&gt;
I have found that I enjoy it. Meditative physical labour is a satisfying&lt;br /&gt;
process. I woke up early one day, looked at the clock, not that I was late, but&lt;br /&gt;
I ran through my neighborhood to the building. Once I was there I met some nice&lt;br /&gt;
people and we just got to work like we were bees.&lt;/p&gt;

&lt;p&gt;I will keep going.&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taskwarrior-Setup</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlposts/Taskwarrior-Setup.html</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlposts/Taskwarrior-Setup.html</guid>
      <pubDate>Sun, 03 May 2026 18:47:37 +0000</pubDate>
      <description>&lt;h2&gt;Overview&lt;/h2&gt;


&lt;p&gt;&lt;img alt="" src="../m/vit-demo.jpg" /&gt;&lt;/p&gt;


&lt;p&gt;I use Taskwarrior to help complete and keep track of my tasks. It&amp;#8217;s not really just a single program, though you could certainly use it that way, it&amp;#8217;s more of a constellation of software that wrap around the original. I discovered it around October of 2025, and then took a break from it, because:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;I only wanted to use it once I had a decent synchronized setup for both desktop and mobile&lt;/li&gt;
	&lt;li&gt;I wanted to meditate on what I actually wanted to achieve with this&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So at that point I stuck to simple handwritten and plaintext &lt;span class="caps"&gt;TODO&lt;/span&gt;s, after my initial bout with taskwarrior and a lovely &lt;span class="caps"&gt;TUI&lt;/span&gt; called &amp;#8216;vit&amp;#8217;. Once I finally had the backend setup on my &lt;span class="caps"&gt;VPS&lt;/span&gt;, and all my clients in motion, It felt &lt;strong&gt;good&lt;/strong&gt;, conducive to flow-state, it simplified many parts of my life, and brought me clarity that for some reason, previous strategies have not. I suspect it&amp;#8217;s because of how low-friction and centralized it is, compared to having fragmented notes of varying mediums.&lt;/p&gt;

&lt;p&gt;After a few months, I can&amp;#8217;t say I&amp;#8217;ll switch to anything else, I&amp;#8217;m satisfied with what I have. I&amp;#8217;ve thought about falling just a bit farther down the rabbit hole, studying the strategies and intricacies of &lt;span class="caps"&gt;UDA&lt;/span&gt; and Project usage, but I don&amp;#8217;t care enough to do that, I believe I&amp;#8217;m already at the peak before the diminishing returns.&lt;/p&gt;

&lt;h2&gt;Tutorial&lt;/h2&gt;

&lt;h3&gt;Desktop&lt;/h3&gt;

&lt;p&gt;1. Install taskwarrior and vit, you specifically need a 3.x+ version, and repositories that serve older packages won&amp;#8217;t have them. In my case I used &lt;a href="https://nixos.org"&gt;Nix&lt;/a&gt;. Vit is the &lt;span class="caps"&gt;TUI&lt;/span&gt; frontend I use most often.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ nix profile install nixpkgs#taskwarrior3
$ nix profile install nixpkgs#vit&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Moblie (Android)&lt;/h3&gt;

&lt;p&gt;For mobile I don&amp;#8217;t use vit, since that would require installing python, and python&amp;#8217;s dependencies are huge, I opted to use tasksh, it&amp;#8217;s like a simple Taskwarrior &lt;a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop"&gt;&lt;span class="caps"&gt;REPL&lt;/span&gt;&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;1. Install Termux&lt;br /&gt;
2. Install tasksh and taskwarrior&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ pkg install tasksh&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;3. (Optional) Make a Termux shortcut to a script that runs tasksh&lt;/p&gt;

&lt;h3&gt;Synchronization Server&lt;/h3&gt;

&lt;p&gt;You will need a server for this, could be at home or a &lt;span class="caps"&gt;VPS&lt;/span&gt;, whatever. In my case it&amp;#8217;s a &lt;span class="caps"&gt;VPS&lt;/span&gt; running Debian, as conventional as it gets. In my case I&amp;#8217;m using Docker, because I don&amp;#8217;t want to compile anything on my server, especially since Taskwarrior has changed to R*st (🤮). &lt;/p&gt;

&lt;p&gt;1. Install docker&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ apt install docker.io&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;2. Pull the image&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ docker pull ghcr.io/gothenburgbitfactory/taskchampion-sync-server:latest&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;3. Run the docker image, this command assumes you&amp;#8217;ll use a reverse proxy&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;docker run -d \
  --name taskchampion \
  --restart unless-stopped \
  -p 127.0.0.1:8081:8080 \
  ghcr.io/gothenburgbitfactory/taskchampion-sync-server&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;4. (Optional) Use a  reverse-proxy to avoid conflicts, and to make it obey your web server if you already have one.&lt;/p&gt;


&lt;h3&gt;Making clients sync to the server&lt;/h3&gt;

&lt;p&gt;You&amp;#8217;ll need to do these steps on all clients you want to have in order to have them synchronize. You could enter separate commands, but I prefer to enter it all at once in the .taskrc configuration file. &lt;/p&gt;

&lt;p&gt;1. Install &amp;#8216;uid-runtime&amp;#8217;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ apt install uuid-runtime&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;2. Generate your &lt;span class="caps"&gt;UUID&lt;/span&gt; using uuidgen, take note of this, or put it in your clipboard&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ uuidgen&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Final client configuration&lt;/h4&gt;

&lt;p&gt;3. Open the .taskrc file in a text editor, go to the bottom, and add in your information:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sync.server.url=task.example.com  ...&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>T480s-1-year-review</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlposts/t480s-1-year-review.html</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlposts/t480s-1-year-review.html</guid>
      <pubDate>Sun, 03 May 2026 18:31:17 +0000</pubDate>
      <description>&lt;p&gt;&lt;img align="center" alt="" src="../m/t480s.jpg" /&gt;&lt;/p&gt;


&lt;h2&gt;Origin &amp;amp; Review&lt;/h2&gt;


&lt;p&gt;It has been a year since I have acquired my T480s, I don&amp;#8217;t regret the purchase, and it has not broken on me yet. It has served me well so far. I purchased this laptop when I noticed the &lt;span class="caps"&gt;SMART&lt;/span&gt; stats on my T420s&amp;#8217; &lt;span class="caps"&gt;HDD&lt;/span&gt; (I did not replace it😉) climbing up quickly, I knew it was the beginning of the end, and that I should seek a replacement. It took some getting used to, I thought I would miss the original keyboard, but it turns out I don&amp;#8217;t really care about that, the tactility feels the same. The &lt;span class="caps"&gt;NVM&lt;/span&gt;e was a dramatic improvement to boot-time and general performance. For reference, it takes around 3 seconds to open my phat browser for the first time. It would be nice to have a separate row for function keys. The Fn thing is strange to me. For migrating I remember just hooking both laptops to ethernet, setting up sshd, then just rsyncing it. Installation went smoothly. Battery life and capacity is strong, though I might stock up on replacements in the future. The T480s is obscenely quiet compared to the T420s, no coil whine, &lt;span class="caps"&gt;HDD&lt;/span&gt; churning, no fan sounds. The only time I hear the laptop make a sound at all is when it is completely maxed out. Using this laptop for the first time felt like alien technology.&lt;/p&gt;



&lt;p&gt;&lt;img align="center" alt="" src="../m/t480s-smart.jpg" /&gt;&lt;/p&gt;



&lt;p&gt;Seems like it came used.&lt;/p&gt;



&lt;h2&gt;Commemoration&lt;/h2&gt;



&lt;p&gt;&lt;img alt="" src="../m/seagatehdd.jpg" /&gt;&lt;/p&gt;


&lt;p&gt;🫡🫡🫡🫡🫡🫡&lt;/p&gt;



&lt;h3&gt;Links&lt;/h3&gt;


&lt;p&gt;&lt;a href="https://psref.lenovo.com/syspool/Sys/PDF/ThinkPad/ThinkPad_T480s/ThinkPad_T480s_Spec.pdf"&gt;psref.lenovo.com/syspool/Sys/PDF/ThinkPad/ThinkPad_T480s/ThinkPad_T480s_Spec.pdf&lt;/a&gt;&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>New-Commandment</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlposts/New-Commandment.html</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlposts/New-Commandment.html</guid>
      <pubDate>Sun, 03 May 2026 03:46:16 +0000</pubDate>
      <description>&lt;p&gt;&lt;img align="center" alt="Love" src="../m/lv.jpg" title="Love" /&gt;&lt;/p&gt;


&lt;h2&gt;John 13:34-35&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A new commandment I give unto you&lt;/strong&gt;, That ye &lt;strong&gt;love one another&lt;/strong&gt;; as I have &lt;b&gt;loved you&lt;/b&gt;, that ye also love one another.&lt;/p&gt;


&lt;p&gt;By this shall all men know that ye are my disciples, if ye have love one to another.&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Video Games</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlOn Video Games.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlOn Video Games.txt</guid>
      <pubDate>Sun, 03 May 2026 01:51:02 +0000</pubDate>
      <description>&lt;p&gt;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;/p&gt;

&lt;p&gt;⡿⠿⠛⠿⠿⠿⡿⠿⠿⠻⠿⠿⠿⠟⠻⠻⠿⠿⠿⠿⠿⠿⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⡿⠿⠿⠿⠿⡿⠿⠿⣿⢿⠿⠿⠿⠿⠿⡿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⣿&lt;br /&gt;
⠀⣾⠛⠻⣷⣶⡬⡶⠣⠷⠂⢵⣠⢌⢴⠗⢛⠺⡣⡴⠊⡄⣻⢝⣠⣶⡶⡲⢟⡙⢿⣕⠐⢶⣦⢶⣾⣷⢦⡼⡀⣀⢎⠀⣤⡫⠗⣴⣾⡟⣋⠲⣒⢦⠄⢷⣶⣦⣴⣔⡲⢅⢨⠿⢿⠃⣤⣀⣀⢴⣼⡲⡄⣲⣰⠶⡞⢻&lt;br /&gt;
⠒⢈⡀⠡⡈⢈⣈⢀⣈⣉⣁⣉⣉⣀⢉⣉⣠⣈⣀⣁⣀⣀⣀⣈⢉⣉⣀⣁⣈⣀⣁⣈⣀⣀⣈⡁⠀⠁⠀⣈⣈⢀⠈⠉⠁⠈⠉⡀⡁⠁⠉⠉⠀⢁⣀⡉⣀⡁⢀⣁⢉⣈⣈⠉⣀⢈⣉⣋⣘⣓⣒⣓⣈⡩⠋⠨⠤⢼&lt;br /&gt;
⠀⠓⠃⠂⠰⠠⢹⣷⣁⠘⠋⢉⢹⠱⣘⠉⠸⠺⠦⣘⣸⣅⣁⢿⡜⢖⠻⢿⣿⣿⣿⢟⢿⢟⣾⠗⣷⣞⣟⠞⠁⠀⡸⡮⠀⢀⡠⠛⠁⣀⡠⠠⡢⣷⠏⢿⣵⣤⣿⢽⡻⣽⢶⣿⣅⣟⣿⣿⢳⢞⣻⣟⣡⡇⠐⠓⠂⢸&lt;br /&gt;
⠀⢳⡞⠃⠀⠇⡀⣿⣇⣧⢀⠈⠷⠓⣒⡚⠛⣭⣟⣛⢶⠮⠴⢾⠻⣮⣓⠷⢾⣛⠶⢗⣧⣾⣛⣛⡽⠫⠂⢀⣄⠀⣀⠁⠂⠻⠇⠁⢀⢉⣩⣈⣷⢷⢧⣿⣇⣾⡟⢋⠍⢋⣣⣅⢿⣟⣼⣿⣿⣿⢿⣿⣿⡇⠰⣴⠖⣸&lt;br /&gt;
⠀⢾⠡⠊⠫⡦⠻⢸⣿⢚⡃⢆⢉⣣⣽⣿⣩⣶⢦⠷⢛⢛⣛⡋⣯⠨⡙⣛⣿⣿⣟⣿⣽⣶⠿⡫⢊⠀⢀⠄⢀⠰⠛⣢⠈⡢⣤⣦⣾⢟⣩⢊⣾⢎⡾⣽⣻⣿⡿⣻⣯⣐⠹⣐⣮⣿⢿⣿⡟⣁⣤⡙⢻⡇⢠⡟⡄⣸&lt;br /&gt;
⠀⣄⢐⠈⡀⠜⢋⢸⣿⣰⣏⡝⣈⡫⢭⣝⢄⠒⡾⣿⣶⠟⡿⣛⠃⠉⠵⣯⣟⣛⣟⣶⡵⠄⠈⠀⠉⢠⡶⠐⡓⣂⠵⣃⠺⣠⡙⢿⣍⡿⠷⠭⣾⣯⠾⣧⣿⠿⣿⢺⣿⣿⢟⣿⣟⣟⣿⣿⣇⡜⢻⠓⣿⡇⠀⢃⡄⣸&lt;br /&gt;
⢀⡛⡌⠆⡤⢀⣠⠈⠛⡴⣏⢃⡟⠻⣟⡻⢁⡅⠁⢘⣥⡖⣲⣖⢺⣤⣁⠙⣿⣿⣿⠟⢀⡀⢘⠃⠠⠅⣀⢚⠑⠂⢜⠉⡿⢿⢛⣔⣾⣍⣿⣛⣩⠏⣟⡙⣻⣴⣷⣿⣿⡿⡛⢻⣿⣿⡿⠟⣿⣿⣷⣾⢹⡇⢰⡆⢃⢹&lt;br /&gt;
⠰⠊⢑⡖⣟⡐⠁⡁⠠⢹⣯⠱⣶⣶⣿⣯⣟⢂⣞⣡⣿⡿⣯⣽⡟⡗⠘⢃⢹⠙⠑⠀⠈⠁⠢⣀⠐⣿⣑⠾⢓⣦⣖⡚⢭⡮⢜⣿⣿⡣⠿⣻⣷⠍⠟⠇⣼⣿⣿⣿⠟⠭⣧⣖⠸⣿⣿⣿⣿⣿⣿⣿⣿⡇⢬⡗⢇⣸&lt;br /&gt;
⠐⠈⠈⡇⣰⣤⡾⣓⣿⣦⣿⣶⣾⣿⣏⠉⠄⢺⡐⠛⡊⠄⣆⢳⣤⣯⣸⡿⡂⠀⠘⠣⣂⣤⠁⡁⠈⣛⢈⢐⢢⡎⣻⣧⣥⣵⣿⡿⠭⠳⣳⢿⡏⣳⣷⣿⣿⢋⣾⣿⣦⣤⣉⣄⣾⣿⡿⠻⣿⣿⡖⠟⣿⡇⠨⠃⢂⢼&lt;br /&gt;
⢰⠀⢠⡇⣿⣿⡿⢿⡛⡻⡋⡉⠢⠢⢈⢂⣢⣤⣥⣷⣼⠷⣻⣭⣻⢻⠏⠀⠀⠀⢀⠌⠌⠉⠰⠫⢈⡉⣠⠈⠃⣟⣿⣿⡿⣉⣿⡐⢺⢿⠬⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⣿⣿⣿⣻⣿⢎⣿⡇⢀⠀⢼⢻&lt;br /&gt;
⠈⣀⣀⡇⠁⠀⢔⣐⣀⣷⣼⣿⡿⣾⡻⣿⡞⣶⣶⣝⣿⠒⢻⡿⡿⠃⠀⠘⠀⠀⠻⢁⢬⠄⠓⠔⢎⣭⠅⢼⡮⠬⣿⣿⢿⣿⠿⠷⢤⣬⣾⡻⢿⣿⣿⢣⣩⠍⣽⣿⣧⣾⣿⣿⠃⣳⠓⠶⣿⣿⢀⠟⠛⡅⢈⠀⢼⣸&lt;br /&gt;
⠈⠈⢁⡇⣿⢿⣿⣻⢋⣾⣿⣶⣝⡻⠇⢑⣷⣿⣿⣯⣠⣾⣯⠏⠀⢀⣀⠈⠠⢠⣤⡄⠱⡤⠖⢈⠅⠼⣇⣁⣣⣾⣿⣧⡲⡡⣴⡯⢸⣿⣿⣶⣿⣿⢈⠝⠟⢣⣰⣿⣿⣿⣿⡿⣧⣱⡉⣕⢔⠁⢶⢰⠷⠆⢸⠈⢹⣸&lt;br /&gt;
⢀⣀⣈⡇⣽⣮⣷⢯⣡⣉⣿⣿⣿⣧⣯⢿⣻⣭⢿⡻⡻⠭⠀⠀⠁⠝⠃⠰⢠⠂⡈⡩⠐⣚⡑⣊⢸⣚⣿⣿⠋⣀⠝⢿⣿⠵⣤⣷⣿⠟⣿⣿⣿⣿⣷⣧⣷⣿⣾⣿⣿⣿⣿⣿⣣⡅⣷⡨⠁⠁⢹⢄⠴⡠⢸⣧⣺⣿&lt;br /&gt;
⠀⣤⣤⢠⢾⡫⣰⣿⣾⣿⣿⠟⣛⢋⠙⠹⠄⣥⣄⣧⡞⠁⢀⡀⠐⠄⢁⡤⢌⡦⠙⠋⣱⡍⢨⡩⠹⣿⡿⡇⠸⠻⢉⣼⣿⣦⢟⣭⢿⣶⣿⣿⣤⣾⣿⣟⢿⣿⢿⣿⣿⣿⣦⠊⠙⠐⠼⢑⠤⡉⢠⢈⢠⡇⠰⣶⢈⣿&lt;br /&gt;
⠀⠿⠟⠤⣾⢺⠟⠛⠫⢇⢈⢁⣶⣞⣟⢷⣞⣟⢿⠛⠀⠀⠘⠏⠠⠈⣨⢤⠖⣞⣟⣭⢷⣎⠙⠋⣩⣾⣶⣿⣷⣶⡿⣿⠫⣗⠻⠽⢿⣍⠿⣿⣿⣿⣿⣿⣿⣾⣿⡶⣿⣍⡭⢄⢤⠈⢃⣦⠾⠾⠲⠾⣇⡅⠨⠿⠏⣿&lt;br /&gt;
⠈⢍⡉⢁⣫⣄⣤⣬⣿⣿⠟⢮⣛⣹⣽⢶⢾⡿⠏⠠⠀⠀⠅⣉⢌⠷⠐⡉⢩⡥⡁⡔⢘⣿⣷⡟⣉⡉⢿⣿⣴⣿⡻⣈⣿⡹⡁⣠⡾⢴⡣⠡⢿⣿⣿⣿⢽⣟⣿⡿⣪⣻⡿⣟⡾⣹⠟⣥⣞⣿⣿⣳⣾⡛⠈⢉⡍⣿&lt;br /&gt;
⠀⠫⢃⢀⣶⡟⢯⡩⣬⡲⡾⡿⠿⢳⠉⡌⣷⠀⠀⠠⠦⠸⢂⢀⡉⣣⣀⣁⡐⣚⣬⣤⢿⣯⣿⡀⠟⢇⣰⣿⡯⠪⡩⠙⠁⠐⠫⢁⠀⠈⠑⢠⢸⣿⢿⣿⣿⣿⣻⡷⣽⣤⣆⡌⠳⣯⣼⢻⣏⣩⡟⡛⣎⣧⠀⠈⠃⡿&lt;br /&gt;
⠀⣵⣁⠀⣷⣟⡿⢿⡏⣿⣸⣿⣔⣼⣇⣿⠃⠀⠀⠀⢀⡁⠐⠌⢅⡉⣨⠯⢿⠈⣥⣙⣿⣿⣸⣿⣞⣻⣿⠿⣟⣳⣬⠅⢓⠀⢸⠀⠡⠀⠛⠃⣣⣿⣿⣿⣛⣛⠛⣩⠭⡍⠃⢉⣭⣏⣻⣼⣿⡋⣼⡾⢀⣿⠀⡐⠀⠧&lt;br /&gt;
⠀⡒⠕⢀⡌⣾⣇⢸⣷⣸⣿⡕⢘⡪⡿⠁⠀⣠⠀⠁⠸⠏⠘⣤⣈⣐⣚⠺⣧⡈⡛⣀⣿⣟⣏⣿⣿⣿⣟⠃⣯⣁⢐⠠⣀⢲⠂⠀⡇⢀⠩⢯⢻⣿⣿⣿⡿⡭⣙⣦⣠⣶⣿⡿⡞⠚⢶⣝⠶⢥⣤⣶⣫⡿⠀⡝⡄⠸&lt;br /&gt;
⠆⡠⡩⠠⣿⣻⣿⣼⣿⣿⣯⣟⡿⡃⠁⠀⡈⠛⡐⠁⢤⣮⠓⠶⠦⣡⡎⣛⣖⣿⡿⡿⣿⣿⣯⣿⣿⢫⣿⢾⢶⣎⡂⢣⢀⠀⡇⢀⢇⣁⣭⣴⣿⣿⣯⣻⢫⡜⣞⣯⣭⡍⢶⠤⠩⠪⢂⠹⢻⠛⢓⠻⣛⣇⡀⢹⡇⠁&lt;br /&gt;
⠀⢚⡰⠀⣿⣿⣿⣿⣿⢻⢩⣟⠙⠀⢀⡄⢐⠄⠰⢃⣒⡇⠛⠪⢧⣬⣥⢿⣯⣿⣯⣗⣿⣿⣊⣽⣿⣿⣿⣮⣬⣤⣆⡀⠢⣁⣧⠢⣻⢛⢿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣗⢿⠄⢂⡠⠰⣼⡢⠃⠐⠨⠁⠐⣿⠁⠀⠀⢀&lt;br /&gt;
⠀⣫⢆⠀⣷⣽⣿⣿⣗⡸⠊⡳⠁⠀⠈⢁⠨⠑⠄⠚⣚⠫⠿⠿⢝⡺⣭⣹⡿⣿⣿⠿⠛⠻⠿⢿⢿⠿⠿⣟⠟⡿⠿⣟⣛⣃⡧⡼⢋⣅⡁⢘⠋⢹⡍⢩⣍⣫⡓⣭⠨⢀⣚⣉⣭⠤⠛⠥⢅⣭⣱⡤⢇⠼⠀⡞⠄⠂&lt;br /&gt;
⠃⢀⡴⠀⢗⠯⢯⣿⣿⡺⠈⠁⠀⠀⠂⡂⣁⡡⣴⠕⣪⣩⠲⠊⡓⣋⣈⠉⣉⣑⣲⠖⠒⠷⠭⢭⠬⠿⠶⢲⠬⠯⣁⣀⣉⣉⡿⠡⠋⠉⠑⣝⣻⣻⣩⣚⣝⣋⠬⢭⢯⢭⢇⣚⡉⡽⠟⠽⢥⣶⣒⠓⠒⡲⠀⠰⠇⢀&lt;br /&gt;
⠆⡞⠊⠀⣽⡿⣿⢿⢿⣿⠇⠐⠗⠀⣠⠿⣫⢎⡅⣕⡧⣧⣪⣏⣶⣶⡢⠆⡓⣠⢉⣭⣭⣽⡿⣿⡾⢴⣖⣶⠶⠵⢴⠟⠻⡒⣷⠫⣤⣩⠭⠿⠶⣷⣭⣈⣚⠋⠒⠉⠙⠺⠉⠥⠀⠆⠬⠃⠲⢀⠭⠭⠓⡚⠀⣊⠁⠈&lt;br /&gt;
⡀⠪⡺⠈⣿⡛⣻⢫⠏⠟⠂⠀⠀⠲⣋⡕⢀⠿⣏⣿⣯⡺⡟⣷⣝⢮⡻⣄⠈⠐⡊⠍⣛⣟⣟⣛⣛⡾⡤⣌⡦⢔⣿⣗⢒⢈⣿⠸⣉⠶⠸⣗⣒⢁⣛⢵⢈⠻⠷⠎⢉⡩⢉⣬⣽⣼⡿⣻⣍⡶⣖⢪⣈⢸⢠⣳⣇⠀&lt;br /&gt;
⠌⣶⡾⠁⡛⠱⢍⣂⡿⠈⠀⡤⠀⠨⢦⠧⠶⠖⢝⡛⡿⣿⣧⡿⣯⣷⣜⢘⢧⢀⢐⣚⣀⣀⡄⠍⠒⡒⣒⢒⠲⠷⢖⣢⡤⡤⣿⢸⣾⣶⣦⠊⣛⢣⠵⠒⡳⠟⢫⠿⢞⢂⣨⠄⢂⣤⡰⡀⢶⡀⣩⠭⢩⡶⡄⣿⡏⠐&lt;br /&gt;
⠤⠽⢯⡂⣿⢝⢽⣿⠃⠀⠀⠀⠀⡂⠐⢛⠔⣼⣿⣿⣯⠛⡽⢘⣿⣘⣴⣹⠿⠪⣏⡿⣟⠛⠏⠚⠡⠀⠱⣤⡁⠡⣋⡉⣓⣀⣿⡐⢼⣛⡊⢱⠹⠿⠹⠯⢻⠿⡻⢯⣭⠟⣩⡖⡾⢟⢓⠘⠁⢬⣵⣸⡗⣃⠁⠿⠿⠀&lt;br /&gt;
⢴⠏⡙⡇⣿⣷⣦⢄⢁⢰⣶⠀⡠⠭⢦⡎⢸⣻⣿⣿⣿⢿⣃⣊⡋⠋⢍⢯⣭⣤⣭⣽⣵⢏⢀⢄⡐⠔⠤⣈⣉⠈⠙⠆⢭⢂⣽⣵⣉⡟⢯⣯⡓⢋⠿⡵⡬⡭⣤⢏⡄⣀⣠⡇⠀⡡⡠⠥⡛⡚⡯⠸⠶⣮⢺⢋⣿⠀&lt;br /&gt;
⣸⡀⠈⣧⡿⠻⡘⠀⠀⠐⠁⠊⠤⢉⠁⢠⡯⣯⣚⢳⡏⣫⡩⡏⡥⠷⣩⢯⡟⠋⠛⡉⠈⠢⠇⠁⡈⠉⣀⠡⠆⠋⠂⠁⠄⠈⠉⢛⣛⠛⠺⠃⣩⣗⢢⡡⠍⠼⢟⣿⠭⠠⠰⣠⣀⠈⠸⠘⡙⡥⢀⠈⣝⣛⣸⠂⠐⠀&lt;br /&gt;
⣿⡀⡀⡇⠨⠢⠡⢀⣐⠅⢁⠀⠢⠂⠈⡐⠡⠌⡙⢧⢹⣗⠯⠚⠁⠀⠤⠗⠃⠠⠌⡐⠐⠲⠶⠄⠈⢜⣶⡞⣟⠓⣲⠇⢼⡐⣀⠩⣤⣺⣆⢤⠶⠒⠣⠈⠢⢞⣡⠀⠂⠩⠳⢠⠋⠂⢂⠀⠘⢁⣈⡈⢀⢙⢺⢂⡠⠀&lt;br /&gt;
⣛⠒⡓⠃⠂⢀⢀⠈⡈⠀⡈⠂⠀⣁⠂⠈⠁⠀⣀⣁⣁⣀⠀⠀⠈⢀⣈⣀⣁⣁⣈⣁⣈⣀⣁⣀⣀⣀⡉⣈⣉⣉⣉⣀⣁⣁⣁⣈⣈⣉⣀⢀⠀⠀⢀⣀⣀⣈⡬⠐⠂⡒⣷⠄⣒⡒⠒⣞⡻⣟⣛⢻⡽⡿⣿⡾⣾⠓&lt;br /&gt;
⠁⡸⠭⠜⢀⠀⠧⣆⡐⣛⡕⠯⡆⠿⢈⢻⣾⣿⣸⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⡟⣟⡃⢴⢷⡿⢛⡧⣘⢸⢹⣇⣝⣖⣟⣸⢀&lt;br /&gt;
⣤⣤⣤⣤⣤⣥⣬⣥⣮⣥⣶⣦⣤⣭⣤⣬⣭⣭⣬⣥⣤⣭⣭⣭⣭⣭⣭⣭⣭⣭⣯⣭⣭⣥⣭⣭⣭⣭⣭⣥⣤⣬⣤⣼⣯⣭⣭⣧⣬⣭⣭⣭⣽⣷⣿⣾⣶⣷⣿⣿⣯⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿&lt;/p&gt;

&lt;p&gt;One should take c&amp;#8230;a&amp;#8230;r&amp;#8230;e of oneself, by not consuming&lt;/p&gt;

                                  v        .      .       
 &amp;#8230;</description>
    </item>
    <item>
      <title>File Organization</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlFile Organization.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlFile Organization.txt</guid>
      <pubDate>Sat, 02 May 2026 22:58:47 +0000</pubDate>
      <description>&lt;p&gt;I&amp;#8217;ve come to find that it is difficult to find information on how people&lt;br /&gt;
organize their computer files, at least for users like me. I remember for the&lt;br /&gt;
longest time I would struggle with the defaults of Windows and having&lt;br /&gt;
directories be absolutely packed with unorganized files. There are some&lt;br /&gt;
strategies I found on the internet, but the information doesn&amp;#8217;t feel applicable&lt;br /&gt;
because the authors are either exclusively discussing note-taking, or they are&lt;br /&gt;
not taking into consideration what a &amp;#8216;unix power-user&amp;#8217; would do to navigate and&lt;br /&gt;
use the filesystem.&lt;/p&gt;

&lt;p&gt;Criteria for how I organize files&lt;/p&gt;

&lt;p&gt;- The top-level ($HOME) should consist of one-character directories, if one has
  a feature like zsh&amp;#8217;s autocd, all they have to do is type that single letter,
  and they are there.&lt;/p&gt;

          % ~ a
          % ~/a

&lt;p&gt;- Things should, as much as reasonably possible, use lower-case letters and
  dashes, the &amp;#8211; is notably accessible on Dvorak.&lt;br /&gt;
- &amp;#8220;Document&amp;#8221; and &amp;#8220;Archive&amp;#8221; type directories should use something similar to the
  Johny.Decimal system, they seem to be most appropriate for that system.&lt;br /&gt;
- Keep it simple, and avoid redundancy as much as possible&lt;br /&gt;
- I think downloads being mounted as a tmpfs makes things cleaner, often you
  will come across an archive, in which you only want one thing. Why should the
  husk stay? It also compels you to put things in their proper place.&lt;/p&gt;


&lt;p&gt;My Tree&lt;/p&gt;

&lt;p&gt;This is not verbatim, I&amp;#8217;ve left some room for your imagination.&lt;/p&gt;

&lt;p&gt;├── a &amp;#8212; archive&lt;br /&gt;
│   ├── 00-09-backups&lt;br /&gt;
│   ├── 10-19-art-assets&lt;br /&gt;
│   ├── 20-29-game-saves&lt;br /&gt;
│   ├── 30-39-communications&lt;br /&gt;
│   ├── 40-49-creations&lt;br /&gt;
│   ├── 50-59-notes&lt;br /&gt;
│   ├── 60-69-media-borgs&lt;br /&gt;
│   └── 70-79-media&lt;br /&gt;
├── b &amp;#8212; book collection, each directory is a category&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
├── d &amp;#8212; ephemeral downloads (tmpfs)&lt;br /&gt;
├── k &amp;#8212; markdown / note directory&lt;br /&gt;
│   ├── active &amp;#8212; active referential text&lt;br /&gt;
│   ├── archive &amp;#8212; old things&lt;br /&gt;
│   ├── journal&lt;br /&gt;
│   ├── media &amp;#8212; embedded media&lt;br /&gt;
│   ├── people &amp;#8212; relationships and contacts&lt;br /&gt;
│   ├── projects &amp;#8212; notes and canvases on projects&lt;br /&gt;
│   ├── shadow &amp;#8212; stagnant referential text&lt;br /&gt;
│   └── wiki &amp;#8212; my personal wiki&lt;br /&gt;
├── m &amp;#8212; media&lt;br /&gt;
│   ├── assets &amp;#8212; assets to use in media&lt;br /&gt;
│   ├── family&lt;br /&gt;
│   ├── gems &amp;#8212; the gems&lt;br /&gt;
│   ├── inbox &amp;#8212; unsorted&lt;br /&gt;
│   ├── library &amp;#8212; curated picture collection, each directory is a collection&lt;br /&gt;
│   ├── music &amp;#8212; music collection, synced with phone&lt;br /&gt;
│   ├── tube &lt;br /&gt;
│   └── user &amp;#8212; my media, and media projects&lt;br /&gt;
├── r &amp;#8212; software repositories, things I git clone from the internet&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
│   ├── &amp;#8230;&lt;br /&gt;
├── s &amp;#8212; software, cad, and 3d modelling projects&lt;br /&gt;
│   ├── c&lt;br /&gt;
│   ├── scad&lt;br /&gt;
│   ├── forth&lt;br /&gt;
│   ├── python&lt;br /&gt;
│   ├── shell&lt;br /&gt;
│   ├── archive&lt;br /&gt;
├── w &amp;#8212; wallpapers&lt;br /&gt;
├── x &amp;#8212; documents&lt;br /&gt;
│   ├── 00-09-taxes&lt;br /&gt;
│   ├── 10-19-fitness&lt;br /&gt;
│   ├── 20-29-credentials&lt;br /&gt;
│   ├── 30-39-wage-work&lt;br /&gt;
│   ├── 40-49-business&lt;br /&gt;
│   ├── 50-59-resumes&lt;br /&gt;
│   ├── 60-69-certifications&lt;br /&gt;
│   ├── 70-79-quotes&lt;br /&gt;
│   ├── 80-89-school&lt;br /&gt;
│   └── 90-99-preferences&lt;br /&gt;
└── z &amp;#8212; experimental / scratch
    └── vault &amp;#8212; rclone mount point&lt;/p&gt;


&lt;p&gt;Why the short top-level directory names?&lt;/p&gt;

&lt;p&gt;I found myself shorting directory names like so:
    0. Documents
    1. documents
    2. dox
    3. x&lt;br /&gt;
This comes with a few benefits:
  &amp;#8211; Shorter names, easier to type
  &amp;#8211; Less prefix collision: &amp;#8220;d&amp;#8221; and &amp;#8220;x&amp;#8221; instead of &amp;#8220;Downloads&amp;#8221; and &amp;#8220;Documents&amp;#8221;
  &amp;#8211; Shorter absolute file paths&lt;/p&gt;


&lt;p&gt;How I navigate it&lt;/p&gt;

&lt;p&gt;- zoxide&lt;br /&gt;
- tui file manager&lt;br /&gt;
- the zoxide integration in said tui file manager&lt;br /&gt;
- clicking around in a &lt;span class="caps"&gt;GUI&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Related&lt;/p&gt;

&lt;p&gt;https://johnnydecimal.com&lt;br /&gt;
https://en.wikiversity.org/wiki/File_management#Deduplication&lt;br /&gt;
https://en.wikiversity.org/wiki/File_naming&lt;br /&gt;
https://vifm.info/&lt;br /&gt;
https://yazi-rs.github.io/&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Pornography</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlOn Pornography.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlOn Pornography.txt</guid>
      <pubDate>Sat, 02 May 2026 09:39:00 +0000</pubDate>
      <description>&lt;p&gt;Consider not masturbating and watching pornography.&lt;/p&gt;

&lt;p&gt;Various reasons as to why you should consider:&lt;br /&gt;
- Masturbation is self-abuse&lt;br /&gt;
- God does not want you to abuse yourself&lt;br /&gt;
- Pornography will distort your sense of self, and how you perceive others&lt;br /&gt;
- It is rendering useful energy to inert ends&lt;br /&gt;
- The pornography industry profits off of victims to human-trafficking&lt;br /&gt;
- The ability for your &amp;#8216;dihh&amp;#8217; to get erect will be damaged by you abusing
  yourself&lt;br /&gt;
- Most people correctly consider it to be a &amp;#8216;weird and gross&amp;#8217; behaviour, and if
  you were to be caught, they may see you differently.&lt;br /&gt;
- Anecdotally, everyone that goons is a lame silly goober&lt;br /&gt;
- You get like superpowers or something if you don&amp;#8217;t (I experienced ethereal
  projection, and am now able to cast fireballs at people)&lt;br /&gt;
- Usually results in a mess&lt;br /&gt;
- You have human ontological enemies that want you to fail in your course of
  life by this stumbling block, you of course, likely do not want to lose at
  anything.&lt;br /&gt;
- Doing these things may elevate your prolactin, observe the things that can do
  to you: https://en.wikipedia.org/wiki/Prolactin#Elevated_levels&lt;/p&gt;


&lt;p&gt;Some easy ways to do this are:&lt;br /&gt;
- The much disliked, self control (impossible!)
  &amp;#8211; I, in fact, believe in such heretical ideas like the &amp;#8216;gnomic will&amp;#8217;.&lt;br /&gt;
- Installing a browser extension, here are some:
  &amp;#8211; https://blocksite.co/
  &amp;#8211; https://addons.mozilla.org/en-US/firefox/addon/stopwatchingpornorgetassaded/
  &amp;#8211; https://addons.mozilla.org/en-US/firefox/addon/clearmind-block-porn-websites/&lt;br /&gt;
- Installing a certain /etc/hosts file to block websites, here are some:
  &amp;#8211; https://github.com/StevenBlack/hosts&lt;br /&gt;
- Reading texts to thorougly inoculate oneself with the idea, that maybe shaking
  your parts at images may not be the best expenditure of time:
  &amp;#8211; https://easypeasymethod.org/&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Diet</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlOn Diet.txt</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlOn Diet.txt</guid>
      <pubDate>Sat, 02 May 2026 08:53:16 +0000</pubDate>
      <description>&lt;p&gt;Consider not eating.&lt;/p&gt;

&lt;p&gt;- Products with soy&lt;br /&gt;
- Products with corn syrup&lt;br /&gt;
- Products with seed oils&lt;br /&gt;
- Fast foods&lt;br /&gt;
- Soft drinks&lt;br /&gt;
- All ostentatiously branded &amp;#8216;vegan&amp;#8217; and &amp;#8216;vegetarian food&lt;/p&gt;

&lt;p&gt;Consider eating.&lt;/p&gt;

&lt;p&gt;+ Antidoron and Communion&lt;br /&gt;
+ Locally made foods&lt;br /&gt;
+ Whatever Baba makes&lt;br /&gt;
+ Whatever Mama makes&lt;br /&gt;
+ Whatever may be served at coffee hour&lt;/p&gt;

&lt;p&gt;I would personally like to &amp;#8216;restrict&amp;#8217; (construct) myself to &amp;#8216;2MAD&amp;#8217;, eating two&lt;br /&gt;
meals a day.&lt;/p&gt;

&lt;p&gt;As always, thank you for reading.&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xrasher</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlposts/xrasher.html</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlposts/xrasher.html</guid>
      <pubDate>Thu, 22 May 2025 12:20:14 +0000</pubDate>
      <description>&lt;p&gt;Recently, I concluded a pet project that I would occasionally work on. It was a &amp;#8216;cheat&amp;#8217; that worked universally for the &amp;#8216;Xash3D&amp;#8217; engine, an-almost-clean-room-but-not-quite reimplementation of the proprietary GoldSRC engine. I embarked on this project when I was writing a multiplayer protocol in C, to scratch some itches and to test out certain thought experiments. The result was quite successful, much more than I anticipated. You can browse the source on my &lt;a href="https://sw.vilyaem.xyz/vilyaem/Xrasher"&gt;software forge&lt;/a&gt;. I thought to myself that I would modify the engine&amp;#8217;s source itself.&lt;/p&gt;

&lt;h2&gt;Aim Assistance&lt;/h2&gt;

&lt;p&gt;The aim-assist in Xrasher works by modifying a networking &amp;#8216;usercmd message&amp;#8217; almost immediately before it is sent to the server in the input gathering portion of &lt;a href="https://github.com/FWGS/xash3d-fwgs/blob/master/engine/client/input.c"&gt;engine/client/input.c&lt;/a&gt; (specifically, the IN_EngineAppendMove function), the following is the structure of such message.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;typedef struct usercmd_s
{
    short             lerp_msec;     // Interpolation time on client
    byte              msec;          // Duration in ms of command
    vec3_t            viewangles;    // Command view angles

    // intended velocities
    float             forwardmove;     // Forward velocity
    float             sidemove;        // Sideways velocity
    float             upmove;          // Upward velocity
    byte              lightlevel;      // Light level at spot where we are standing.
    unsigned short    buttons;         // Attack and move buttons
    byte              impulse;         // Impulse command issued
    byte              weaponselect;    // Current weapon id

    // Experimental player impact stuff.
    int               impact_index;
    vec3_t            impact_position;
} usercmd_t;&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;The viewangles of the player can be changed instantaneously to any position on the client-side, there is some ramifications to writing an aim-assist that does this, you can&amp;#8217;t visibly see how other players perceive you or what direction the aim-assist is making you aim. This sort of circumvents a lot of client-side effects as well, so when shooting a firearm, you would see bullet decals in front of you, regardless of the fact the server believes you are aiming in a completely different direction. It would be ideal to implement some sort of UI elements to assist with this. Early on when writing the aim-assist, I chose the dumbest possible implementation, just to see if it was feasible to implement in this certain way. When a key was toggled, aim at the physically closest player. It worked, but it was very&lt;br /&gt;
clunky and unreliable, movement was difficult and you would be bumping into walls. I discovered a few simple principles that are critical to the usability of an aim-assist.&lt;/p&gt;

&lt;p&gt;1. Only activate if the left or right mouse button is held-down.&lt;br /&gt;
2. Lock onto targets in regards to angular distance not physical distance.&lt;br /&gt;
3. Have a maximum angular distance for locking, to cull out irrelevant entities.&lt;br /&gt;
4. (I didn&amp;#8217;t do this) Only lock onto players that are visible.&lt;/p&gt;


&lt;h2&gt;Aim Assistance Algorithm&lt;/h2&gt;


&lt;pre&gt;&lt;code&gt;void CL_XrasherAim(usercmd_t* cmd){
    vec3_t aimDirection, targetAngles;
    cl_entity_t* localPlayer = CL_GetLocalPlayer();
    cl_entity_t* nearestTarget = NULL;
    float minAngleDifference = xrasher_maxdist.value;
    vec3_t currentAngles = { cmd-&amp;gt;viewangles[0], cmd-&amp;gt;viewangles[1], 0 };
    float angleDifference;

    for (int i = 0; i &amp;lt; CL_GetMaxClients(); ++i){
        cl_entity_t *ent = CL_GetEntityByIndex(i);
        if (!ent || ent == localPlayer || ent-&amp;gt;player != true ) continue;

        VectorSubtract(ent-&amp;gt;origin, localPlayer-&amp;gt;origin, aimDirection);
        VectorAngles(aimDirection, targetAngles);

        angleDifference = fabsf(targetAngles[0] - currentAngles[0]) + fabsf(targetAngles[1] - currentAngles[1]);

        if ((angleDifference &amp;lt; minAngleDifference)){
            minAngleDifference = angleDifference;
            nearestTarget = ent;
        }
    }

    if (nearestTarget){
        vec3_t aimDirection, targetAngles;
        VectorSubtract(nearestTarget-&amp;gt;origin, localPlayer-&amp;gt;origin, aimDirection);
        VectorAngles(aimDirection, targetAngles);

       // Normalize pitch (aimDirection[0]) and yaw (aimDirection[1]) to -180 to 180 range
       aimDirection[0] = fmodf(aimDirection[0] + 180.0f, 360.0f);
       if (aimDirection[0] &amp;lt; 0) aimDirection[0] += 360.0f;
       aimDirection[0] -= 180.0f;
       aimDirection[1] = fmodf(aimDirection[1] + 180.0f, 360.0f);
       if (aimDirection[1] &amp;lt; 0) aimDirection[1] += 360.0f;
       aimDirection[1] -= 180.0f;


        // Apply aim assist by modifying the player&amp;#39;s input angles
        cmd-&amp;gt;viewangles[0] = targetAngles[0]; // Pitch
        cmd-&amp;gt;viewangles[1] = targetAngles[1]; // Yaw

       Con_Print(&amp;quot;FOUND TARGET\n&amp;quot;);
       return;

    }

    Con_Print(&amp;quot;NO TARGET\n&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Wallhack Implementation&lt;/h2&gt;

&lt;p&gt;Xash3D-&lt;span class="caps"&gt;FWGS&lt;/span&gt; has two renderer implementations, one OpenGL renderer, and one software-renderer (SW), in order to implement a wallhack, I decided to modify how the renderer rendered dynamic meshes in the world, these are referred to as &amp;#8220;studiomodels&amp;#8221;, in Xash, the world is usually built from brush level geometry, while the things that move around, like players, or pickups, are studio models. It was substantially easier to implement the wallhack for the OpenGL renderer, you simply just render another pass with no depth testing, and just like that you see things through walls. In regards to the software-renderer, it was more complicated, and to this day it is still non-functional in practice, I was modifying the &amp;#8216;scanning&amp;#8217; portion of the  rasterization process. It worked, sometimes, but very often models &amp;#8216;obscure&amp;#8217; each other, and things become invisible. Specifically you are working with &amp;#8216;rendering spans&amp;#8217;, it is an optimization technique where you render &lt;a href="https://machinethink.net/blog/3d-rendering-without-shaders/#interpolation"&gt;strips&lt;/a&gt; of pixels at a time, rather than pixel by pixel. I probably would not implement a SW renderer like this, and I believe this is some legacy inheritance from Quake.&lt;/p&gt;


&lt;h2&gt;Automatic Ban Evasion&lt;/h2&gt;

&lt;p&gt;In Xash3D_FWGS, the maintainers added a &amp;#8220;XashID&amp;#8221; system, an attempt at Hardware identification, this is handled in the &lt;a href="https://github.com/FWGS/xash3d-fwgs/tree/master/engine/client/identification.c"&gt;engine/client/identification.c&lt;/a&gt; file. The objective is to allow server administrators to ban users that have identical hardware. What Xash does is that it scans information about your hardware and with that creates a new ID based on an MD5 hash. All you have to do to circumvent this, is to just modify the engine to fraudulently create new IDs irrespective of your hardware, it is completely clientside, I made Xrasher generate a new one every startup. I didn&amp;#8217;t think I would ever need to use this capability, but it was interesting to overcome such a system in such a messy way. This however does not account for IP bans, I had the assumption that XashID bans would be the initial response, of course if you are joining GoldSRC servers, the XashID system is completely irrelevant, and all bans are based on IP addresses and/or a St*am auth token.&lt;/p&gt;

&lt;h2&gt;Pictures&lt;/h2&gt;


&lt;h2&gt;Links, References, and Resources&lt;/h2&gt;


&lt;p&gt;&lt;a href="https://github.com/rehlds/ReGameDLL_CS/"&gt;github.com/rehlds/ReGameDLL_CS/&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/FWGS/xash3d-fwgs/"&gt;github.com/FWGS/xash3d-fwgs/&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/Velaron/cs16-client"&gt;github.com/Velaron/cs16-client&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#8230;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zoryana</title>
      <link>http://vilyaem.xyz/wrt/writings.htmlposts/zoryana.html</link>
      <guid>http://vilyaem.xyz/wrt/writings.htmlposts/zoryana.html</guid>
      <pubDate>Mon, 05 May 2025 04:01:56 +0000</pubDate>
      <description>&lt;h2&gt;New Job&lt;/h2&gt;

&lt;p&gt;I got a cool new government job; this is how it do.&lt;/p&gt;

&lt;h2&gt;Read &amp;amp; Seed&lt;/h2&gt;

&lt;p&gt;I am likely to get another one, once summer is in full swing, this one would be much quieter. On another, quite related, note, I have been working on a massive &amp;#8216;ebook&amp;#8217; library, most of it is composed of things I have acquired over time, but only now have I begun making it spiffy. I wrote various scripts to help manage it, one allowed me to do bulk renaming of name metadata in Vim for &lt;span class="caps"&gt;PDF&lt;/span&gt;, &lt;span class="caps"&gt;EPUB&lt;/span&gt;, &lt;span class="caps"&gt;MOBI&lt;/span&gt;, and &lt;span class="caps"&gt;DJVU&lt;/span&gt; file formats simultaneously, quite a useful thing as you can imagine, I was assuming there would be a utility that does this but I don&amp;#8217;t believe anyone has made this yet. I plan on pushing this to my software forge at some point. Another script I wrote took a website given a &lt;span class="caps"&gt;URL&lt;/span&gt;, &amp;#8216;zim&amp;#8217; file, or directory, and made it into one uniform &lt;span class="caps"&gt;PDF&lt;/span&gt; file, with the index always being the first page, and the rest of the pages pasted on haphazardly. I believe this approach may be better than the whole &lt;a href="https://kiwix.org/en/applications/"&gt;Kiwix&lt;/a&gt; &amp;amp; &lt;a href="https://wiki.openzim.org/wiki/OpenZIM"&gt;Zim&lt;/a&gt; method of having locally browsable websites, while also resolving the mess a local scrape can be, especially if a dynamic website was scraped, they tend to have weird filenames.&lt;/p&gt;


&lt;h2&gt;Pascha&lt;/h2&gt;


&lt;p style="text-align:center;"&gt;&lt;img alt="" src="../m/resurrection.png" /&gt;&lt;/p&gt;


&lt;p style="text-align:center;"&gt;Truly, He is Risen!&lt;/p&gt;


&lt;p&gt;I had an invaluable opportunity to attend Pascha in its entirety, I consider April 20th in particular to be one of the &amp;#8220;best days&amp;#8221; in my life, it was absolutely wonderful to participate with my brethren in communal prayer and to partake in a (most) grand feast afterwards. My family enjoyed the blessed contents of my basket the following day, can&amp;#8217;t go wrong with kulich. I have been personally experiencing a spiritual-spring during this period. I occasionally meditate about my personal annual-habituality you could say.&lt;/p&gt;

&lt;h2&gt;On Writing To This Site&lt;/h2&gt;

&lt;p&gt;It&amp;#8217;s quite obvious that I don&amp;#8217;t post daily or weekly to my site, this is intentional, this is a form of communication in its own way, just as one spaces out their words so their sentences are comprehensible. I like the borderline neurotic &lt;em&gt;stank&lt;/em&gt; the previous posts give off, perhaps it is what drives someone from just conviction, to action. &lt;/p&gt;


&lt;p&gt;On another note, I advise everyone to actively struggle to purge themselves of misanthropic attitudes and mental-fits, life is too short to resent some no-good cityslickers or to be broodful. It&amp;#8217;s worth it.&lt;/p&gt;


&lt;p&gt;God bless all of you, much love.&lt;br /&gt;
&amp;#8230;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
