
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Memory Matrix</title>
	<atom:link href="http://192.168.0.198/feed" rel="self" type="application/rss+xml" />
	<link>http://192.168.0.198</link>
	<description>Writings, notes, and data</description>
	<lastBuildDate>Tue, 28 Jul 2026 00:27:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Configuring Secondary Storage on Nextcloud</title>
		<link>http://192.168.0.198/archives/3258</link>
		<comments>http://192.168.0.198/archives/3258#comments</comments>
		<pubDate>Mon, 27 Jul 2026 02:10:25 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[Nextcloud]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[z260726wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3258</guid>
		<description><![CDATA[It can be difficult to add a secondary storage to Nextcloud if the storage location is a new local drive. Authentication errors abound and leave one unable to use the additional space. To resolve this, add the drive to the system, and use the occ command to add the secondary storage. Add the new drive, [...]]]></description>
			<content:encoded><![CDATA[<p>It can be difficult to add a secondary storage to Nextcloud if the storage location is a new local drive.  Authentication errors abound and leave one unable to use the additional space.  To resolve this, add the drive to the system, and use the occ command to add the secondary storage. Add the new drive, whether real or virtual, and boot the machine.  Then use <code></code><code>lsblk</code><code></code> to identify the drives.  This is an example from my nextcloud instance:</p>
<pre><code>
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   480G  0 disk 
├─sda1   8:1    0   472G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     8G  0 part [SWAP]
sdb      8:16   0 464.3G  0 disk 
sr0     11:0    1  1024M  0 rom 
</code></pre>
<p>Create the path for the mounting of the partition via <code></code><code>mkdir /mnt/secondary</code><code></code> which is the path that I am using on this machine.  Then use <code></code><code>fdisk</code><code></code> to setup the formatted partition.  In the example above, the sdb device appears as the one that needs configuration. The command to begin is <code></code><code>fdisk /dev/sdb</code><code></code> and after that launches, use the menu to create a new partition ttable, add a new partition, set it to primary, write to disk, and exit.  To confirm the existence of the partition, run a fresh <code></code><code>lsblk</code><code></code> and compare verify the output. After doing that, format the disk via <code></code><code>mkfs -t ext4 /dev/sdb1</code><code></code>.  </p>
<p>Obtain the UUID of the new partition via the <code></code><code>lsblk -f</code><code></code> command.  Example outpout of this command is:</p>
<pre><code>
lsblk -f
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                           
├─sda1 ext4   1.0         d9720050-a770-4d6c-8620-78595132d60e   87.2G    76% /
├─sda2                                                                        
└─sda5 swap   1           f70c9ad7-e991-405b-b093-8b3c92ae8568                [SWAP]
sdb                                                                           
└─sdb1 ext4   1.0         8561c6b1-6cf0-4487-bf95-0cfb1befbb0f                
sr0   
</code></pre>
<p>Use nano to exit the mounting details via <code></code><code>nano /etc/fstab</code><code></code>.  Add the new partition to that using noatime as an option, along with 0 and 2 as the parameters. The parameter noatime tells the system not to update the access time everyone a file is accessed and the 2 tells the operating system to continue booting if the disk is not present for some reason.  Here is an example of the file where the data for sdb1 appears.</p>
<pre><code>
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;
# / was on /dev/sda1 during installation
UUID=d9720050-a770-4d6c-8620-78595132d60e /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=f70c9ad7-e991-405b-b093-8b3c92ae8568 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=8561c6b1-6cf0-4487-bf95-0cfb1befbb0f /mnt/secondary  ext4    noatime         0       2
</code></pre>
<p>Then mount the new partition via <code></code><code>mount -av</code><code></code> which will process the fstab file.  After that, cd into the /mnt directory and change the ownership of the <em>secondary</em> folder created earlier via <code></code><code>chown -R www-data:www-data /mnt/secondary</code><code></code>.  The www-data user may not be the username.  In this case, the webserver for the Nextcloud instance runs via the www-data account so that is the one that works here.  After changing the ownership of that mountpoint, <code></code><code>cd /var/www/html/nextcloud</code><code></code> or whatever the Nextcloud path is for the PHP files.  There should be an occ file present.  Use the following command <code></code><code>sudo -u www-data php occ files_external:create SECONDARY 'local' null::null -c datadir="/mnt/secondary"</code><code></code> and SECONDARY will appear in Nextcloud as an external storage visible to all logged in users.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3258/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apostrophe on Linux and the Preview</title>
		<link>http://192.168.0.198/archives/3240</link>
		<comments>http://192.168.0.198/archives/3240#comments</comments>
		<pubDate>Fri, 24 Jul 2026 03:09:07 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[apostrophe]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[webkit]]></category>
		<category><![CDATA[z260723wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3240</guid>
		<description><![CDATA[Apostrophe on Linux fails to show the preview in some newer operating systems. This occurs because the WebKit backend switched to using hardware acceleration and this does not work for many users. A fix to the launching command works to bring the preview back to Apostrophe, but the same fix will not work for Epiphany. [...]]]></description>
			<content:encoded><![CDATA[<p>Apostrophe on Linux fails to show the preview in some newer operating systems. This occurs because the WebKit backend switched to using hardware acceleration and this does not work for many users. A fix to the launching command works to bring the preview back to Apostrophe, but the same fix will not work for Epiphany.</p>
<p>The fix is:</p>
<pre><code> nano /usr/share/applications/org.gnome.gitlab.somas.Apostrophe.desktop </code></pre>
<p>And the modify the exec line to say the following:</p>
<pre><code> Exec=env WEBKIT_DISABLE_COMPOSITING_MODE=1 LIBGL_ALWAYS_SOFTWARE=1 apostrophe %U </code></pre>
<p>These changes will disable hardware acceleration and return the preview functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3240/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indefinite Persistence of Vaccine mRNA</title>
		<link>http://192.168.0.198/archives/3231</link>
		<comments>http://192.168.0.198/archives/3231#comments</comments>
		<pubDate>Sat, 18 Jul 2026 20:12:56 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Social Science notes]]></category>
		<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[genetics]]></category>
		<category><![CDATA[mRNA]]></category>
		<category><![CDATA[z260717wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3231</guid>
		<description><![CDATA[The quantity of spike protein created via the mRNA transfection process in humans continues to grow. This case shows that at 3.5 years, the lack of an off switch allows continual gene expression.  This means that individuals may express that gene and produce those proteins indefinitely. This case documents the longest reported in vivo persistence [...]]]></description>
			<content:encoded><![CDATA[<p>The quantity of spike protein created via the mRNA transfection process in humans continues to grow. This case shows that at 3.5 years, the lack of an off switch allows continual gene expression.  This means that individuals may express that gene and produce those proteins indefinitely.</p>
<blockquote><p>This case documents the longest reported in vivo persistence of vaccine-derived mRNA, plasmid DNA fragments, and spike protein following mRNA vaccination, with reproducible detection across multiple independent laboratories, distinct biological compartments, and complementary molecular detection systems extending beyond 3.5 years after the final dose. Spike protein, spike mRNA sequences, and plasmid backbone elements were identified in both immune cells and somatic tissue, with continued absence of SARS-CoV-2 nucleocapsid protein or antibodies, effectively excluding prior infection as the source. [via <a href="https://esmed.org/MRA/mra/article/view/7631">Persistence of Vaccine mRNA, Plasmid DNA, Spike Protein, and Genomic Dysregulation Over 3.5 Years Post-COVID-19 mRNA Vaccination | Medical Research Archives</a>, archived 17 July 2026]</p></blockquote>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3231/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Digital ID Prison: The Authentication Layer</title>
		<link>http://192.168.0.198/archives/3149</link>
		<comments>http://192.168.0.198/archives/3149#comments</comments>
		<pubDate>Fri, 26 Jun 2026 01:27:24 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[digital ID]]></category>
		<category><![CDATA[z260625wb]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3149</guid>
		<description><![CDATA[Joshua Stylman&#8217;s essay on refusing to give the digital identification is a great read and definitely worth sharing. The system requires your participation to work. The catch is that this may also be its biggest weakness. It only becomes a cage when adoption is near-universal. In other words, when opting out means you can’t participate [...]]]></description>
			<content:encoded><![CDATA[<p>Joshua Stylman&#8217;s essay on refusing to give the digital identification is a great read and definitely worth sharing.</p>
<blockquote><p>The system requires your participation to work. The catch is that this may also be its biggest weakness. It only becomes a cage when adoption is near-universal. In other words, when opting out means you can’t participate in daily life. When cash still works, and analog alternatives survive, resistance may be inconvenient but still livable. That’s why they need you to volunteer.</p>
<p>Don’t give it.</p></blockquote>
<p>via <a href="https://stylman.substack.com/p/the-authentication-layer">The Authentication Layer &#8211; Joshua Stylman</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3149/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Digital ID Prison</title>
		<link>http://192.168.0.198/archives/3144</link>
		<comments>http://192.168.0.198/archives/3144#comments</comments>
		<pubDate>Fri, 26 Jun 2026 01:22:41 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[digital ID]]></category>
		<category><![CDATA[z260625wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3144</guid>
		<description><![CDATA[Discernment regarding the technology choices that one makes continues to remain important.  In many cases, doing away with social media entirely is the best choice.  Freedom and knowledge for posterity is given up bit by bit. The infrastructure for systems in which you “cannot buy or sell without an ID” is being assembled one prompted [...]]]></description>
			<content:encoded><![CDATA[<p>Discernment regarding the technology choices that one makes continues to remain important.  In many cases, doing away with social media entirely is the best choice.  Freedom and knowledge for posterity is given up bit by bit.</p>
<blockquote><p>The infrastructure for systems in which you “cannot buy or sell without an ID” is being assembled one prompted selfie at a time by Meta, Uber, banks, app developers, and verification vendors. This often happens before governments even pass the final laws.</p></blockquote>
<p>via <a href="https://www.theburningplatform.com/2026/06/22/private-biometrics-are-building-the-digital-id-prison-no-new-laws-required/">Private Biometrics Are Building the Digital ID Prison: No New Laws Required. – The Burning Platform</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3144/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swap File Creation</title>
		<link>http://192.168.0.198/archives/3128</link>
		<comments>http://192.168.0.198/archives/3128#comments</comments>
		<pubDate>Sat, 30 May 2026 02:25:38 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[z260205wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3128</guid>
		<description><![CDATA[dd if=/dev/zero of=/swapfile256GB bs=1024 count=268435456 status=progress chmod 0600 /swapfile256GB /usr/sbin/mkswap /swapfile256GB /usr/sbin/swapon /swapfile256GB echo "/swapfile256GB none swap sw 0 0" &#124; tee -a /etc/fstab Document z260205wa, last modified 21 May, 2026 See z260205f (an earlier note related to swap file creation).]]></description>
			<content:encoded><![CDATA[<pre>
dd if=/dev/zero of=/swapfile256GB bs=1024 count=268435456 status=progress
chmod 0600 /swapfile256GB
/usr/sbin/mkswap /swapfile256GB
/usr/sbin/swapon /swapfile256GB
echo "/swapfile256GB     none   swap    sw     0     0" | tee -a /etc/fstab
</pre>
<p>Document z260205wa, last modified 21 May, 2026<br />
See z260205f (an earlier note related to swap file creation). </p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring Swappiness Level</title>
		<link>http://192.168.0.198/archives/3124</link>
		<comments>http://192.168.0.198/archives/3124#comments</comments>
		<pubDate>Sat, 30 May 2026 02:22:13 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[z260521wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3124</guid>
		<description><![CDATA[It is possible to configure the behavior of Linux with regards to the use of swap memory. The default setting is a swappiness of 60, which means the kernel begins using swap memory once processes use 40% of the system memory. To view the current swappiness setting, use the command cat /etc/sysctl.conf &#124; grep swappiness [...]]]></description>
			<content:encoded><![CDATA[<p>It is possible to configure the behavior of Linux with regards to the use of swap memory. The default setting is a swappiness of 60, which means the kernel begins using swap memory once processes use 40% of the system memory.</p>
<p>To view the current swappiness setting, use the command<br />
<code>cat /etc/sysctl.conf | grep swappiness</code> or use the command<br />
<code>cat /proc/sys/vm/swappiness</code> or the command<br />
<code>/sbin/sysctl vm.swappiness</code></p>
<p>To immediately change swappiness, use the command<br />
<code>sysctl vm.swappiness=1</code> or another number other than 1. In the case of 65536MB of RAM, a swappiness setting of 1 means that once 655MB of memory remains, the kernel will start swapping data to the disk.</p>
<p>To make the change permanent, add <code>vm.swapiness=1</code> to /etc/sysctl.conf. It is also possible to achieve the same effect by adding the <code>sysctl vm.swapiness=1</code> command to a crontab that takes effect upon reboot using <code>@reboot /sbin/sysctl vm.swappiness=1</code> in the crontab editor.</p>
<p>Document z260521wa, last modified 21 May, 2026<br />
See z260205f (earlier referece note on configuring swappiness)</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Zettelkasten Scheme</title>
		<link>http://192.168.0.198/archives/3116</link>
		<comments>http://192.168.0.198/archives/3116#comments</comments>
		<pubDate>Thu, 28 May 2026 02:35:54 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Social Science notes]]></category>
		<category><![CDATA[z260519wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3116</guid>
		<description><![CDATA[This page contains details on the numbering conventions for my zettelkasten. For purposes of organization, these are case insensitive. Sometimes I write them in all capitals and sometimes in lower case. All notes identifiers start with the letter z. That is because Joplin requires a character rather than a number in order to search. Then [...]]]></description>
			<content:encoded><![CDATA[<p>This page contains details on the numbering conventions for my zettelkasten.</p>
<p>For purposes of organization, these are case insensitive. Sometimes I write them in all capitals and sometimes in lower case. All notes identifiers start with the letter z. That is because Joplin requires a character rather than a number in order to search. Then comes the date code. After the date code, a letter identifier specifiying the medium of the note. It is preferred to use lowercase for the letter portions of the names.</p>
<p>z260519w &#8211; web document<br />
z260519l &#8211; loose/large page, archived in three-ring binders<br />
z260519j &#8211; Joplin<br />
z260519p &#8211; pocket notebook<br />
z260519m &#8211; main notebook<br />
z260519z &#8211; Zettlr document</p>
<p>Each one then has a letter, a-z, following the intial portion. z260519ja is the first note of the day in Joplin. z260519jb is the second. Zettlr documents consist of MarkDown (.md) files. These files may be created in Apostrophe or another markdown editor and saved in the Zettlr vault or be created within Zettlr itself. The Pandoc User&#8217;s Guide contains a guide to <a href="https://pandoc.org/MANUAL.html#pandocs-markdown">Pandoc&#8217;s Markdown.</a></p>
<p>This web document is z260519wa. The Joplin note related to this is z260519ja.  For example, I just created z260519za-ark-ascended-notes.md in my Zettlr vault with some cheat codes for Ark Ascended.  I sometimes follow the Zettlr convention of notes numbered like z2605192219 and z2605192238 when creating specific notes related to something I am working on. </p>
<p>This allows me to track thoughts and records across time and media.</p>
<p>&nbsp;<br />
<p>Last modified on July 26th, 2026 at 9:08 PM</p> </p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links</title>
		<link>http://192.168.0.198/archives/3113</link>
		<comments>http://192.168.0.198/archives/3113#comments</comments>
		<pubDate>Thu, 28 May 2026 02:33:47 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Literature Notes]]></category>
		<category><![CDATA[z260518wb]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3113</guid>
		<description><![CDATA[Linvega contains excellent information on historical computation devices such as calculators and slide rule mechanical calculators. Scientist Sees Squirrel convers the importance of writing from the perspective of an evolutionary ecologist and entomologist in Canada.]]></description>
			<content:encoded><![CDATA[<p><a href="https://wiki.xxiivv.com/site/research.html" target="new">Linvega</a> contains excellent information on historical computation devices such as calculators and slide rule mechanical calculators.</p>
<p><a href="https://scientistseessquirrel.wordpress.com">Scientist Sees Squirrel </a> convers the importance of writing from the perspective of an evolutionary ecologist and entomologist in Canada.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3113/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mathematical Reason Most People Never &#8220;Make It&#8221;</title>
		<link>http://192.168.0.198/archives/3073</link>
		<comments>http://192.168.0.198/archives/3073#comments</comments>
		<pubDate>Mon, 25 May 2026 18:49:10 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Literature Notes]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[Price's law]]></category>
		<category><![CDATA[z260525wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3073</guid>
		<description><![CDATA[The Mathematical Reason Most People Never &#8220;Make It&#8221; is an article that details why it is necessary to create, even when it seems that the payoff is lower than it should be. Price’s Law states that the square root of the number of people in a domain does 50% of the work. Here’s what that looks [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://kaguura.substack.com/p/the-mathematical-reason-most-people">The Mathematical Reason Most People Never &#8220;Make It&#8221;</a> is an article that details why it is necessary to create, even when it seems that the payoff is lower than it should be.</p>
<blockquote><p>Price’s Law states that the square root of the number of people in a domain does 50% of the work.</p>
<p>Here’s what that looks like in practice:</p>
<ul>
<li>In a company with 100 employees, 10 people produce half the output</li>
<li>In a field with 10,000 scientists, 100 produce half the meaningful research</li>
<li>On a team of 25, 5 people carry the entire operation</li>
</ul>
<p>&#8230;The formula is simple: √n = your high performers, where n is the total population.</p>
<p>Oh, and it wasn’t exclusive to research papers—this pattern showed up everywhere he looked.</p></blockquote>
<p>This applies to many different things.  This article was a good read.</p>
<p>Document no. z260525wa, last updated 25 May, 2026</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3073/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computing Notes &amp; Reference Information</title>
		<link>http://192.168.0.198/archives/3087</link>
		<comments>http://192.168.0.198/archives/3087#comments</comments>
		<pubDate>Tue, 19 May 2026 02:14:31 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Devuan]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[z260518wa]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3087</guid>
		<description><![CDATA[Changelog Legend: [+] = Added [*] = Changed [^] = Moved [=] = No Changes [x] = Deleted [!] = Bugs [_] = To Do [&#62;] = Migrated [&#60;] = Migrated Linux Operating System Notes: [_] Increasing watch handles on Linux [z260726wa] Adding external local disk storage to Nextcloud [_] Manually set the time zones [...]]]></description>
			<content:encoded><![CDATA[<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top">Changelog Legend:</p>
<pre>[+] = Added
[*] = Changed
[^] = Moved
[=] = No Changes
[x] = Deleted
[!] = Bugs
[_] = To Do
[&gt;] = Migrated
[&lt;] = Migrated</pre>
</td>
<td valign="top">
<!--Thinking Question:</p>
<pre>Who?
When?
Where?
Why?
Way?
Worth?
What?
How?
Cui Bono?</pre>
<p>-->
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign="top"></td>
</tr>
</tbody>
</table>
<p>Linux Operating System Notes:<br />
[_] Increasing watch handles on Linux<br />
[<a href="/archives/tag/z260726wa">z260726wa</a>] Adding external local disk storage to Nextcloud<br />
[_] Manually set the time zones and sync time on Linux<br />
[_] Configure Boot on Devuan Excalibur (ref. z260205a)<br />
[_] Window resize script for X11 (ref. z260205b)<br />
[_] Creating SSH keys and using them on multiple machines (ref. z260205c, z260307a, z260309a)<br />
[_] Excellent backup and restoration scheme using lrzip (cf. z2605919zb)<br />
[_] Monitoring network activity on Linux (ref. z260205d)<br />
[_] Disabling IPv6 in Debian and ending errors appearing in Journalctl related to it (ref. z260205e)<br />
[<a href="/archives/tag/z260205wa">z260205wa</a>] Creating a Swapfile<br />
[<a href="/archives/tag/z260521wa">z260521wa</a>] Configuring swappiness levels</p>
<p>Linux IRC paste bins:<br />
<a href="https://paste.debian.net/">Debian pastebin</a> | <a href="https://paste.opensuse.org/">OpenSUSE pastebin</a> | <a href="https://paste.linux.chat/">#Linux chat pastebin</a> | <a href="https://www.pasteboard.co/">Pasteboard Image Uploads</a></p>
<p>Bash Shell Functions:<br />
[_] Bash shell function webarchive (ref. z260305a)</p>
<p>Quick memos:<br />
Use <code>apt-get install ./x</code> rather than <code>dpkgi -i x</code> when installing third party debs.</p>
<pre>nano -c -i -q --guidestripe=79</pre>
<p>Software Articles:<br />
[_] Disable Updates in Thunderbird<br />
[_] Disable DNS over HTTPs in Mozilla browsers<br />
[_] Remove OneDrive from Explorer via Group Policy on Windows</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3087/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Color Temperature in XFCE</title>
		<link>http://192.168.0.198/archives/3048</link>
		<comments>http://192.168.0.198/archives/3048#comments</comments>
		<pubDate>Mon, 20 Apr 2026 02:04:15 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[XFCE]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3048</guid>
		<description><![CDATA[Redshift was not installed on Debian 12, yet color temperature kept changing without manually doing it.  xsct 6500 restored default color temperature.  Switching to a Gnome session and disabling night shift worked.  After logging back into xfce the temperature issue returned. dconf reset -f / brought back the normal color temperature.]]></description>
			<content:encoded><![CDATA[<p>Redshift was not installed on Debian 12, yet color temperature kept changing without manually doing it.  xsct 6500 restored default color temperature.  Switching to a Gnome session and disabling night shift worked.  After logging back into xfce the temperature issue returned.</p>
<p><code dir="ltr" data-sfc-root="c" data-sfc-cb="" data-complete="true">dconf reset -f /</code></p>
<p>brought back the normal color temperature.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3048/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last Week in Review 26 03 29</title>
		<link>http://192.168.0.198/archives/3030</link>
		<comments>http://192.168.0.198/archives/3030#comments</comments>
		<pubDate>Mon, 30 Mar 2026 01:33:09 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[History notes]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[digital ID]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[serfdom]]></category>
		<category><![CDATA[sharecropping]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=3030</guid>
		<description><![CDATA[&#160; Disabling Microsoft 365 Copilot from Startup on Windows 10 is a bit of a challenge for those familiar with Windows from the old days. It does not appear in Autoruns anywhere, nor does it appear in MSCONFIG. It only appears in the task manager startup section.[1] I have done this to run H &#38; R [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Disabling Microsoft 365 Copilot from Startup on Windows 10 is a bit of a challenge for those familiar with Windows from the old days. It does not appear in Autoruns anywhere, nor does it appear in MSCONFIG. It only appears in the task manager startup section.<sup>[1]</sup> I have done this to run H &amp; R Block tax software, which is the last program tying me to Windows. I have succesfully migrated to Linux otherwise. That covers Steam gaming, document scanning with Brother scanners</p>
<hr />
<p>Apple requires British customers to provide a physical identification card or they will face content restrictions on their mobile devices.<sup>[2]</sup> The measures are not required under the U.K. Regulation.<sup>[3]</sup> Apple apparently chose to pursue a maximilist identification verification strategy on their mobile devices. The U.K. Regulation requires websites to verify rather than operating systems. The approach by Apple removes no liability from the services. They must continue to verify.<sup>[4]</sup> That makes this a data gathering expedition for Apple to obtain identity documents associated with devices on pain of restricted website browsing. In addition to web browsing controls, the lock down activates monitoring of photos and video calls for nudity. That means that every single device from Apple will default to monitored photos and video calls. &#8220;The British government does not require Apple and other OS providers to institute device-level age checks&#8221;.<sup>[5]</sup> Apple recently sought to allow iPhones to serve stand-ins for passports<sup>[6]</sup> and this is the beginnings of their thrust for a complete identification device.</p>
<hr />
<p>An excellent essay appeared in February. That author titled that essay &#8220;Hold on to your computer hardware&#8221;.<sup>[7]</sup> &#8221;HP, on the other hand, seems to have already prepared for the hardware shortage by launching a laptop subscription service where you pay a monthly fee to use a laptop but never own it, no matter how long you subscribe. While HP frames this as a convenience, the timing, right in the middle of a hardware affordability crisis, makes it feel a lot more like a preview of a rented compute future.&#8221;<sup>[8]</sup>. It might be useful to learn how to map around memory failures if one will keep the old hardware.<sup>[9]</sup></p>
<hr />
<p>One unfortunate feature of AI is that it will erase a great deal of the historical record. Dee Mclaughing recorded an instance of attempting to profeed historical quotes in ChatGPT wherein the service refused to profeed certain quotes.<sup>[10]</sup> Many authors will simply remove the quotes that the mechanisms refuse to analyze. Some of history&#8217;s greatest written works allowed us to know of other works by quoting them. Now such works will fail to contain all possibilities. The relevant quote was related to the war in Iraq, from back in 2007. This relates to one of the Sem-descendant nations targeted for destruction, and the major English speaking AI companies are controlled by adjacent interests. It is sad that the young may not care for old books. Old books are the only way they will know the truth in the future.</p>
<hr />
<p>A court ordered Meta to pay $375 Million in damages for failing to protect children.<sup>[11]</sup> This is one of the reasons for the coordinated efforts to push identification to the device. They want to remove liability from the services provider. Apple naturally aligns with that since they want the smart phone to be a global universal digital identification device.</p>
<hr />
<p>Fighting for freedom, privacy, and digital sovereignty is not a lost cause. The EU Parliament abandoned mass observation of Chats. The Apple monitoriting mentioned earlier will now contain greater levels of monitoring than the EU.<sup>[12]</sup>. It is important to celebrate the wins.</p>
<hr />
<p>&nbsp;</p>
<section></section>
<p>&nbsp;</p>
<section>
<ol>
<li id="fn1">Logeshwaran. Disabling Copilot &amp; Microsoft 365 Copilot from Startup on Windows &#8211; Guide. <a title="https://www.logeshwaran.org/2025/05/the-definitive-guide-to-disabling-copilot-and-microsoft-365-copilot-.html" href="https://www.logeshwaran.org/2025/05/the-definitive-guide-to-disabling-copilot-and-microsoft-365-copilot-.html" data-from-md="">https://www.logeshwaran.org/2025/05/the-definitive-guide-to-disabling-copilot-and-microsoft-365-copilot-.html</a>. Accessed 29 Mar. 2026.</li>
<li id="fn2">“Apple Forces British iPhone Users To Prove Age With ID Or Lose Unrestricted Internet Access.” ZeroHedge, <a title="https://www.zerohedge.com/technology/apple-forces-british-iphone-users-prove-age-id-or-lose-unrestricted-internet-access" href="https://www.zerohedge.com/technology/apple-forces-british-iphone-users-prove-age-id-or-lose-unrestricted-internet-access" data-from-md="">https://www.zerohedge.com/technology/apple-forces-british-iphone-users-prove-age-id-or-lose-unrestricted-internet-access</a>. Accessed 29 Mar. 2026.</li>
<li id="fn3">“Apple Introduces Age Verification for iCloud Accounts in the UK.” Engadget, 25 Mar. 2026, <a title="https://www.engadget.com/big-tech/apple-introduces-age-verification-for-icloud-accounts-in-the-uk-115340237.html" href="https://www.engadget.com/big-tech/apple-introduces-age-verification-for-icloud-accounts-in-the-uk-115340237.html" data-from-md="">https://www.engadget.com/big-tech/apple-introduces-age-verification-for-icloud-accounts-in-the-uk-115340237.html</a>.</li>
<li id="fn4">Apple’s UK Age Verification: What This Means For Businesses.” Regula, <a title="https://regulaforensics.com/blog/apple-age-verification/" href="https://regulaforensics.com/blog/apple-age-verification/" data-from-md="">https://regulaforensics.com/blog/apple-age-verification/</a>. Accessed 29 Mar. 2026.</li>
<li id="fn5">Yildirim, Ece. “Apple Requires Device-Level Age Verification in the UK Now. Could the US Be Next?” Gizmodo, 26 Mar. 2026, <a title="https://gizmodo.com/apple-requires-device-level-age-verification-in-the-uk-now-could-the-us-be-next-2000738481" href="https://gizmodo.com/apple-requires-device-level-age-verification-in-the-uk-now-could-the-us-be-next-2000738481" data-from-md="">https://gizmodo.com/apple-requires-device-level-age-verification-in-the-uk-now-could-the-us-be-next-2000738481</a>. Gadgets.</li>
<li id="fn6">Apple Unveils Digital Passports For IPhone: Privacy Advocates And Prophecy Teachers Sound Caution &#8211; Worthy Christian News. 16 June 2025, <a title="https://www.worthynews.com/106196-apple-unveils-digital-passports-for-iphone-privacy-advocates-and-prophecy-teachers-sound-caution" href="https://www.worthynews.com/106196-apple-unveils-digital-passports-for-iphone-privacy-advocates-and-prophecy-teachers-sound-caution" data-from-md="">https://www.worthynews.com/106196-apple-unveils-digital-passports-for-iphone-privacy-advocates-and-prophecy-teachers-sound-caution</a>.</li>
<li id="fn7">“Hold on to Your Hardware.” マリウス, 20 Feb. 2026, <a title="https://xn--gckvb8fzb.com/hold-on-to-your-hardware/" href="https://xn--gckvb8fzb.com/hold-on-to-your-hardware/" data-from-md="">https://マリウス.com/hold-on-to-your-hardware/</a>.</li>
<li id="fn8">ibid.</li>
<li id="fn9">“Hold on to Your Hardware: BadRAM.” マリウス, 20 Mar. 2026, <a title="https://xn--gckvb8fzb.com/hold-on-to-your-hardware-badram" href="https://xn--gckvb8fzb.com/hold-on-to-your-hardware-badram" data-from-md="">https://マリウス.com/hold-on-to-your-hardware-badram</a></li>
<li id="fn10">McLachlan, Dee. “AI Censorship &#8211; We Are Screwed.” Gumshoe News, 27 Mar. 2026, <a title="https://gumshoenews.com/ai-censorship-we-are-screwed/" href="https://gumshoenews.com/ai-censorship-we-are-screwed/" data-from-md="">https://gumshoenews.com/ai-censorship-we-are-screwed/</a>.</li>
<li id="fn11">Lindfield, David. “Court Orders Mark Zuckerberg’s Meta to Pay $375 Million in Damages for Failing to Protect Children.” Slay News, 25 Mar. 2026, <a title="https://slaynews.com/news/court-orders-mark-zuckerbergs-meta-pay-375-million-damages-failing-protect-children/" href="https://slaynews.com/news/court-orders-mark-zuckerbergs-meta-pay-375-million-damages-failing-protect-children/" data-from-md="">https://slaynews.com/news/court-orders-mark-zuckerbergs-meta-pay-375-million-damages-failing-protect-children/</a>.</li>
<li id="fn12">“End of ‘Chat Control’: EU Parliament Stops Mass Surveillance in Voting Thriller – Paving the Way for Genuine Child Protection!” Patrick Breyer, 26 Mar. 2026, <a title="https://www.patrick-breyer.de/en/end-of-chat-control-eu-parliament-stops-mass-surveillance-in-voting-thriller-paving-the-way-for-genuine-child-protection/" href="https://www.patrick-breyer.de/en/end-of-chat-control-eu-parliament-stops-mass-surveillance-in-voting-thriller-paving-the-way-for-genuine-child-protection/" data-from-md="">https://www.patrick-breyer.de/en/end-of-chat-control-eu-parliament-stops-mass-surveillance-in-voting-thriller-paving-the-way-for-genuine-child-protection/</a>. European Parliament.</li>
</ol>
</section>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/3030/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minecraft Tiny Takeover Java Version Change</title>
		<link>http://192.168.0.198/archives/2999</link>
		<comments>http://192.168.0.198/archives/2999#comments</comments>
		<pubDate>Thu, 26 Mar 2026 02:53:21 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Gaming Note]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Minecraft]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2999</guid>
		<description><![CDATA[The 2026-03-24 Tiny Takeover Java Edition, 26.1, requires an upgrade to Java 25. The previous release, 1.21.11, used version 21.]]></description>
			<content:encoded><![CDATA[<p>The 2026-03-24 Tiny Takeover Java Edition, 26.1, requires an upgrade to Java 25.  The previous release, 1.21.11, used version 21.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2999/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Castle and Copyrights</title>
		<link>http://192.168.0.198/archives/2967</link>
		<comments>http://192.168.0.198/archives/2967#comments</comments>
		<pubDate>Fri, 13 Mar 2026 01:47:41 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[History notes]]></category>
		<category><![CDATA[castle]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[Kafka]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2967</guid>
		<description><![CDATA[The Castle is a book by Franz Kafka.  It entered the Public Domain the United States.  It is a wonderful book. I picked one up at a Friends of the Library book sale. That is one of those sales where American libraries sell their old books.  Most American Libraries keep no old books.   When Ceasar [...]]]></description>
			<content:encoded><![CDATA[<p><span class="underline">The Castle</span> is a book by Franz Kafka.  It entered the Public Domain the United States.  It is a wonderful book. I picked one up at a Friends of the Library book sale. That is one of those sales where American libraries sell their old books.  Most American Libraries keep no old books.   When Ceasar burned the Library of Alexandria, it was a tragedy because of the ancient knowledge that was lost.  If Caesar burned an American Library it would make the morning paper and they would simply order replacement copies of the literature since they rarely span cultural eras.  For some reason, our communities dislike the idea of people communing with their forerunners.</p>
<p>Most everything written in America will be long forgotten due to the 95 years of copyright protection on it if a business created it and the 70 years after an authors death.  They have gauranteed the vanishing of most great stories into the sands of time by locking anyone out of republishing them for a century.  Most stories will simply never be told against since only the stories sought and purchased by the rich will be republished.  The old books that Google scanned had only 28 years of copy protection and that is why they survived for hundreds of years in reprints.  Back then, anyone could repriting someting that was thirty years old, and many did.  Now one has to identify rights-holders and pay a license fee, assuming that one could even locate a licensor.</p>
<blockquote><p>The term of copyright for a particular work depends on several factors, including whether it has been published, and, if so, the date of first publication. As a general rule, for works created after January 1, 1978, copyright protection lasts for the life of the author plus an additional 70 years. For an anonymous work, a pseudonymous work, or a work made for hire, the copyright endures for a term of 95 years from the year of its first publication or a term of 120 years from the year of its creation, whichever expires first. For works first published prior to 1978, the term will vary depending on several factors.  [1]</p></blockquote>
<p>I was going to compare some aspects of society to the castle, but am posting this now and may get back to the castle comparison later.</p>
<p>1. How Long Does Copyright Protection Last?, U.S. Copyright Office, accessed 6 March 2026 at https://www.copyright.gov/help/faq/faq-duration.htm.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2967/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruning the blogroll some more</title>
		<link>http://192.168.0.198/archives/2949</link>
		<comments>http://192.168.0.198/archives/2949#comments</comments>
		<pubDate>Sat, 07 Mar 2026 04:48:05 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Errata Notes]]></category>
		<category><![CDATA[commentary]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2949</guid>
		<description><![CDATA[More links have disappeared from the blog roll.  They were links to blogs with callous hunger for death and thirst for human tragedy. Time is too valuable to waste it reading the mantras of the scrofulous.]]></description>
			<content:encoded><![CDATA[<p>More links have disappeared from the blog roll.  They were links to blogs with callous hunger for death and thirst for human tragedy. Time is too valuable to waste it reading the mantras of the scrofulous.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2949/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IceWM, Picom, and LXQT on Debian 12</title>
		<link>http://192.168.0.198/archives/2823</link>
		<comments>http://192.168.0.198/archives/2823#comments</comments>
		<pubDate>Sun, 08 Feb 2026 17:17:43 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[IceWM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LXQT]]></category>
		<category><![CDATA[Picom]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2823</guid>
		<description><![CDATA[This article details how to customize the user interface on Debian using IceWM and picom, and includes a useful font. This applies to Debian 12 at present and applies to any installation of IceWM and Picom as of this date. The version of IceWM used is 3.31, which is copyright 1992-2012 Markko Macke, and 2001 [...]]]></description>
			<content:encoded><![CDATA[<p><span class="drop-cap">T</span>his article details how to customize the user interface on Debian using IceWM and picom, and includes a useful font. This applies to Debian 12 at present and applies to any installation of IceWM and Picom as of this date. The version of IceWM used is 3.31, which is copyright 1992-2012 Markko Macke, and 2001 Mathias Hasselman. The Picom version is 9.1, which is from 2022. These are the versions in the Debian repositories for Debian 12 as of this writing.</p>
<p>Download <a href="http://192.168.0.198/wp-content/uploads/2026/02/themes.tar.gz">themes.tar</a>, which contains 155 themes for IceWM including BlueSteel. This theme set is larger than the default extra-themes archive that one finds in Arch Linux or older version of other distributions. Download <a href="http://192.168.0.198/wp-content/uploads/2026/02/ubuntu-font-family-0.83.zip">ubuntu-font-family-0.83</a> for the complete set of Ubuntu fonts.  One font that I enjoy is AG57, <a href="https://github.com/neueneue/AG57">Akzidenze Grotesk</a>, some details of which can be found <a href="https://www.hackinggutenberg.berlin/en/work/ag57">online</a>.  That font is the precursor of Helvetica, which is also a wonderful font to use .</p>
<p>Extract the individual themes to ~/.icewm/themes.</p>
<p>Then, to modify that size of the text in the title bars regardless of theme, create a prefoverride file.  This is needed in the case of high resolution displays where the standard scaling settings do not modify the size of the window title bar text in IceWM.</p>
<p>Filename: ~/.icewm/prefoverride</p>
<pre># TitleFontNameXft="Impact, Condensed:size=10"
TitleFontNameXft="ubuntu:size=12"</pre>
<p>In this example, the font that I enjoyed called Impact is commented out, and Ubuntu is set to active. I used Impact, but choose to change it to Ubuntu. I left the comment there so that I could remember that one in the future.</p>
<p>By default, with this version, there is a sample config file in /usr/share/doc/picom/examples/picom.sample.conf.  Copy this file to ~/.config/picom/picom.conf and modify to to suit your preferences.</p>
<p>In my case, I changed the shadow widths on the windows and their starting locations.  I also disabled transparency because I dislike the effect of partially transparent windows.</p>
<p>Here is my config file (~/.config/picom/picom.conf):</p>
<p>&nbsp;</p>
<pre>#################################
#             Shadows           #
#################################

# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;

# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 12;

# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
shadow-opacity = .60

# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -10;

# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -10;

# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0

# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0

# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0

# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000"

# Specify a list of conditions of windows that should have no shadow.
#
# examples:
#   shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "_GTK_FRAME_EXTENTS@:c"
];

# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
# clip-shadow-above = []

# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
#    shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""

# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false

#################################
#           Fading              #
#################################

# Fade windows in/out when opening/closing and when opacity changes,
#  unless no-fading-openclose is used.
# fading = false
fading = true;

# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;

# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;

# The time between steps in fade step, in milliseconds. (&gt; 0, defaults to 10)
# fade-delta = 10

# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []

# Do not fade on window open/close.
# no-fading-openclose = false

# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false

#################################
#   Transparency / Opacity      #
#################################

# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
#inactive-opacity = 0.8;

# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
#frame-opacity = 0.7;

# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
# inactive-opacity-override = true
#inactive-opacity-override = false;

# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1.0

# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0

# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
#focus-exclude = [ "class_g = 'Cairo-clock'" ];

# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0

# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
#    opacity-rule = [ "80:class_g = 'URxvt'" ];
#
#opacity-rule = []

#################################
#           Corners             #
#################################

# Sets the radius of rounded window corners. When &gt; 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
corner-radius = 0

# Exclude conditions for rounded corners.
rounded-corners-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'"
];

#################################
#     Background-Blurring       #
#################################

# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5

# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false

# Blur background of windows when the window frame is not opaque.
# Implies:
#    blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false

# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false

# Specify the blur convolution kernel, with the following format:
# example:
#   blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";

# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "_GTK_FRAME_EXTENTS@:c"
];

#################################
#       General Settings        #
#################################

# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false

# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = "glx"
backend = "xrender";

# Enable/disable VSync.
# vsync = false
vsync = true;

# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false

# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;

# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;

# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;

# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
# detect-client-opacity = true;

# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false

# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false

# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0

# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []

# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true;

# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# detect-client-leader = false

# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1

# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []

# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false

# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false

# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true;

# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false

# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ""

# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false

# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false

# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0

# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false

# Set the log level. Possible values are:
#  "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";

# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"

# Show all X errors (for debugging)
# show-all-xerrors = false

# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"

# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
#     "unknown", "desktop", "dock", "toolbar", "menu", "utility",
#     "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
#     "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
#   fade, shadow:::
#     Controls window-type-specific shadow and fade settings.
#
#   opacity:::
#     Controls default opacity of the window type.
#
#   focus:::
#     Controls whether the window of this type is to be always considered focused.
#     (By default, all window types except "normal" and "dialog" has this on.)
#
#   full-shadow:::
#     Controls whether shadow is drawn under the parts of the window that you
#     normally won't be able to see. Useful when the window has parts of it
#     transparent, and you want shadows in those areas.
#
#   clip-shadow-above:::
#     Controls wether shadows that would have been drawn above the window should
#     be clipped. Useful for dock windows that should have no shadow painted on top.
#
#   redir-ignore:::
#     Controls whether this type of windows should cause screen to become
#     redirected again after been unredirected. If you have unredir-if-possible
#     set, and doesn't want certain window to cause unnecessary screen redirection,
#     you can set this to `true`.
#
wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; clip-shadow-above = true; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 0.95; }
  dropdown_menu = { opacity = 0.95; }
};</pre>
<p>To use picom effectively, add &#8220;picom -b&#8221; to the session manager for startup options.  Steam does not like picom, so use &#8220;pkill picom&#8221; before launching games that rely on Steam.  In my particular case I have a session that uses the KDE destkop and I switch into that for steam gaming and then back to my LXQT session with IceWM and Picom for everything else.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2823/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Westminster Leningrad Codex</title>
		<link>http://192.168.0.198/archives/2806</link>
		<comments>http://192.168.0.198/archives/2806#comments</comments>
		<pubDate>Tue, 03 Feb 2026 03:29:25 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Book notes]]></category>
		<category><![CDATA[Bible]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Genesis]]></category>
		<category><![CDATA[Hebrew]]></category>
		<category><![CDATA[Leningrad]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2806</guid>
		<description><![CDATA[I added the Westminster Lenigrad Codex to this site.  The continuously revised version is at https://tanach.us/.  A 713 MiB PDF file is available at archive.org. A set of color photographs by Bruce E. Zuckerman is also available. In order to faciliate easy links, I have uploaded a reduced file size version of the 713 MiB PDF.  [...]]]></description>
			<content:encoded><![CDATA[<p>I added the Westminster Lenigrad Codex to this site.  The continuously revised version is at <a href="https://tanach.us">https://tanach.us/</a>.  A <a href="https://ia800808.us.archive.org/14/items/Leningrad_Codex/Leningrad.pdf">713 MiB PDF file</a> is available at archive.org. A set of color photographs by <a href="https://archive.org/details/Leningrad_Codex_Color_Images/page/n1/mode/2up">Bruce E. Zuckerman is also available</a>. In order to faciliate easy links, I have uploaded a reduced file size version of the 713 MiB PDF. <a href="http://192.168.0.198/wp-content/uploads/2026/02/smallest-pdf-Leningrad.pdf"> This version is ~229 MiB</a>.  The file size was reduced by changing the DPI to 72 DPI via GhostScript on Linux.  I have not uploaded the 713MiB at the moment because using that one for links as I did with the Geneva Bible would cause quite a server impact when each new version lookup required 713 MiB of data transfer.</p>
<p><a href="http://192.168.0.198/wp-content/uploads/2026/02/smallest-pdf-Leningrad.pdf#page=7">Genesis 1:1 appears on page 7</a> of the PDF. The Aleph and Tav in Genesis 1:1 is in the right column, 2nd line from the top, on the right-side edge of the column.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2806/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A conflict in KJV v. RV as Regards Virtue</title>
		<link>http://192.168.0.198/archives/2778</link>
		<comments>http://192.168.0.198/archives/2778#comments</comments>
		<pubDate>Tue, 27 Jan 2026 03:44:56 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[Bible]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[ERV]]></category>
		<category><![CDATA[Geneva]]></category>
		<category><![CDATA[KJV]]></category>
		<category><![CDATA[wisdom]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2778</guid>
		<description><![CDATA[Upon checking for the word childish using grep on the server I stumbled upon a drastic difference in translation meanings. Wisdom, Chapter 4 in the KJV, says &#8220;Better it is to have no children, and to have virtue: for the memorial thereof is immortal: because it is known with God, and with men. &#8221; Whereas [...]]]></description>
			<content:encoded><![CDATA[<p>Upon checking for the word childish using grep on the server I stumbled upon a drastic difference in translation meanings.</p>
<p><a href="https://memorymatrix.cloud/kjv/WIS04.htm">Wisdom, Chapter 4 in the KJV</a>, says &#8220;Better it is to have no children, and to have virtue: for the memorial thereof is immortal: because it is known with God, and with men. &#8221;</p>
<p>Whereas <a href="https://memorymatrix.cloud/rv/WIS04.htm">in the Revised Version, Wisdom says</a> &#8221; Better than this is childishness with virtue; For in the memory of virtue is immortality: Because it is recognised both before God and before men.&#8221;</p>
<p>These are very different meanings. In the authorized version, one finds a comfort for having virtue if they lacked children. In the Revised Version they find an admonishment toward playfullness. Stepping further backward to chapter three, we find that the discussion relates to the unfortunate children of adultery. Chapter 3 of the book Wisdom always gave me great discomfort. It seems the KJV implies that one is better to not have children and to possess virtue rather than to have unrighteous children via adultery. The RV implies either that children should be virtous, or that a virtous person ought to remain in touch with their inner child.</p>
<p>The <a href="https://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=875">Geneva Bible agrees with the KJV by using the word barreness</a>. &#8220;Better is barrenness with virtue: for the memorial therof is immortal: for it is know with God &amp; with men&#8221;</p>
<p>I was looking up the world childish to see how many references there might be to it in addition to the one in <a href="https://memorymatrix.cloud/kjv/1CO13.htm">1 Corinithians 13</a>, which says &#8220;When I was a child, I spake as a child, I understood as a child, I thought as a child: but when I became a man, I put away childish things.&#8221;</p>
<p>There are two instances of the word childish in the KJV. The RV shows only one since they used childishness in Wisdom chapter 4.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2778/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruning the Blogroll</title>
		<link>http://192.168.0.198/archives/2748</link>
		<comments>http://192.168.0.198/archives/2748#comments</comments>
		<pubDate>Fri, 16 Jan 2026 03:17:39 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Errata Notes]]></category>
		<category><![CDATA[commentary]]></category>
		<category><![CDATA[hypocrisy]]></category>
		<category><![CDATA[Luke]]></category>
		<category><![CDATA[Matthew]]></category>
		<category><![CDATA[prophecy]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2748</guid>
		<description><![CDATA[Many of the links are disappearing from the blog roll.  Long format text blogs are a rarity these days, but the ones removed have express Trump Derange Syndrome, which is not a medical diagnosis.  It means they are either paid to lie, delusional, or an enemy of heritage American posterity.  That is not to commit [...]]]></description>
			<content:encoded><![CDATA[<p><span class="drop-cap">M</span>any of the links are disappearing from the blog roll.  Long format text blogs are a rarity these days, but the ones removed have express Trump Derange Syndrome, which is not a medical diagnosis.  It means they are either paid to lie, delusional, or an enemy of heritage American posterity.  That is not to commit the alternate error of declaring someone perfect. It is to recognize balderdash, hooey, illogic, lies, and traitorous sentiments so obviously wickedly contrived that it is an insult to readers to list them here.  I am leaving &#8220;a prophecy of esau and jacob&#8221; despite their January 16, 2026 article  because they have such in depth material on the Targum, but it is definitely in the artificial narrative camp regarding events in the USA.  That blog is listed because it is valuable counterintelligence from a prophetic perspective, and not because I believe it.</p>
<p>There are two end-times futurism camps.  In one, the USA is here and continues on, and in the other it is destroyed, nuked, and enslaved.  Jonathan Cahn is in the destroyed, nuked, and enslaved camp, as is &#8220;a prophecy of jacob and esau&#8221;.  Historicism, Preterism, and one branch of futurism do not generally incorporate that view.</p>
<p>The author claimed that the administration in the USA wants civil strife (<a href="https://wulfstein.org/2026/01/16/its-wartime-in-america/">January 16, 2026</a>).</p>
<blockquote><p>The Trump administration wants to force showdowns that lead inevitably to what happened in Minneapolis Wednesday.</p></blockquote>
<p>The site remains due to its great value as source of information related to the &#8220;America gets destroyed in the end times&#8221; spiritual teachings camp.  I am reminded of some words of Jesus, since we are discussing a site that teaches the Targum.</p>
<blockquote><p>Then Jesus said unto them, &#8220;Take heed and beware of the leaven of the Pharisees and of the Sadducees.&#8221;</p>
<p>And they reasoned among themselves, saying, &#8220;It is because we have taken no bread&#8221;.</p>
<p>Which when Jesus perceived, he said unto them, &#8220;O ye of little faith, why reason ye among yourselves, because ye have brought no bread? Do ye not yet understand, neither remember the five loaves of the five thousand, and how many baskets ye took up? Neither the seven loaves of the four thousand, and how many baskets ye took up? How is it that ye do not understand that I spake it not to you concerning bread, that ye should beware of the leaven of the Pharisees and of the Sadducees? &#8221;</p>
<p>Then understood they how that he bade them not beware of the leaven of bread, but of the doctrine of the Pharisees and of the Sadducees. (Matthew, ch. 16: <a href="https://memorymatrix.cloud/kjv/MAT16.htm">KJV</a>, Geneva Bible, pp. <a href="https://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=1006">1006, 1,007</a>)</p></blockquote>
<p>In another place, Jesus mentions hypocrisy.  Mixing what one claims to be truth with civil strife talking points would seem to qualify as hypocrisy.</p>
<blockquote><p>In the mean time, when there were gathered together an innumerable multitude of people, insomuch that they trode one upon another, he began to say unto his disciples first of all, &#8220;Beware ye of the leaven of the Pharisees, which is hypocrisy.   For there is nothing covered, that shall not be revealed; neither hid, that shall not be known.&#8221; (Luke 12, <a href="https://memorymatrix.cloud/kjv/LUK12.htm">KJV</a>, Geneva Bible, p. <a href="https://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=1056">1056</a>)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2748/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Self-Sufficient Backup System</title>
		<link>http://192.168.0.198/archives/2693</link>
		<comments>http://192.168.0.198/archives/2693#comments</comments>
		<pubDate>Sat, 10 Jan 2026 17:04:06 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[7Zip]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2693</guid>
		<description><![CDATA[What is the reason for a document on backing up one&#8217;s data?  The reason is that this is a critical thing that one must get handled, out of the way, and automated in order to possess peace of mind while undertaking a comprehensive work involving data.  For years I have searched for a great piece [...]]]></description>
			<content:encoded><![CDATA[<p><span class="drop-cap">W</span>hat is the reason for a document on backing up one&#8217;s data?  The reason is that this is a critical thing that one must get handled, out of the way, and automated in order to possess peace of mind while undertaking a comprehensive work involving data.  For years I have searched for a great piece of backup software.  I will share this great backup schematic and ensure it is in place on my own systems before tackling the first article on a place.  </p>
<p>There are several backup solutions in the marketplace but most of them are not really backups in the tradition sense.  Microsoft&#8217;s One Drive, which is probably now the most popular is not a backup at all, but a transitioning of data to someone else&#8217;s computer in the first place.  The Acronis version that one obtains license to via purchasing a Western Digital hard drive constantly uses network activity, despite working as a local backup solution.  Others such as Veeam included end user license agreement clauses allowing them full on premise access for an audit any time they wish, at the customer&#8217;s expense.  Other cloud backup solutions require you to have an active subscription to their product and wait for a backup to restore, it it restores at all.    I once restored about 72 GB of data from a Spider Oak backup and it took almost a month. Jungle Disk was an excellent resource years ago, but they changed branding and shifted how they operated.   Amazon S3 is very cost effective but the software to use requires one to custom build the backup solution or trust someone else or someone&#8217;s software with their keys to Amazon web services.  The best backup software that I personally used was Evorim Advanced Backup, but it is only available in a fully-featured version for citizens of the European Union.</p>
<p>That brings us to what we want.  A differential backup solution using 7zip so that the files can be encrypted and stored on Dropbox (or other cloud option of one&#8217;s choosing).  The key aspects being encryption and differential backups so that one is not constantly reuploading their entire reference corpus every day.</p>
<p>This covers a differential backup scheme using 7Zip and Dropbox and it works on both Linux and Windows.  With the Dropbox folder on a second hard drive, this scheme satisifies the 3-2-1 backup standard, which is  three copies of the data, on two different media, with one offsite copy.</p>
<p>I initially had a backup scheme that created a zip archive and ran that file through openssl to create a new file with a .encrypted extension, that I uploaded to Amazon S3 or Dropbox for long term backups. The process was cumbersome and prone to inconvenience because I had to keep the decryption script somewhere so that I could remember the password and long command. Amazon S3 became more and more cumbersome over time due to needing to constantly update authentication schemes, login details, and the like that it became unreliable as a long term strategy for my needs. I am getting older and do not want to spend all my spare time troubleshooting, upgrading, and learning how redo things that were working perfectly the week before. It is also inconvienient to pass a lengthy filename to a script via a different script or by typing it into the command line. I finally settled on 7-Zip and Differential archives since the procedure works on both Windows and Linux with slight modifications to the paths and variables in the scripts. Windows uses / for path names, and Linux uses , and Batch files use %VAR% for variables, and Linux uses \${var} or \$var depending upon one&#8217;s mode and purpose.</p>
<p>The intial backup scheme is not as efficient as possible because it could be reduced to a single script that with a function that takes arguments, but that requires time that I have not devoted. On Windows three scripts are used. The first script is the backupcaller.bat. Backup caller uses a single argument, that argument being a 1 or a 0. Depending upon which argument is passed, the script then calls the full backup script, script0.bat, or it calls the differential backup script, script1.bat. A task exists to run *backupcaller 0* every three months. That creates a new full backup of the designated folders every three months. A task exists to run *backupcaller 1* every week. That creates a weeekly differential backup of the differences since the the last full backup.</p>
<p>The 7Zip command line for both the Windows and Linux versions of the scripts is the same. I will now discuss the Linux version.</p>
<p>The Linux version calls the fullbackup script every 90 days via cron job. It calls the differential backup script daily via a cron job. In Dropbox the full backups go into a folder named after the year, eg. backups/2025. The differential backups go into a folder named after the month, e.g. backups/2025-12 in the case of month 12. After the turn of the year, the old full backup will not be erased, and the new full backup will appear in backups/2026. I have a specific cronjob to run a full backup on 2026-01-01 so that I do not have to wait 90 days from the last full backup to get one for the year 2026.</p>
<p>In my case, I mount the dropbox folder in the home folder, but have it physically on a different drive. This satisfies the two media requirement in a 3, 2, 1 schema. User and mountpoint would need to be changed to reflect the actual username and path to the Dropbox folder, and CustomPasswordGoesHere should be changed to reflect an encryption password that one wishes to use long term.</p>
<pre>
#!/bin/bash

# This is a function to archive the files in an encrypted zip file on dropbox
fullarchive() {
unset IFS
OLD_IFS=$IFS &#038;&#038; IFS=$'\n'
directory="/home/user/mountpoint/Dropbox/backups"
timestamp=$(date +"%Y-%m-%d-%H%M")
hostname=$(hostname)
year=$(date +"%Y")
month=$(date +"%m")
7z a -mm=Deflate -mfb=258 -mem=AES256 -p"CustomPasswordGoesHere" -mx9\
 ${directory}/${year}/"$1"-${hostname}-FULL-${year}.zip "$1"
IFS=$OLD_IFS
}

# NON HOME DIRECTORY LOCATIONS
cd /
fullarchive "etc"

# HOME DIRECTORY LOCATIONS
cd /home/user
fullarchive ".fonts"
fullarchive ".icons"
fullarchive ".themes"
fullarchive "Apps"
fullarchive "Data"
fullarchive "Dictionaries"
fullarchive "Documents"
fullarchive "Music"
fullarchive "Notes"
fullarchive "Pictures"
fullarchive "Scripts"
fullarchive "Server"
fullarchive "Templates"
fullarchive "Videos"

cd /home/user/.local/share

# contains customized .desktop files
fullarchive "applications"

cd /home/user
# contains Joplin media assets, among other things
fullarchive ".config"
</pre>
<p>The result of this script is a collection of encrypted zip files with names like *backups/2025/Documents-HOSTNAME-FULL-2025.zip* in folder based on the year in the Dropbox location. The metadata of the files can be viewed, but they cannot be extracted without the password.</p>
<p>If one is ultra paranoid, they could create a 99 character password with this script:</p>
<pre>
#!/bin/bash


long="$(openssl rand -base64 256)"
short="${long:0:100}"
echo "${short}"
# It becomes 99 characters because new line characters
# are removed to make it all one line when the output is on two lines.


</pre>
<p>From experience, such a password becomes annoying because I have had to extact from these zip files far more that I ever expected and that needs to factor into password selection. With a 99 character password, one must copy paste it for each extraction which means one must not lose some digital file with the password stored in it.</p>
<p>Now back to the differential portion of the backup.</p>
<pre>
#!/bin/bash


# This is a function to archive the files in an encrypted zip file on dropbox


diffarchive() {
unset IFS
OLD_IFS=$IFS &#038;&#038; IFS=$'\n'
directory="/home/user/mountpoint/Dropbox/backups"
timestamp=$(date +"%Y-%m-%d-%H%M")
timestamp2=$(date +"%Y-%m-%d")
hostname=$(hostname)
year=$(date +"%Y")
month=$(date +"%m")
7z u ${directory}/${year}/"$1"-${hostname}-FULL-${year}.zip "$1"  -mm=Deflate -mfb=258 -mem=AES256 -p"CustomPasswordGoesHere" -mx9 -u- -up0q3r2x2y2z0w2!"${directory}/${year}-${month}/"$1"-${hostname}-Differential-${timestamp2}.zip"
IFS=$OLD_IFS
}


# NON HOME DIRECTORY LOCATIONS
cd /
diffarchive "etc"

# HOME DIRECTORY LOCATIONS
cd /home/user
diffarchive ".fonts"
diffarchive ".icons"
diffarchive ".themes"
diffarchive "Apps"
diffarchive "Data"
diffarchive "Dictionaries"
diffarchive "Documents"
diffarchive "Music"
diffarchive "Notes"
diffarchive "Pictures"
diffarchive "Scripts"
diffarchive "Server"
diffarchive "Templates"
diffarchive "Videos"

cd /home/user/.local/share

# contains customized .desktop files
diffarchive "applications"

cd /home/user
# contains Joplin media assets, among other things
diffarchive ".config"
</pre>
<p>This will create encrypted zip files in the monthly folder of the form *backups/2025-12/Documents-HOSTNAME-DIFFERENTIAL-2025-12-26.zip*. Most of the differentials will be tiny files since no files changed. In the event one changes a huge number of files, one could run another full backup for that folder only, or just allow the differentials to duplicate.</p>
<p>On my Linux machine, I run the differential backups daily because I realized after a Windows machine erasure that I had missed obtaining some data on it since the weekly differential had missed a massive data reorganization that I had done on my source code archives. That is a painful lesson as I had years of C# winforms projects.</p>
<p>The following cron runs the full backup scripts at 7:30 PM every 3 Months.   It runs the differential backup script every day at 10:30 PM.</p>
<pre>
30 19 1 */3 * /home/username/scripts/fullbackup  
30 22 * * * /home/username/scripts/diffbackup
</pre>
<p>It is also imperative that one ensure they are not accidentaly overwriting a backup with an empty one via errors such as two of them labeled Documents. For my data organizations, I label source folders differently. For example, Linux source code is Linsource, and Windows source code is Winsource. That way, regardless of OS, I have a zip of each that I could open easily.</p>
<p>I did run into a problem with the Windows version, where some of the backups I thought I had were not present, because I set the filenames wrong and large archives were being overwritten with the wrong collections for backup to that name.</p>
<p>These solutions are not maximally efficient because I created them by hand just to get the job done.  They could be reduced to a single script taking arguments, or more improved functions.</p>
<p>This is the set of Windows scripts, illustrated with only one folder called Pictures.  To backup more folders than that, copy and paste the start line in backupcaller and change the filename to something else and specify the correct path.</p>
<pre>
REM ###################################################################
@echo off
REM Command enxtensions are enabled by default, but to ensure they are
REM working, it is set below.  This allows mkdir to create entire trees
SETLOCAL ENABLEEXTENSIONS

REM This is the script to call for the backups
REM This Edition: 20 July 2025
REM %1= type of backup, with 0 meaning full and 1 meaning diffrential


REM CALL the script for each folder for backup
REM the call keyword is necessary to run more than one script in a
REM sequence.  The start keyword will create a new process for each
REM script and run them all at the same time. Use either call or start

REM could do a simple for each folder script to get them all
REM &#038;&#038; means execute the command if the one before was successful

REM PLACE FOLDERS ALPHABETICAL   DRIVE THEN FOLDER NAME
REM %1, 0=full backup 1=differential
REM ### C DRIVE USER FOLDER ###
start C:\Users\username\Scripts\admin\script%1.bat "Pictures-%COMPUTERNAME%-%USERNAME%-UsersDir" "C:\Users\username\Pictures"
</pre>
<p>In this script, backupcaller.bat, we are calling script%1.bat and passing two arguments to it. The first is to the filename of the zip file, and the second is the path to be compressed and encrypted.   Once per quarter, this script is called by task scheduler via backupcaller.bat as the command and 0 as the argument.</p>
<pre>
backupcaller.bat 0
</pre>
<p>Which makes the start command insert a zero as follows.</p>
<pre>
start C:\Users\username\Scripts\admin\script0.bat "Pictures-%COMPUTERNAME%-%USERNAME%-UsersDir" "C:\Users\username\Pictures"
</pre>
<p>Here is script0.bat</p>
<pre>
REM ###################################################################
@echo off
REM Command enxtensions are enabled by default, but to ensure they are
REM working, it is set below.  This allows mkdir to create entire trees
SETLOCAL ENABLEEXTENSIONS

REM Name Full Backup Script
REM This Edition: 18 July 2025
REM %1= Folder Name to be used as the zip file name
REM %2= Folder Path to be archived

REM %1 %2 and %3 are like $1 $2 and $3 in Bash
REM create a timestamped zip file of a directory
REM ^ is a line continuation mark
FOR /F "TOKENS=1* DELIMS= " %%A IN (^
'DATE /T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN (^
'DATE /T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN (^
'echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN (^
'echo %CDATE%') DO SET yyyy=%%B
for /f "tokens=1-3 delims=:." %%A in ("%time%") do (
    set hours=%%A
    set minutes=%%B
    set seconds=%%C)

REM -mhe=on for encrypting headers only works with 7-zip format, not zip

REM The date variable numbers differ from other scripts

SET date0=%yyyy%
SET date1=%yyyy%-%mm%
SET date2=%yyyy%-%mm%-%dd%
SET date3=%yyyy%-%mm%-%dd%-%hours%%minutes%

mkdir "D:\PathToDropboxFolderForZipFiles\%date0%"

REM CREATE THE FULL BACKUP ONCE PER QUARTER
REM TEST DATA:   Quicken  "C:\Users\username\Quicken"
REM script0.bat Quicken "C:\Users\username\Quicken"
REM mpass=15 is the maximum passes for max
REM mx9 is the maximum compression for max
REM "C:\Program Files\7-Zip\7z.exe" a -mm=Deflate -mfb=258 -mpass=15^
REM -mem=AES256 -p"AwsomePasswordGoesHere" -mx9^
REM "D:\PathToDropboxFolderForZipFiles\%date0%\%1-Full-%date0%.zip" %2
REM The above is the max compression of the much faster one below
REM the one below is insanely faster, to about an hour vs a day
"C:\Program Files\7-Zip\7z.exe" a -mm=Deflate -mfb=258^
 -mem=AES256 -p"AwsomePasswordGoesHere" -mx1^
 "D:\PathToDropboxFolderForZipFiles\%date0%\%1-Full-%date0%.zip" %2
endlocal
exit
</pre>
<p>The mx1 above could be as high as mx9.  Those are the compression levels for zip files.  The setting of mx1 is essentially store only, which makes the operation very quick, even for large amounts of data.  Replace AwsomePassWordGoesHere with the encryption password that you want to use and remember for the future.  In the Linux examples above, I used mx9 because after using it with large amounts of data for a while, it suits me to prioritize space savings rather than speed.<br />
This will create a full backup of the form Pictures-computername-username-UsersDir-Full-2025.zip</p>
<p>Task scheduler calls using the argument of 1 for the days a differential backup is needed.</p>
<pre>
backupcaller.bat 1
</pre>
<p>script1.bat</p>
<pre>
REM ###################################################################
@echo off
REM Command enxtensions are enabled by default, but to ensure they are
REM working, it is set below.  This allows mkdir to create entire trees
SETLOCAL ENABLEEXTENSIONS

REM Name Differential Script
REM This Edition: 18 July 2025
REM %1= Folder Name to be used as the zip file name
REM %2= Folder Path to be archived

REM %1 %2 and %3 are like $1 $2 and $3 in Bash
REM create a timestamped zip file of a directory
REM ^ is a line continuation mark
FOR /F "TOKENS=1* DELIMS= " %%A IN (^
'DATE /T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN (^
'DATE /T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN (^
'echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN (^
'echo %CDATE%') DO SET yyyy=%%B
for /f "tokens=1-3 delims=:." %%A in ("%time%") do (
    set hours=%%A
    set minutes=%%B
    set seconds=%%C)

REM -mhe=on for encrypting headers only works with 7-zip format, not zip

REM The date variable numbers differ from other scripts

SET date0=%yyyy%
SET date1=%yyyy%-%mm%
SET date2=%yyyy%-%mm%-%dd%
SET date3=%yyyy%-%mm%-%dd%-%hours%%minutes%

mkdir "D:\PathToDropboxFolderForZipFiles\%date0%"
mkdir "D:\PathToDropboxFolderForZipFiles\%date1%"

REM CREATE THE FULL BACKUP ONCE PER QUARTER
REM TEST DATA:   Quicken  "C:\Users\user\Quicken"
REM q1script0.bat Quicken "C:\Users\user\Quicken"
REM mpass=15 is the maximum passes for max
REM mx9 is the maximum compression for max
REM "C:\Program Files\7-Zip\7z.exe" u^
REM "D:\PathToDropboxFolderForZipFiles\%date0%\%1-Full-%date0%.zip" %2^
REM -mm=Deflate -mfb=258 -mpass=15 -mem=AES256^
REM -p"AwsomePasswordGoesHere" -mx9^
REM -u- -up0q3r2x2y2z0w2!"D:\PathToDropboxFolderForZipFiles\%date0%\%1-Differential-%date0%.zip"
REM The above is the max compression of the much faster one below
REM the one below is insanely faster, to about an hour vs a day
"C:\Program Files\7-Zip\7z.exe" u^
 "D:\PathToDropboxFolderForZipFiles\%date0%\%1-Full-%date0%.zip" %2^
 -mm=Deflate -mfb=258 -mem=AES256^
 -p"AwsomePasswordGoesHere" -mx1^
 -u- -up0q3r2x2y2z0w2!"D:\PathToDropboxFolderForZipFiles\%date1%\%1-Differential-%date2%.zip"
endlocal
REM pause
exit
</pre>
<p>This wil will create a differential<br />
Pictures-computername-username-UsersDir-Differential-2026-01-02.zip.  To create this zip file, it will compare the contents of Pictures-computername-username-UsersDir-Full-2026 and only add the files that are new or updated.  That is because of the arguments -up0q3r2x2y2z0w2! passed to 7Zip.</p>
<p>Weekly backups just add to the space, but you could add those by customizing scripts further, or setting asside every 7th daily backup. You can leave old months, and have monthly differential backups relative to the quarterly. 2026-02 differential backups will compare against the 2026-Full, and 2025-01 differential backups will not be erased until you erase them.  Differential backups via this method will not work with split archives, so you must great one large zip file.  Zip files are necessary rather than 7Z files because 7Z files do not maintain Linux permissions such as the executable status of a file or read and write permissions.  Zip format maintains those permissions in Linux.  For tens of gigabytes in data, the time difference between mx1 and mx9 on a single large can be numerous hours.  In my case, mx1 takes about 15 minutes and mx9 takes an entire day with multiple CPU cores at high temperature. The space savings can hit around 30%.  That amount may not be worth it, but on a 2.7 TB usable drive, 300 GB of additional space available because of higher compression becomes relevant eventually.  With a terabyte free, saving disk space matters less, and completing the full backup in about 15 minutes works well.</p>
<p>For each new folder one creates that they want to backup, add it to the backup scripts.  Either to backupcaller on Windows or fullbacup and diffbackup both on Linux.  One may revise the scripts or improve it however they desire.  One could use One Drive, iCloud, or another cloud storage. Dropbox works for my purposes.</p>
<p>Now that a backup schema is in place, one can seriously begin to create.</p>
<p>Thank you for reading this newsletter. Next on the schedule is a look at North Dakota.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2693/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zettelkasten and Writing with Joplin, BPG Fonts, Aider, Ollama, Deepseek r1 14B</title>
		<link>http://192.168.0.198/archives/2672</link>
		<comments>http://192.168.0.198/archives/2672#comments</comments>
		<pubDate>Sun, 28 Dec 2025 20:08:43 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Aider]]></category>
		<category><![CDATA[Joplin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ollama]]></category>
		<category><![CDATA[paired comparision]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2672</guid>
		<description><![CDATA[This is my first attempt at weekly posts. I created an organizational schema and setup the files to begin the work. One of the things this week that I accomplished was the use of Aider to create a rapid prototype of a paired comparison analysis tool that works on the console in any operating system [...]]]></description>
			<content:encoded><![CDATA[<p>This is my first attempt at weekly posts. I created an organizational schema and setup the files to begin the work. One of the things this week that I accomplished was the use of Aider to create a rapid prototype of a paired comparison analysis tool that works on the console in any operating system that uses Python. I used Ollama with Deepseek R1 14B running locally as the backend model. The code for version <a href="https://memorymatrix.cloud/archives/2667.html">25.26.12.20153 is accessible on my website</a>.</p>
<p>The idea of creating an economics website with a spiritual element began to intrigue me quite some time ago. It satisfies several stipulations related to the use of my time in the future. After some experimentation, adding images via Zettlr, which is the word processor that I am using, is cumbersome. I could add them another way or in another program, but this program inspires me to write. I have finally settled on simply using Joplin because I am aging daily and have less time than in the past due to my long commute.</p>
<p>Part of my inspiration for this post today results from the 27 December 2025 issue of Coffee and Covid by Jeff Childers. In that issue, he details his writing and organization process. I have several hundred megabytes worth of notes in Joplin.  I migrated many notes to Obsidian, but now I want them back. With Joplin, one may right click a note and copy a markdown link to use within another note.  That procedure is less efficient than Zettlr&#8217;s ability to start typing a colon and then select the note from a list that filters the notes based on what one types.  I changed font families to the following:</p>
<blockquote><p>Editor font family: BPG Courier GPL&amp;GNU</p>
<p>Editor Monospace font family: BPG Courier S GPL&amp;GNU</p>
<p>Viewer and Rich Text Editor font family: BPG Serif GPL&amp;GNU</p></blockquote>
<p>This allows me to see a preview of my writing in a serif font which helps me write more effectively. Joplin automatically exports a backup of all the files in a single file daily.  I need a second machine configured to export these and individual files in case something happens and the collective archive file fails.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2672/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paired Comparison Analysis</title>
		<link>http://192.168.0.198/archives/2667</link>
		<comments>http://192.168.0.198/archives/2667#comments</comments>
		<pubDate>Sat, 27 Dec 2025 02:53:31 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[paired comparision]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2667</guid>
		<description><![CDATA[This is a simple paired comparison analysis to compare a list of items amongst themselves to find a ranking for decision making. &#160; #!/usr/bin/env python3 ####################################################### # Paired Comparison Analysis # webmaster@memorymatrix.cloud # 25.26.12.2053 ####################################################### import sys import logging def create_lists(list_a=None, list_b=None): """ Create two lists of items from user input Args: list_a (list): Initial [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple <a href="https://citoolkit.com/articles/paired-comparison/">paired comparison analysis</a> to compare a list of items amongst themselves to find a ranking for decision making.</p>
<p>&nbsp;</p>
<pre>
#!/usr/bin/env python3
#######################################################
# Paired Comparison Analysis
# webmaster@memorymatrix.cloud
# 25.26.12.2053
#######################################################

import sys
import logging


def create_lists(list_a=None, list_b=None):
    """
    Create two lists of items from user input

    Args:
        list_a (list): Initial items for List A (optional)
        list_b (list): Initial items for List B (optional)

    Returns:
        tuple: Two lists (A and B), populated with items

    Raises:
        TypeError: If invalid items are provided
    """
    try:
        if list_a is None:
            list_a = []
        if list_b is None:
            list_b = []

        # Populate List A if not provided
        while True:
            item = input("Enter an item for List A (press Enter to stop): ")
            if not item:
                break
            list_a.append(str(item))

        # Copy List A to List B
        list_b = list(list_a)

        logging.info("Lists created successfully")
        return list_a, list_b

    except KeyboardInterrupt:
        print("\nUser interrupted input")
        sys.exit(1)
    except Exception as e:
        logging.error(f"Error creating lists: {str(e)}")
        raise


def count_preferences(comparison_results):
    """
    Count how many times each item was preferred

    Args:
        comparison_results (list): List of tuples from compare_items()

    Returns:
        dict: Dictionary mapping items to their preference counts

    Raises:
        ValueError: If invalid results are provided
    """
    try:
        if not comparison_results:
            raise ValueError("No comparison results provided")

        # Initialize count dictionary
        counts = {}

        for result in comparison_results:
            preferred_item = result[2]
            if preferred_item == 1:
                counts[result[0]] = counts.get(result[0], 0) + 1
            elif preferred_item == 2:
                counts[result[1]] = counts.get(result[1], 0) + 1

        return counts

    except Exception as e:
        logging.error(f"Error counting preferences: {str(e)}")
        raise

def compare_items(list_a, list_b):
    """
    Compare unique pairs of items between two lists and store preferences

    Args:
        list_a (list): First list of items
        list_b (list): Second list of items

    Returns:
        list: Results of comparisons

    Raises:
        ValueError: If lists are empty or mismatched
    """
    try:
        if not list_a or not list_b:
            raise ValueError("Both lists must contain items")

        results = []


        # Generate unique pairs (a, b) where a is from A and b is from B
        # Skip comparisons where items are the same or already compared in reverse order
        for item_a in list_a:
            for item_b in list_b:
                # Skip self-comparisons and reverse comparisons
                if item_a == item_b or item_a > item_b:  # Using '>' to sort alphabetically
                    continue

                try:
                    preference = input(f"Compare {item_a} vs {item_b}: "
                                       f"Enter 1 if you prefer {item_a}, "
                                       f"2 if you prefer {item_b}: ")

                    if not preference.isdigit():
                        print("Invalid input. Please enter 1 or 2.")
                        continue

                    results.append((item_a, item_b, int(preference)))

                except KeyboardInterrupt:
                    print("\nUser interrupted comparison")
                    return results  # Return what we have so far

    except Exception as e:
        logging.error(f"Error during comparison: {str(e)}")
        raise
    return results

if __name__ == "__main__":
    """
    Main program entry point with command line arguments
    """
    try:
        # Configure logging
        logging.basicConfig(
            level=logging.INFO,
            format='%(asctime)s - %(levelname)s - %(message)s',
            handlers=[logging.StreamHandler()]
        )

        # Get items from command line or user input
        if len(sys.argv) >= 2:
            list_a = [str(sys.argv[1]), str(sys.argv[2])]
        else:
            print("No command line arguments provided.")
            first_item = input("Enter the first item for List A: ")
            list_a = [first_item]

        list_b, _ = create_lists(list_a=list_a)

        results = compare_items(list_a, list_b)

        # Get preference counts
        preferences = count_preferences(results)

        print("\nComparison Results:")
        for res in results:
            print(f"Comparing {res[0]} vs {res[1]} - Preferred: {res[2]}")

        print("\nPreference Counts:")
        for item, count in preferences.items():
            print(f"{item} was preferred {count} times")

    except IndexError:
        # Handle cases where lists are too short
        print("Error: Not enough items provided. At least two items required")
        sys.exit(1)
    except KeyboardInterrupt:
        print("\nProgram interrupted by user")
        sys.exit(0)


# Unit Tests
# to run this, go the source directory venv/bin folder, and use source ./activate
# then python3 -m pytest script-name.py
def test_create_lists():
    """
    Test create_lists function with different scenarios
    """
    from unittest.mock import patch

    @patch('builtins.input')
    def test_default_case(mock_input):
        mock_input.side_effect = ['apple', 'banana', '', 'berry']
        list_a, list_b = create_lists()
        assert len(list_a) == 3
        assert list_b == list_a

    @patch('builtins.input')
    def test_single_item(mock_input):
        mock_input.side_effect = ['test', '']
        list_a, list_b = create_lists()
        assert len(list_a) == 1
        assert list_b == list_a


def test_compare_items():
    """
    Test compare_items function with various scenarios
    """


def test_count_preferences():
    """
    Test count_preferences function with various scenarios
    """
    from unittest.mock import patch

    @patch('builtins.input')
    def test_valid_comparison(mock_input):
        mock_input.side_effect = ['1', '2']
        results = compare_items(['a'], ['a', 'b'])
        assert len(results) == 1

    @patch('builtins.input')
    def test_invalid_input(mock_input):
        mock_input.side_effect = ['3', '1']
        results = compare_items(['a'], ['a', 'b'])
        assert len(results) == 1

    def test_count_preferences():
        """
        Test count_preferences function with various scenarios
        """
        from unittest.mock import patch

        @patch('builtins.input')
        def test_valid_comparison(mock_input):
            mock_input.side_effect = ['1', '2']
            results = compare_items(['a'], ['a', 'b'])
            preferences = count_preferences(results)
            assert len(preferences) == 1
            assert preferences.get('a', 0) == 1

        @patch('builtins.input')
        def test_multiple_comparisons(mock_input):
            mock_input.side_effect = ['2', '1']
            list_a = ['apple', 'orange']
            list_b = ['pear', 'tomato']
            results = compare_items(list_a, list_b)
            preferences = count_preferences(results)
            assert len(preferences) == 2
            assert preferences.get('pear', 0) == 1
            assert preferences.get('apple', 0) == 1

</pre>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2667/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Aider</title>
		<link>http://192.168.0.198/archives/2657</link>
		<comments>http://192.168.0.198/archives/2657#comments</comments>
		<pubDate>Sat, 27 Dec 2025 01:05:24 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Aider]]></category>
		<category><![CDATA[Ollama]]></category>
		<category><![CDATA[paired comparision]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2657</guid>
		<description><![CDATA[Well it has taken a little bit, but thanks to Getting Things Gnome! (GTG!), I installed Aider and Ollama and began some vibe coding. Prior to this, I have written data science code in Python and R and produced some GUI applications for Linux. I also developed some software that is in the Windows store, [...]]]></description>
			<content:encoded><![CDATA[<p>Well it has taken a little bit, but thanks to Getting Things Gnome! (GTG!), I installed Aider and Ollama and began some vibe coding. Prior to this, I have written data science code in Python and R and produced some GUI applications for Linux. I also developed some software that is in the Windows store, and produced software for the Windows desktop over the past 15 years or more. The applications that I have in the Microsoft store preceded the advent of the large language model coding assistants.</p>
<p>For the Aider Model, I am using Ollama and Deepseek r1 14B runing locally using the CPU. I have a 4 GB Geforce 1650 Super, which is not going to handle very much advanced neural net math. I have used GPT4ALL with unlimited CPU consumption and it caused the system to halt due to overheating. To prevent system overheating with GPT4ALL, I had to set a limit of 3 or 4 cores. Ollama has not done that. Ollama defaults to one thread per physical core, which is very helpful. The system runs run at the top of the thermal limit when waiting for Ollama/deepseek, but it works in a very stable manner. Many times it runs several degrees below the upper critical limits. This is also a function of my system itself which has upgraded CPU from the manufacturer&#8217;s installed one, while using the original CPU cooler due to space constraints.</p>
<p>My goal is to replace a very large spreadsheet that contained all of the items that I had on my wish list at a specific point in time. I had trouble knowing which item to handle first when there were competing priorities such as home maintenance, vehicle maintenance, vehicle luxury upgrades, vehicle necessities, and so on. I then selected between each item and counted the number of wins for each item. As an example, one item that was on my list for a while was a pack of respirators for working with sawdust, flakes, and similar debris. I had kept putting it off because the projects I was planning to use it with were always on a back burner yet to occur. However, it was one of the top picks because when compared against 59 other items, it received the most votes. One might say that was to be expected. Yet another suprise was the backup collection of motor oil so that rather than only having the next oil change worth of oil, I would now have the next two changes of oil.</p>
<p><img class="alignnone size-medium wp-image-2658" title="Screenshot_20251226_172721" src="http://192.168.0.198/wp-content/uploads/2025/12/Screenshot_20251226_172721-418x194.png" alt="" width="418" height="194" /></p>
<p><img class="alignnone size-medium wp-image-2659" title="Screenshot_20251226_175435" src="http://192.168.0.198/wp-content/uploads/2025/12/Screenshot_20251226_175435-418x155.png" alt="" width="418" height="155" /></p>
<p>I am not sure on what to do with the output code. I was thinking about putting it on GitHub but it seems that GitHub is turning into something akin to the single repository of software code online and the master of it all. That unsettles me somewhat, so once I get the initial version working I will consider my options.</p>
<p>My process broke down regarding search and replace blocks, and I had to revisit some earlier documentation of outputs. The way I do this simple. I save each revision in a timestamped notebook entry in either QOwnNotes or Gnote. Gnote is fast and easy, but QOwnNotes allows me to input images and draft these blog entries.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2657/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QOwnNotes and Zettelkästen</title>
		<link>http://192.168.0.198/archives/2648</link>
		<comments>http://192.168.0.198/archives/2648#comments</comments>
		<pubDate>Thu, 18 Dec 2025 03:07:31 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Joplin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nextcloud]]></category>
		<category><![CDATA[QOwnNote]]></category>
		<category><![CDATA[Zettelkästen]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2648</guid>
		<description><![CDATA[I love Joplin, but Joplin seems more like an incredible file cabinet and set of bookshelves. It is possible to link from one note to another, but a Joplin icon appears by that link in the text. It can also be cumbersome to navigate between multiple documents while working on one. Joplin recently added the [...]]]></description>
			<content:encoded><![CDATA[<p>I love Joplin, but Joplin seems more like an incredible file cabinet and set of bookshelves. It is possible to link from one note to another, but a Joplin icon appears by that link in the text. It can also be cumbersome to navigate between multiple documents while working on one. Joplin recently added the ability to open documents in a child window which really makes the problem wonderful. QOwnNotes includes an excellent Markdown Cheatsheet that one can open in a tab. I am looking for a solution for the extensive file cabinet, and one for the rough drafting. QOwnNotes syncs with Nextcloud.</p>
<div>
<pre><code>chmod +x QOwnNotes-x86_64.AppImage </code></pre>
</div>
<p>This .AppImage file not extract via the normal method. Running the AppImage works, but an extraction to squash-fs fails as it leaves nothing in the folders. It is necessary to run it directly from the .AppImage file.</p>
<p>When creating new notes, they automatically receive file names like <em>Note 2025-12-17 20h10s34</em>. From this, I remove the word note and add a title and tags so that the name may serve me well in the future.</p>
<p><a title="http://192.168.0.198/wp-content/uploads/2025/12/QOwnNotes-25.12.6.source.tar.gz" href="http://192.168.0.198/wp-content/uploads/2025/12/QOwnNotes-25.12.6.source.tar.gz" data-from-md="">A local mirror of the source is available</a> on this website. <a title="http://192.168.0.198/wp-content/uploads/2025/12/QOwnNotes-x86_64.appimage" href="http://192.168.0.198/wp-content/uploads/2025/12/QOwnNotes-x86_64.appimage" data-from-md="">A local mirror of the AppImage file for version 25.12.6 is available</a> on this website. <a title="https://github.com/pbek/QOwnNotes" href="https://github.com/pbek/QOwnNotes" data-from-md="">The developers release the source and binaries on Github</a>. <a title="https://addons.mozilla.org/en-US/firefox/addon/qownnotes-web-companion/" href="https://addons.mozilla.org/en-US/firefox/addon/qownnotes-web-companion/" data-from-md="">The web companion for Firefox and LibreWolf is online</a>, as is the <a title="https://chromewebstore.google.com/detail/qownnotes-web-companion/pkgkfnampapjbopomdpnkckbjdnpkbkp" href="https://chromewebstore.google.com/detail/qownnotes-web-companion/pkgkfnampapjbopomdpnkckbjdnpkbkp" data-from-md="">Chrome extension</a>. The web companion features seem to require more scripting than I am comfortable with for them to work. The number of Linux distributions for which for which one may <a title="https://www.qownnotes.org/installation/" href="https://www.qownnotes.org/installation/" data-from-md="">download via official repositories</a> is very impressive. Zettlr remains prettier and more fun to type in, but QOwnNotes builds documents that are ready for a simple copy-paste into the WordPress editor for publishing.</p>
<p>Nothing can replace Joplin. Joplin recognizes the reference style links of QOwnNotes, and the preview with preformatted text fields for code copy-pastes perfectly into WordPress. Joplin is a definite winner. Especially with the MDI interface.</p>
<p>I tried all these apps, and settled back on Joplin, but Zettler is fun to type in. Zettlr is for making a book, and Joplin is for making a reference library. All of this experimentation leads to me deciding to use Joplin better. Zettlr makes it easy to link existing notes by simply starting to type. The <a title="https://docs.zettlr.com/en/academic/readability/" href="https://docs.zettlr.com/en/academic/readability/" data-from-md="">readability feature in Zettlr</a> is also very helpful and helps me focus. Joplin can also use Zettlr&#8217;s footnote features.</p>
<p>This entry may have meandered a bit. I have settled on Joplin or organizing and remembering and and Zettlr for crafting. I will post completed pieces via Joplin preview to WordPress.</p>
<p>This post used Joplin 3.4.12 on Debian 12 and Zettlr 3.6.0.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2648/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picking a tool for zettelkasten</title>
		<link>http://192.168.0.198/archives/2643</link>
		<comments>http://192.168.0.198/archives/2643#comments</comments>
		<pubDate>Tue, 16 Dec 2025 02:11:53 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Joplin]]></category>
		<category><![CDATA[Logseq]]></category>
		<category><![CDATA[Zettelkästen]]></category>
		<category><![CDATA[Zettlr]]></category>
		<category><![CDATA[Zotero]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2643</guid>
		<description><![CDATA[It is a very challenging thing to pick a tool to invest time into building a personal knowledgebase. I have used numerous tools over the years and collected a huge number of documents and notes. Logseq integrates with Zotero which might prove useful due the gigabytes of material that I have stored there. My plan [...]]]></description>
			<content:encoded><![CDATA[<p>It is a very challenging thing to pick a tool to invest time into building a personal knowledgebase. I have used numerous tools over the years and collected a huge number of documents and notes. Logseq integrates with Zotero which might prove useful due the gigabytes of material that I have stored there. My plan was always to start writing sometime in the future. All of that material would be analyzed, quoted, and used to support some argument.</p>
<p>Zettlr offers the most typerwriter like view, and lacks some of the more advanced features. It is therefore the one that I am going to select for document construction. The simplicity and feature set of the program has proven itself conducive to my needs.</p>
<p>Joplin will continue to play a role as a my giant syncronized and backed up file cabinet.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2643/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discovering Zettelkästen</title>
		<link>http://192.168.0.198/archives/2634</link>
		<comments>http://192.168.0.198/archives/2634#comments</comments>
		<pubDate>Mon, 15 Dec 2025 03:14:19 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Organization]]></category>
		<category><![CDATA[Trilium]]></category>
		<category><![CDATA[Zettelkästen]]></category>
		<category><![CDATA[Zettlr]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2634</guid>
		<description><![CDATA[I discovered Trilium.  The license is great.  The software is mind-blowing.   I found it as part of my desire to migrate away from Obsidian. They have a repository at https://github.com/TriliumNext/Trilium. Via an advertisement there, I discovered https://www.warp.dev/code which looks like an most incredible resource.   That may be how applications like Trillium have such incredible documentation and [...]]]></description>
			<content:encoded><![CDATA[<section id="discovering-zettelkästen">
<section id="discovering-zettelkästen">
<section id="discovering-zettelkästen">I discovered Trilium.  The license is great.  The software is mind-blowing.   I found it as part of my desire to migrate away from Obsidian. They have a repository at <a href="https://github.com/TriliumNext/Trilium">https://github.com/TriliumNext/Trilium.</a></p>
<p>Via an advertisement there, I discovered <a href="https://www.warp.dev/code">https://www.warp.dev/code</a> which looks like an most incredible resource.   That may be how applications like Trillium have such incredible documentation and coding. There are 271 contributors, and the documentation and features are incredible and beyond anything else I have seen in a note taking application. This piece of software and the mind blowing quality of the documentation and feature sets has made me reconsider Deepin with the local integration and Deepin IDE.</p>
<p>The problem is that the Trillium notes are in a database, whereas Obsidian’s are in mark down. I discovered Zettlr, whose notes are also in Markdown, and discuss that below..</p>
<p>I discovered <a href="https://www.zettlr.com/.">https://www.zettlr.com/</a> from a discussion at https://www.xda-developers.com/found-open-source-app-like-obsidian-except-its-better/.</p>
<p>From that, I discovered Zettelkästen. More specifically, I learned what it was via Zettlr. The Zettelkasten method involves cross-referencing one’s knowledge base so that one can find relationships between concepts and create a living knowledgebase with minimal forgetfulness.<a id="fnref1" href="#fn1"><sup>1</sup></a> Zettlr contains the ability to insert snippets using variables for the date, time, and unique ID numbers. This is something that I had been trying to do of my own accord using various applications over the years.</p>
<p>Obsidian has a great preview that one can use to directly copy to blogs and product great entries with links intact. It looks like Obsidian took Trilium’s preview and Zettlr’s markdown and file management to create their application. All three share a very similar sidebar and navigation motif.</p>
<p>I consider Obsidian to be like many Minecraft modification developers in recent years. They take a lot of permissively licensed opensource software and then wrap it in an all rights reserved vague statement and do not share any code or redistribution rights. Many minecraft mods say all rights reserved, which is not really a license. They incorporate and link other libraries. Java itself uses a classpath exception so they do not become GPL because of that, however when the mods rely on other libraries that are GPL, such as other mods, and then hide behind “all rights reserved” it really breaks my heart. One would think they would want their mods available at many different sites and not only the website they uploaded them too.</p>
<p>Electron is MIT licensed. This is not an accusation. This is my opinion. I suspect Obsidian used Trilium notes and possibly Zettlr code and is not compliant with the GPL. That is my opinion only. Trilium notes even comes with server software. The Obsidian Webclipper is great. Yet it irritates me to no end that an open source foundation, like Electron, and possibly some of the precursors of Obsidian, made the way to a piece of software that says you cannot even redistribute the binaries. They could go out of business, but with binaries around, people could use that great software for ages. The situation is contrary to the Linux ethos. I could be wrong, and they pulled their code from Memos, which has a very similiar interface. The Memos code is at https://github.com/usememos/memos. Memos is another project sponsored by Warp. I am not accusing Obsidian. Logseq is another GPL project with a great deal of similar features and buttons, and is available at https://github.com/logseq/logseq.</p>
<p>I am stating that it is very strange, and perhaps some AI agents are using GPL code and the downstream products are not GPL as they should be, but that is my opinion only.</p>
</section>
<section id="footnotes" role="doc-endnotes">
<hr />
<ol>
<li id="fn1">https://docs.zettlr.com/en/advanced/zkn-method/, retrieved December 14 2025</li>
</ol>
</section>
</section>
</section>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2634/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indeed implements arbitration</title>
		<link>http://192.168.0.198/archives/2624</link>
		<comments>http://192.168.0.198/archives/2624#comments</comments>
		<pubDate>Sat, 13 Dec 2025 05:26:37 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[America Notes]]></category>
		<category><![CDATA[arbitration]]></category>
		<category><![CDATA[discrimination]]></category>
		<category><![CDATA[Labor]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2624</guid>
		<description><![CDATA[Indeed emailed me on 3 September 2025 with details that they changed their terms of service.  This is what their email said: “Hello, We&#8217;re emailing you about important updates to our Terms of Service (&#8220;Terms&#8221;)[4]. *We encourage you to read our updated Terms in full.* Here are some key updates for your convenience: * *Dispute [...]]]></description>
			<content:encoded><![CDATA[<p>Indeed emailed me on 3 September 2025 with details that they changed their terms of service.  This is what their email said:</p>
<blockquote><p>“Hello,<br />
We&#8217;re emailing you about important updates to our Terms of Service (&#8220;Terms&#8221;)[4].<br />
*We encourage you to read our updated Terms in full.* Here are some key updates for your convenience:<br />
* *Dispute Resolution Updates for users located in the United States:*<br />
* *We&#8217;ve included important dispute resolution provisions that govern how to resolve disputes between you and Indeed, and between you and other Indeed users.*<br />
* *Notably, the Terms include an agreement to arbitrate, with limited exceptions. This means that you agree to resolve any past, present, and future disputes concerning Indeed&#8217;s services individually, via binding arbitration before an arbitrator, and not through litigation in court with a jury.*<br />
* *In the Terms, you can also find information about the process, eligibility, and deadline for opting-out of arbitration, if you so choose.*<br />
* Improved Structure and Clarity: We&#8217;ve reorganized our Terms to make them easier to read and understand.<br />
Your continued use of our Site and services means you agree to our updated Terms. To view and exercise your personal data rights, visit this section of our Privacy Policy[5].<br />
Thank you for using Indeed!”</p></blockquote>
<p>No doubt this is because the Supreme Court of the United States made it equally possible for Caucasians to sue for discrimination and they want to block the class action lawsuits they likely deserve. I have not logged in since that date, since I do not accept an arbitration agreement with them.  Agreeing to have no class action with a primary gatekeeper to employment is not a wise decision.  Countless people were part of class actions against discriminators such as American Freight and others.</p>
<p>It is not my intent to dwell on the past.  This is here as a mile marker.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2624/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joplin AppImage Integration</title>
		<link>http://192.168.0.198/archives/2604</link>
		<comments>http://192.168.0.198/archives/2604#comments</comments>
		<pubDate>Sun, 07 Dec 2025 23:05:50 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[AppImage]]></category>
		<category><![CDATA[digital sovereignty]]></category>
		<category><![CDATA[Joplin]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2604</guid>
		<description><![CDATA[Joplin is the beautiful open source replacement for Evernote. Once upon a time, Evernote was a dream app, but then they sent out an atrocious terms of service change after turning their user interface into drab garbage compared to the old colorful beauty that existed in version 4 and before. Joplin is fully functional and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://joplinapp.org/">Joplin</a> is the beautiful open source replacement for Evernote. Once upon a time, Evernote was a dream app, but then they sent out an atrocious terms of service change after turning their user interface into drab garbage compared to the old colorful beauty that existed in version 4 and before. Joplin is fully functional and syncs on every platform. They also provide a pure APK for download so that one can install it on LineageOS or other nongeminized Android system.  It offers full digital sovereignty.</p>
<p>One helpful tip that I spent a long time searching before learning, is that you can customize an image per notebook name, by right-clicking on the notebook, choosing edit, and then selecting an emoji.  Each notebook can have a different emoji as the icon.</p>
<p><a href="http://192.168.0.198/archives/2604/screenshot_20251207_170902" rel="attachment wp-att-2610"><img class="alignnone size-full wp-image-2610" title="Screenshot_20251207_170902" src="http://192.168.0.198/wp-content/uploads/2025/12/Screenshot_20251207_170902.png" alt="" width="223" height="98" /></a></p>
<p>Here is the procedure to integrate it into the Linux desktop. Notably, the icon is still the beautiful blue icon, and not the atrocious black and white one that has taken center stage on Windows versions of the app.</p>
<pre>chmod +x Joplin-3.4.12.AppImage 
./Joplin-3.4.12.AppImage --appimage-extract
mv squashfs-root joplin-3.4.12
mv joplin-3.4.12 $HOME/Apps
cp $HOME/Apps/joplin-3.4.12/joplin.desktop $HOME/.local/share/applications
kate $HOME/.local/share/applications/joplin.desktop</pre>
<p>Edit the file to say the following, but with $HOME replaced by the actual home directory of the relevant user:</p>
<pre>[Desktop Entry]
Name=Joplin
Exec=$HOME/Apps/joplin-3.4.12/joplin --no-sandbox %U
Terminal=false
Type=Application
Icon=$HOME/Apps/joplin-3.4.12/joplin.png
StartupWMClass=Joplin
X-AppImage-Version=3.4.12
MimeType=x-scheme-handler/joplin;
Comment=Joplin for Desktop
Categories=Office;</pre>
<p>Local download links:<br />
<a href="http://192.168.0.198/wp-content/uploads/2025/12/Joplin-3.4.12.appimage">Joplin-3.4.12 AppImage</a> | <a href="http://192.168.0.198/wp-content/uploads/2025/12/joplin-dev-25.12.7.zip">Source as of 7 December 2025: joplin-dev-25.12.7</a></p>
<p>The last version that worked on OSX Catalina was <a href="https://github.com/laurent22/joplin/releases/tag/v3.2.12">3.2.12</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2604/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LibreWolf 145 &amp; Integrated AppImage</title>
		<link>http://192.168.0.198/archives/2573</link>
		<comments>http://192.168.0.198/archives/2573#comments</comments>
		<pubDate>Sun, 23 Nov 2025 20:24:19 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[AppImage]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[LibreWolf]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2573</guid>
		<description><![CDATA[LibreWolf is a fork of Firefox that removes many of Mozilla&#8217;s bad decisions.1 A mirror of LibreWolf 145.0.1-2.x86_64 appimage is available here. Debian stable requires one to use a format other than the LibreWolf repo because as of 23 November, 2025 their site says the following: sudo apt update &#38;&#38; sudo apt install extrepo -y [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://librewolf.net">LibreWolf</a> is a fork of Firefox that removes many of Mozilla&#8217;s bad decisions.<sup>1</sup> A mirror of LibreWolf 145.0.1-2.x86_64 appimage is available <a href="http://192.168.0.198/wp-content/uploads/2025/11/LibreWolf-145.0.1-2.x86_64.appimage">here</a>. Debian stable requires one to use a format other than the LibreWolf repo because as of 23 November, 2025 their site says the following:</p>
<pre>sudo apt update &amp;&amp; sudo apt install extrepo -y
sudo extrepo enable librewolf
sudo apt update &amp;&amp; sudo apt install librewolf -y</pre>
<p><a href="https://packages.debian.org/sid/extrepo">Extrarepo exists only in Sid</a>, which makes it unsuitable for Bookworm, or other stable Debian editions.  Adding Sid repos can turn Debian into something akin to a rolling distribution but it can cause problems if one wants older software.</p>
<p>To integrate the linked appimage into the operating system, take the following actions.<sup>2</sup></p>
<pre>./LibreWolf.x86_64.AppImage --appimage-extract
mv squashfs-root librewolf-145.0.1-2
mv librewolf-145.0.1-2 $HOME/Apps
cp $HOME/Apps/librewolf-145.0.1-2/io.gitlab.LibreWolf.desktop $HOME/.local/share/applications</pre>
<p>Then, modify the four lines in $HOME/.local/share/applications/io.gitlab.LibreWolf.desktop that say <em>exec</em>. Those lines need to reflect the path where the executable resides.</p>
<p>I was working on this with Obsidian and preparing to archive the appimage on this website when I ran into a snag. The Obsidian .desktop referenced the AppRun from the AppImage whereas Librewolf referenced the executable named librewolf. After resolving this, I checked the licenses. Obsidian distributes software that is under the Apache License. That license allows one to add other requirements to their additions to the software. Their additional term is that you may not redistribute their software. They are even more onerous that IBM was with Lotus Symphony 3. Lotus Symphony 3 was an office suite built on Open Office that had an excellent tabbed document interface. It was a beautiful interface that Open Office should have incorporated, but for some reason they did not. The Symphony 3 license allows you to redistribute on physical disc to your friends and family, but not via internet website. Obsidian says no to redistribution at all. I was using Obsidian extensively on all my mobile devices, but will have to discontinue using it now. I have no interest in building open source machines with open source operating systems and having software that does not allow you to mirror it.</p>
<pre>
./Obsidian-1.10.3.AppImage --appimage-extract
mv squashfs-root Obsidian-1.10.3
mv Obsidian-1.10.3 $HOME/Apps
cp $HOME/Apps/Obsidian-1.10.3/obsidian.desktop $HOME/.local/share/applications

Modify the exec line in $HOME/.local/share/applications/obsidian.desktop to reflect the path where the AppImage contents appear. The exec should point to the application binary and not the AppRun file. e.g. $HOME/Apps/Obsidian-1.10.3/obsidian
</pre>
<p>I will leave this here for memory and education, but will discontinue the use of Obsidian since its future as an ongoing concern is limited to their availability of their website as a distribution channel.  That does not bode well.  Symphony 3 (1.3 on Linux) is nearly extinct, but one can still run it on old virtual machines.  </p>
<ol>
<li>Mozilla&#8217;s strategic direction seems to be toward operating as an advertising company that uses the software clients themselves as the vehicle for advertisements and user data rather than websites and advertising platforms showing advertisements on those sites.</li>
<li>I use $HOME/Apps and $HOME/Applications to install programs like this rather than opt so that I can easily modify files or use them in backup scripts. Typically Apps contains smaller programs, and Applications contains larger ones such as GPT4ALL which consumes tens of gigabytes.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2573/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My refined direction is digital sovereignty</title>
		<link>http://192.168.0.198/archives/2562</link>
		<comments>http://192.168.0.198/archives/2562#comments</comments>
		<pubDate>Mon, 03 Nov 2025 03:37:59 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[floccus]]></category>
		<category><![CDATA[Joplin]]></category>
		<category><![CDATA[Nextcloud]]></category>
		<category><![CDATA[Obsidian]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[uMatrix]]></category>
		<category><![CDATA[Vivaldi]]></category>
		<category><![CDATA[Zotero]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2562</guid>
		<description><![CDATA[My refined direction is digital sovereignty via the old paths with a goal of writing at least one article per week. The complexity of the articles will change because many projects are planned for the long term, but getting started on them takes a very long time.. I setup a RAID 5 in my old [...]]]></description>
			<content:encoded><![CDATA[<p>My refined direction is digital sovereignty via the old paths with a goal of writing at least one article per week. The complexity of the articles will change because many projects are planned for the long term, but getting started on them takes a very long time..</p>
<p>I setup a RAID 5 in my old computer using new Western Digital 2 TB drives. In this case, the old machine is a Hewlett Packard Z600. The computer is very old in computer years. It has 12 Cores via dual Intel(R) Xeon(R) CPUs of model X5675 at 3.07GHz. [1] The prices on these on eBay have gone through the roof for old desktops computers of many types. One can easily find conversations about hard drives from three or four years discussing prices of $15 per terabyte. Now they are over $30 per terabyte.</p>
<p>I had purchased a used 2TB drive to use as Samba share space in the machine, and it went bad and locked into read-only mode within about a year. In deciding whether to buy used or new drives, I came to the conclusion that on an annual basis, one ends up spending the same or more via used drives than they do with new drives. Were one to purchase used drives, twice as many need to be acquired which eliminates the financial benefit while increasing one&#8217;s stress.</p>
<p>I could not remember my Vivaldi sync password despite creating the account only a couple of days ago. I tried several times to remember it, and then connections to vivaldi.net started timing out. It seems to me that they blocked me. If that had happened with the ability to access my email, it would have been a real issue. Because of this, I need to work on a more digitally sovereign approach here.</p>
<p>The extensions I use for <a title="" href="https://vivaldi.net">Vivaldi</a> include the <a title="" href="https://chromewebstore.google.com/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf">Obsidian Web Clipper</a>, <a title="https://chromewebstore.google.com/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek" href="https://chromewebstore.google.com/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek">Joplin Web Clipper</a>, <a title="https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc" href="https://chromewebstore.google.com/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc">Zotero Connector</a>, <a title="https://chromewebstore.google.com/detail/floccus-bookmarks-sync/fnaicdffflnofjppbagibeoednhnbjhg" href="https://chromewebstore.google.com/detail/floccus-bookmarks-sync/fnaicdffflnofjppbagibeoednhnbjhg">floccus bookmarks sync</a>, <a title="https://chromewebstore.google.com/detail/singlefile/mpiodijhokgodhhofbcjdecpffjipkle" href="https://chromewebstore.google.com/detail/singlefile/mpiodijhokgodhhofbcjdecpffjipkle">SingleFile</a>, and <a title="https://chromewebstore.google.com/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf" href="https://chromewebstore.google.com/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf">uMatrix</a>.</p>
<p>For <a title="" href="https://librewolf.net/">LibreWolf</a>, my extensions are <a title="" href="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/">Obsidian Web Clipper</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/single-file/" href="https://addons.mozilla.org/en-US/firefox/addon/single-file/">SingleFile</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/copy-plaintext/" href="https://addons.mozilla.org/en-US/firefox/addon/copy-plaintext/">Copy PlainText</a>, <a title="https://floccus.org/" href="https://floccus.org/">floccus bookmarks sync</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/" href="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/">Joplin Web Clipper</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/search_by_image/" href="https://addons.mozilla.org/en-US/firefox/addon/search_by_image/">Search by Image</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/" href="https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/">Tree Style Tab</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/umatrix/" href="https://addons.mozilla.org/en-US/firefox/addon/umatrix/">uMatrix</a>, <a title="https://addons.mozilla.org/en-US/firefox/addon/undoclosetabbutton/" href="https://addons.mozilla.org/en-US/firefox/addon/undoclosetabbutton/">Undo Close Tab</a>, and <a title="https://addons.mozilla.org/en-US/firefox/addon/view-page-archive/" href="https://addons.mozilla.org/en-US/firefox/addon/view-page-archive/">Web Archives</a>.</p>
<ol>
<li><a title="https://www.ebay.com/sch/179/i.html?_nkw=z600" href="https://www.ebay.com/sch/179/i.html?_nkw=z600" data-from-md="">https://www.ebay.com/sch/179/i.html?_nkw=z600</a>. Reviewed 11/1/2025, (Prices ranged from a single poorly described one for $160 with free shipping to $250 and 300 plus almost triple digit shipping costs. There were two pages total, and the entire last page was filled with $800 or $900 or even $1200 systems advertising things like 4 monitors for trading, 8 monitors, for trading and the like. The second best of all was 249.95 with free delivery.)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2562/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running old versions of Java Minecraft</title>
		<link>http://192.168.0.198/archives/2557</link>
		<comments>http://192.168.0.198/archives/2557#comments</comments>
		<pubDate>Wed, 22 Oct 2025 23:27:01 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Minecraft]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2557</guid>
		<description><![CDATA[One source for the Java 8 (1.8) runtime is the Oracle Archives page.&#160; Another helpful one is the standard Java download page for the desktop Java Runtime Environment, JRE. I downloaded the Linux x86 (32-bit) version even though the host is a 64bit Linux.&#160; The reason for that is that at some point in the [...]]]></description>
			<content:encoded><![CDATA[<p>One source for the Java 8 (1.8) runtime is the <a href="https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html">Oracle Archives page</a>.&#160; Another helpful one is the <a href="https://www.java.com/en/download/manual.jsp">standard Java download page</a> for the desktop Java Runtime Environment, JRE.</p>
<p>I downloaded the Linux x86 (32-bit) version even though the host is a 64bit Linux.&#160; The reason for that is that at some point in the point in the past Minecraft and various mods and the Forge loader required a 32 bit Java virtual machine (JVM).&#160; It was so problematic to install both 64bit and 32bit via the package managers and manually configure them, that I developed a practice of installing 32-bit Linux so that the Java in the repository would also be 32bit and then everything would be fin.&#160;&#160; It was much easier to run 32-bit Java and 32-bit Wine on a 32-bit operating system than reconfigure everything and try to switch between them depending on what was running.</p>
<p>I extracted the zip file from Oracle and then ran the Minecraft server instance with the following command.</p>
<blockquote><p>home/username/Downloads/Java8_i586/jre1.8.0_461/bin/java -jar /home/username/Minecraft_x86/instances/b1.7.3/b1.7.3.251019/b1.7.3.jar nogui</p>
</blockquote>
<p>Running the program that way worked very well.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2557/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.ssh config for Windows and Linux</title>
		<link>http://192.168.0.198/archives/2548</link>
		<comments>http://192.168.0.198/archives/2548#comments</comments>
		<pubDate>Sun, 19 Oct 2025 01:26:02 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2548</guid>
		<description><![CDATA[The ~/.ssh/config file works for OpenSSH on Windows and for SSH on Linux. To prevent disconnects, add the keepalive messages for all hosts. For specific hosts that use a specific key type, such as RSA on CentOS 6, add the specific algorithm via the HostkeyAlgorithms + functionality. To add a private key for SSH key [...]]]></description>
			<content:encoded><![CDATA[<p>The ~/.ssh/config file works for OpenSSH on Windows and for SSH on Linux.</p>
<p>To prevent disconnects, add the keepalive messages for all hosts.  For specific hosts that use a specific key type, such as RSA on CentOS 6, add the specific algorithm via the HostkeyAlgorithms + functionality.   To add a private key for SSH key logins, add the IdentityFile line.  it is possible to allow the ssh-rsa algorithms on both outgoing and incoming connections for all hosts. The PubkeyAcceptedAlgorithms functionality is which key can be used to log into the host the config file sits on.  the ForwardX11 setting sits on Linux hosts and not on Windows..</p>
<p>example ~/.ssh/config</p>
<pre>
IdentityFile ~/.ssh/Minecraft-Micro.pem

Host *
    ServerAliveInterval 40

Host 192.168.0.0
    HostkeyAlgorithms +ssh-rsa
 
ForwardX11 yes
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
</pre>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2548/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switch a data volume on Linux</title>
		<link>http://192.168.0.198/archives/2540</link>
		<comments>http://192.168.0.198/archives/2540#comments</comments>
		<pubDate>Sat, 18 Oct 2025 01:10:08 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2540</guid>
		<description><![CDATA[How to move /var/www/html/mydata/ to a new disk: 1. fdisk /dev/nvme4n1 &#160;&#160;&#160;&#160;&#160;1.i. create a new DOS partition and write it to disk 2. mkfs -t ext4 /dev/nvme4n1p1 3. lsblk -f (and copy the UUID for use in FSTAB) &#160;&#160;&#160;&#160;3.i. a0e2e1e7-4034-4876-a005-ae5fcca39751 4. mount /dev/nvme4n1p1 /mnt 5. shopt -s dotglob 6. rsync -aulvXpogtr /var/www/html/mydata/* /mnt 7. edit [...]]]></description>
			<content:encoded><![CDATA[<p>How to move /var/www/html/mydata/ to a new disk:</p>
<p>1. fdisk /dev/nvme4n1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.i. create a new DOS partition and write it to disk<br />
2. mkfs -t ext4 /dev/nvme4n1p1<br />
3. lsblk -f (and copy the UUID for use in FSTAB)<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.i. a0e2e1e7-4034-4876-a005-ae5fcca39751<br />
4. mount /dev/nvme4n1p1 /mnt<br />
5. shopt -s dotglob<br />
6. rsync -aulvXpogtr /var/www/html/mydata/* /mnt<br />
7. edit /etc/fstab and replace the UUID for the data storage drive<br />
8. mount -av to test<br />
9. reboot</p>
<p>[_] Expand 7 to show fstab options</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2540/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minecraft Survival Multi-Player at memorymatrix.cloud</title>
		<link>http://192.168.0.198/archives/2471</link>
		<comments>http://192.168.0.198/archives/2471#comments</comments>
		<pubDate>Sun, 07 Sep 2025 04:26:14 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Gaming Note]]></category>
		<category><![CDATA[Minecraft]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2471</guid>
		<description><![CDATA[You can play Minecraft Survival Multiplayer. Review the game server&#8217;s Changelog to see recent changes.  To play Minecraft, open the game, choose multiplayer, click &#8220;Add Server&#8221; and type memorymatrix.cloud in the Server Address field. Memory Matrix SMP is a Java-version Minecraft with regularly occurring allowances.   Randomly enchanted books, experience, and iron are given out automatically  Other allowances [...]]]></description>
			<content:encoded><![CDATA[<p>You can play Minecraft Survival Multiplayer. Review the game server&#8217;s <a style="font-size: 13px;" title="Changelog for Memory Matrix SMP" href="http://192.168.0.198/archives/2401">Changelog</a> to see recent changes.  To play Minecraft, open the game, choose multiplayer, click &#8220;Add Server&#8221; and type memorymatrix.cloud in the Server Address field. Memory Matrix SMP is a Java-version Minecraft with regularly occurring allowances.   Randomly enchanted books, experience, and iron are given out automatically  Other allowances may occur by request.  For some folks, emeralds are issued, for others name tags, an some even receive XP every 36 minutes.</p>
<div>
<dl id="attachment_2359">
<dt><a href="http://192.168.0.198/wp-content/uploads/2025/07/Screenshot-2025-07-26-192848-Screenshot-2025-07-26-192240-2025-07-26_15.45.02.png-Windows-Photo-Viewer.png-.png"><img title="A view of Jack O Lantern Town" src="http://192.168.0.198/wp-content/uploads/2025/07/Screenshot-2025-07-26-192848-Screenshot-2025-07-26-192240-2025-07-26_15.45.02.png-Windows-Photo-Viewer.png-.png" alt="" width="399" height="220" /></a></dt>
<dd>A view of Jack O Lantern town near world spawn on Memory Matrix SMP</dd>
</dl>
</div>
<p>There are no guarantees regarding the server and you play at your own risk.  The server&#8217;s status is available from <a href="https://mcsrvstat.us/server/memorymatrix.cloud">Minecraft Server Status</a> by Anders G. Jørgensen, <a href="https://mcstatus.io/status/java/memorymatrix.cloud">MCS</a>, &amp; <a href="https://www.minehost.io/tools/server_status/memorymatrix.cloud">Minehost</a>, among others.</p>
<p>Update Summer 2026:<br />
The server was discontinued.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2471/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian 12 Sources</title>
		<link>http://192.168.0.198/archives/2450</link>
		<comments>http://192.168.0.198/archives/2450#comments</comments>
		<pubDate>Sun, 07 Sep 2025 02:38:50 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[bullseye]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2450</guid>
		<description><![CDATA[This is a listing of Debian sources for future reference.&#160; Debian maintains&#160; an archive of older versions on the Distribution Archives website.&#160; It may be necessary at some point in the future to change the bullseye information below so that it points to the distribution archives. /etc/apt/sources.list.d/vivaldi.list ### THIS FILE IS AUTOMATICALLY CONFIGURED ### # [...]]]></description>
			<content:encoded><![CDATA[<p>This is a listing of Debian sources for future reference.&#160; Debian maintains&#160; an archive of older versions on the <a href="https://www.debian.org/distrib/archive">Distribution Archives</a> website.&#160; It may be necessary at some point in the future to change the bullseye information below so that it points to the distribution archives.</p>
<p><strong>/etc/apt/sources.list.d/vivaldi.list</strong> </p>
<pre>### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
</pre>
<p><strong>End of File</strong> </p>
<p>&#160;</p>
<p><strong>/etc/apt/sources.list</strong></p>
<pre>                                                
#deb cdrom:[Debian GNU/Linux 12.4.0 _Bookworm_ - Official amd64 NETINST with firmware 20231210-17:56]/ bookworm main&gt;

deb http://deb.debian.org/debian/ bookworm main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware

# Debian 12 &quot;bookworm&quot; dropped by Python2.  Adding Debian 11 &quot;bullseye&quot;
# removed bullseye non-free-firmware from each of the below bullseye lines
# due to errors on 7/24/25</pre>
<pre>
deb http://deb.debian.org/debian/ bullseye main
deb-src http://deb.debian.org/debian/ bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main


# added 7/24/25
# https://fasttrack.debian.net/


deb http://fasttrack.debian.net/debian-fasttrack/ bookworm-fasttrack main contrib
deb http://fasttrack.debian.net/debian-fasttrack/ bookworm-backports-staging main contrib



# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching &quot;deb cdrom&quot;
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
</pre>
<p><strong>End of File</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2450/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changelog for Memory Matrix SMP</title>
		<link>http://192.168.0.198/archives/2401</link>
		<comments>http://192.168.0.198/archives/2401#comments</comments>
		<pubDate>Wed, 30 Jul 2025 02:04:58 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Gaming Note]]></category>
		<category><![CDATA[Changelog]]></category>
		<category><![CDATA[Minecraft]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2401</guid>
		<description><![CDATA[This post serves as the changelog for the server and will receive future updates posted to it. Legend: [+] = Added [*] = Changed [^] = Moved [=] = No Changes [x] = Deleted [!] = Bugs [_] = To Do [>] Migrated []]></description>
			<content:encoded><![CDATA[<p>This post serves as the changelog for the server and will receive future updates posted to it.</p>
<pre>
Legend:

[+] = Added
[*] = Changed
[^] = Moved
[=] = No Changes
[x] = Deleted
[!] = Bugs
[_] = To Do
[>] Migrated
[<] Migrated

29 July 2025:

[*] Random Books and Gilt Books: changed sweeping to sweeping_edge because the name of this enchantment changed from its historical name [1]
</pre>
<p>1. <a href="https://minecraft.wiki/w/Java_Edition_1.20.5">Java Edition 1.20.5</a>, Minecraft Wiki</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2401/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 1881 Westcott and Hort Critical Text</title>
		<link>http://192.168.0.198/archives/2322</link>
		<comments>http://192.168.0.198/archives/2322#comments</comments>
		<pubDate>Sun, 13 Jul 2025 18:37:22 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Book notes]]></category>
		<category><![CDATA[Bible]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Greek]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Westcott & Hort]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2322</guid>
		<description><![CDATA[The 1881 Westcott and Hort Critical Text is now available on this site. This contains their critical text and the Authorized Version of 1611, according to the front matter of the book.&#160; Their title includes the words &#34;original Greek&#34;, but it very much is not the original Greek since it includes capitalization, diacritics, punctuation, hyphens, [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://192.168.0.198/wp-content/uploads/2025/07/Westcott_and_Hort_1881.pdf">1881 Westcott and Hort Critical Text</a> is now available on this site. This contains their critical text and the Authorized Version of 1611, according to the front matter of the book.&#160; Their title includes the words &quot;original Greek&quot;, but it very much is not the original Greek since it includes capitalization, diacritics, punctuation, hyphens, bracketed words, and spacing.</p>
<p><a href="http://192.168.0.198/wp-content/uploads/2025/07/image5.png"><img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://192.168.0.198/wp-content/uploads/2025/07/image_thumb5.png" width="422" height="185" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2322/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Stephanus Greek, KJV, and ERV interlinear</title>
		<link>http://192.168.0.198/archives/2302</link>
		<comments>http://192.168.0.198/archives/2302#comments</comments>
		<pubDate>Sun, 13 Jul 2025 00:36:02 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Book notes]]></category>
		<category><![CDATA[Bible]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[ERV]]></category>
		<category><![CDATA[Greek]]></category>
		<category><![CDATA[KJV]]></category>
		<category><![CDATA[majority text]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Stephanus]]></category>
		<category><![CDATA[textus receptus]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2302</guid>
		<description><![CDATA[This site now has a copy of The Parallel New Testament Greek and English from Oxford University Press, 1896.  This text contains the Authorized Version (KJV), the English Revised Version, and a Greek text based the third edition of Stephanus published in 1550.  The two streams of Greek texts are the received stream via Erasumus/Beza/Elzevir/Stephanus/Scrivener [...]]]></description>
			<content:encoded><![CDATA[<p>This site now has a copy of <a href="http://192.168.0.198/wp-content/uploads/2025/07/The_New_Testament_of_Our_Lord_and_Saviour-Oxford-University-Press-1896.pdf">The Parallel New Testament Greek and English from Oxford University Press, 1896</a>.  This text contains the Authorized Version (KJV), the English Revised Version, and a Greek text based the third edition of Stephanus published in 1550.  The two streams of Greek texts are the received stream via Erasumus/Beza/Elzevir/Stephanus/Scrivener and the critical stream via Westcott/Hort/Tischendorf.  Texts within the same stream can differ, and other than Erasumus, I prefer the Stephanus.  The reason is that Erasmus&#8217; text lacked verse numbers and Stephanus added them.  Stephanus is thus the oldest received text stream associated with the time of the publication of the KJV.  Scrivener was late to the game, and while it is nice to have a newer Greek text in that stream, any new Greek text copywritten after the arrival of Tischendorf puts me off.</p>
<p>This is the Textus Receptus, also called the received text.</p>
<p>There are some differences in received text versions, some which are significant such as without where with should be and vice versa. [1]</p>
<p><a href="https://www.sumatrapdfreader.org/free-pdf-reader">Sumatra PDF reader</a> (<a href="http://192.168.0.198/wp-content/uploads/2025/07/SumatraPDF-3.5.2-64-install.exe">Local mirror of 3.5.2 64-bit</a>) works wonderfully for viewing these kind of books. The following screenshot was taken with &#8220;Book View&#8221; on, and &#8220;Scroll Pages Continuously&#8221; activated. <a href="https://librera.mobi/">Librera</a> is excellent for Android.</p>
<p><a href="http://192.168.0.198/wp-content/uploads/2025/07/image2.png"><img style="margin: 0px; display: inline; background-image: none;" title="image" src="http://192.168.0.198/wp-content/uploads/2025/07/image_thumb2.png" alt="image" width="422" height="231" border="0" /></a></p>
<p>&nbsp;</p>
<p>1. “Which Edition of the Received Text Should We Use?” Accessed July 12, 2025. <a href="https://www.wayoflife.org/reports/which_edition_of_received_text_should_we_use.html">https://www.wayoflife.org/reports/which_edition_of_received_text_should_we_use.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2302/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check the source text</title>
		<link>http://192.168.0.198/archives/2277</link>
		<comments>http://192.168.0.198/archives/2277#comments</comments>
		<pubDate>Sun, 06 Jul 2025 22:30:39 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[Amos]]></category>
		<category><![CDATA[egregore]]></category>
		<category><![CDATA[gentiles]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[ἔθνεσιν]]></category>
		<category><![CDATA[ἔθνος]]></category>
		<category><![CDATA[θεός]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2277</guid>
		<description><![CDATA[One problem that a person studying the Bible will encounter rears its ugly head in this example. That is the false word. In this case, the word is gentiles.&#160;&#160; The screenshot below of a website shows a Greek text and an English text of Amos 9:12.&#160; The English text presented uses the word gentiles.&#160; The [...]]]></description>
			<content:encoded><![CDATA[<p>One problem that a person studying the Bible will encounter rears its ugly head in this example. That is the false word. In this case, the word is gentiles.&#160;&#160; The screenshot below of a website shows a Greek text and an English text of Amos 9:12.&#160; The English text presented uses the word gentiles.&#160; The Greek word highlighted on the right is ἔθνος.&#160; The word means something like a province, tribe, class of men, caste, trade association, guild, or race.&#160; The key component being that is an aggregate body.&#160; The plural of it would then be something like nations or peoples.&#160; E.g. the peoples of the Levant, or the nations of the Orient.&#160; It refers to flocks of bees, flies, and birds.</p>
<p>The word gentiles is a Latin word that become an egregore.</p>
<p><a href="http://192.168.0.198/wp-content/uploads/2025/07/image1.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://192.168.0.198/wp-content/uploads/2025/07/image_thumb1.png" width="404" height="149" /></a>    <br />Figure a [1]</p>
<p>&#160;</p>
<p>The following example (emphasis mine) shows another difference where ethnos does not mean <em>others</em> in a binary ideological sense of the ideologue&#8217;s self and the abstracted other. It means preached unto the tribes, nations, or groups of people.&#160; The following is from 1st Timothy, Chapter 3.</p>
<blockquote><p>And without controversy great is the mystery of godliness: God was manifest in the flesh, justified in the Spirit, seen of angels, preached unto the <strong>Gentiles</strong>, believed on in the world, received up into glory.</p>
<p>καὶ ὁμολογουμένως μέγα ἐστὶ τὸ τῆς εὐσεβείας μυστήριον· Θεὸς ἐφανερώθη ἐν σαρκί, ἐδικαιώθη ἐν Πνεύματι, ὤφθη ἀγγέλοις, ἐκηρύχθη ἐν <strong>ἔθνεσιν</strong>, ἐπιστεύθη ἐν κόσμῳ, ἀνελήφθη ἐν δόξῃ. [2]</p>
</blockquote>
<p>The thought form that develops from the cultic use implies that Jesus was preached to a solitary <em>outgroup</em> as opposed to a ideology based <em>ingroup. </em>It posits the existence of two groups only when the meaning of the word covers multiple groups rather than an ideological binary. <a href="https://en.wiktionary.org/wiki/%E1%BC%94%CE%B8%CE%BD%CE%BF%CF%82#Ancient_Greek">ἔθνος</a> appears in the Wiktionary with a useful analysis.    </p>
<p>The 1885 English Revised version uses the word nations.</p>
<blockquote><p>And without controversy great is the mystery of godliness; He who was manifested in the flesh, justified in the spirit, seen of angels, preached among the <strong>nations</strong>, believed on in the world, received up in glory. [3]      </p>
</blockquote>
<p>This is from the Geneva Bible.</p>
<p><a href="http://192.168.0.198/wp-content/uploads/2025/07/image3.png"><img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://192.168.0.198/wp-content/uploads/2025/07/image_thumb3.png" width="422" height="156" /></a></p>
<blockquote><p>And without controuerfie , great is the myſterie of godlines. which is, God is manifetted in the flelly, tuttified&#160; in the Spirit, feene of Angels, preached unto the <strong>Gentiles</strong>, beleeued on in the Would, and receined up in&#160; glozie [4]</p>
</blockquote>
<p>Young&#8217;s Literal Translation of 1863 renders the verse beautifully.&#160; While looking at the verse is notable to see the phrase &quot;seen by messengers&quot; as opposed to &quot;seen by angels&quot; which appears in many versions.&#160; Angels is another word that became an egregore but that is a topic for another memo.</p>
<blockquote><p>and, confessedly, great is the mystery of godliness, God was manifested in flesh, declared righteous in spirit, seen by messengers, preached among <strong>nations</strong>, believed on in the world, taken up in glory. [5]</p>
</blockquote>
<p>All of these versions add punction that is not present in the original scriptures.&#160; The original scriptures contain no commas and semi-colons. The Geneva Bible contains an incredible amount of commentary in the margin.</p>
<p>The Interlinear from George Ricker Berry, PH.D. includes many punctuation marks that do not appear on images of original manuscripts. They appear even in the Greek portion of his interlinear text.&#160; The following shows 1 Timothy, Chapter 3.&#160; The word <strong><em>the </em></strong>shows the placement in the later work where the same word appears in brackets to indicate the modern translator/scribe added it to the text.&#160; Three versions appear below.&#160; The top version is the one in the authorized version and the second is the English translation that appears under the words in Greek in this book.</p>
<blockquote><p>And without controversy great is the mystery of godliness: God was manifest in the flesh, justified in the Spirit, seen of angels, preached unto the Gentiles, believed on in the world, received up into glory.</p>
</blockquote>
<blockquote><p> καὶ ὁμολογουμένως&#160; μέγα ἐστὶν τὸ τῆς εὐσεβείας μυστήριον <a href="https://www.perseus.tufts.edu/hopper/morph?l=qeos&amp;la=greek#lexicon">θεός</a>&quot; ἐφανερώθη ἐν σαρκί, ἐδικαιώθη ἐν πνεύματι, ὤφθη ἀγγέλοις,. ἐκηρύχθη ἐν ἔθνεσιν, ἐπιστεύθη ἐν κόσμῳ, ἀνελήφθη ἐν δόξῃ.</p>
</blockquote>
<blockquote><p>And confessedly great is the of piety mystery god was manifested in flesh was justified in <em><strong>the</strong></em> spirit was seen by angels was proclaimed among <strong><em>the</em></strong> nations was believed on in <strong><em>the</em></strong> world was received up in glory [6]</p>
</blockquote>
<p>The Oxford University Press&#8217;s version incorporating the Scrivener text of 1881 has the following on page 909.</p>
<blockquote><p>ἑδραίωμα τῆς ἀληθείας&#160; καὶ&#160; ὁμολογουμένως μέγα ἐστὶ τὸ τῆς εὐσεβείας μυστήριον ὃς ἐφανερώθη ἐν σαρκί&#160; ἐδικαιώθη ἐν πνεύματι&#160; ὤφθη ἀγγελοις&#160; ἐκηρύχθη ἐν <strong>ἔθνεσιν</strong>&#160; ἐπιστεύθη ἐν κόσμῳ&#160; ἀνελήφθη ἐν δόξῃ [7]</p>
<p>And without controversy great is the mystery of godliness; He who was manifested in the flesh, justified in the spirit, seen of angels, preached among the <strong>nations</strong>, believed on in the world, received up in glory. [3]</p>
<p>And without controversy great is the mystery of godliness: God was manifest in the flesh, justified in the Spirit, seen of angels, preached unto the <strong>Gentiles</strong>, believed on in the world, received up into glory. [8]      </p>
</blockquote>
<p>&#160;</p>
<p>&#160;</p>
<p>1 I Saw the Lord Standing on the Altar: And He Said, Smite the Mercy-Seat, and &#8230; AMOS / ΑΜΩΣ9 &#8211; Bilingual Septuagint.” Accessed July 6, 2025. <a href="https://www.ellopos.net/elpenor/greek-texts/septuagint/chapter.asp?book=32&amp;page=9">https://www.ellopos.net/elpenor/greek-texts/septuagint/chapter.asp?book=32&amp;page=9</a>.</p>
<p>2. &quot;Ch 3 &#8211; To Timothy 1 &#8211; The New Testament.” Accessed July 12, 2025. <a href="https://www.ellopos.net/elpenor/greek-texts/new-testament/timothy_1/3.asp">https://www.ellopos.net/elpenor/greek-texts/new-testament/timothy_1/3.asp</a>.</p>
<p>3. “Revised Version with Apocrypha (1895) 1 Timothy 3.” Accessed July 12, 2025. <a href="http://memorymatrix.cloud/rv/1TI03.htm">http://memorymatrix.cloud/rv/1TI03.htm</a>.</p>
<p>4.&#160; <a title="http://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=1181" href="http://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=1181">http://memorymatrix.cloud/wp-content/uploads/2024/10/Holy-Bible-Geneva-Bible-1579.pdf#page=1181</a></p>
<p>5. <a title="http://memorymatrix.cloud/wp-content/uploads/2024/03/The_Holy_Bible_tr_by_Robert_Young_163_pre_Westcott-Hort_complete_with_Revelation.pdf#page=769" href="http://memorymatrix.cloud/wp-content/uploads/2024/03/The_Holy_Bible_tr_by_Robert_Young_163_pre_Westcott-Hort_complete_with_Revelation.pdf#page=769">http://memorymatrix.cloud/wp-content/uploads/2024/03/The_Holy_Bible_tr_by_Robert_Young_163_pre_Westcott-Hort_complete_with_Revelation.pdf#page=769</a></p>
<p>6. <a title="http://memorymatrix.cloud/wp-content/uploads/2024/10/The_interlinear_translation_greek_av_george_ricker_berry.pdf#page=558" href="http://memorymatrix.cloud/wp-content/uploads/2024/10/The_interlinear_translation_greek_av_george_ricker_berry.pdf#page=558">http://memorymatrix.cloud/wp-content/uploads/2024/10/The_interlinear_translation_greek_av_george_ricker_berry.pdf#page=558</a></p>
<p>7. <a title="http://192.168.0.198/wp-content/uploads/2025/07/The_New_Testament_of_Our_Lord_and_Saviour-Oxford-University-Press-1896.pdf#page=909" href="http://192.168.0.198/wp-content/uploads/2025/07/The_New_Testament_of_Our_Lord_and_Saviour-Oxford-University-Press-1896.pdf#page=909">The_New_Testament_of_Our_Lord_and_Saviour-Oxford-University-Press-1896.pdf#page=909</a></p>
<p> 8. <a href="http://192.168.0.198/kjv/1TI03.htm">King James Version + Apocrypha 1 Timothy </a></p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2277/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The king as god in the KJV</title>
		<link>http://192.168.0.198/archives/2269</link>
		<comments>http://192.168.0.198/archives/2269#comments</comments>
		<pubDate>Sun, 06 Jul 2025 10:05:31 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[Jeremiah]]></category>
		<category><![CDATA[Jeremias]]></category>
		<category><![CDATA[king]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[ΙΕΡΕΜΙΑΣ]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2269</guid>
		<description><![CDATA[A discrepancy appears in the King James&#8217; Version and other Masoretic Text bibles relative to the Septuagint version in the book of Jeremiah (ΙΕΡΕΜΙΑΣ). The Masoretic Text derived bibles equate the king with the deity.  The term LORD of hosts supposedly represents a place in the original language texts where the divine name appears.  That [...]]]></description>
			<content:encoded><![CDATA[<p>A discrepancy appears in the King James&#8217; Version and other Masoretic Text bibles relative to the Septuagint version in the book of Jeremiah (ΙΕΡΕΜΙΑΣ). The Masoretic Text derived bibles equate the king with the deity.  The term LORD of hosts supposedly represents a place in the original language texts where the divine name appears.  That may not always be the case.  There is a popular online Bible translation which lists the papyrus from which it derives each translation.  One can check the papyrus for the divine name in places where that translation says LORD and there is no instance of the divine name on the original document.    For this particular instance, the difference appears in these three quotations.</p>
<blockquote><p>1885 RV: Moab is laid waste, and they are gone up into her cities; and his chosen young men are gone down to the slaughter, saith the King, whose name is the LORD of hosts. [1]</p></blockquote>
<p>The King James&#8217; Version is similar to the English Revised Version.</p>
<blockquote><p>KJV: Moab is spoiled, and gone up out of her cities, and his chosen young men are gone down to the slaughter, saith the King, whose name is the LORD of hosts. [2]</p></blockquote>
<p>The Septuagint version does not equate the king with the deity.</p>
<blockquote><p>LXX: 16. Moab is ruined, even his city, and his choice young men have gone down to slaughter. 16 The day of Moab is near at hand, and his iniquity moves swiftly to vengeance.[3]</p></blockquote>
<p>This question particularly interests me.  Perhaps twenty years or more ago, an exposition on the subject of the old testament included someone explaining that old testament religion was an abstraction of the king, and essentially a form of worshipping the king as a military commander.  That description really inspired me to research and study more.</p>
<p>Amos 4:13 negates the concept of a king occupying the conceptual space of the deity as does the three angels&#8217; message in the book of Revelation.</p>
<p>&nbsp;</p>
<p>1. <a href="http://memorymatrix.cloud/rv/JER48.htm">Revised Version with Apocrypha (1895) Jeremiah 48</a><br />
2. <a href="http://memorymatrix.cloud/kjv/JER48.htm">King James Version + Apocrypha Jeremiah 48</a><br />
3. <a href="http://memorymatrix.cloud/lxx/JER31.htm">Brenton Septuagint Translation Jeremias 31</a></p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2269/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Batch file with date and time for zipping</title>
		<link>http://192.168.0.198/archives/2125</link>
		<comments>http://192.168.0.198/archives/2125#comments</comments>
		<pubDate>Sun, 25 May 2025 16:07:35 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[7Zip]]></category>
		<category><![CDATA[archiving]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2125</guid>
		<description><![CDATA[WinRAR offers great feature. It will create a zip file using a name mask.  That allows one to create a file with an excellent name via the right click menu.  Buying many WinRAR licenses becomes cost prohibitive.  This batch file will do the same thing using 7Zip on Windows. The batch file must be saved [...]]]></description>
			<content:encoded><![CDATA[<p>WinRAR offers great feature. It will create a zip file using a name mask.  That allows one to create a file with an excellent name via the right click menu.  Buying many WinRAR licenses becomes cost prohibitive.  This batch file will do the same thing using 7Zip on Windows. The batch file must be saved in the SendTo folder on Windows.  7Zip must be installed</p>
<pre class="prettyprint">@echo off
REM create a timestamped zip file of a directory
REM ^ is a line continuation mark
FOR /F "TOKENS=1* DELIMS= " %%A IN (^
'DATE /T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN (^
'DATE /T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN (^
'echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN (^
'echo %CDATE%') DO SET yyyy=%%B
for /f "tokens=1-3 delims=:." %%A in ("%time%") do (
    set hours=%%A
    set minutes=%%B
    set seconds=%%C)

SET date2=%yyyy%-%mm%-%dd%_%hours%%minutes%
"C:\Program Files\7-Zip\7z.exe" a -tzip^
 C:\archives\%~n1_%date2%.zip %1
pause</pre>
<p>This will save the zip filed in C:\archives\zips with a filename that consists of the original directory name and a timestamp of the form directoryname_2022-01-28_2212.zip. To use it, right click a directory, and choose SendTo –&gt; TheBatchFileName. In my case, the file is named 7zipBackup.bat</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Countervailing agitprop on treasury dumping</title>
		<link>http://192.168.0.198/archives/2092</link>
		<comments>http://192.168.0.198/archives/2092#comments</comments>
		<pubDate>Fri, 11 Apr 2025 19:17:38 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Social Science notes]]></category>
		<category><![CDATA[treasuries]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=2092</guid>
		<description><![CDATA[Frank said The Wall Street Journal’s Greg Ip tried to make sense of it. Existing inflation “might be part of the explanation” for why capital is not fleeing to the traditional safety of U.S. bonds, but that fails to explain the apparent lack of faith in the Federal Reserve’s ability to come to the rescue. [...]]]></description>
			<content:encoded><![CDATA[<p>Frank said</p>
<blockquote><p>The Wall Street Journal’s Greg Ip tried to make sense of it. Existing inflation “might be part of the explanation” for why capital is not fleeing to the traditional safety of U.S. bonds, but that fails to explain the apparent lack of faith in the Federal Reserve’s ability to come to the rescue. “Technical factors” like hedge funds shedding their bond holdings are similarly unsatisfying. “The more fundamental explanation is that global investors might be changing how they view the U.S,” he wrote. In cruder terms, our allies and partners abroad think we’ve lost our minds, and there are few indications that sanity will be restored anytime soon.</p>
<p>We’re not yet even talking about foreign adversaries like China, supposedly the target audience for our exercise in economic masochism. “There were recent fears that China might try to retaliate against Trump’s tariffs by selling some of its own bond holdings,” Ip noted. “There is no evidence that it has, but the possibility has highlighted the risks to the U.S. of a trade war morphing into financial war.”</p>
<p>You read that right: Not only has China held in reserve its own economic weapons in a global trade war that has so far primarily rattled America’s allies, but our deteriorating position also provides China with even more leverage over the administration than Beijing had just two weeks ago. That might explain why the Trump administration isn’t waiting around for Beijing to make the first overture in trade talks. Trump is asking Xi Jinping to request a phone call from the White House — presumably so the president can save as much face as possible as he engineers a retreat from the conflict on which he embarked wholly unprepared. (1)</p>
</blockquote>
<p>For every seller of a treasury security there is a buyer.&#160; If they dump their securities, the buyers get a good deal because fund will obtain the PAR value and an increased yield.&#160; The Chinese dumping treasuries would be beautiful for people who wanted to earn a good interest rate on their capital by investing in American government bonds. The commenters making waves about the Chinese body politic selling their treasuries are selling pablum.</p>
<p>Convincing the American people that neither they nor their children deserve a good return on bonds and savings accounts is the worst thing about the about pablum economics lesson pushers. No American hurt from the tariffs because the money wasn&#8217;t even collected for them yet.&#160; The heavily capitalized funds tanked the stock market to terrify people.&#160; The Wall Street Journal is on the side of the outsourcers and always has been. It once was a great information source for those who wanted to be informed.&#160; It has turned into agitprop but still has useful headlines about CEO changes, lawsuits, and the like. It is turning into NPR for the literati.(2)</p>
<p>&#160;</p>
<p>&#160;</p>
<p>1. <a title="https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108011028" href="https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108011028">https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108011028</a></p>
<p>2. <a title="https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108054614" href="https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108054614">https://open.substack.com/pub/coffeeandcovid/p/counter-intelligence-friday-april?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=108054614</a></p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/2092/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Non Literal Baptists</title>
		<link>http://192.168.0.198/archives/1068</link>
		<comments>http://192.168.0.198/archives/1068#comments</comments>
		<pubDate>Sun, 16 Mar 2025 07:08:50 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Spiritual notes]]></category>
		<category><![CDATA[Baptist]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=1068</guid>
		<description><![CDATA[Michael Licona, Associate Professor of Theology at Houston Baptist University, published a shocking view from his book, The Resurrection of Jesus: A New Historiographical Approach. He claims that the passage in Matt. 27:52-53 describing the raised saints coming out of their graves is apocalyptic imagery injected into the narrative and not a literal assertion of [...]]]></description>
			<content:encoded><![CDATA[<p>Michael Licona, Associate Professor of Theology at Houston Baptist University, published a shocking view from his book, <span style="text-decoration: underline;">The Resurrection of Jesus: A New Historiographical Approach</span>. He claims that the passage in Matt. 27:52-53 describing the raised saints coming out of their graves is apocalyptic imagery injected into the narrative and not a literal assertion of fact. He discussed this view during a round table published by the Southeastern Theological Review [1]:</p>
<blockquote><p>As I broadened my reading in the Greco-Roman and Jewish literature of the period, I began to observe numerous reports containing phenomena similar to what we find reported by Matthew at Jesus’ death. The frequent mention of darkness, apparitions of the dead, the earth shaking, and celestial phenomena peaked my interest. I wondered whether these things reported by Virgil, Dio Cassius, and Josephus were all intended to be understood as events that had occurred in space-time. Or were they an ancient literary device—“special effects”—meant to ac-centuate an event of cosmic, even divine significance?2 So, it appears that this ancient practice continues in some locations to this day.</p>
<p>Then I observed similar phenomena in Acts 2 when Peter ad-dressed the crowd, saying the speaking in tongues they were witnessing was in fulfillment of Joel 2. He goes on to list other phenomena men-tioned by Joel, including wonders in the sky involving the sun going dark, the moon turning to blood, and signs on the earth such as blood, fire, and smoke. Joel concludes by saying that in that day everyone who calls on the name of the Lord will be saved. Peter then testifies how Jesus performed wonders and signs while among them. He rose from the dead and now they should call upon His name for salvation. Similar phenom-enal language appears in Jesus’ Olivet Discourse in Matthew 24 where the sun and moon will go dark and the stars will fall out of the sky. Many evangelical scholars interpret the celestial phenomena in Acts 2 and Matthew 24 as apocalyptic symbols with no corresponding literal events involving those celestial bodies. I became persuaded that the raised saints in Matthew 27 belonged to the same genre.</p></blockquote>
<div>
<div>1. Akin, Danny, Craig Blomberg, Paul Copan, Michael Kruger, Michael Licona, and Charles Quarles. “A Roundtable Discussion with Michael Licona on The Resurrection of Jesus: A New Historiographical Approach,” 2012. (<a href="https://www.risenjesus.com/wp-content/uploads/a-roundtable-discussion-with-michael-licona-on-the-resurrection-of-jesus.pdf">PDF</a>)</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/1068/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Science Time Warp Machine</title>
		<link>http://192.168.0.198/archives/1704</link>
		<comments>http://192.168.0.198/archives/1704#comments</comments>
		<pubDate>Mon, 24 Feb 2025 00:51:27 +0000</pubDate>
		<dc:creator>L'ecrivain</dc:creator>
				<category><![CDATA[Computing Notes]]></category>
		<category><![CDATA[AlmaLinux]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[rstudio]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://192.168.0.198/?p=1704</guid>
		<description><![CDATA[Fedora 38 freezes up and crashes sometimes when using Gnome on bare metal.  This may be the result of Gnome reliability issues.  In a previous article I detailed creating a massive repo of Fedora 38, and I still have it.  I will not delete the 238GB repo because Fedora 40 is the last one with [...]]]></description>
			<content:encoded><![CDATA[<p>Fedora 38 freezes up and crashes sometimes when using Gnome on bare metal.  This may be the result of Gnome reliability issues.  In a previous article I detailed creating a massive repo of Fedora 38, and I still have it.  I will not delete the 238GB repo because Fedora 40 is the last one with Python 2.7 in the repositories.  They elected to completely remove it in Fedora 41 and beyond.  I created some software in Python 2.7 that may never make it to Python 3 because I will be an old man by the time I could complete the conversion relative to my available time in the present day. I had migrated from bare metal to WSL with Fedora 36 a few years ago. I had created my own WSL instance using the Fedora 36 cloud init image, and then upgraded it over the years to Fedora 38 and then ceased updating it.  WSL crashes and cannot be relied upon to run tasks that require many hours of continuous processing.</p>
<p>WSL really was wonderful for development and running Linux applications with underlying Linux features.  I used it for development using Pycharm.  The problem is that I would often return after 12 hours and see a message that the terminal could be closed with a CTRL + D which indicated that the service had stopped for some reason.  I suspect these occurred when available RAM conflicted with the /dev/share features of Linux.  Troubleshooting it would take too long. I don’t trust the releases from the Windows store because forced updates in Windows can take features away or cause unexpected problems.  I upgraded my Windows 11 home desktop to Windows 11 Pro specifically so I could disable Windows automatic updates via group policies, service disablement, and registry modifications that fail to stop auto updates on Windows 11 Home.</p>
<p>To create a long use time capsule of sorts, I decided to switch to Alma Linux 8 from Fedora 38.  Alma Linux 9 follows the tradition of RHEL 9 and removes the easy support for Python 2.</p>
<p>I setup Alma Linux 8.10 Cerulean Leopard, installed from the KDE live DVD, and installed r Studio server to access via web browser.</p>
<p>edit /ect/dnf/dnf.conf and add keepcache=True</p>
<pre class="prettyprint linenums lang-bsh">dnf install epel-release    
dnf config-manager -enable powertools    
dnf install R    
dnf install python2</pre>
<p>The python2 install installs pip2.7 automatically. One calls pip2 via the pip2.7 command.</p>
<p>As regular user the following is required for a script I made because parsedatetime changed after version 2.5 and is no longer compatible with the previous versions.</p>
<pre class="prettyprint linenums lang-bsh">pip2.7 install parsedatetime==2.5 --user</pre>
<p>• Install rstudio-2024.12.0+467-1.rpm from direct download</p>
<p>• Install rstudio-server-rhel-2024.12.0-467.rpm from direct download</p>
<pre class="prettyprint">systemctl enable rstudio-server</pre>
<p>Configure the firewall to allow 8787.</p>
<pre class="prettyprint">usermod -a -G rstudio-server &lt;username&gt; 
setenforce 0</pre>
<p>The last instruction to turn off SELinux is temporary until I can ascertain the specific rules that will need modification to allow it work. With SELinux enforcing with the initial configuration, the server cannot be accessed via web browser remotely</p>
]]></content:encoded>
			<wfw:commentRss>http://192.168.0.198/archives/1704/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
