Posts on Wrongthink https://wrongthink.link/posts/ Recent content in Posts on Wrongthink Hugo -- gohugo.io en-us Wed, 12 Nov 2025 21:17:21 -0500 Sanity Check: Platform Masquerading https://wrongthink.link/posts/sanity-check-platform-masquerade/ Wed, 12 Nov 2025 21:17:21 -0500 https://wrongthink.link/posts/sanity-check-platform-masquerade/ <p>Many in the alt tech and open source club, and especially the variety who might visit wrongthink, probably go to some length to present their device metrics as some other platform. Often to foil tracking, which insinuates flying the flag of Windows, Chrome or some other predominant platform. Outright lying is enough to mislead simple tracking adversaries. But are we causing long term harm in exchange for short term gain?</p> <image src="https://wrongthink.link/tux-behind-windows.png" alt="Hurr durr look I'm Windows" style="width:474px;height:473px"> </image><br /><br /> <p>One needn&rsquo;t try hard to imagine that a Google or a Microsoft might desire for, or even covertly encourage, those of us who reject exploitative platforms to scurry away out of sight. To send ourselves into self-exile. Targeted self erasure. It is probably safe to assume that most privacy oriented techies are using some form of Firefox. And according to <a href="https://radar.cloudflare.com/reports/browser-market-share-2025-q1">Cloudflare&rsquo;s 2025 Radar</a> (warning: javascript) Firefox sits at a despicable 4.1%. Or 7.5% if counting only desktop Linux.</p> <p>I am going to strech my estimation and, based on my years of interaction with Linux techies both online and in the flesh, surmise that somewhere between one tenth to two fifths of desktop Linux users make efforts to conceal their device attributes. For example, by <a href="https://wrongthink.link/posts/hardened-web-browser">enabling Firefox ResistFingerprinting</a>. That is up to 40% making an erronious headcount toward Windows in web stat tracking. That unmasks potentially up to an additional 1.64% Firefox users who might actually be rocking Linux under the hood. When looking at single digit metrics, every fraction of a percent holds valid weight.</p> <p>And when we consider that simply using Firefox, now a statistically niche web browser, already heavily contributes to the uniqueness of those hiding behind a false user agent, it becomes evident that masquerading one&rsquo;s platform is not only a form of self-erasure but has also grown ineffective at curtailing fingerprinting.</p> <p>It can be reasoned that if one takes a minor loss in fingerprintability in exchange for a comparatively more substantial gain for accurate platform usage counting, an argument begins to manifest that open source privacy afficianados might have been shooting ourselves in the feet by bolstering numbers in the long term which favor the adversaries.</p> <p>For years I&rsquo;ve been sailing with the flags of Windows and x86 when what little traffic I generated could have been counting toward Linux on PowerPC. Don&rsquo;t think it matters? My aversions kept me away from utilizing Debian Popularity Contest (<a href="https://popcon.debian.org/">popcon</a>) with a platform whose user count could be measured only in the thousands, perhaps even the hundreds for most packages. It becomes very easy for maintainers to overlook issues when, in effect, there are no active users. And I&rsquo;ve seen first hand the erosion of interest in maintaining PowerPC ports, from <a href="https://trac.ffmpeg.org/ticket/9077">issues</a> that long go unnoticed, distros <a href="https://www.phoronix.com/news/Fedora-Atomic-Desktops-PPC64LE">dropping entire builds</a>, to developers <a href="https://forums.raptorcs.com/index.php/topic,560.msg4488.html#msg4488">selling off their POWER gear</a>, to packages that <a href="https://packages.debian.org/trixie/opensnitch">quietly drop</a> ppc64 <a href="https://packages.debian.org/trixie/luanti">from their builds</a>. <em>Headcounts matter</em>.</p> <image src="https://wrongthink.link/power-risc-buildd.png" alt="POWER and RISC-V Debian packages that build successfully" style="width:640px;height:480px"> </image><br /><br /> <p>In a <a href="https://wrongthink.link/posts/have-i-been-too-hard-on-ublock">trend of critically examining where I stand in my own convictions</a>, I&rsquo;m finding yet again that perhaps the time has come to relax some of my most stringent battle lines. In a sense, I have broken rank to go fight the ghosts of a battle which <a href="https://wrongthink.link/posts/pulse-of-openpower-risc-v">hasn&rsquo;t yet begun</a>. All the while, a war still rages far behind me. I&rsquo;m alluding to the very real ground being covered in the gaming platform space. Just weeks ago, for the first time, <a href="https://www.gamingonlinux.com/2025/11/linux-gamers-on-steam-finally-cross-over-the-3-mark/">Linux has broken the 3% milestone</a> among Steam users, long since surpassing Mac OS. And, apparently, some of <a href="https://www.notebookcheck.net/Microsoft-on-the-verge-of-giving-up-on-exclusives-as-upcoming-Xbox-console-could-run-Windows-and-Epic-GOG-Steam-game-stores.933299.0.html">the console prisons have taken to releasing</a> their <a href="https://wrongthink.link/posts/content-as-a-hostage/">hostages</a> to PC while at the same time conceding that <a href="https://www.notebookcheck.net/More-evidence-of-next-gen-Xbox-being-a-PC-hybrid-console-shared-by-Microsoft.1159784.0.html">the PC was the right way</a>, after all.</p> <p>This is substantial. And even for those of us who have taken an ideological stand in swearing off the use of things like <a href="https://spyware.neocities.org/articles/steam">Steam</a>, what happens in that space will have ramifications which echo through the humble encampments of alt tech and open source enjoyers for years to come. It has me feeling as though I&rsquo;ve been M.I.A. in a time of need. With the recent announcement of <a href="https://www.gamingonlinux.com/2025/11/valve-reveal-the-new-steam-frame-steam-controller-and-steam-machine-with-steamos/">Valve&rsquo;s latest major Linux push</a>, I question the veracity of jumping straight to the idyllic conclusion, having ignored the collective pushing of the needle necessary for it to first materialize. Here&rsquo;s some wrongthink for you: maybe I&rsquo;ll even buy a Steam Machine. Probably not for myself, but to repay a friend. To move that needle forward.</p> <p>With Linux usage share crawling meaningfully upward for probably the first time ever, what things might unfold if a substantial part of the Linux userbase were to begin uncloaking?</p> <video width=50% controls> <source src="https://wrongthink.link/fleet-uncloak.mp4" type="video/mp4"> </video> Have I Been Too Harsh on uBlock Origin? https://wrongthink.link/posts/have-i-been-too-hard-on-ublock/ Thu, 06 Nov 2025 13:03:15 -0500 https://wrongthink.link/posts/have-i-been-too-hard-on-ublock/ <p>Any longtime Wrongthink visitor is probably familiar with my criticisms of uBlock Origin. It originates from a place of frustration: Why did Raymond Hill insist on breaking up the power emeralds™ and hiding them across the land? Was it too dangerous to have it all in one place? But with time and experience, I&rsquo;ve come to ponder whether I am just demanding unattainable standards. What if the remaining 10% functionality I seek can be scrounged up from elsewhere?</p> <p>With the right compliment of extensions, uBlock Origin <em>might</em> just be good enough. First a recap: its weak points are in the non-existant handling of cookies and in the incomplete filtering of CSS. One tool I&rsquo;d been using along side uBlock Origin for years has been <a href="https://github.com/stoically/temporary-containers">Temporary Container Tabs</a>. Temporary Container Tabs has the effect of limiting cookie life to the life of a browser tab. Close the tab, and the cookies are tossed out with that cache bucket. Sadly, it too <a href="https://github.com/stoically/temporary-containers/issues/634#618">is unmaintained</a> for years, but still functions as of Firefox 140.</p> <p>The necessity of blocking CSS is something else I&rsquo;ve been reexamining. Does the cost outweigh the functionality provided by stylesheets? By running <a href="https://wrongthink.link/posts/hardened-antivirus">on-access prevention</a> in the Mozilla cache with clamonacc, stylesheets are already subject to some filtering (with additional malware databases ofc). This effectively pulls the security model back a layer from exception-allow to exception-deny while affording most sites basic formatting.</p> <p>uBlock Origin&rsquo;s CNAME uncloaking can perhaps replace extensions like <a href="https://web.archive.org/web/20211101170346/https://notabug.org/themusicgod1/cloudflare-tor/">Block Cloudflare MITM</a>. Block Cloudflare MITM relies on knowledge of existing CDNs, while CNAME uncloaking does this naturally for <em>any</em> domain fronting simply as a happy byproduct. You can see which third party resources are calling Akamai or Fastly or whatever other MITM might be serving assets under the first party domain.</p> <image src="https://wrongthink.link/ublock-origin-cname-uncloaking.png" alt="Domain fronting exposed in advanced mode interface" style="width:555px;height:435px;"> </image><br /><br /> <p>Completely granular per-asset filtering is actually a thing in uBO! In the logger window, it is possible to select specific scripts or other assets to automatically compose rules for. The only <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">other tool that I&rsquo;ve seen with this level of fine grained control has been Policy Control/Request Policy</a>. It&rsquo;s not well advertised, and I admittedly only discovered this feature recently as of version 1.64.X.</p> <image src="https://wrongthink.link/ublock-origin-individual-asset-handling.png" alt="Rule creation for individual assets in the logger" style="width:927px;height:577px;"> </image><br /><br /> <p>And if that level of control sounds too exhausting, what of handling javascript when the few scripts that are allowed to load must also contend with obfuscation by <a href="https://jshelter.org/">JShelter</a>? With all of the mitigations outlined above, when the &ldquo;Disable Javascript&rdquo; option is unchecked for a certain page in uBlock Origin, it loads scripts only for those domains that you have exceptionally allowed, the scripts must then pass checks from clamav-daemon filtering, only to then run in a limited environment whose parameters are adjusted to defeat common fingerprinting.</p> <p>Minor point: Dark mode!</p> <p>Considering all of that, and I can hardly believe I&rsquo;m saying this, but I&rsquo;m thinking of dropping uMatrix. <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">The tier list</a> will remain unchanged for the time being, as I need to carefully evaluate whether this adequately fixes uBlock Origin.</p> Debian Upgrade Marathon: 11 Bullseye https://wrongthink.link/posts/debian-upgrade-marathon-bullseye/ Sun, 24 Aug 2025 12:38:54 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-bullseye/ <p>Our marathon hasn&rsquo;t kept pace with Debian. During this writing, Debian Bullseye had been moved from OldStable to <a href="https://wiki.debian.org/DebianOldOldStable">OldOldStable</a>, while Trixie has been officially released. It is a marathon, after all. Not a speedrun. Today we step into 2021 and later explore a new, as of Bullseye, tool for dodging the <a href="https://www.theregister.com/2023/12/19/debian_to_drop_x86_32/">sunsetting of 32-bit</a> that begins as of Trixie.</p> <p>Once the basis of SteamOS, Debian was <a href="https://www.pcgamer.com/this-is-why-valve-is-switching-from-debian-to-arch-for-steam-decks-linux-os/">displaced in favor of Arch</a>. This was also the year that saw the introduction of Valve&rsquo;s first successful &ldquo;steam machines&rdquo; in the form of the Steam Deck. By 2021, the once mighty Intel had rightfully begun to lose its 1vAll hegemony with the likes of Apple taking up their own silicon design, while AMD&rsquo;s last decade of stategy began to payout. More than ever, an operating system with as wide a breadth of architectural support was poised to ride out the waves of change.</p> <figure><img src="https://wrongthink.link/i386-amd64.jpg"> </figure> <h1 id="upgrading-from-buster-to-bullseye">Upgrading from Buster to Bullseye</h1> <p><code>dpkg --audit</code> pointed to some transitional dummy packages that <a href="https://wrongthink.link/posts/debian-upgrade-marathon-jessie">I&rsquo;d long been ignoring</a>.</p> <p>We finally get off of the <a href="https://archive.debian.org/">archive repositories</a> and update sources.list with the new debian security archive format, changing from */updates to *-security.</p> <pre tabindex="0"><code>deb https://deb.debian.org/debian/ bullseye main contrib non-free deb https://security.debian.org/debian-security/ bullseye-security main contrib non-free </code></pre><p><code>apt update</code> ✔</p> <p>We unceremoniously initiate the upgrade.</p> <pre tabindex="0"><code>apt upgrade --without-new-pkgs </code></pre> <image src="https://wrongthink.link/bullseye-apt-upgrade-download.jpg" style="width:618px;height:464px;"> </image><br /><br /> <blockquote> <p>&ldquo;Configuration file /etc/sudoers has been modified by you.&rdquo;</p> </blockquote> <p>&lsquo;I&rsquo;, Install package maintainer&rsquo;s version.</p> <blockquote> <p>&ldquo;PAM profiles to enable:&rdquo;</p> </blockquote> <p>All default.</p> <pre tabindex="0"><code>apt full-upgrade </code></pre><blockquote> <p>&ldquo;Please specify the workgroup for this system.&rdquo;</p> </blockquote> <p>Default &ldquo;WORKGROUP&rdquo;.</p> <blockquote> <p>&ldquo;Modify smb.conf to use WINS settings from DHCP?&rdquo;</p> </blockquote> <p>No (default).</p> <p>Ending without much issue, it cleanly rebooted into the newer Gnome 3.38 environment.</p> <image src="https://wrongthink.link/bullseye-gdm3-first-boot.jpg" style="width:618px;height:464px;"> </image><br /><br /> <h2 id="post-upgrade">Post-upgrade</h2> <p>I <code>apt autoremove</code>&rsquo;d 338 packages and upgraded 12 packages held back during the full-upgrade.</p> <p><em>w3m</em> was held back which I upgraded manually as well as removing several python2 packages.</p> <p>There really is not much of note. Bullseye was perhaps the most mundane release <a href="https://chronicles.debian.org/www/News/2021/20210814">in terms of changes and transitions</a> (in a good way!).</p> <h1 id="impressions-of-bullseye">Impressions of Bullseye</h1> <p>Maybe <em>impressions</em> is the wrong term to be using, as this falls within recent memory. There it is, systemd integrated Gnome in all its visually minimalistic fancy. I should mention that I haven&rsquo;t had to worry at all about display stack issues since around Buster. For all its <a href="https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles">naysayers</a>, <em>wayland</em> is the the one that works effortlessly while x11 was continuously broken without any user intervention throughout the former half of this marathon.</p> <figure><img src="https://wrongthink.link/bullseye-landing.png"> </figure> <p>The sort of thing that might even lead one to believe that wayland is better.</p> <video width=50% controls> <source src="https://wrongthink.link/thats-suspicious.mp4" type="video/mp4"> </video><br /><br /> <p>Not to pollute this experiment too much with games, but Minetest (<a href="https://blog.luanti.org/2024/10/13/Introducing-Our-New-Name/">now Luanti</a>) runs better than expected on this old APU.</p> <figure><img src="https://wrongthink.link/bullseye-desktop-programs.png"> </figure> <p>Bullseye released with SuperTuxKart 1.2, the last in Stable before 1.4 at which it still sits today.</p> <figure><img src="https://wrongthink.link/bullseye-supertuxkart.png"> </figure> <p>The initial launch had <a href="https://tracker.debian.org/news/1245665/accepted-firefox-esr-78130esr-1deb10u1-source-into-stable-embargoed-stable/">Firefox ESR 78</a> where it languished <a href="https://www.theregister.com/2021/12/10/debian_firefox_issues/">due to dependency issues</a> preventing the adoption of then-current Firefox ESR 91. As OldOldStable, Bullseye still receives updates, including for Firefox which got upgraded to 128.14 before uploading this article. It is a bit odd to see contemporary software that I use on my daily driver still available through such an old release. Is anybody still rocking Bullseye today?</p> <h1 id="crossgrading-from-i386-to-amd64">Crossgrading from i386 to amd64</h1> <p>Bullseye was the first release to include a <a href="https://tracker.debian.org/pkg/debian-crossgrader">new tool</a> designed to orchestrate conversion to CPU architectures foreign to the host. This was already possible for those daring to leverage multiarch and convert packages carefully by hand. But <em>crossgrader</em> introduced a semi-formalized <a href="https://salsa.debian.org/crossgrading-team/debian-crossgrading/-/blob/master/INSTRUCTIONS.md">way to handle this</a> while minimizing the possibility of breakage.</p> <p>It effectively enables Debian installations to move laterally across the supported architectures. Upgrade-Journey is at last jumping over to the x86_64 side of things.</p> <image src="https://wrongthink.link/architecture-crossgrade.png" alt="Look at that graveyard!" style="width:960px;height:531px"> </image><br /><br /> <p>At console terminal, <code>apt remove '~o'</code> cleared many packages left over from as far back as Sarge.</p> <p>Here, I ran into an issue with <em>libreadline4</em> causing a dpkg failure &ldquo;No dir file specified&rdquo;. Thanks to the helpful account at <a href="https://unix.stackexchange.com/questions/146367/how-can-i-remove-a-bunch-of-ancient-packages-on-debian">stackexchange</a>, I was able to comment out the &lsquo;install-info&rsquo; line at /var/lib/dpkg/info/libreadline4.prerm and proceed with the obsolete package removal.</p> <p>This had also left systemd relying on outdated binaries still being run, so we reboot.</p> <p><code>apt autoremove</code> to clear out old Python 2.7 packages. And I also checked that all packages were indeed the most recent available for Bullseye.</p> <p>The crossgrade procedure wants to make sure we have binutils, curl and wget. <em>dpkg</em> reports binutils and wget already installed so we just need to <code>apt install curl</code>.</p> <p>With that, the environment should be all set to begin the crossgrade.</p> <p><code>dpkg --print-architecture; dpkg --print-foreign-architectures</code> tells us that only i386 is currently available.</p> <p>Per the notes at <a href="https://wiki.debian.org/CrossGrading#dpkg_configuration_for_from_and_target_architectures">the Debian Wiki</a>, we add the amd64 build of the kernel ahead of the actual crossgrade:</p> <pre tabindex="0"><code>dpkg --add-architecture amd64 </code></pre><p>Which now shows up when checking with &ndash;print-foreign-architectures.</p> <p><code>apt update</code> to pull in the new amd64 package lists.</p> <pre tabindex="0"><code>apt install linux-image-amd64:amd64 </code></pre><p>With it installs the requisite dependencies for things like gcc and apparmor.</p> <p>I rebooted and selected kernel 5.10.0-35-amd64 from GRUB.</p> <image src="https://wrongthink.link/bullseye-crossgrade-new-kernel-boot.jpg" style="width:618px;height:464px;"> </image><br /><br /> <p><code>uname -r</code> does report 5.10.0-35-amd64 is indeed in use. I&rsquo;m really surprised as I would have thought a bunch more of the system would have to already be migrated to 64 bit packages before functionally booting. gdm3 even loaded up ready to log into a desktop session without any complaints!</p> <p>I installed the <em>crossgrader</em> package before running once (with elevated privileges):</p> <pre tabindex="0"><code>sudo crossgrade-package-check </code></pre><p>And, from here on, we make a point <em>not</em> to touch apt or dpkg directly!</p> <p><code>sudo crossgrader --dry-run amd64</code> reports no issues.</p> <pre tabindex="0"><code>sudo crossgrader amd64 </code></pre><p>Which first crossgrades dpkg, apt, python3 and python3-apt before advising to run the same step once again. Crossgrader appears to loop over installation selections while deferring packages which fail to be retried until everything is resolved. <a href="https://wiki.debian.org/CrossGrading">The wiki</a> essentially recommends to run these steps repeatedly until they finish &ldquo;quite cleanly&rdquo;.</p> <image src="https://wrongthink.link/bullseye-crossgrade-rerun-first-stage.jpg" style="width:618px;height:464px;"> </image><br /><br /> <p>The first stage of my crossgrade ended with logsave &ldquo;might not be in the correct architecture&rdquo;. And with apt being off-limits during a crossgrade, we address this through the -p switch.</p> <pre tabindex="0"><code>sudo crossgrader amd64 -p logsave </code></pre><p>Running <code>crossgrader amd64</code> no longer spits out warnings so we move on to <a href="https://wiki.debian.org/CrossGrading#Second_stage">stage two</a>.</p> <p>Checked that 64 bit apt and dpkg are now installed and the i386 architecture has taken up the secondary role as a foreign architecture.</p> <pre tabindex="0"><code>dpkg -l apt dpkg | grep &#39;^ii &#39;; dpkg --print-architecture; dpkg --print-foreign-architectures </code></pre><blockquote> <p>amd64<br> i386</p> </blockquote> <p>✔</p> <pre tabindex="0"><code>crossgrader --second-stage amd64 </code></pre> <image src="https://wrongthink.link/bullseye-crossgrade-second-stage-setup.jpg" style="width:618px;height:464px;"> </image><br /><br /> <p>Which failed at an exception regarding the linux-image-686-pae package. As per the <a href="https://wiki.debian.org/CrossGrading#Second_stage">crossgrader notes</a>, the &ndash;force-unavailable switch informs crossgrader to proceed, ignoring these exceptions.</p> <p>Some packages, including gnome-shell and gdm3 did not successfully crossgrade to amd64. I attempted to go back and manually install packages which where holding back the installation of the others.</p> <pre tabindex="0"><code>sudo crossgrader amd64 -p libc++abi1-16 libuwind-16 </code></pre><p>But to no avail. I thought I was going to need to simply remove and reinstall the remaining packages through apt after removing crossgrader and issuing a reboot.</p> <p>GRUB continues to default to the linux-image-686-pae kernel so I need to manually select the amd64 kernel. Interestingly, it still successfully reaches gdm3, presumably a franken-mixture of amd64 and the remaining two dozen (or so) i386 packages. gnome-control-center fails to launch, so there is definitely some breakage from these remaining packages.</p> <p>After dropping back to terminal, I then move on to the third stage which cleans up the remaining i386 packages.</p> <pre tabindex="0"><code>sudo crossgrader --third-stage i386 --dry-run amd64 sudo crossgrader --third-stage i386 amd64 </code></pre> <image src="https://wrongthink.link/bullseye-crossgrade-stage-three-setup.jpg" style="width:618px;height:464px;"> </image><br /><br /> <p>But hit a wall with &ldquo;<!-- raw HTML omitted -->&hellip;returned non-zero exit status 1&rdquo;</p> <p>Well, let&rsquo;s see how much we can get away with ignoring. Like with every other stage, we&rsquo;ll just run it again!</p> <p>But roughly twenty packages still yield &ldquo;&hellip;returned non-zero exit status 1&rdquo;. A few packages that needed to be manually crossgraded:</p> <pre tabindex="0"><code>sudo crossgrader amd64 -p python3-cairo libwebkit-gtk-4.0-37 libjavascriptcoregkt-4.0-18 libunwind-16 libc++abi1-16 libc++-16 </code></pre><p>However, my attempts to manually crossgrade these packages failed. Ultimately, dpkg kept complaining about broken dependencies associated with python3-cairo:i386 which turned out to be a known problem at <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770265#24">this Debian bug report</a>.</p> <p>Per the very helpful comment at <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770265#10">message #10</a>, I was able to edit the file at /var/lib/dpkg/info/python3-cairo:i386.prerm to append &ldquo;:i386&rdquo; after both instances of &ldquo;gir1.2-ibus-1.0&rdquo;. Thus, freeing up dpkg&rsquo;s confusion about multiple installed versions of the &ldquo;same&rdquo; package.</p> <image src="https://wrongthink.link/bullseye-crossgrade-resolving-broken-packages.jpg" style="width:618px;height:464px;"> </image><br /><br /> <p>Afterwhich, once again running <code>crossgrader --third-stage i386 amd64</code>, it was able to complete and remove the remaining i386 packages.</p> <p><code>dpkg -l | grep -F i386</code> confirmed that the twenty or so remaining i386 packages are no longer present. Time to remove crossgrader.</p> <pre tabindex="0"><code>apt purge crossgrader </code></pre><p>Success! And we&rsquo;re left with a system that is fully 64 bit which began its life as a 32 bit installation.</p> <figure><img src="https://wrongthink.link/bullseye-64-bit.png"> </figure> <p>So Bullseye shipped with a known broken config at /var/lib/dpkg/info/python3-cairo:i386.prerm which affects the crossgradeability of systems using Gnome desktop. And even the final update with 11.11 never implemented a fix for it.</p> <h1 id="fun-factoids">Fun Factoids</h1> <p>Support for alternative init systems was improved for Bullseye. Even so, much of the talent maintaining the other init systems prefer to <a href="https://www.tecmint.com/debian-forked-over-systemd-birth-of-devuan-linux/">roll their own distro in protest</a>.</p> <p>Python 3 replaces Python 2 in Debian Bullseye.</p> <p>Pipewire packages begin to make their appearance, indicating Debain were already gearing up to switch to pipewire at least as early as Bullseye.</p> <p>Having effectly run an informal audit of the crossgrading procedure, we can say that converting to foreign architectures is possible <em>mostly</em> without issue. With no more time or effort than for a normal upgrade. Upgrade-Journey is hardly recognizable as the system provisioned on a Pentium 4 with twenty year old software. I&rsquo;m looking forward to the last upgrade and reflecting back on the changes and oddities over Debian&rsquo;s history, when I eventually get around to Bookworm.</p> Infinite Property Rent is an Unpatched Exploit https://wrongthink.link/posts/infinite-rent-unpatched-exploit/ Tue, 05 Aug 2025 21:58:23 -0400 https://wrongthink.link/posts/infinite-rent-unpatched-exploit/ <p>Sometimes I find unwanted junk cards in my mailbox from organizations seeking to add vacation properties to their portfolio. They go straight into the shredder because A) I bought this place so that I could have a roof to sleep under and B) I am not morally bankrupt. There are currently not enough available houses to accommodate the nation&rsquo;s individuals or families who need a place to reside. A game of musical chairs where there aren&rsquo;t nearly enough chairs and a few of the players have resorted to laying their bodies across entire rows of chairs.</p> <p>How can anybody who owns multiple properties see the plight of their fellow men struggling to house themselves or their families make any other decision than to place those extra properties on the market? To do so, one must be either a scumbag or ignorant to the state of things. An <em>ignorant</em> scumbag. There is one thing the political left are very good with, and that is <em><a href="https://wrongthink.link/posts/possessive-language-and-spellcasting-the-mind/">languagecraft</a></em>. To borrow a term, these people can be described as <strong>overhoused</strong>. And that&rsquo;s to say nothing of the asset management firms buying up residential properties.</p> <p>Another lefty-devised term I&rsquo;m fond of is <em>landleech</em>. They are not landlords, but landleeches. Making others pay for the privilege of a life necessity because they happened to get to that tile on the monopoly board first. Society can be broken down into two types of people; those who <em>produce value</em> through their work, and those who <em>parasitize value</em> from those who create value. Landleeches fall squarely into the latter. (I have an entire rant prepared on this dichotomy, but that must await its own post).</p> <p>To coin another term, I suggest that there are no house flippers. There are only house <em>scalpers</em>. It is not <em>flipping</em>. It is <em>scalping</em>. Even if a property receives improvements in the process, it ultimately serves to lift the baseline for entry further out of reach of first time buyers. Those people who need it most.</p> <figure><img src="https://wrongthink.link/house-scalpers.png"> </figure> <p>Let me share with you a cathartic story. When I bought <a href="https://wrongthink.link/posts/divorce-from-the-beast-system">my place</a>, it was first &ldquo;sold&rdquo; but then a week later was relisted again. The seller indicated that it went back up on market only because the current prospective buyer had a deal fall through. At first, I&rsquo;d harbored some guilt considering that I had swooped in and snatched it up with cash when the other buyer must have been waiting to shuffle some assets around.</p> <p>A year or two later, I am in town getting supplies when a woman approached me &ldquo;Are you the guy that bought that house on Mountain Road?&rdquo; I hesitated and replied yes, knowing that this is an unpopulous area and it&rsquo;s not uncommon to be recognized by friendly strangers. She continued on &ldquo;I was going to buy that place and revitalize it to rent out. It would have been my Xth.&rdquo; expressing a tinge of exasperation, &ldquo;I hope you like it.&rdquo; Uncertain whether she was fixing for an argument, I gave her some polite filler to de-escalate before parting ways.</p> <p>But how awesome it is that some landleech who was eager to parasitize this place had <em>some guy</em> from another state snipe the purchase from under them last minute during a lapse in negotiation. Good. I hope she still thinks about it from time to time. It sits in a beautiful area too. <em>Liberated</em> from the hands of the non-producing segment of society.</p> <image src="https://wrongthink.link/pepe-devil.png" style="width:100px;height:100px"> <br /><br /> <p>Is it all morally bankrupt? Decades ago, perhaps not so much considering there wasn&rsquo;t such a disparity between the overhoused and those seeking housing, as well as a much healthier housing stock to population ratio. It is relativeley recent that the disparity is reaching extremes where we can safely consider landleeches broadly to be scumbags. And same of the asset management firms. Even the little underlings working within them as lowly <a href="https://wrongthink.link/tech-normie.png">desk jockeys</a> share in the harm they cause. Every misfortune that befalls them is well deserved.</p> <p>But we can fix this. The game is broken and severely in need of a hotfix. You see, the idea that property owners can rent to tenants in perpetuity is an infinite money glitch. Well, not a glitch. An <em>exploit</em>. Rentals were never meant to be lifelong housing arrangements. And hard working people of contemporary society are being <em>forced</em> into forever rentals by manufactured circumstances.</p> <p>I suggest capping a reasonable grace period of temporary living, up to a few weeks for business travelers, students, vacationers or the like, beyond which any subsequent rental payments begin to <em>confer ownership</em> of the property itself to the renter. There is already a similar model to be found in <a href="https://infogalactic.com/info/Reverse_mortgage">reverse mortgages</a>. What I propose is that once the payments made by a tenant match or exceed the value payed by the current property owner, that property then fully falls under ownership of the tenant. Tenants who leave before reaching this threshold maintain 10%, 30%, whatever share ownership they paid for.</p> <p>Additionally, corporate entities should be barred from owning properties designated as <em>residential</em> unless it is to sell to individuals or families as a residence to be occupied. Residential property which sits unoccupied under the ownership of corporate entities or of overhoused individuals should incur extensive taxes during times of housing availability crisis, such as we are experiencing today. Once most people can satisfactorily obtain housing for themselves then, fine, have your vacation cottage.</p> Debian Upgrade Marathon: 10 Buster https://wrongthink.link/posts/debian-upgrade-marathon-buster/ Mon, 28 Jul 2025 00:09:39 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-buster/ <p>Buster marks the last Debian release made before stepping into this decade. And the first in a streak that I shall refer to as the &ldquo;B&rsquo;s&rdquo;; Buster, Bullseye and Bookworm, a chain of releases that I reason were more iterative than revolutionary. The only substantial changes that I can recall from memory alone include the introduction of pipewire and the creation of a new firmware repository. A far cry from the sweeping and disruptive changes, with the likes of systemd&rsquo;s introduction.</p> <p>2019 can feel now like &rsquo;the before times&rsquo; having enjoyed the calm before the machine learning craze. The days before web services felt the present pressures to deploy <em>bot-until-proven-human</em> <a href="https://github.com/TecharoHQ/anubis">measures</a>. The days before everyone and their mother misguidedly decided that every aspect of life <em>must</em> be conducted online. In this way, Buster stood at the threshold of the old and the new. Despite the upheavel in the spheres of internet and computing, this release thankfully possessed many tools helpful in riding out the waves of the early &rsquo;20s.</p> <figure><img src="https://wrongthink.link/buster-progress.png"> </figure> <p>Before committing to a system upgrade, there was some table setting needing to be done. First, the upgrade path for Buster advises modernizing the <a href="https://wiki.debian.org/NetworkInterfaceNames">network interface naming scheme</a> before starting the upgrade. This avoids risk of losing functioning networking on the host after the upgrade.</p> <p>Check the current names of network interfaces:</p> <pre tabindex="0"><code>echo /sys/class/net/[ew]* </code></pre><p>Output:</p> <pre tabindex="0"><code>/sys/class/net/eth2 </code></pre><p>Check whether it is used in config files:</p> <pre tabindex="0"><code>sudo rgrep -w eth2 /etc </code></pre><p>Only one config file on Upgrade-Journey seems to refer to it:</p> <pre tabindex="0"><code>/etc/udev/rules.d/70-persistent-net.rules:... </code></pre><p>Test for what ID udev would assign to that interface:</p> <pre tabindex="0"><code>udevadm test-builtin net_id /sys/class/net/eth0 2&gt;/dev/null </code></pre><p>Reveals that it would become &ldquo;enp2s0&rdquo;.</p> <p>Move 70-persistent-net.rules to somewhere it can be reverted to if this fails:</p> <pre tabindex="0"><code>sudo mv /etc/udev/rules.d/70-persistent-net.rules /home/traveler/ </code></pre><p>And rebuild initrd <code>sudo update-initramfs -u</code>, then reboot.</p> <p>Afterwhich I find &ldquo;enp2s0&rdquo; used as predicted.</p> <p>Secondly, some fresh hardware. Upgrade-Journey with Stretch had everything it needed to be fitted into a socket <a href="https://dlcdnets.asus.com/pub/ASUS/mb/SocketFM2/F2A85-M/E8005_F2A85-M.pdf">FM2 AMD platform</a>. Already, I could see an improvement in boot speed and desktop responsiveness. After switching to new hardware host, the network interface acquires the scheme &ldquo;enp4s0&rdquo;, so we know the new udev interface naming is working as intended.</p> <image src="https://wrongthink.link/buster-new-host.jpg" style="width:618px;height:464px"> </image><br /><br /> <h1 id="upgrading-from-stretch-to-buster">Upgrading from Stretch to Buster</h1> <p><code>dpkg --audit</code> just lists some obsoleted packages which can safely be ignored.</p> <p>Changed instances of &lsquo;stretch&rsquo; to &lsquo;buster&rsquo; in /etc/apt/sources.list.</p> <p>For anyone who may be referencing this post from the future, the entries as of this stage in the process are:</p> <pre tabindex="0"><code>deb https://archive.debian.org/debian/ buster main contrib non-free deb https://archive.debian.org/debian-archive/debian-security/ buster/updates main contrib non-free </code></pre><p>Note that this is the last of the Debian releases to use a forward slash instead of a dash to label the stable updates repository.</p> <pre tabindex="0"><code>sudo apt update </code></pre><p>Which threw an error about the APT::Update::Post-Invoke-Success script.</p> <image src="https://wrongthink.link/buster-apt-update-appstreamcli-issue.jpg" alt="Post-Invoke-Success script issue with appstreamcli" style="width:618px;height:464px"> </image><br /><br /> <p>This was fixed by a simple <code>sudo apt-get clean</code>. No mention of this issue appears anywhere in the <a href="https://www.debian.org/releases/buster/i386/release-notes.en.txt">Buster release notes</a>. It is probably a mess of my own making.</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre><blockquote> <p>&ldquo;PAM profiles to enable:?&rdquo;</p> </blockquote> <p>Yes to all (default).</p> <p>Many insserve empty script warnings cascaded by in Apt&rsquo;s output, which makes sense as insserv is deprecated as of Buster.</p> <pre tabindex="0"><code>sudo apt full-upgrade </code></pre><p>It is noteworthy that the packages selected to be upgraded in Buster represent almost 3GB worth of data, this is including only the several few additional packages that I&rsquo;d opted to install along the way. Prior upgrades did not see this kind of bandwidth and disk space consumption.</p> <blockquote> <p>&ldquo;(Configuring AppArmor) Please enter &hellip; any additional locations for home user directories.&rdquo;</p> </blockquote> <p>Supplied no additional home directories to apparmor.</p> <image src="https://wrongthink.link/buster-apt-full-upgrade.jpg" style="width:618px;height:464px"> </image><br /><br /> <p>The full-upgrade again triggers the PAM profiles enablement prompt, but is otherwise more silent.</p> <image src="https://wrongthink.link/buster-dpkg-has-failed.jpg" alt="dpkg failure from Apt scripts" style="width:618px;height:464px"> </image><br /><br /> <p>The procedure stopped at a dpkg failure &ldquo;Needrestart is being skipped since dpkg has failed:&rdquo;. I didn&rsquo;t spend much time perusing logs before deciding to simply reissue apt full-upgrade, afterwhich the upgrade completed without any further issue.</p> <h2 id="post-upgrade">Post-upgrade</h2> <p>I ran <code>sudo apt autoremove</code> to remove 511 megabytes&rsquo; worth of obsoleted libraries and purged unneeded remnants of SysV.</p> <pre tabindex="0"><code>apt purge initscripts sysv-rc insserv startpar </code></pre><p>I spent some time deliberating with myself <a href="https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/">whether or not to convert</a> Upgrade-Journey to the merged /usr filesystem format. On the one hand, part of this upgrade project is in examining the kind of historic cruft that accumulates through decades of operating system upgrades. But, on the other, there is a precedent for aligning the system to readily receive further upgrades by keeping up with changes.</p> <p>Already I had <a href="https://wrongthink.link/posts/debian-upgrade-marathon-etch">expanded the filesystem attributes</a>, migrated hardware several times, and, as recently as this very Buster upgrade, converted to new network interface naming conventions. With plans to attempt an architecture crossgrade and perhaps a conversion to EFI, I see no reason why Upgrade-Journey should stubbornly cling to the old split directories.</p> <pre tabindex="0"><code>sudo apt install usrmerge </code></pre> <image src="https://wrongthink.link/buster-usrmerge.jpg" alt="Prompt for converting to merged usr directory structure" style="width:618px;height:464px"> </image><br /><br /> <h1 id="impressions-of-buster">Impressions of Buster</h1> <p><a href="https://www.phoronix.com/news/Debian-10-GNOME-Wayland-vs-X">Wayland became the default session</a> with Gnome 3.30. I remember some growing pains with packagekit being unable to run <a href="https://unix.stackexchange.com/questions/594183/how-to-run-graphical-applications-as-root-under-wayland">certain graphical software as root under Wayland</a>. Aside from that, the transition was smooth sailing. In the age of Buster, one would have done well to grow confortable running <em>ip</em> instead of <em>ifconfig</em> commands, and <em>nft</em> instead of <em>iptables/ip6tables</em> commands.</p> <figure><img src="https://wrongthink.link/buster-landing.png"> </figure> <p>Gnome had settled on the flat look that it still uses to this day.</p> <figure><img src="https://wrongthink.link/buster-desktop-programs.png"> </figure> <p>With over 57,000 software packages maintained for Buster, the Debian repository had by then gained a reputation for <a href="https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions#Package_management_and_installation">being expansive</a>. It is a rare day that I find myself hunting down source code to compile a program which <em>hasn&rsquo;t</em> already been packaged.</p> <video width=50% controls> <source src="https://wrongthink.link/the-jedi-archives.webm" type="video/webm"> </video><br /><br /> <p>Upgrade-Journey has been left with a lot of old bloat. The age and fading relevance of some of these programs can be seen even in their icon art. We can all rest easy knowing that both living users of &ldquo;<a href="https://kde.org/applications/utilities/org.kde.kfloppy">KFloppy</a>&rdquo; can still manage their floppy disk collections.</p> <figure><img src="https://wrongthink.link/buster-gnome-menu.png"><figcaption> <h4>Still trashed with programs selected waaaay back in Sarge.</h4> </figcaption> </figure> <p>It occurred to me <a href="https://tracker.debian.org/news/1536810/accepted-firefox-esr-115120esr-1deb11u1-source-into-oldstable-security/">how recent the version of Firefox ESR</a> was in this final point release of Buster. So recent, in fact, that it hardly justifies examination. With the way that Debian security repository releases work, once Upgrade-Journey has been upgraded to Bullseye, it will sit at the <em>current</em> supported Firefox ESR.</p> <figure><img src="https://wrongthink.link/buster-firefox-esr-version.png"> </figure> <p>When did SuperTuxKart begin to look like a professionally developed commercial software? <a href="https://blog.supertuxkart.net/2019">Around 0.9.3</a>, apparently.</p> <figure><img src="https://wrongthink.link/buster-supertuxkart.png"> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>Where Stretch would have needed AppArmor explicitly enabled, Buster enabled AppArmor by default.</p> <p>The minimum TLS version was bumped from v1 to v1.2.</p> <p>Cryptsetup switched to the new LUKS2 format, backward-incompatible with older LUKS1 format.</p> <p>Buster saw <a href="https://wiki.debian.org/CUPSDriverlessPrinting">the introduction of driverless printing</a> through IPP.</p> <p>My earlier assessment that Debian&rsquo;s upgrade scheme had reached a stable plateau might have been a little bit premature. Here we saw not only minor issues with the upgrade process, but also further complexity requiring special attention in order to avoid breakage. It may have been fine to ignore and proceed anyway, but we&rsquo;re also trying to avoid building up a sort of technical debt. This is getting into the home stretch next with <a href="https://wrongthink.link/posts/debian-upgrade-marathon-bullseye">Bullseye</a>.</p> Debian Upgrade Marathon: 9 Stretch https://wrongthink.link/posts/debian-upgrade-marathon-stretch/ Mon, 14 Jul 2025 00:12:00 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-stretch/ <p>At last, software produced within the last decade is in our grasp. The first Debian to have an option for Wayland display server as well as the option for a rootless Xorg display server. <a href="https://wiki.debian.org/nftables">nftables</a> was being jockeyed into position for the next release with Buster as replacement for iptables. Stretch launched into a year which saw the <a href="https://wiki.debian.org/DebianSecurity/SpectreMeltdown">Spectre and Meltdown</a> disclosures and which had to contend with rampant <a href="https://infogalactic.com/info/WannaCry_ransomware_attack">WannaCry ransomware</a>. With prominent data breaches peppering the calendar, it was not a great year in computer security. And still, Stretch put its users on better footing to persevere compared to rival operating systems of the commercial variety.</p> <figure><img src="https://wrongthink.link/stretch-launch-day.png"> </figure> <p>Unlike with the earlier upgrades, there were no breakages requiring adventurous fixes. Prior to Jessie, Debian iterated through many substantial changes which the upgrade process couldn&rsquo;t hide away from end users. They were as rocky as were to be found in a &ldquo;rock solid&rdquo; distro like Debian. Unfortunately for us, that means that this last stretch toward the finish line might grow comparatively dull.</p> <h1 id="upgrading-from-jessie-to-stretch">Upgrading from Jessie to Stretch</h1> <p>Starting with some things I decided to tackle beforehand, I removed the LINUX_CMD_LINE=&ldquo;acpi=off&rdquo; argument from /etc/default/grub. Way back at <a href="https://wrongthink.link/posts/debian-upgrade-marathon-sarge">the installation of Sarge</a>, I applied this due to an issue with the Intel Pentium 4 platform which was used as the launch point for Upgrade-Journey wherein the system would halt without actually powering off. One <code>sudo update-grub</code> and a few reboots later proves this newer AMD platform capable of ACPI features.</p> <p>A bunch of cruft built up within Apt&rsquo;s cache warranted clearing.</p> <pre tabindex="0"><code>sudo apt-get autoclean </code></pre><p>Which removed 15 *-dbg packages from the main archive as of Stretch.</p> <p>All ~40 pending package installations where then deselcted in aptitude.</p> <pre tabindex="0"><code>dpkg --audit </code></pre><p>Cries about a dozen transitional dummy packages. <em>Don&rsquo;t care - skipping.</em></p> <p>Finally, we can run <code>sudo apt edit-sources</code> like civilized people. All Jessie entries could be replaced with Stretch easily enough.</p> <pre tabindex="0"><code>sudo apt update </code></pre><p>✔</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre> <image src="https://wrongthink.link/stretch-apt-upgrade.jpg" alt="Initial package upgrade round" style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;PAM profiles to enable:?&rdquo;</p> </blockquote> <p>Yes to all. (Default)</p> <blockquote> <p>&ldquo;What do you want to do about modified configuration file 50unattended-upgrades?&rdquo;</p> </blockquote> <p>Install the maintainer&rsquo;s version.</p> <pre tabindex="0"><code>sudo apt-get dist-upgrade </code></pre><blockquote> <p>&ldquo;Default display manager:?&rdquo;</p> </blockquote> <p>gdm3.</p> <blockquote> <p>&ldquo;Do you want to set up the BSD lpd compatibility server?&rdquo;</p> </blockquote> <p>No.</p> <image src="https://wrongthink.link/stretch-config-glibc.jpg" alt="Prompt glibc requires services to restart" style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;Do you want to upgrade glibc now?&rdquo;</p> </blockquote> <p>Yes.</p> <blockquote> <p>&ldquo;What do you want to do about modified configuration file ssh_config?&rdquo;</p> </blockquote> <p>Install the maintainer&rsquo;s version.</p> <image src="https://wrongthink.link/stretch-gdm3-greeter.jpg" alt="gdm3 reached without any issues" style="width:618px;height:464px"> </image><br /><br /> <p>✔</p> <video width=50% controls> <source src="https://wrongthink.link/protoss-upgrade-complete.webm" type="video/webm"> </video> <h1 id="post-upgrade">Post-upgrade</h1> <p>With needrestart available since Jessie, it is trivial to check that a newer installed kernel version is available and awaiting reboot. We no longer need to check for this manually.</p> <p>Instead of subjecting all of your bleeding eyeballs yet again to an LLVM-powered fallback display environment, I allowed firmware-amd-graphics to make its home on this machine by way of the non-free repository. When we began this journey, I specifically chose an Intel host so that the <a href="https://cybertechnosys.com/are-intel-gpu-drivers-open-source/#ftoc-what-are-the-benefits-of-open-sourcing-intel-gpu-drivers">graphics stack could be run without the non-free repository</a>.</p> <p>Since AMD&rsquo;s display stack requires firmware blobs (shame on you, AMD!), the integrated GPU on this AMD board will not provide GPU accelleration unless Debian&rsquo;s non-free repository is added to sources.list and we issue <code>sudo apt install firmware-amd-graphics</code>.</p> <figure><img src="https://wrongthink.link/stretch-landing.png"><figcaption> <h4>Looking better</h4> </figcaption> </figure> <h1 id="impressions-of-stretch">Impressions of Stretch</h1> <p>At 3.22, Gnome finally starts to become more coherent. And the programs menu can better cope with organizing many applications into pages, instead of just throwing a wall of icons at the user. I dare say it could pass for a desktop environment that one might see today in 2025.</p> <figure><img src="https://wrongthink.link/stretch-gnome-menu.png"> </figure> <p>Stretch feels, to me, less fragile than some of the <a href="https://wrongthink.link/posts/debian-upgrade-marathon-squeeze">earlier releases we visited</a>. Maybe it&rsquo;s just familiarity bias, but changing configurations in GRUB or messing with display settings doesn&rsquo;t feel like a potentially irreversible decision. And this is in spite of six prior releases worth of artifacts and old configurations having built up. Just look at all these old kernels we&rsquo;ve been collecting like Pokemon!</p> <figure><img src="https://wrongthink.link/stretch-linux-kernels.png"> </figure> <p>Later in this experiment, I should attempt booting from each of those. Sadly, we lost kernel 2.4 as it is incompatible with GRUB 2 and udev.</p> <p>Firefox 91.11 is as functional as ever in 2025. Not <em>ancient</em>, but antiquated, it too could even be mistaken for contemporary Firefox.</p> <figure><img src="https://wrongthink.link/stretch-firefox-esr-pbs.png"> </figure> <p>The saved PBS page is basically functional as of Stretch.</p> <figure><img src="https://wrongthink.link/stretch-firefox-esr-businessinsider.png"> </figure> <p>Aside from long dead security support and probably being <em>extremely</em> fingerprintable, it could practically be used as a daily driver browser.</p> <p>And what about 3D rendering? Minetest (<a href="https://blog.luanti.org/2024/10/13/Introducing-Our-New-Name/">now Luanti</a>) was included in Stretch and the <a href="https://www.techpowerup.com/gpu-specs/ati-rs780.g67">RS780 integrated GPU</a> on this board does quite well with the high polygon count. SuperTuxKart 0.9.2, now making use of lighting and other fancy effects, needed to be dropped to lowest settings to remain playable.</p> <figure><img src="https://wrongthink.link/stretch-supertuxkart.png"> </figure> <p>The fact that SuperTuxKart has gradually grown more demanding attests to the continuous, long term attention the project has received in the way of <a href="https://blog.supertuxkart.net/">gameplay and graphical enhancements</a>. And speaks less to just how poor a performer this RS780 is.</p> <h1 id="fun-factoids">Fun Factoids</h1> <p>Stretch introduced a new naming method for network interfaces. <em>However</em>, the new convention does not apply to upgrades from Jessie and so our Upgrade-Journey machine retains its &ldquo;eth2&rdquo; interface.</p> <p>Xorg display server can be run rootless in Stretch. <em>However</em>, only gdm3 supports doing so.</p> <p>Debian continue their iterative security improvements with:</p> <ul> <li> <p>Apt in Stretch now fetches packages as the unprivileged user &ldquo;_apt&rdquo;.</p> </li> <li> <p>The Debian installer gained support for HTTPS enabling retrieval of packages from mirrors supporting HTTPS. Which wasn&rsquo;t many at the time IIRC, and also requiring the <em>apt-transport-https</em> package.</p> </li> <li> <p>openssh-server drops old ciphers and default disables the SSH1 protocol.</p> </li> </ul> <p>And with that, https mirrors can finally be added in sources.list, not that security had been any kind of priority on this Upgrade-Journey. With this 2008-era hardware platform already being nearly a decade old to our fictitious traveler user, they may once again be eyeing an upgrade for their foray into Debian <a href="https://wrongthink.link/posts/debian-upgrade-marathon-buster">Buster</a>!</p> Proprietary Torment and The Just Universe https://wrongthink.link/posts/proprietary-torment/ Thu, 10 Jul 2025 23:05:41 -0400 https://wrongthink.link/posts/proprietary-torment/ <p>It&rsquo;s been a while since we last checked in on <a href="https://wrongthink.link/posts/internet-better-when-it-was-nerds/">the normies</a> to see how <a href="https://wrongthink.link/posts/what-web-looks-like-without-blockers/">their relationship with tech</a> has been going. Let&rsquo;s relax and take a little <a href="https://wrongthink.link/posts/lets-go-on-a-safari/">tour</a> of what exciting new methods their proprietary overlords are using to rule over them.</p> <image src="https://wrongthink.link/tormented-by-demons.png" alt="The tormented normie" style="width:784px;height:900px;"> <br /><br /> <p>Microsoft is charging ahead with a one-two punch. First making Microsoft online account creation and internet connectivity a hard requirement in the Windows 11 installer.</p> <figure><img src="https://wrongthink.link/torment-ms-microsoft-account.jpg" alt="Windows useds forced into creating spyware accounts"> </figure> <p>They&rsquo;re now seeking to follow up by disabling a workaround which had become popular by the useds to sneakily create conventional local user accounts. 7/10, Microsoft. You left some loopholes open but you beat them nearly to submission!</p> <figure><img src="https://wrongthink.link/torment-ms-bypassnro.jpeg"> </figure> <p>Microsoft will be <a href="https://www.cnet.com/tech/services-and-software/windows-is-adding-ai-agents-that-can-change-your-settings/">implementing an &ldquo;AI agent&rdquo; to change settings that are difficult to find</a> on behalf of the useds. Just to reemphasize: The multitude of Windows settings menus is so vast, so inconsistent and ever-changing that they feel it necessary to build a bot that traverses their UI just to toggle simple settings. And yet, Linux is the one that is &ldquo;difficult to use&rdquo;.</p> <image src="https://wrongthink.link/torvaldsreacts.jpg" alt="My honest reaction reading this stuff" style="width:660px;height:350px;"> <br /><br /> <p>Edge browser (Google Chrome wearing clown makeup) has been baked in as a dependency for &ldquo;desktop apps&rdquo; such as the Windows Store. Basically electron, but even worse. When users investigate how to remove Edge, they&rsquo;re directed to a dark patterns page which seeks to frighten them away from the venture.</p> <figure><img src="https://wrongthink.link/torment-ms-edge.jpeg"> </figure> <p>A not so sneaky way of promoting Edge to a level of &lsquo;importance for the functioning of the system&rsquo;.</p> <blockquote> <p>the next time you have a dozen programs open, open Task Manager and force kill all the &ldquo;Edge WebView2&rdquo; processes and watch some of your open programs disappear or break</p> </blockquote> <p>Windows gamers have been whining about getting disrupted mid-game by full-screen popover ads nagging them to install Windows 11. Nice. Predicably, there are those in the comments huffing and puffing &ldquo;<a href="https://wrongthink.link/posts/faux-breakup-threats/">This time I&rsquo;ll do it! This time I&rsquo;m going to switch to Linux! Just you watch!</a>&rdquo; Of those who actually make an attempt, how much you wanna bet they&rsquo;re ♫ <em>not going to last?</em> ♪</p> <figure><img src="https://wrongthink.link/torment-ms-fullscreen-popover.jpeg"> </figure> <p>This one I find hilarious. Microsoft have combined the storage space of what used to be separate email and file storage. Windows automatically backs up the used&rsquo;s local files to Microsoft&rsquo;s remote storage, eventually filling it. They then lock the associated email account and demand subscription tribute because all of the &rsquo;email storage&rsquo; has been consumed. Oh, Microsoft. You really do have the lobes for business.</p> <figure><img src="https://wrongthink.link/torment-ms-baitnswitch-storage.png"> </figure> <p>How about promotional shortcuts that get added automatically by updates? That&rsquo;s a thing now over in Windows land. Even users running enterprise versions of Windows, <a href="https://archive.ph/h4ORy">a strategy used by some</a> to try feebly to avoid such abuse, report that these ads still get installed unsolicited in the background.</p> <figure><img src="https://wrongthink.link/installed-in-secret.png"> </figure> <p>Yes, Tik Tok, Disney streaming and Xbox, such a <em>professional</em> environment. I didn&rsquo;t intend to single out Microsoft, but this post is already lengthy and sifting through the brain damage at reddit is making me queasy. Anybody who has ever touched a Windows box will know that there is an endless torrent of these incursions on one&rsquo;s sanity to be had.</p> <p>&ldquo;Why don&rsquo;t they just install Linux?!&rdquo; you might say. Well, let&rsquo;s take a moment to remind ourselves what we&rsquo;re dealing with when it comes to the <a href="https://yewtu.be/watch?v=AKN1Q5SjbeI">average person</a>:</p> <video width=50% controls> <source src="https://wrongthink.link/what-continent.webm" type="video/webm"> </video><br /><br /> <p>Many people don&rsquo;t even know which continent they inhabit. And you expect them to provision an operating system? <em>Are you delusional?</em></p> <p>And even if they could. Would you really want them <a href="https://odysee.com/@DistroTube:2/help-vampires-are-the-reason-the-linux:2">cluttering up</a> your favorate community distro? There is a very real competency barrier to Linux and that is <em>not</em> a bad thing. Simply a sober observation. There is a large swath of the population who probably <em>should</em> be on the iOSes and Androids and Windows&rsquo;s of the world. Forever suffering every torment conjured by their proprietary masters.</p> Debian Upgrade Marathon: 8 Jessie https://wrongthink.link/posts/debian-upgrade-marathon-jessie/ Fri, 27 Jun 2025 20:28:50 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-jessie/ <p>Jessie marks the halfway point of our journey, from <a href="https://wrongthink.link/posts/debian-upgrade-marathon-sarge">Sarge</a> to Bookworm, from 2005 to 2025. It is here that I enter into more familiar territory, having only used desktop Debian since around the end of Debian 8&rsquo;s life cycle. Familiar tools make their appearance in Jessie; <em>needrestart</em>, <em>mpv</em> and the oft criticized <em>systemd</em>.</p> <p>Big changes were unfolding in the PC industry around the time Jessie was introduced. AMD was beginning to carry out their <a href="https://wccftech.com/amd-announces-amdgpu-kernel-driver-linux/">driver strategy transition to AMDGPU</a>, abandoning the mess that was their <a href="https://www.phoronix.com/news/Ubuntu-16.04-Dropping-fglrx">fglrx proprietary Linux display driver</a>. Intel&rsquo;s integrated graphics were finally beginning climb up out of garbage-tier performance. Microsoft had brazenly begun force installing the new Windows 10 on home users computers <a href="https://forums.tomshardware.com/threads/windows-10-just-installed-and-upgraded-entirely-without-my-permission.2624249/">without their knowledge or consent</a>. It was a good time to be stepping into Linux land.</p> <figure><img src="https://wrongthink.link/jessie-whos-that-distro.png"> </figure> <h1 id="upgrading-from-wheezy-to-jessie">Upgrading from Wheezy to Jessie</h1> <p><em>aptitude</em> reported 24 packages &lsquo;broken and have been fixed&rsquo; and 97 packages to be installed, including kde-base 😡. I deselected openoffice and kde related packages before running the installation of the rest.</p> <p><code>dpkg --audit</code> revealed roughly a dozen transitional and dummy packages listed with &lsquo;missing md5sums control file&rsquo;. Although there are no held packages so I proceeded, ignoring it.</p> <p>apt&rsquo;s edit-sources feature still isn&rsquo;t production ready as of Wheezy, so I continue to <code>sudoedit /etc/apt/sources.list</code> and replace all instances of &lsquo;wheezy&rsquo; with &lsquo;jessie&rsquo;.</p> <pre tabindex="0"><code>sudo apt-get update </code></pre><p>All good. ✔</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre> <image src="https://wrongthink.link/jessie-apt-get-upgrade.jpg" alt="Initial package upgrade round" style="width:618px;height:464px"> </image><br /><br /> <pre tabindex="0"><code>sudo apt-get dist-upgrade </code></pre><blockquote> <p>&ldquo;Disable password authentication for root?&rdquo;</p> </blockquote> <p>Yes</p> <blockquote> <p>&ldquo;Would you like to balance the IRQs once?&rdquo;</p> </blockquote> <p>No</p> <blockquote> <p>&ldquo;Configuration file for &lsquo;/etc/ls.so.conf&rsquo;?&rdquo;</p> </blockquote> <p>Installed maintainer&rsquo;s version</p> <p>Upgrading the base-passwd package triggers an update of shell path for system user accounts.</p> <image src="https://wrongthink.link/jessie-config-change-shell.jpg" alt="Prompt to update user shell paths" style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;Change the shell of user &lsquo;daemon&rsquo; from /bin/sh to /usr/sbin/nologin?&rdquo;<br> &ldquo;Do you want to change the shell of user daemon?&rdquo;</p> </blockquote> <p>Yes</p> <p>It continued on to ask the same of users bin, sys, games, man, lp, mail, news, uucp, proxy, www-data, backup, list, irc, gnats and nobody.</p> <blockquote> <p>&ldquo;Pam profiles to enable:&rdquo;</p> </blockquote> <p>Yes to all</p> <p>With the dist-upgrade having concluded without issue, it comes time for some sanity checks.</p> <p>The <a href="https://www.debian.org/releases/jessie/i386/release-notes.en.txt">release notes for Jessie</a> have adapted their suggestion to check installed kernels, appending <code>grep -i meta</code>, emphasizing the kernel meta package in hopes of steering users away from manually installing each new version.</p> <pre tabindex="0"><code>dpkg -l &#34;linux-image*&#34; | grep ^ii | grep -i meta </code></pre><p>And kernel 3.16+63+deb8u7 got installed automatically, which is assuredly Jessie&rsquo;s kernel as of the final point release.</p> <pre tabindex="0"><code>sudo apt-get autoremove </code></pre><p>Of note, <em>gnome-fallback</em> was removed, <em>udisks</em> was removed (probably in favor of the new <em>udisks2</em> package) and 249 other packages.</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre><p>Which added <em>gnupg-agent</em>, <em>gnupg2</em> and <em>gpgsm</em>.</p> <p>The package <em>hardening-wrapper</em> was deprecated by the Debian team but <code>dpkg -s hardening-wrapper</code> shows that it isn&rsquo;t installed anyway.</p> <p>The moment of truth: <code>sudo reboot</code></p> <p>Which reboots to a GRUB splash with fancy new art before launching straight to the <em>gdm3</em> greeter. Not bad, considering the entire init system has been changed out from underneath.</p> <image src="https://wrongthink.link/jessie-grub-splash.jpg" alt="GRUB splash screen with new art" style="width:618px;height:464px"> </image><br /><br /> <p>Frankly, the upgrade to Jessie had been the simplest so far out of all since the start of this marathon. There were hardly any items requiring attention before rebooting. We can see the stable release upgrade process beginning to mature.</p> <image src="https://wrongthink.link/jessie-gdm3-greeter.jpg" alt="gdm3 login prompt" style="width:618px;height:464px"> </image><br /><br /> <p>The entire procedure is really starting to become very routine, a reflection of the cumulative development hours put into such a large software project over decades.</p> <h1 id="impressions-of-jessie">Impressions of Jessie</h1> <p>Say what you will of systemd, but there are no more boot timing issues like <a href="https://wrongthink.link/posts/debian-upgrade-marathon-squeeze/">was seen back in Squeeze</a> with boot scripts unable to mount the root filesystem. And to have a unified <em>apt</em> instead of juggling between apt-get, aptitude and apt-cache for everything felt like I was once again standing on solid ground.</p> <figure><img src="https://wrongthink.link/jessie-landing.png"> </figure> <p>Total packaged software was by now over 40,000 which felt substantial. No longer could the entirety of the Debian archive be perused in a single session without skimming over a bunch of items. There was just so much to explore. This particular installation diverges a bit from the baseline in that its programs menu pane is just absolutely <em>littered</em> with junk. Most of it is just patchwork of various games metapackages.</p> <figure><img src="https://wrongthink.link/jessie-menu-clutter.png"> </figure> <p>On the graphical side of things, and taking a moment to remind ourselves that Gnome is <em>not</em> representative of Debian (though the default), Gnome was busy borrowing design motifs from popular mobile graphical interfaces. It is no wonder reception of Gnome 3 has been so mixed. It either speaks to you or <a href="https://felipec.wordpress.com/2023/03/04/one-decade-later-gnome-still-sucks/">it doesn&rsquo;t</a>. One minor detail I like is how the program icon forms the background of the top panel&rsquo;s active program window.</p> <figure><img src="https://wrongthink.link/jessie-desktop-programs.png"> </figure> <p>You might have noticed I was using konsole above. This is because gnome-terminal for some reason refused to launch. When I attempted launching it from terminal, it complained about something with dbus.</p> <pre tabindex="0"><code>Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0 Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.gnome.Terminal exited with status 0 </code></pre><p>I attempted to launch gnome-terminal per the friendly advice at <a href="https://askubuntu.com/questions/1478156/error-constructing-proxy-for-org-gnome-terminal">askubuntu</a> when the possibility became apparent that the changeover in locale to UTF-8 <a href="https://wrongthink.link/posts/debian-upgrade-marathon-etch/">back in Etch</a> may not have been completed.</p> <pre tabindex="0"><code>Gtk-WARNGING **: Locale not supported by C library. Using the fallback &#39;C&#39; locale. </code></pre><p>So I issued <code>dpkg-reconfigure locales</code> where it was indicated that &rsquo;en_US ISO-8859-1&rsquo; had still been selected. I changed it over to &rsquo;en_US.UTF-8&rsquo;.</p> <blockquote> <p>&ldquo;Default locale for the system environment?&rdquo;</p> </blockquote> <p>en_US.UTF-8</p> <p>Then rebooted to find gnome-terminal launching successfully. Actually having carefully documented these upgrades shows that en_US.UTF-8 was indeed <a href="https://wrongthink.link/etch-locales.jpg">selected during Etch</a>. I wonder what happened.</p> <p>Thumbnail generation for video files was now working in Nautilus. A feature which, oddly enough, depends on the presence of Totem. And video playback for <a href="https://infogalactic.com/info/H.265">HEVC</a> encoded media finally works. Also, newly in Jessie, is the great <em>mpv</em> media player.</p> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>MP4 Video</td> <td>✔</td> <td>Totem 3.14.0, VLC 2.2.7, mpv 0.6.2</td> </tr> <tr> <td>Webm Video</td> <td>✔</td> <td>Totem 3.14.0, VLC 2.2.7, mpv 0.6.2</td> </tr> </tbody> </table> <figure><img src="https://wrongthink.link/jessie-mpv.png"><figcaption> <h4>馬鹿にしないで。日本の映画を見ているのが好きになりました。</h4> </figcaption> </figure> <p>Firefox 68 falls deep within the territory of <a href="https://infogalactic.com/info/Enshittification">enshittification</a> that Mozilla has chosen to follow, with its default startup page reflecting so.</p> <figure><img src="https://wrongthink.link/jessie-firefox-esr-defaults.png"> </figure> <p>Interestingly, Firefox 68 is new enough to be able to use the repository at addons.mozilla.org, but also old enough that the <a href="https://lwn.net/Articles/668956/">newer webext family of Firefox extensions cannot be installed</a>. Nor can the signatures associated with many older extensions be verified. Probably something to do with the changes following <a href="https://www.osnews.com/story/129944/due-to-expired-certificate-all-firefox-extensions-disabled/">Mozilla&rsquo;s fiasco involving the expired certificate used in extension signing</a>. The setting <em>xpi.signatures.required</em> in about:config needed to be changed to <em>false</em> before an old version of uMatrix could be installed.</p> <figure><img src="https://wrongthink.link/jessie-firefox-esr-disable-signature-check.png"> </figure> <p>Now we&rsquo;re getting somewhere. I genuinely did not know that uMatrix <a href="https://github.com/gorhill/uMatrix/releases/tag/1.4.1b4">once had CNAME uncloaking functionality</a>.</p> <image src="https://wrongthink.link/Finally some good food.jpg" alt="Ramsay installs uMatrix" style="width:610px;height:384px"> <br /><br /> <p>The situation with rendering the cached PBS web page further improves under this more recent browser.</p> <figure><img src="https://wrongthink.link/jessie-firefox-esr-pbs.png"> </figure> <figure><img src="https://wrongthink.link/jessie-firefox-esr-goodreads.png"> </figure> <p>SuperTuxKart 1.8.0, one of the last versions before it was migrated to their custom Antarctica fork of Irrlicht, now sports a story mode, unlockable race tracks and some professional looking animated improvements such as Thunderbird taking on the role of race dispatcher. Much like another airborn race dispatcher found in a popular commercial kart racing franchise. The tracks themselves also start becoming <a href="https://blog.supertuxkart.net/2014/12/merry-christmas-and-beta.html">more imaginative</a>.</p> <figure><img src="https://wrongthink.link/jessie-supertuxkart.png"> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>Among the architectures added to Debian Jessie was ppc64le, which I <a href="https://wrongthink.link/posts/thoughts-after-years-raptor-blackbird/">still use</a> to this day!</p> <p>ssh still does not share common standards with modern clients. <code>no matching host key type found. Their offer: ssh-rsa,ssh-dss</code></p> <p>Work on hardening packages by default continued in Jessie, with additional hardening switches applied.</p> <p>The kernel flavor had been bumped to i586 for the x86 architecture.</p> <p>I&rsquo;ve enjoyed going back through the releases that I &lsquo;missed out on&rsquo; but there is a different kind of intrigue to be found in revisiting old operating systems that one had once used. Where it can really help frame perspective of just how far things have advanced. Adjacent releases seem iterative, but the improvements accumulated over decades can be staggering. We&rsquo;ll take a look at even more in <a href="https://wrongthink.link/posts/debian-upgrade-marathon-stretch">Stretch</a>!</p> Debian Upgrade Marathon: 7 Wheezy https://wrongthink.link/posts/debian-upgrade-marathon-wheezy/ Wed, 18 Jun 2025 22:36:37 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-wheezy/ <p>With enough road now <a href="https://wrongthink.link/posts/debian-upgrade-marathon-squeeze">behind us</a>, I finally took it upon myself to make a clone of the Upgrade-Journey drive so that I can <a href="https://gaming.stackexchange.com/questions/402896/what-does-the-term-save-scumming-mean">save scum</a> if the need arises. Today we&rsquo;re taking on Debian 7 Wheezy. The same Debian that formed the basis of Valve&rsquo;s <a href="https://www.phoronix.com/news/MTU0MzM">first-ever SteamOS</a> release. Where the Debian project really began to hit its stride.</p> <p>Wheezy launched not long after the &lsquo;world IPv6 day&rsquo;, and fittingly added support for the installer to work on IPv6-only environments. It was the year of <a href="https://infogalactic.com/info/Heartbleed">Heartbleed</a> and of the disclosures by Edward Snowden. The modest smattering of newbies that these events may have attracted to Linux would have found a Debian which still assumed the paradigm of the decade prior. Which, for today&rsquo;s upgrade, makes for an excellent time capsule.</p> <figure><img src="https://wrongthink.link/wheezy-museum.png"> </figure> <h1 id="upgrading-from-squeeze-to-wheezy">Upgrading from Squeeze to Wheezy</h1> <p>Aptitude was used to check any pending changes which found kde-base and several gnome packages waiting to be installed.</p> <p>Verified that all packages are in an upgradable state. ✔</p> <p>I dropped to terminal and pointed /etc/apt/sources.list to wheezy. Despite <a href="https://www.geekersdigest.com/apt-etc-apt-sources-list-for-every-debian-release/">some sources</a> suggesting archive.debian.org/debian-security/, I found that archive.debian.org/debian-archive/debian-security/ continues to work, still getting hits for both updates/main and updates/contrib repositories.</p> <pre tabindex="0"><code>sudo apt-get update </code></pre> <image src="https://wrongthink.link/wheezy-apt-update.jpg" alt="Updating from new sources" style="width:618px;height:464px"> </image><br /><br /> <p>Wheezy&rsquo;s Linux kernel includes <a href="https://infogalactic.com/info/Physical_Address_Extension">PAE</a> to expand addressable memory above 4GB on 32 bit computers. Pentium 4 was the CPU family <a href="https://wrongthink.link/posts/my-own-journey-free-technology">in my first PC</a>, so I knew already that it makes use of PAE. But anyone unsure of it can check whether the extension is available with:</p> <pre tabindex="0"><code>grep -q &#39;^flags.*\bpae\b&#39; /proc/cpuinfo &amp;&amp; echo yes || echo no yes </code></pre><p>So no manual intervention is required for the currently installed linux-image-686 kernel. We then begin the upgrade.</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre><p>Anyone paying close attention to <a href="https://www.debian.org/releases/wheezy/i386/release-notes.en.txt">the release notes</a> would have seen that the new directives in the sudoers configuration file aren&rsquo;t added automatically. They go on to recommend adding one&rsquo;s existing sudoers to the sudoers conf directory.</p> <pre tabindex="0"><code>mv /etc/sudoers /etc/sudoers.d/mychanges mv /etc/sudoers.dpkg-new /etc/sudoers </code></pre><p>Neglecting to read ahead, I simply opted to compare the difference between the new maintainer&rsquo;s version and my own.</p> <image src="https://wrongthink.link/wheezy-config-sudoers.jpg" alt="Prompt to configure the new sudoers config file" style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;[Replace] Configuration for &lsquo;/etc/sudoers&rsquo;?&rdquo;</p> </blockquote> <p>I used the diff option (D) to check that the main user is still listed before committing to use the maintainer&rsquo;s version. Despite that, immediately upon checking elevated privileges I found that my &rsquo;traveler&rsquo; user is &ldquo;not in the sudoers file&rdquo;.</p> <pre tabindex="0"><code>grep -e sudo /etc/group </code></pre><p>Which showed the &rsquo;traveler&rsquo; user isn&rsquo;t included in the sudo group. Well, thank goodness the root account is active because the installer <a href="https://wrongthink.link/posts/debian-upgrade-marathon-sarge">all the way back in Sarge</a> didn&rsquo;t provide any option to disable the root account.</p> <pre tabindex="0"><code>su root usermod -a -G sudo traveler </code></pre><p>Unfortunately, the session would need to be restarted and logged back in before this addition takes effect. And since we&rsquo;re in the middle of a system upgrade, it would be best not to chance that. So, for now, we take the messier route and run <code>visudo</code> as the root acount to add the standard user back in before exiting from the root user.</p> <pre tabindex="0"><code>traveler ALL=(ALL:ALL) ALL </code></pre><p>Which is probably over-privileged, but this can be tightened up at a later time. I attempted to proceed with the remainder of <code>apt-get dist-upgrade</code> which produced the first package conflict of this entire experiment. <em>initscripts</em> would break <em>nfs-common</em>.</p> <p>Well, we&rsquo;re not using network filesystems so we can blow that one away!</p> <pre tabindex="0"><code>sudo apt-get remove nfs-common </code></pre><p>Poof! Goodbye!</p> <video width=50% controls> <source src="https://wrongthink.link/home-run-contest.webm" type="video/webm"> </video><br /><br /> <p>Attempt #2:</p> <pre tabindex="0"><code>sudo apt-get dist-upgrade </code></pre> <image src="https://wrongthink.link/wheezy-config-gdm3.jpg" alt="Prompt to configure the display manager" style="width:618px;height:464px"> </image><br /><br /> <p>I selected gdm3 as the default display manager because kdm with kde-base yet again found its way back onto this system.</p> <blockquote> <p>&ldquo;Should NTFS-3G be installed with &lsquo;set uidroot&rsquo;?&rdquo;</p> </blockquote> <p>No</p> <blockquote> <p>&ldquo;Restart services during package upgrades without asking?&rdquo;</p> </blockquote> <p>Yes</p> <blockquote> <p>&ldquo;Configuration file &lsquo;/etc/default/rcS&rsquo;?&rdquo;</p> </blockquote> <p>The package maintainer&rsquo;s version got installed.</p> <blockquote> <p>&ldquo;PAM profiles to enable?:&rdquo;</p> </blockquote> <p>Yes to all (default)</p> <blockquote> <p>&ldquo;Configuration file &lsquo;/lib/lirc/hardware.conf&rsquo;?&rdquo;</p> </blockquote> <p>I installed the package maintainer&rsquo;s version.</p> <p>And the dist-upgrade completed to little fanfare.</p> <h2 id="post-upgrade-items-before-rebooting">Post-upgrade items, <em>before</em> rebooting</h2> <p>I compared the installed and running kernel versions:</p> <pre tabindex="0"><code>uname -r 2.6.32-5-686 </code></pre><p>And then checked the installed kernels:</p> <pre tabindex="0"><code>dpkg -l &#34;linux-image*&#34; | grep ^ii </code></pre><p>We see <em>linux-image-686-pae 3.2.102-1</em> which is indeed Wheezy&rsquo;s version. ✔</p> <p>And there remain no pending package additions or removals, according to apt-get. ✔</p> <p>Wheezy probably had the fewest post-upgrade nails to hammer down out of all the upgrades we&rsquo;ve done so far.</p> <pre tabindex="0"><code>sudo reboot </code></pre><p>Which arrived at a filesystem check that failed and necessitated restarting Upgrade-Journey again.</p> <image src="https://wrongthink.link/wheezy-fsck-check.jpg" alt="fsck running on first reboot" style="width:618px;height:464px"> </image><br /><br /> <p>After which rebooting was all successful.</p> <image src="https://wrongthink.link/wheezy-grub-menu.jpg" alt="The GRUB menu with all the old kernel entries" style="width:618px;height:464px"> </image><br /><br /> <p>As a point of interest, I would like to allow old kernels to accumulate. Normally this would have me worried that the /boot partition might not be large enough. <code>du</code> reports that 44MB of kernels reside there at the moment. But Upgrade-Journey&rsquo;s /boot sits at root on the same partition so it should be fine anyway.</p> <h2 id="post-upgrade-items-after-rebooting">Post-upgrade items, <em>after</em> rebooting</h2> <pre tabindex="0"><code>sudo apt-get autoremove </code></pre><p>Initiated the removal of 368 packages including OpenOffice, which has by now been replaced by <a href="https://blog.documentfoundation.org/blog/2012/02/14/the-document-foundation-announces-libreoffice-3-5-the-best-free-office-suite-ever/">LibreOffice 3.5</a>, and other packages to remove regarding Gnome and KDE.</p> <h1 id="impressions-of-wheezy">Impressions of Wheezy</h1> <p>Because an issue with X11 remained from our <a href="https://wrongthink.link/posts/debian-upgrade-marathon-squeeze">visit with Squeeze</a>, Gnome 3.4.2 failed to load up the new Gnome 3 convergence desktop. The <a href="https://wiki.gnome.org/Projects/GnomeFlashback">fallback mode</a> resembles Gnome 2 classic while borrowing visual elements from Gnome&rsquo;s new design conventions. It maintains a top and bottom bar, with collapsible menus and no full screen programs overview.</p> <figure><img src="https://wrongthink.link/wheezy-landing.png"><figcaption> <h4>How this exercise would have looked had it remained on our trusty old Pentium 4</h4> </figcaption> </figure> <p>The X11 brokenness and audio brokenness is beginning to get in the way of capturing the feel of these historic releases. And, seeing as Wheezy was released in 2013, I think it&rsquo;s nigh time for our imaginary user to finally upgrade their computer. Let&rsquo;s cast off this crusty old <em>Pentium 4</em> with its busted audio and its Intel <a href="https://forums.anandtech.com/threads/intel-extreme-graphics-what-is-the-real-video-card-equivalent.1049233/#post-7497778">eXtreme[ly bad]</a> graphics in exchange for a fancy AMD Athlon II multicore 64 bit system.</p> <image src="https://wrongthink.link/wheezy-athlon-ii-host.jpg" alt="The Upgrade-Journey storage drive moved to a new host." style="width:618px;height:464px"> </image><br /><br /> <p>I&rsquo;d been waiting until after the drive UUID assignments had been sorted out before swapping the physical host. And this change will be important when we later configure <a href="https://wiki.debian.org/Multiarch/HOWTO">multiarch</a> in order to morph this x86 installation into x86_64.</p> <figure><img src="https://wrongthink.link/wheezy-landing-athlon-host.png"> </figure> <p>Much better! Even though I select &ldquo;GNOME&rdquo; at the greeter, it still uses Gnome fallback. But that is okay, as I think it makes for a very nice <a href="https://www.linux-magazine.com/Online/Blogs/Off-the-Beat-Bruce-Byfield-s-Blog/GNOME-3-and-Its-Fallback-Desktop">bridge between Gnome 2 and Gnome 3</a> in this upgrade marathon.</p> <figure><img src="https://wrongthink.link/wheezy-desktop-programs.png"> </figure> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>All Audio</td> <td>✔</td> <td>Audio hardware issue confirmed and resolved. Was <em>likely working</em> as far back as Sarge.</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>Segmentation fault. Totem 3.0.1</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&lsquo;VLC does not support the audio or video format &lsquo;hev1&rsquo;&rsquo;. VLC 2.0.3</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>Segmentation fault. Totem 3.0.1</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&lsquo;VLC does not support the audio or video format &lsquo;undf&rsquo;&rsquo;. VLC 2.0.3</td> </tr> <tr> <td>Web</td> <td>✔</td> <td>Mostly working now without certificate issues. Firefox-ESR 52.8.</td> </tr> </tbody> </table> <p>If I understand correctly, Wheezy started out with IceWeasel 10 but, by EOL, had transitioned to Firefox ESR 52.8. This kind of incredible pace has to do with the rapidly accelerated release schedule that Mozilla adopted in order to compete with Chrome. Mozilla and Debian had finally <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006">resolved the branding dispute by the twilight days of Wheezy</a>. There is even a menu entry to convert IceWeasel settings and extensions to Firefox ESR, along with a new Firefox ESR entry.</p> <p>At version 52.8, it is the first in this marathon to feel like the familiar Firefox of today. And it actually establishes connections with HTTPS certs without much issue, making it feasible to use on the modern web if one were so inclined.</p> <figure><img src="https://wrongthink.link/wheezy-firefox-esr-pewresearch.png"> </figure> <p>I actually remember using Firefox back when it used to look like this.</p> <p>The cached PBS page renders&hellip; <em>better</em> than before.</p> <figure><img src="https://wrongthink.link/wheezy-firefox-esr-pbs.png"> </figure> <p>Vimeo couldn&rsquo;t load its web player. Do they even host videos anymore? It looks like Vimeo pivoted to a different business.</p> <figure><img src="https://wrongthink.link/wheezy-firefox-esr-vimeo.png"> </figure> <p><a href="https://tracker.debian.org/news/96289/supertuxkart-073-2-migrated-to-testing/">SuperTuxKart 0.7.3</a> continued to receive much love with a revamped menu system and new karts and tracks. It still had a cobbled-together home made vibe by 2013 standards, but definitely better polished.</p> <figure><img src="https://wrongthink.link/wheezy-supertuxkart.png"> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>Preliminary <a href="https://www.phoronix.com/news/MTIzNjk">support for systemd</a> was introduced in Wheezy as a &rsquo;tech preview&rsquo;. I&rsquo;d always thought that systemd was added only in the lead up to Jessie.</p> <p>Debian briefly replaced ffmpeg with libav-tools, citing a release process more congruent with Debian&rsquo;s.</p> <p>It is here that Debian began using <a href="https://wiki.debian.org/Hardening">hardening options</a> at build time.</p> <p>AppArmor is introduced but disabled by default. I even remember having to go and supply boot arguments in GRUB to enable AppArmor as early as Debian Jessie, before it was enabled by default in Stretch.</p> <p>PulseAudio is made official as the primary audio daemon.</p> <p>Wheezy is where <em>new</em> installations would have gotten ext4 root filesystems, but we&rsquo;re going to camp out on dusty old ext3 without even the full featureset and see what happens.</p> <p>The Debian installer enabled WPA encrypted wireless links. Those rocking <a href="https://www.phoronix.com/news/MTMyNTY">open source ath9k</a> powered Qualcomm cards could have installed their Debian without having to load proprietary firmware and drivers.</p> <p>Wheezy represents the last of the releases in this marathon to be new to me. The first Debian I&rsquo;d used as a desktop OS had been <a href="https://wrongthink.link/posts/debian-upgrade-marathon-jessie">Jessie</a>.</p> All You Need Is SSH https://wrongthink.link/posts/all-you-need-is-ssh/ Sat, 07 Jun 2025 20:31:18 -0400 https://wrongthink.link/posts/all-you-need-is-ssh/ <p>As a self professed minimalist, I&rsquo;ve long been a fan of the axiom &ldquo;Perfection is attained not when there is nothing more to add, but when there is nothing left to take away&rdquo;, penned by <a href="https://www.infogalactic.com/info/Antoine_de_Saint_Exup%C3%A9ry">Antoine de Saint Exupéry</a>. When working with complex systems, one typically finds that the best solution to a problem is often the simplest. Already this is true in digital security, where complexity itself can stand at odds with the goals of securing a system. But also the operation of a system can suffer. This can manifest when placing abstraction upon abstraction in front of something whose function should be dead simple.</p> <p>I see it in circles of tech enthusiasts deliberating among themselves the best way to share media to other devices, or to create network drives for aggregate storage, or for distributing backups. It seems every few weeks there is a new contender waiting to gift wrap all this functionality up cleanly into a sleek, web service inspired abstraction that will incur more in maintainence burden than its initial value proposition. Just recently some <a href="https://wrongthink.link/posts/in-favor-of-plunder/">sailors</a> were up in arms about a <a href="https://www.techradar.com/streaming/plex-is-raising-its-prices-and-making-a-great-key-feature-no-longer-free-heres-why-some-subscribers-are-signing-up-to-the-lifetime-pass-before-the-rise">popular video streaming abstraction layer beginning to charge for once-gratis features</a>. They were already <em>paying</em> to do something so basic?</p> <p>I don&rsquo;t quite understand their plight, because if one has already gone to length to setup a home server, then it should already be equipped with one of the most powerful and versatile tools: <a href="https://www.openssh.com/">OpenSSH</a>.</p> <figure><img src="https://wrongthink.link/the-ssh-curve.png"> </figure> <p>And, if not, how were they <em>administrating</em> said server? Well, probably through bloaty web front-end abractive layers, right. But we don&rsquo;t need any of that. We have access to better options.</p> <p>What are these secret dark arts? You may already know, but here&rsquo;s a refresher:</p> <h1 id="streaming-video-from-an-openssh-server">Streaming video from an OpenSSH server</h1> <p>Stream video from your massive collection of movies that you ripped from your DVD collection that you legally own.</p> <pre tabindex="0"><code>mpv sftp://192.168.1.123:/home/remote-user/Films/Miami\ Connection.mkv </code></pre><p>Need to specify a different user? A different port? Password even?</p> <pre tabindex="0"><code>mpv &#34;sftp://remote-user:[email protected]:13383:/home/remote-user/Films/Miami Connection.mkv&#34; </code></pre><figure><img src="https://wrongthink.link/mpv-network-streaming.png"> </figure> <h1 id="transfer-files-to-or-from-an-openssh-server">Transfer files to or from an OpenSSH server</h1> <p>The SCP way, available wherever openssh is installed. Pull a file down from the server.</p> <pre tabindex="0"><code>scp -P 43900 [email protected]:/home/remote-user/Books/The\ Theory\ of\ Generativity\ -\ David\ G.\ Post.pdf Documents/ </code></pre><p>Or send an entire directory to the server.</p> <pre tabindex="0"><code>scp -P 43900 -r Audio/Album [email protected]:/home/remote-user/Music/ </code></pre><p>Or with rsync which is even more robust and which you likely already have installed.</p> <pre tabindex="0"><code>rsync -e &#39;ssh -p 1234&#39; Audio/Album [email protected]:/home/remote-user/Music/ </code></pre><p>But rsync can leap even higher. Let&rsquo;s say you want to send something over a <a href="https://wrongthink.link/posts/digital-rendezvous-point/">jump host</a> hop.</p> <pre tabindex="0"><code>rsync --progress -av -e &#39;ssh -p 1234 -J [email protected]:22591&#39; Videos/Youtube\ Channels/Jaboody\ Dubs\ Archive [email protected]:/home/remote-user/Videos/ </code></pre><p>The -p switch nested within rsync&rsquo;s -e switch arguments specifies the port to the <em>target</em> computer that sits adjacent to the jump host. The -J switch specifies the jump host itself along with its port included in the extended address.</p> <p>But let&rsquo;s say you&rsquo;ve been moving a lot of data around and the remote ISP at your jump host had begun throttling or blocking traffic originating from your IP address. Time to get crafty.</p> <pre tabindex="0"><code>torsocks rsync --bwlimit=0.3m --progress -av -e &#39;ssh -p 1234 -J [email protected]:22591&#39; Videos/Youtube\ Channels/Jaboody\ Dubs\ Archive [email protected]:/home/remote-user/Videos/ </code></pre><p>By pushing the transfer over Tor, the effort to block your connection becomes a game of hydra slayer to the remote ISP at your jump host. Additionally, by limiting the bandwidth yourself with &ndash;bwlimit=, not only are you being more respectful of the Tor network&rsquo;s capacity, but your transfer won&rsquo;t appear so readily as abuse to the remote ISP, even if you opt not to use Tor.</p> <p><strong>My ISPs watching yet another 50GB of traffic shuffle through Tor</strong> <br /> <image src="https://wrongthink.link/unamused.gif" alt="My ISPs watching yet another 50GB of traffic arrive through Tor" style="width:244px;height:180px;"> </p> <h1 id="collaborative-documents-over-an-openssh-server">Collaborative documents over an OpenSSH server</h1> <p>LibreOffice exposes functionality for interacting with documents residing on OpenSSH servers. We don&rsquo;t need to use some &ldquo;Cloud&rdquo; (somebody else&rsquo;s computer). Within LibreOffice Writer, navigate to <em>File &gt; Open Remote&hellip;</em></p> <p>On the <em>Managed Services</em> dropdown, select <em>Add Service</em>. A File Services dialogue will launch to take your SSH server credentials and documents directory path.</p> <image src="https://wrongthink.link/libreoffice-ssh-configure.png" alt="File Services dialogue with empty form fields" style="width:673px;height:464px;"> <br /><br /> <p>Once it has been added, your remote document files can be browsed and accessed.</p> <image src="https://wrongthink.link/libreoffice-ssh-file-tree.png" alt="Navigable documents on a remote server" style="width:674px;height:465px;"> <br /><br /> <image src="https://wrongthink.link/libreoffice-ssh-document.png" alt="A network accessible document" style="width:875px;height:572px;"> <br /><br /> <p>LibreOffice Writer can also take domain names for such documents hosted at a server hosted outside the LAN. No need for reimplementations of commercial products which force users through a web application.</p> <h1 id="administration">Administration</h1> <p>SSH was practically built for this. I feel this hardly needs explaining. Webmin panels aren&rsquo;t needed and they serve to expose yet another service for bots to pry at. <a href="https://wrongthink.link/posts/debian-quality-of-life/">Use top</a> for system monitoring. Take a look at <a href="https://github.com/raboof/nethogs">nethogs</a> for bandwidth monitoring. <a href="https://lukesmith.xyz/blog/im-going-to-use-the-nnn-file-browser.html">nnn</a> for directory navigation. <a href="https://wrongthink.link/posts/but-are-you-listening/">Local mail</a> and log monitoring. It&rsquo;s all right there, accessible through the terminal.</p> <p>As can be seen, the use cases for openssh-server are varied and diverse despite it predominantly being viewed simply as a CLI conduit to remote systems. I think you&rsquo;ll find that a tiny, low power box running a bare minimum software compliment, tucked away in a dusty corner can serve up quite a lot without having to overthink things.</p> Debian Upgrade Marathon: 6.0 Squeeze https://wrongthink.link/posts/debian-upgrade-marathon-squeeze/ Wed, 04 Jun 2025 19:30:33 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-squeeze/ <p>The backward compatibility of interfaces has been nothing short of heroic. It is easy to forget that I&rsquo;m plugging networking equipment and USB devices into ports that would be old enough to drink, and still they speak to one another without getting into fisticuffs. Vintage Debian may have been floundering with janky display drivers and broken audio but <em>at least</em> it was ready to transfer memes off of drives from the future!</p> <p>Anybody doing a <em>complete</em> upgrade marathon, starting with Buzz in the nineties, would get to cross the Y2K barrier before making their way through two new decades of software yet. But here is where <em>we</em> first get to dive into the 10&rsquo;s. A decade that saw the <a href="https://wrongthink.link/posts/what-web-looks-like-without-blockers/">rapid normie-fication of the web</a>, but also an acceleration of countermeasures in response. Somebody running Squeeze at that time may have used it to test drive Minecraft beta builds or host a server world not too far away. It may have accessed pages through a burgeoning <a href="https://tracker.debian.org/pkg/chromium-browser/news/?page=14">Chrom[ium] browser</a> or have been suffering through a Flash heavy web with the help of the <em>update-flashplugin-nonfree</em>.</p> <figure><img src="https://wrongthink.link/squeeze-press-release.png"> </figure> <h1 id="upgrading-from-lenny-to-squeeze">Upgrading from Lenny to Squeeze</h1> <p>We are advised to remove splashy before upgrading <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512951">since it can conflict with init scripts</a>. But splashy was not installed on this system. ✔</p> <p>No pending package changes ✔</p> <p>All packages in upgradeable state ✔</p> <p>sources.list was updated to point to substitute instances of &rsquo;lenny&rsquo; for &lsquo;squeeze&rsquo;. This is the first release of Debian for which <em>apt-get</em> is preferred for upgrades instead of <em>aptitude</em>.</p> <pre tabindex="0"><code>sudo apt-get update </code></pre><p>Step one of two-part upgrade:</p> <pre tabindex="0"><code>sudo apt-get upgrade </code></pre><p>gdm and other services get restarted.</p> <blockquote> <p>&ldquo;Keep configuration file for /etc/console-tools/config?&rdquo;</p> </blockquote> <p>Install the package maintainer&rsquo;s version. Again, I haven&rsquo;t really made any customizations to this system.</p> <image src="https://wrongthink.link/squeeze-upgrade-conf-file.jpg" alt="Asking whether to keep existing conf file." style="width:618px;height:464px"> </image><br /><br /> <p>We are warned again that Squeeze versions of udev alongside a Lenny version of the kernel could cause issues with networking and storage devices.</p> <pre tabindex="0"><code>dpkg -l &#34;linux-image*&#34; | grep ^ii linux-image-2.6-686 </code></pre><p>Since the kernel metapackage is already installed, and the latest version, I move on to the full upgrade step.</p> <pre tabindex="0"><code>sudo apt-get dist-upgrade </code></pre><blockquote> <p>&ldquo;Keyboard settings have been unified between X.org and console. Consider running dpkg-reconfigure keyboard-configuration. Select a keyboard model.&rdquo;</p> </blockquote> <p>Generic 104-key PC, USA</p> <image src="https://wrongthink.link/squeeze-upgrade-keyboard.jpg" alt="Keyboard config unifying between Xorg and console." style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;AltGr key: The default for selected keyboard layout.&rdquo;</p> </blockquote> <p>No compose key.</p> <p>&ldquo;Set Ctrl+Alt+Backspace to terminate the X server?&rdquo;</p> <p>No.</p> <p>Unattended-upgrades gets installed automatically during the Squeeze upgrade. Seeing as there are categorically no more updates to get from Squeeze <a href="https://wiki.debian.org/DebianSqueeze?action=show&amp;redirect=Squeeze#Release_and_updates">since it is long unmaintained</a>, and that I will be issuing all package updates and upgrades manually, I select No.</p> <blockquote> <p>&ldquo;Enable realtime process priority [JACK]?&rdquo;</p> </blockquote> <p>This is not a sound engineering station so No.</p> <blockquote> <p>&ldquo;Multiple display manager packages are installed. Select which should be run by default.&rdquo;</p> </blockquote> <p>gdm</p> <p>Somehow kdm had found its way onto this system.</p> <blockquote> <p>&ldquo;Upgrading from GRUB 0.97 to GRUB 2.&rdquo;</p> </blockquote> <p>As part of the <a href="https://wiki.debian.org/GrubTransition">transition to GRUB 2</a>, it recommends manually running upgrade-from-grub-legacy later, which I did later in the post-upgrade tweaks. I opted to keep custom GRUB line &ldquo;acpi=off&rdquo;, which I added because this board has trouble powering off on shutdown request. Also the Linux default command line &ldquo;quiet&rdquo; was kept.</p> <blockquote> <p>&ldquo;PAM profiles to enable:&rdquo;</p> </blockquote> <p>Unix authentication</p> <p>Some obsolete packages, xfree86 and others, prevented migration to the new <a href="https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency-based boot system</a>. I&rsquo;ll need to revisit this.</p> <image src="https://wrongthink.link/squeeze-unable-migrate-boot.jpg" alt="First snag." style="width:618px;height:464px"> </image><br /><br /> <p>It offers to update disk device identification to UUID, which we tried during <a href="https://wrongthink.link/posts/debian-upgrade-marathon-lenny/">the upgrade to Lenny</a> but walked back after issues. I select Yes, hoping it can clean up the mess for me.</p> <image src="https://wrongthink.link/squeeze-upgrade-device-conversion.jpg" alt="Automated step to reassign devices with UUID." style="width:618px;height:464px"> </image><br /><br /> <blockquote> <p>&ldquo;Boot loader configuration check needed&rdquo;</p> </blockquote> <p>Also to investigate.</p> <p>I kept mplayer.conf maintainer&rsquo;s configuration file.</p> <blockquote> <p>&ldquo;Select PAM profiles to enable:&rdquo;</p> </blockquote> <p>Yes to all.</p> <blockquote> <p>&ldquo;Register Virtuoso ODBC driver?&rdquo;</p> </blockquote> <p>Yes.</p> <p>And now dpkg reports the installed kernel as the Squeeze version of the package, linux-image-2.6.32-5-686.</p> <h2 id="post-upgrade-items-before-rebooting">Post-upgrade items, <em>before</em> rebooting</h2> <p>Gnome display manager gets held back for upgrades from Lenny, even though new installs of Squeeze get 2.30 from the gdm3 package. The <a href="https://www.debian.org/releases/squeeze/i386/release-notes.en.txt">release notes</a> recommend systems coming from Lenny should manually install gdm3 following the upgrade.</p> <pre tabindex="0"><code>sudo apt-get install gdm3 </code></pre><p>And I selected gdm3 as default display manager.</p> <p>Debian Font Manager advised to run &ldquo;defoma-app purge gs&rdquo;:</p> <pre tabindex="0"><code>sudo defoma-app purge gs </code></pre><p>Which purged some old font configurations.</p> <image src="https://wrongthink.link/squeeze-upgrade-grub-install.jpg" alt="Migration to GRUB 2." style="width:618px;height:464px"> </image><br /><br /> <pre tabindex="0"><code>sudo upgrade-from-grub-legacy </code></pre><p>I selected /dev/hdc but not /dev/hdc1.</p> <h2 id="surprise-fun-issue">Surprise fun issue</h2> <audio controls> <source src="https://wrongthink.link/it-did-not-go-well.ogg"> </audio><br /> <p>Okay, so it didn&rsquo;t boot <em>well</em>, prompting me to do some song and dance after letting Upgrade-Journey reboot from GRUB to an unhelpful blank screen with blinking cursor.</p> <image src="https://wrongthink.link/squeeze-blank.jpg" alt="Blank screen with blinking cursor on first reboot." style="width:618px;height:464px"> </image><br /><br /> <p>Ctrl+Alt+F1 didn&rsquo;t yield any terminal&hellip; <em>buuuut</em> I discovered that if I held Ctrl+Alt+F1 or Ctrl+Alt+F2 brief flashes of terminal screens of an otherwise &ldquo;successfully&rdquo; loaded Debian Squeeze would flicker through the blank display. If I timed my release of the keys well enough, à la roulette style, it dropped me into a terminal session at which I could sign in. How&rsquo;s that for triage?</p> <video width=50% controls> <source src="https://wrongthink.link/hacker.webm" type="video/webm"> </video><br /><br /> <p>I proceeded to check dmesg, /var/log/X11 and a few other places that might clarify the issue. But at the end of the day, I&rsquo;m just making educated guesses. That&rsquo;s the Wrongthink way! First thing was to clear the additional display managers seen earlier in the upgrade.</p> <pre tabindex="0"><code>sudo apt-get remove kdm </code></pre><p>kde-base also needed removal.</p> <p>I fiddled with the configuration at /etc/X11/xorg.conf hoping to regenerate it, but Xorg&rsquo;s <em>-configure</em> option <a href="https://wiki.debian.org/Xorg#What_if_I_do_not_have_a_xorg_config_file.3F">threw a fit about one display apparently being one too many</a>. I then <code>dpkg-reconfigure</code>&rsquo;d several packages and completely purged and reinstalled the X server.</p> <pre tabindex="0"><code>sudo apt-get purge xorg &amp;&amp; sudo apt-get install xorg </code></pre><p>At last, starting up gdm3 manually loaded up a graphical session at the gdm3 greeter.</p> <pre tabindex="0"><code>sudo /etc/init.d/gdm3 start </code></pre><p>I could hardly believe it. Really, I wasn&rsquo;t even sure how to attack this problem at first. And the system once again boots reliably.</p> <image src="https://wrongthink.link/squeeze-grub-splash.jpg" alt="GRUB 2 with fancy splash." style="width:618px;height:464px"> </image><br /><br /> <h2 id="post-upgrade-items-after-rebooting">Post-upgrade items, <em>after</em> rebooting</h2> <pre tabindex="0"><code>sudo apt-get autoremove </code></pre><p>Involved the removal of 475 packages. Most of them being game metapackages, x.org packages, python libraries and other libraries. Maybe this will clean up the desktop session a little bit.</p> <p>Lastly, I check /etc/fstab /etc/default/grub because a warning during the upgrade indicated issues with the migration to Squeeze&rsquo;s dependency based boot system and with the migration to GRUB 2. And the UUIDs automatically discovered and applied during the upgrade are there, with the old /dev/hdc* entries automatically commented out.</p> <image src="https://wrongthink.link/squeeze-gdm3-greeter.jpg" alt="At last, the gnome greeter login." style="width:618px;height:464px"> </image><br /><br /> <h1 id="impressions-of-squeeze">Impressions of Squeeze</h1> <p>The greeter seems to be a step back in presentation from the one used in Lenny. Harder edges with solid, flat greys in front of a background that, while creative, certainly looks dated for something launched in 2011.</p> <p>We&rsquo;re back to 1280x1024. Whatever, at least it works. gnome-screenshot needed to be reinstalled. The dist-upgrade removed it along with much of the KDE package bloat that had been plaguing this system since Sarge.</p> <figure><img src="https://wrongthink.link/squeeze-landing.png" alt="Gnome 2.30.2 desktop on Debian Squeeze"> </figure> <p>Is that cursor Adwaita? Gnome 2.30.2 was the last version used in Debian before it got reimagined as the <a href="https://www.zdnet.com/article/linus-torvalds-finds-gnome-3-4-to-be-a-total-user-experience-design-failure/">controversial Gnome3</a>. Pre-<a href="https://www.linux.com/news/why-convergent-desktop-so-important-linux/">convergence</a> Gnome hadn&rsquo;t really changed all that much over the course of our journey. Also I know I just said that the Squeeze background looks dated, but I do like its character with the little spaceship. You don&rsquo;t see that kind of human touch in today&rsquo;s very corporate desktop environments.</p> <figure><img src="https://wrongthink.link/squeeze-devices.png"> </figure> <p>The drive naming convention got updated to /dev/sdX which had gone unnoticed during the upgrade. Perhaps this was automatically handled along with the conversion to UUID device naming.</p> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>Animated GIF</td> <td>✔</td> <td>Animated gifs finally play in Eye of Gnome. Eye of Gnome 2.30.2</td> </tr> <tr> <td>All Audio</td> <td>?</td> <td>Still no sound even under <a href="https://web.archive.org/web/20131109124458/https://wiki.debian.org/en/PulseAudio">PulseAudio</a>. <strong>Likely hardware issue</strong>. The music had probably been working okay.</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;Playback of this movie requires a video/x-gst-fourcc-hev1 decoder plugin which is not installed&rdquo; Totem 2.30.2</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;VLC does not support the audio or video format &lsquo;hev1&rsquo;&rdquo; VLC 1.1.3</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;Playback of this movie requires an audio/x-unknown decoder plugin which is not installed&rdquo; Totem 2.30.2</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;VLC does not support the audio or video format &lsquo;undf&rsquo;&rdquo; VLC 1.1.3</td> </tr> <tr> <td>Web</td> <td>?</td> <td>No improvement.</td> </tr> </tbody> </table> <p>Getting browser extensions into distribution package repositories serves more purpose than just convenience. It is also a way to <a href="https://wiki.archiveteam.org/index.php/Mozilla_Addons">preserve historic software</a>. A helping of various defunct addons can readily be installed by:</p> <pre tabindex="0"><code>sudo apt-get install xul-ext-adblock-plus xul-ext-noscript </code></pre><figure><img src="https://wrongthink.link/squeeze-iceweasel-extensions.png"> </figure> <p>Still, only plain HTTP pages can be accessed. SSL and TLS ciphers probably won&rsquo;t be current in the browsers that we&rsquo;re testing until around Stretch.</p> <figure><img src="https://wrongthink.link/squeeze-iceweasel-persians.png"> </figure> <p>The cached PBS page doesn&rsquo;t seem to like Iceweasel&rsquo;s fifteen year old javascript interpreter very much.</p> <figure><img src="https://wrongthink.link/squeeze-iceweasel-pbs.png"> </figure> <p>Super Tux Kart almost looks like a step backward, but it has occurred to me that the desktop session is probably running in <a href="https://www.phoronix.com/news/MTAxMTI">software rendering mode</a>. The CPU gets pegged at 100% with 3D rendering. That might also explain the fallback to 1280x1024 resolution and ugly GTK desktop. In any case, we won&rsquo;t spend time fixing things unless they get in the way of the upgrade process.</p> <figure><img src="https://wrongthink.link/squeeze-supertuxkart.png"> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>Squeeze is the first instance of a distribution making possible the usage of non-Linux kernels, with kFreeBSD.</p> <p>Squeeze is where backports had been made official, formerly &ldquo;semi-official&rdquo;. The backports.org repositories were integrated into Debian&rsquo;s infrastructure.</p> <p>This marks the first appearance of ext4 in Debian.</p> <p>dhcp3 got replaced by isc-dhcp which is still in use today, as of Bookworm.</p> <p>Squeeze can claim the first release where apt installs recommended packages by default.</p> <p>I think the effects of <a href="https://infogalactic.com/info/Chaos_theory">chaos theory</a> are beginning to emerge with some notable deviation from clean install releases. Maybe this xserver will heal itself during the upgrade to <a href="https://wrongthink.link/posts/debian-upgrade-marathon-wheezy">Wheezy</a>.</p> Checking the Pulse of OpenPOWER and RISC-V https://wrongthink.link/posts/pulse-of-openpower-risc-v/ Fri, 23 May 2025 08:44:34 -0400 https://wrongthink.link/posts/pulse-of-openpower-risc-v/ <p>Finding computer equipment that respects user freedom and owner control can feel a lot like <a href="https://wrongthink.link/posts/selecting-computer-hardware/">squeezing water out from stone</a>. You may be one of a few of us who have tepidly followed the developments surrounding RISC-V since its inception last decade. And it looks like the fruits of those efforts are finally coming to bear.</p> <p>There has been a trend with rights holders of older architectures responding to the emergence of RISC-V by opening up their licensing in hopes of not being overtaken. But it is too little too late. We need only look at what happened with MIPS who <a href="https://web.archive.org/web/20191216162518/https://www.eetimes.com/mips-r6-architecture-now-available-for-open-use/#">open sourced their long time proprietary architecture</a> and only a few years later are <a href="https://web.archive.org/web/20210309013014/https://www.eejournal.com/article/wait-what-mips-becomes-risc-v/">now refocusing on RISC-V</a>. Debian have even decided to <a href="https://www.phoronix.com/news/Debian-13-Hard-Freeze">drop the MIPS architecture from the upcoming Trixie release</a> and free up some space for the new kid on the block.</p> <p>On the POWER side of things, in addition to being late to the open licensing party, the OpenPOWER effort also suffers from sabotage by its very founders when IBM <a href="https://www.phoronix.com/news/POWER10-Blobs-Raptor">soiled their architecture with proprietary memory interface firmware</a>. The message this sends is that they dont take the OpenPOWER initiative seriously at all. This has left what few vendor<del>s</del> who were actually producing POWER products within reach of average people to scrounge for <a href="https://solidsilicon.com/">their own solutions</a>. Developers have been <a href="https://forums.raptorcs.com/index.php/topic,560.msg4521.html">giving up their OpenPOWER workstations</a> while the Raptor Computing Systems TXitter and forums have been wheeled over to hospice care, if activity is any indicator.</p> <p>Meanwhile, there&rsquo;s RISC-V which seems to be following one trajectory: UP.</p> <image src="https://wrongthink.link/risc-v-projected.png" alt="Projected market growth for RISC-V" style="width:520px;height:365px"> </image><br /><br /> <p>Even when I&rsquo;m not actively seeking out information on it, there always seems to be some new RISC-V <a href="https://riscv.org/riscv-news/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/">development milestones cropping up</a> <a href="https://www.coindesk.com/tech/2025/04/23/the-protocol-will-eth-developers-swap-out-the-evm-for-risc-v">[1]</a><a href="https://www.techinsights.com/blog/mips-releases-first-risc-v-cpus">[2]</a><a href="https://tech.yahoo.com/computing/articles/risc-v-makes-way-deepcomputings-154330406.html">[3]</a>. Team RISC-V enjoys a plurality of <a href="https://milkv.io/">vendors</a> <a href="https://www.sifive.com/boards">producing boards</a> and frequent attention from <a href="https://www.pib.gov.in/PressReleasePage.aspx?PRID=1820621">governments</a> <a href="https://thevoltpost.com/risc-v-chip-policy-promote-risc-v-chip/">[1]</a><a href="https://www.eldorado.org.br/en/noticia/brazil-and-europe-sign-innovative-project-whit-risc-v-technology-for-hpc/">[2]</a><a href="https://www.fpri.org/wp-content/uploads/2021/03/fpri-semiconductors-report.pdf">[3]</a>, <a href="https://phys.org/news/2025-04-bit-risc-processor-molybdenum-disulfide.html">acedemia</a> and the wider industry. The Debian project&rsquo;s <a href="https://buildd.debian.org/stats/">package stats</a> inform that POWER and RISC-V are currently neck and neck for build coverage, and that&rsquo;s <em>with</em> POWER getting a two decade head start!</p> <image src="https://wrongthink.link/power-risc-buildd.png" alt="POWER and RISC-V Debian packages that build successfully" style="width:640px;height:480px"> </image><br /><br /> <p>I maintain hope that the world of OpenPOWER will produce <a href="https://www.talospace.com/2023/10/the-next-raptor-openpower-systems-are.html">yet to be seen libre computing solutions</a>, but my hopes soon return to Earth when we consider that the best OpenPOWER has to offer as of today are expensive (the prices have even gone <em>up</em> since launch!), large[er than I would like] form factor, 8+ years old systems whose components are being <a href="https://raptorcs.com/content/TL2HS3/intro.html">delisted as EOL</a>, while there is not a single peep for over a year from the <strong>one and only</strong> design house who had even been retailing anything.</p> <p>Meanwhile RISC-V seems to be finding its way into everything lately.</p> <image src="https://wrongthink.link/risc-v-boards.png" alt="Just look at all these boards popping up" style="width:768px;height:614px"> </image><br /><br /> <blockquote> <p><a href="https://www.sifive.com/blog/from-berkeley-lab-to-global-standard-risc-vs-15-ye">Companies are watching closely and almost every major company has a RISC-V program underway in case they have to react to this outcome</a>.</p> </blockquote> <p>If every major player has a RISC-V program underway, then they are <em>already</em> reacting.</p> <p>So I find that I will probably need to keep a few different irons in the fire. For those averse to reading, allow me to summerize the situation thusly:</p> <table> <thead> <tr> <th>The inertia behind OpenPOWER right now</th> <th>The inertia behind RISC-V in contrast</th> </tr> </thead> <tbody> <tr> <td> <video width=100% controls> <source src="https://wrongthink.link/leisurely-ride.webm" type="video/webm"> </video> </td> <td> <video width=100% controls> <source src="https://wrongthink.link/vrrrrrrr.mp4" type="video/mp4"> </video><br /><br /> </td> </tr> </tbody> </table> Debian Upgrade Marathon: 5.0 Lenny https://wrongthink.link/posts/debian-upgrade-marathon-lenny/ Tue, 20 May 2025 21:11:23 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-lenny/ <p>With two versions now behind us, it is a good time to start tracking a sort of &ldquo;technical debt&rdquo; as it accrues from upgrades. There are undoubtedly package selections made earlier in Sarge which wouldn&rsquo;t have been present for users freshly installing Etch or Lenny. This is likely what happened with the oodles of KDE applets bloating up the system menus. Things are also missing, too. For one, SELinux will not get installed automatically in today&rsquo;s Lenny upgrade.</p> <p>And I want to go easy on the reigns because it is interesting to see issues corrected by <a href="https://wiki.debian.org/NewInLenny">structural changes to Debian</a>. Already, Etch had gotten pluggable USB storage devices working for me. Probably as a result of moving from hotplug to udev. And the display server continues to improve without any administrative touches from me. And longer term, I want to see what interesting artifacts get left over from older releases once we approach the end.</p> <figure><img src="https://wrongthink.link/lenny-timeline.png"> </figure> <h1 id="upgrading-from-etch-to-lenny">Upgrading from Etch to Lenny</h1> <p>Checked pending changes in aptitude in which some libraries, tuxkart, alsamixergui and moc were marked for removal (*shakes fist!).</p> <p>Checked that all packages are in an upgradeable state: <code>dpkg --audit</code> ✔</p> <p><code>sudoedit /etc/apt/sources.list</code> and modified all instances of &rsquo;etch&rsquo; to &rsquo;lenny'.</p> <p>Debian, as of Lenny, still recommends aptitude as the primary means of upgrading.</p> <p>Update the package list: <code>sudo aptitude update</code></p> <p>The <a href="https://www.debian.org/releases/lenny/i386/release-notes.en.txt">release notes</a> cite that apt and aptitude should be upgraded first since their solving for dependency chains is much better as of Lenny.</p> <pre tabindex="0"><code>sudo aptitude install aptitude apt dpkg </code></pre><p>Which necessarily upgraded libc6 packages and also removed gnome 🤔.</p> <image src="https://wrongthink.link/lenny-upgrade-apt.jpg" alt="dpkg, apt and aptitude upgrade" style="width:618px;height:464px"> </image><br /><br /> <p>gdm, along with some other services were restarted. I opted to install the maintainer&rsquo;s versions of configuration files, and will continue to do so as I have not custom configured anything beyond the package selection.</p> <p>The new Lenny version of aptitude needs to be dry run so that its list of automatically installed packages can be converted to a new format.</p> <pre tabindex="0"><code>aptitude search &#34;?false&#34; </code></pre><p>Here I assume no output is good.</p> <p>Next is the first change we see to the recommended two-step upgrade procedure since the upgrade from <a href="https://wrongthink.link/posts/debian-upgrade-marathon-sarge/">Sarge</a> to Etch. They call for the option &lsquo;safe-upgrade&rsquo; wherein installed packages will not be automatically removed unless they are unused.</p> <pre tabindex="0"><code>sudo aptitude safe-upgrade </code></pre> <image src="https://wrongthink.link/lenny-safe-upgrade.jpg" alt="The start of upgrading to Lenny" style="width:618px;height:464px"> </image><br /><br /> <p>Some whiptail prompts appear during the upgrade:</p> <blockquote> <p>&ldquo;Enable saned as standalone server?&rdquo;</p> </blockquote> <p>No</p> <blockquote> <p>&ldquo;Add saned user to the scanner group?&rdquo;</p> </blockquote> <p>No<br> Since I don&rsquo;t want anything scanning or printing related communicating or listening on network.</p> <blockquote> <p>&ldquo;Please purge the hotplug package!&rdquo;</p> </blockquote> <p>Note to self - will do.</p> <p>Then the rest of the upgrade (though I see that the modern &lsquo;full-upgrade&rsquo; is now an option according to the man pages):</p> <pre tabindex="0"><code>sudo aptitude dist-upgrade </code></pre><p>This step replaced &lsquo;gnome&rsquo; removed earlier with the &lsquo;gnome-desktop-environment&rsquo; package and synaptic also got reinstalled.</p> <blockquote> <p>&ldquo;Schedule daily execution of the &lsquo;rundig&rsquo; script?&rdquo;</p> </blockquote> <p>No</p> <blockquote> <p>&ldquo;Encrypt snapshot [that is written to disk during suspend]?&rdquo;</p> </blockquote> <p>No</p> <blockquote> <p>&ldquo;Show splash screen [during suspend and resume process]?&rdquo;</p> </blockquote> <p>Yes</p> <p>Sheesh, all these yes/no prompts are sure to make you feel like you&rsquo;re at an examination.</p> <video width=50% controls> <source src="https://wrongthink.link/examination.webm" type="video/webm"> </video><br /><br /> <p>I&rsquo;m beginning to see why recent versions of packages just run with defaults leaving anyone interested enough in customization to explore the <a href="https://wiki.debian.org/ConfigurationHandling">conf files</a>. Side note that this leg of the upgrade has taken significantly longer than during the upgrade to Etch. Is it bigger package sizes? More packages? This dist-upgrade reported &ldquo;12635 new&rdquo; packages after completion.</p> <p>I then checked whether the upgrade automatically installed the &ldquo;new&rdquo; Linux kernel linux-image-2.6-686:</p> <pre tabindex="0"><code>dpkg -l &#34;linux-image*&#34; | grep ^ii 2.6.26+17+lenny1 </code></pre><p>✔</p> <p>Upgrades from Etch are advised to replace sysklogd with rsyslog which the upgrade does not handle automatically. <code>dpkg -s sysklogd</code> reports it still installed, and <code>dpkg -s rsyslog</code> shows no such installation. Time to upgrade this manually:</p> <pre tabindex="0"><code>sudo aptitude install rsyslog &amp;&amp; sudo aptitude purge sysklogd </code></pre><h2 id="post-upgrade-items-before-rebooting">Post-upgrade items, <em>before</em> rebooting</h2> <p>I was right <a href="https://wrongthink.link/posts/debian-upgrade-marathon-etch/">earlier</a> about the way disks are named would rear its ugly head.</p> <blockquote> <p>&ldquo;The IDE disk naming convention for the old drivers was hda, hdb, hdc, hdd. The new drivers will name the same disks respectively sda, sdb, sdc, sdd. The problem appears when the upgrade does not generate a new / boot/grub/menu.lst file to take the new naming convention into account. During the boot, Grub will pass a system root partition to the kernel that the kernel doesn&rsquo;t find.&rdquo;</p> </blockquote> <p>I determined to change the identifier for the root file system to a UUID. Find the UUID of the disk:</p> <pre tabindex="0"><code>ls -l /dev/disk/by-uuid | grep hd* </code></pre><p>Sure enough, hdc1 is the only disk present.</p> <p><code>sudoedit /boot/grub/menu.lst</code> and add the UUID provided by from ls.<br> from:<br> kopt=root=/dev/hdc1 ro<br> to:<br> kopt=root=UUID=4e76825b-e15b-4ffa-b332-8eb657bacdd4 ro</p> <p>And <code>sudoedit /etc/fstab</code>:<br> from:<br> /dev/hdc1<br> to:<br> UUID=4e76825b-e15b-4ffa-b332-8eb657bacdd4</p> <p>Lastly, finally remove the hotplug package noted earlier (which I think was <a href="https://www.linuxquestions.org/questions/debian-26/hotplug-not-included-on-cd1-of-etch-548581/#post2723352">supposed to be removed</a> after the upgrade to Etch, oh well): <code>sudo aptitude purge hotplug</code></p> <p>And restart the system: <code>sudo reboot</code></p> <p>Upon first rebooting, it hanged unable to find the root partition. Exactly the issue the release notes described preemptively changing the disk naming convention for. What gives?</p> <image src="https://wrongthink.link/lenny-rootfs-not-found.jpg" alt="root filesystem not found..." style="width:618px;height:464px"> </image><br /><br /> <p>I manually edited the GRUB entry to point back to /dev/hdc1 and the system then went on to run a check with fsck. I rebooted it again, this time with no edits to GRUB and it booted successfully to gdm. It is likely that the disk naming convention never actually changed from /dev/hdX. Perhaps this moment will come when I decide to yank the drive and put it into a 64-bit capable host, directly on a <em>real</em> SATA interface.</p> <image src="https://wrongthink.link/lenny-gdm-greeter.jpg" alt="GDM greeter prompt" style="width:618px;height:464px"> </image><br /><br /> <h2 id="post-upgrade-items-after-rebooting">Post-upgrade items, <em>after</em> rebooting</h2> <p>Both libvte-common and iceweasel needed to be upgraded manually, replacing libvte4.</p> <pre tabindex="0"><code>sudo aptitude install iceweasel libvte-common </code></pre><p>moc, openoffice.org needed to be reinstalled manually.</p> <pre tabindex="0"><code>sudo aptitude install moc openoffice.org </code></pre><p>The exim daemon didn&rsquo;t get a chance to restart during the upgrade, so I cleared the warnings posted at startup and shutdown by zeroing the paniclog:</p> <pre tabindex="0"><code>sudo rm /var/log/exim4/paniclog sudo touch /var/log/exim4/paniclog </code></pre><h1 id="impressions-of-lenny">Impressions of Lenny</h1> <p>After first logging in, I am greeted with a <a href="https://web.archive.org/web/20160103001130/https://wiki.debian.org/DebianDesktop/Artwork/WallpapersEtch">wallpaper that doesn&rsquo;t match the aspect ratio</a> and a full wastebasket. For some reason, a Volume Control shortcut ended up in there. I must have inadvertently drag&rsquo;n&rsquo;dropped it while exploring Etch. And, for the first time, xserver is rendering an accurate 1440x900 on this 16:10 monitor. At last, proper video output.</p> <figure><img src="https://wrongthink.link/lenny-landing.png"> </figure> <p>The icon theme looks much better with its rounded, glassy design obviously following in the footsteps of the <a href="https://infogalactic.com/info/Windows_Aero">Aero theming direction taken by Windows</a> at the time. <a href="https://web.archive.org/web/20090626133441/http://library.gnome.org/misc/release-notes/2.22/">Gnome 2.22</a> doesn&rsquo;t navigate or feel like something from 2009. Like it hadn&rsquo;t kept up with UI conventions for the time. Just purely visual enhancements which probably wouldn&rsquo;t have won me over had I been introduced to desktop Linux back then.</p> <p>*<em>For the test file set, I will begin omitting file types that had already been found to work. Additionally, I did not use a consistent web page to test against during Sarge and Etch, so I&rsquo;ve grabbed a local copy of pbs.org to use going forward.</em></p> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>Animated GIF</td> <td>🗷</td> <td>Eye of Gnome 2.22.3, <em>but</em> mplayer playsback properly</td> </tr> <tr> <td>MP3 Audio</td> <td>?</td> <td>Decodes but no audio out, all players</td> </tr> <tr> <td>OGG Audio</td> <td>?</td> <td>Decodes but no audio out, all players</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;Video codec &lsquo;hev1&rsquo; is not handled.&rdquo; Totem 2.22.2</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>At least began to play but with no video VLC 0.8.6h</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;There is no plugin to handle this movie.&rdquo; Totem 2.22.2</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>No video playback VLC 0.8.6h</td> </tr> <tr> <td>Web</td> <td>?</td> <td>Many connections fail with &ldquo;Error code: ssl_error_no_cypher_overlap&rdquo;, third party frames can also fail with this even if the main page loads. SSL and TLS can be explicitly disabled, at discretion of the user. Local test capture (pbs.org) fails to render webp. Iceweasel 3.0.6-3</td> </tr> </tbody> </table> <p>Adblock Plus 0.7.2.4 was not compatible with Iceweasel 3.0.6. It offered to locate a newer version but was unsurprisingly unable to do so, likely an issue to do with deprecated SSL standards. So I attempted to manually install a newer <a href="https://web.archive.org/web/20090514065345/http://adblockplus.org:80/en/installation">Adblock Plus 1.0.2</a> which should be compatible. And the download is amazingly still live at <a href="https://addons.mozilla.org/downloads/latest/1865/adblock_plus-1.0.2.xpi">the Internet archive</a>.</p> <figure><img src="https://wrongthink.link/lenny-iceweasel-adblock-install.png"> </figure> <p>But, sadly, I was unable to install it, with an error &ldquo;install script not found [-204]&rdquo;. I tried importing the newer Digicert certificates thinking this might help, but there is additionally no common cypher between the SSL versions being negotiated. Even after navigating to a seemingly compatible .xpi file from <a href="https://web.archive.org/web/20110226050844/https://addons.mozilla.org/en-us/firefox/addon/adblock-plus/">addons.mozilla.org using the Wayback Machine</a>, it fails to install citing no_cypher_overlap. By Firefox 3.0 making certificate handling more secure, it has also assured a hard <a href="https://infogalactic.com/info/Sunset_(computing)">sunsetting</a> once this version fell out of compatibility with modern web standards.</p> <p>Like with Debian adding GPG signature verification to packages, the immediate way to work around this may be to try to disable certificate checking entirely. I disabled SSL and TLS entirely from the preferences menu and searched for several Adblock Plus versions from the internet archive, but they haven&rsquo;t captured any copies old enough for the 3.0.6 installer to accept. Maybe we&rsquo;ll have better luck later with Squeeze.</p> <p>Anyway, enjoy some completely unfiltered pages accessed via unencrypted plaintext HTTP:</p> <figure><img src="https://wrongthink.link/lenny-iceweasel-polarization.png"> </figure> <figure><img src="https://wrongthink.link/lenny-iceweasel-bugaup.png"> </figure> <p>Silly, me. I forgot that Debian has often packaged browser extensions as dedicated packages. Sure enough, <a href="https://tracker.debian.org/news/61627/adblock-plus-0755-3-migrated-to-testing/">adblock-plus could be installed through Debian&rsquo;s repositories</a>. Much better.</p> <figure><img src="https://wrongthink.link/lenny-iceweasel-adblock-plus.png"> </figure> <p>Konquerer and Epiphany both worked for accessing sites while blindly trusting certificates.</p> <figure><img src="https://wrongthink.link/lenny-epiphany-ycombinator.png"> </figure> <p>SuperTuxKart 0.5 sports settings for full screen and wider aspect ratios. And the additional characters and tracks suggest the game had gotten a little love since Etch.</p> <figure><img src="https://wrongthink.link/lenny-supertuxkart.png"> </figure> <p>Adding too many racers into a race would slow things down. Higher resolutions also drag out the framerate on this Intel 845G onboard GPU.</p> <h1 id="fun-factoids">Fun Factoids</h1> <p>The heritage of mpv can be seen in how much mplayer <em>feels</em> like mpv to use.</p> <p><a href="https://tracker.debian.org/pkg/amor">AMOR</a> &ldquo;creature for your desktop&rdquo;, a sort of Bonzi Buddy for Linux, gets installed by some KDE package.</p> <p>Lenny is the release where the Debian team began preparing the strict exclusion of blobs, having created the non-free repository for bits to reside in.</p> <p>TLS 1.0 makes its appearance with Iceweasel/Firefox 3.0 family.</p> <p>vrms reports no non-free software (both on this Lenny system and also before upgrading from Etch), probably overlooking the proprietary kernel modules. vrms has since been renamed to check-dfsg-status.</p> <p>TIL: H265 dates back as far as 2009, with ffmpeg support via libx265. Neat!</p> <p>Always a fun way to spend an evening, now I get to look forward to <a href="https://wrongthink.link/posts/debian-upgrade-marathon-squeeze/">breaking even more things in Squeeze</a>!</p> Suburbia in Nineties and Aughts Films https://wrongthink.link/posts/suburbia-nineties-and-aughts-film/ Sat, 17 May 2025 16:24:31 -0400 https://wrongthink.link/posts/suburbia-nineties-and-aughts-film/ <p>There is something just so alluring about the picturesque, upper middle class suburbs as they are portrayed in film, with their neatly trimmed gardens flanking lawns and quiet network of roads meandering between them. Careful attention is paid to their natural spaces dotted with old trees, <a href="https://infogalactic.com/info/Road_verge">road verges</a> and, if it&rsquo;s really ritzy, landscaped <a href="https://infogalactic.com/info/Median_strip">road medians</a>. But what is most striking to me is just how lush and green these spaces are made to look in the twilight years of reel film era movies.</p> <p>But where these settings really so lush and aesthetic? Or am I just remembering them through the lense of nostalgia? Let&rsquo;s have a look.</p> <figure><img src="https://wrongthink.link/film-suburb-beethoven.jpg"><figcaption> <h4>Beethoven (1992)</h4> </figcaption> </figure> <figure><img src="https://wrongthink.link/film-suburb-cheaper.jpg"><figcaption> <h4>Cheaper By The Dozen (2003)</h4> </figcaption> </figure> <figure><img src="https://wrongthink.link/film-suburb-hachiko.jpg"><figcaption> <h4>Hachiko A Dogs Story (2009)</h4> </figcaption> </figure> <figure><img src="https://wrongthink.link/film-suburb-matilda.jpg"><figcaption> <h4>Matilda (1996)</h4> </figcaption> </figure> <figure><img src="https://wrongthink.link/film-suburb-pagemaster.jpg"><figcaption> <h4>The Pagemaster (1994)</h4> </figcaption> </figure> <p>Even CGI films of the time had been able to capture that look.</p> <figure><img src="https://wrongthink.link/film-suburb-toystory.jpg"><figcaption> <h4>Toy Story 2 (1999)</h4> </figcaption> </figure> <p>In these we can see a wide range of coloration, and including both high and low light levels. But aside from the CGI of Toy Story, nothing is quite as oversaturated green as I remember. It must be similar to the effect where we recall the graphics of old video games played in childhood being much better than they were in reality.</p> <p>These samples were just what I pulled from a quick glance over a movie collection, but there are many more. Television shows too, with one that stands out to me being the episode of The Office (US) where they <a href="https://yewtu.be/watch?v=8zQWubk8SDQ">go on a fund raising jog around Scranton, PA</a>. And certain video games as well. The most forefront example in my mind being Cities: Skylines.</p> <figure><img src="https://wrongthink.link/game-suburb-citiesskylines.jpg"><figcaption> <h4>Cities: Skylines</h4> </figcaption> </figure> <p>Very cozy. But maybe it is not all visual. Maybe there is something about that particular kind of planned space that calls out to me. And where were the filming locations for these movies anyway?</p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td>The Pagemaster</td> <td>Arcadia, California</td> </tr> <tr> <td>Beethoven</td> <td>Los Angeles, California</td> </tr> <tr> <td>Hachiko A Dogs Story</td> <td>Rhode Island</td> </tr> <tr> <td>Matilda</td> <td>Arcadia, Altadena &amp; Los Angeles California</td> </tr> <tr> <td>Cheaper By The Dozen</td> <td>Petaluma, California</td> </tr> <tr> <td>Toy Story 2</td> <td>Likely based on Richmond, California</td> </tr> </tbody> </table> <p>Understandably, Hollywood uses their home state as the backdrop of many films. Not shocking. With what little time I&rsquo;d spent in California, I had only seen &ldquo;sand and dry shrub&rdquo; California and not &ldquo;shaded oak cul de sac&rdquo; California. But if most people are seeking out the latter, it&rsquo;s no wonder pricing in the region is so insane.</p> <p>It is not just the greenery, per se, that makes the setting. But I think the idealistic blue sky summer weather with its depictions of people actually outside doing things which these scenes capture that leaves such an impression. I used to reason that the effect was due to the use of film cameras, which some have suggested aided in that warm, saturated look. But then why are video games and CGI films also capable of invoking that perception?</p> <figure><img src="https://wrongthink.link/ryzom-nature.png"><figcaption> <h4>Ryzom</h4> </figcaption> </figure> <p>Natural spaces in games can often be just as peaceful an escape as are the real thing, I find. Almost everyone who has played Minecraft can probably relate to looking out at the vast landscape receding into the foggy horizon and taking in all its blocky, digital beauty on at least one occasion. I think there is something primal that speaks to us from the tree lines of curated spaces.</p> <p>I didn&rsquo;t mean for this examination of cinema to turn into a psychological analysis of the way that living spaces are designed and perceived. But I do find myself thinking about it frequently. I think there is a balance that must be struck between nature and infrastructure when developing land. The <a href="https://infogalactic.com/info/Goldilocks_zone">goldilocks zone</a> seems to be somewhere around 3:2, nature:infrastructure. While the surroundings of <a href="https://wrongthink.link/posts/divorce-from-the-beast-system">untamed forest, rivers and mountains</a> enable one to dive deeply inward, I sometimes find myself yearning for developed spaces where neighbors greet each other from over the fence and children can be heard playing on quiet roads.</p> <p>tl;dr: nature pretty</p> Debian Upgrade Marathon: 4.0 Etch https://wrongthink.link/posts/debian-upgrade-marathon-etch/ Tue, 06 May 2025 20:20:44 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-etch/ <p>Last month marked the start of an experiment where I upgrade through historic Debian releases, <a href="https://wrongthink.link/posts/debian-upgrade-marathon-sarge/">starting with Sarge</a>. I am going at my own pace as, believe it or not, we Linux folks do have lives and responsibilities. So I&rsquo;m not sure how long this whole journey is going to take.</p> <p>Etch was <a href="https://lwn.net/Articles/225932/">released during a time</a> where AMD had just acquired ATI Technologies, <a href="https://odysee.com/@teksyndicate:5">the Tiger Direct guy</a> was still wearing button down shirts, Crysis was the plateau of graphics and nothing could look more photorealistic if you were to believe the hype. Any aspiring tech geeks back then should consider themselves lucky. For me, this is a peek into what the world of Linux and open source was tooling up at that time.</p> <image src="https://wrongthink.link/etch-pentium-platform.jpg" alt="Pentium 4 board with drive, adapter and pwr switch" style="width:618px;height:464px;"> <br /><br /> <h1 id="upgrading-from-sarge-to-etch">Upgrading from Sarge to Etch</h1> <p>The <a href="https://www.debian.org/releases/etch/i386/release-notes.en.txt">release notes</a> caution against performing the upgrade within a graphical X session, citing necessary display server termination during package upgrades and the relocation of /usr/X11R6/bin. So I log out from Gnome session and Ctrl+Alt+F2 to terminal.</p> <p>We first check that there are no pending changes in aptitude:</p> <p><code>aptitude</code> &ndash;&gt; &lsquo;g&rsquo; (for go) &ndash;&gt; &ldquo;No packages are scheduled to be installed, removed, or upgraded.&rdquo; ✔</p> <p>We then verify that all packages are in an upgradable state:</p> <p><code>dpkg --audit</code> &ndash;&gt; No ouput ✔</p> <p>Edit /etc/apt/sources.list to change the codenames from &lsquo;sarge&rsquo; to &rsquo;etch&rsquo;.</p> <p>Since installing Sarge, it has become known to me that apt is just a fancy front end for the collection of apt-get, aptitude, apt-cache and dpkg. It was still in development during the time of Sarge and Etch but not yet ready for usage. According to the apt man pages:</p> <blockquote> <p>&ldquo;the snazzy front ends are not yet available. In the meantime, please see apt-get&rdquo;.</p> </blockquote> <p>So for now, we use aptitude:</p> <pre tabindex="0"><code>sudo aptitude update </code></pre><p>It cries warnings about &ldquo;No such file or directory &hellip; you may want to update the packages lists to correct these missing files&rdquo;</p> <p>But this is expected per the upgrade notes. Simply re-running the same command again resolves harmlessly without such warnings. And the Etch upgrade procedure suggests the same two-step upgrade process that is still expected today with upgrades between modern Debian stable releases. One where a minimal package upgrade is issued before applying a full dist-upgrade.</p> <pre tabindex="0"><code>sudo aptitude upgrade </code></pre> <image src="https://wrongthink.link/etch-aptitude.jpg" alt="Aptitude applying the first upgrades" style="width:618px;height:464px;"> <br /><br /> <h2 id="configuring-debconf">&ldquo;Configuring debconf&rdquo;</h2> <image src="https://wrongthink.link/etch-debconf.jpg" alt="Prompt asking which interface to use" style="width:618px;height:464px;"> <br /><br /> <p>I chose &ldquo;Dialog&rdquo; because that is what I&rsquo;m accustomed to. And selected &ldquo;medium&rdquo; for question priorities.</p> <image src="https://wrongthink.link/etch-debconf-priority.jpg" alt="medium" style="width:618px;height:464px;"> <br /><br /> <h2 id="configuring-keymap">&ldquo;Configuring Keymap&rdquo;</h2> <p>I chose &ldquo;qwerty / American / standard / standard&rdquo;.</p> <p>Because of a changeover from initrd-tools to initramfs-tools, special attention needs to be paid to upgrade this before moving on to the second step.</p> <pre tabindex="0"><code>sudo aptitude install initrd-tools </code></pre><h2 id="configuring-locales">&ldquo;Configuring locales&rdquo;</h2> <image src="https://wrongthink.link/etch-locales.jpg" alt="Prompt switching to UTF-8" style="width:618px;height:464px;"> <br /><br /> <p>I changed from en_US ISO-8859-1 to en_US.UTF8 UTF8 and made it the default locale. I also opted to install glibc and restart affected services.</p> <p>Next, because this Upgrade-Journey host was installed with Gnome desktop, the next appropriate upgrade path is to pull in the X.Org packages which replace <a href="https://infogalactic.com/info/Xfree86">Xfree86</a>. I verify that the libfam0c102 and xlibmesa-glu packages are present:</p> <pre tabindex="0"><code>dpkg -s libfam0c102 | grep -e installed dpkg -s xlibmesa-glu | grep -e installed Status: install ok installed </code></pre><p>And so we upgrade the following:</p> <pre tabindex="0"><code>sudo aptitude install libfam0 xlibmesa-glu </code></pre><p>Moving on to the second step of this two-part upgrade:</p> <pre tabindex="0"><code>sudo aptitude dist-upgrade </code></pre><p>I disabled &ldquo;challange-response&rdquo; authentication for the OpenSSH service I&rsquo;d disabled back in the Sarge installation. Also set &ldquo;Trust new CA certificates&rdquo; to Yes and set &ldquo;System-side home directories&rdquo; to No.</p> <p>The upgrade eventually reached a point where it began restarting services, which dropped me at a new terminal login. Thankfully, I knew to return to the existing shell where the aptitude upgrade was <em>still running</em> by re-keying Ctrl+Alt+F2. God help the person who hit such a situation without having that background knowledge!</p> <h2 id="x-server-setup">&ldquo;X Server Setup&rdquo;</h2> <image src="https://wrongthink.link/etch-x11.jpg" alt="X.org replacing Xfree86" style="width:618px;height:464px;"> <br /><br /> <p>I chose to redetect keyboard layout and also selected 1440 x 900 resolution, as that is the display&rsquo;s native resolution (Maybe it will work better with X.org).</p> <p>Some packages remain un-upgraded, including apt&rsquo;s package signature checking mechanism found in Etch.</p> <pre tabindex="0"><code>sudo aptitude update </code></pre><p>But this arrived at an issue where the GPG key signatures are now invalid because the repo has <a href="https://forums.debian.net/viewtopic.php?t=95658">long since been archived and individual software (and keys) now unmaintained</a>.</p> <p>Let&rsquo;s break some things to get this working again. Courtesy the information at <a href="https://askubuntu.com/questions/74345/how-do-i-bypass-ignore-the-gpg-signature-checks-of-apt">AskUbuntu</a>, I added a custom file at /etc/apt/apt.conf.d/99disablechecks:</p> <pre tabindex="0"><code>Acquire::Check-Valid-Until false; </code></pre><p>Aptitude can then proceed with upgrades while only complaining with warnings.</p> <video width=50% controls> <source src="https://wrongthink.link/etch-cheating.webm" type="video/webm"> </video><br /><br /> <p>Etch&rsquo;s upgrade notes that Linux kernels 2.4 or earlier cannot boot with udev. So I check whether Linux 2.6 series was already installed during the upgrade.</p> <pre tabindex="0"><code>dpkg -l &#34;linux-image*&#34; | grep ^ii No packages found matching linux-image* </code></pre><p>I instead search for available kernels:</p> <pre tabindex="0"><code>apt-cache search linux-image-2.6- | grep -v transition </code></pre><p>Since the hardware platform is Intel <a href="https://infogalactic.com/info/I686">Pentium 4</a>:</p> <pre tabindex="0"><code>sudo aptitude install linux-image-2.6-686 </code></pre><p>The release notes warn of a possible conflict with changes for /dev.</p> <blockquote> <p>Debian kernels no longer include support for &lsquo;devfs&rsquo;, so &lsquo;devfs&rsquo; users will need to convert their systems manually before booting an etch kernel.</p> </blockquote> <p>I checked that it has &lsquo;console&rsquo; and &rsquo;null&rsquo; files in /dev, per <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=341152">this helpful bug report</a>:</p> <blockquote> <p>Therefore, before trying to boot using udev only, make certain you have a &ldquo;console&rdquo; and &ldquo;null&rdquo; file in /dev.</p> </blockquote> <p>TuxKart, AlsaMixer and Firefox have been held back during the upgrade. I&rsquo;ll investigate those later. I think mozilla-firefox and tuxkart packages were just superseded by newer packages with different names.</p> <h2 id="post-upgrade-items-before-rebooting">Post-upgrade items, <em>before</em> rebooting</h2> <image src="https://wrongthink.link/etch-tune2fs.jpg" alt="Filesystem attributes and information through tune2fs" style="width:618px;height:464px;"> <br /><br /> <p>The filesystem features on Upgrade-Journey&rsquo;s /dev/hdc1 does not show the new dir_index attribute</p> <pre tabindex="0"><code>sudo tune2fs -l /dev/hdc1 </code></pre><blockquote> <p>Users upgrading from sarge could consider adding the dir_index flag manually using `tune2fs&rsquo;.</p> </blockquote> <p>So I applied it manually:</p> <pre tabindex="0"><code>sudo tune2fs -O +dir_index /dev/hdc1 </code></pre><p>Finally, the moment of truth:</p> <pre tabindex="0"><code>sudo reboot </code></pre><h2 id="post-upgrade-items-after-rebooting">Post-upgrade items, <em>after</em> rebooting</h2> <p>The upgrade had set the default text editor to nano (<a href="https://files.catbox.moe/stffs1.png">ew</a>). So I reset it to vim-tiny:</p> <pre tabindex="0"><code>sudo update-alternatives --config editor </code></pre><p>And selected /usr/bin/nvi.</p> <image src="https://wrongthink.link/etch-greeter.jpg" alt="Gnome login greeter screen" style="width:618px;height:464px;"> <br /><br /> <p>It booted cleanly to Gnome&rsquo;s login greeter and it was immediately clear that the new X.org server config is an improvement over that of the Xfree86 display server. It doesn&rsquo;t render at the monitor&rsquo;s native resolution, but is at least now a higher resolution. Without wanting to fix this, there was no further hassle to be had with display configuration. 3D graphics acceleration was still working without a hitch.</p> <p>At no point in the Sarge installation or Etch upgrade have the standard <a href="https://labex.io/tutorials/linux-customize-and-manage-user-home-directories-in-linux-420527">base directories</a> been created. And I do not want to manually create them in case this is something handled in later versions of Gnome or if xdg-utils gets automatically selected in later Debian releases. And I&rsquo;ve opted not to delete .gconf settings as I want to see how well existing configurations survive through Stable releases, rather than to see stock Gnome with each version.</p> <p>My intuitions were correct about the held packages. iceweasel was <a href="https://www.internetnews.com/developer/firefox-not-really-free/">introduced</a> first as a transitional package for mozilla-firefox, and tuxkart had been superseded by supertuxkart.</p> <h1 id="impressions-of-etch">Impressions of Etch</h1> <p>It may just be baggage from using Sarge&rsquo;s Desktop task during installation, but Etch appears to clutter Gnome with a bunch of KDE programs. They work, but I do not recall installing any KDE metapackage in either Sarge or Etch. The Gnome 2.14.3 menu system remains a categorical cascading tree, which translates into a lot of searching through lists to find GUI applications. Though the very classical desktop layout can be admired in its simplicity.</p> <figure><img src="https://wrongthink.link/etch-info.png"> </figure> <p>IceWeasel Browser more flexibly allows you to accept certificates which enables the browser to retrieve more modern sites, ignoring the security implications. It also makes things easier having tabs. I had to reach far back into the annals of my brain in order to remember how we used to install browser extensions in <em>the before times</em>. This required I visit an <a href="https://web.archive.org/web/20080730230725/http://adblockplus.org/en/installation">archived page of adblockplus.org</a> in order to locate a version compatible with this ancient, debranded Firefox.</p> <figure><img src="https://wrongthink.link/etch-firefox-adblock-addon.png"> </figure> <p><a href="https://web.archive.org/web/20070219074428if_/http://releases.mozilla.org:80/pub/mozilla.org/extensions/adblock_plus/adblock_plus-0.7.2.4-fx+fl+zm+tb.xpi">One download was available from around 2008</a> and I&rsquo;m not eager to waste time hunting around for a more closely matched release to Firefox 2.0. In IceWeasel, select File -&gt; Open File&hellip; -&gt; Navigate to the downloaded .xpi file. IceWeasel then offers to install the extension and restarts. AdblockPlus prompts for blocklists to subscribe to on first startup and is then ready to do its thing.</p> <figure><img src="https://wrongthink.link/etch-iceweasel-gamingonlinux-site.png"> </figure> <p>Is it working? Are <a href="https://wrongthink.link/posts/advertising-should-now-be-relic-of-past/">ads</a> being blocked? I do see some <em>e-begging</em> here, but I don&rsquo;t even know what they&rsquo;d look like anymore. And, realistically, an adblocker extension from the pre-cambrian era probably isn&rsquo;t going to prevent much anyway. But it does make for a fun museum exhibit. I&rsquo;m just impressed that <a href="https://wrongthink.link/posts/what-web-looks-like-without-blockers/">the modern web</a> still works <em>at all</em> on this environment.</p> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>Plaintext</td> <td>✔</td> <td>gedit 2.14.4</td> </tr> <tr> <td>ODT Document</td> <td>✔</td> <td>Openoffice.org 2.0.4 (Test document created in LibreOffice 7.4)</td> </tr> <tr> <td>PNG image</td> <td>✔</td> <td>Eye of Gnome 2.16.3</td> </tr> <tr> <td>Animated GIF</td> <td>🗷</td> <td>Eye of Gnome 2.16.3</td> </tr> <tr> <td>MP3 Audio</td> <td>?</td> <td>Decodes but no audio out, all players</td> </tr> <tr> <td>OGG Audio</td> <td>?</td> <td>Decodes but no audio out, all players</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;Video codec &lsquo;hev1&rsquo; is not handled.&rdquo; Totem 2.16.5</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>At least began to play but with no A/V VLC 0.8.2</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;There is no plugin to handle this movie.&rdquo; Totem 2.16.5</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>Still no playback VLC 0.8.2</td> </tr> <tr> <td>Web</td> <td>?</td> <td>&ldquo;Iceweasel can&rsquo;t connect securely to domain.tld because the site uses a security protocol which isn&rsquo;t enabled.&rdquo; for most modern sites. But many can negotiate certificates if user accepts them exceptionally.</td> </tr> </tbody> </table> <p>Etch was the last Debian to have TuxKart, and also the first Debian to have SuperTuxKart <a href="https://supertuxkart.fandom.com/wiki/SuperTuxKart_Wiki#History">replacing it</a>. The game assets received a bit of love, and it shows. Although this version doesn&rsquo;t scale with window size.</p> <figure><img src="https://wrongthink.link/etch-supertuxkart.png"> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>An IPv6 address is now successfully acquired, according to ifconfig.</p> <p><a href="https://web.archive.org/web/20070405180733/http://www.mplayerhq.hu/design7/news.html">mplayer</a>, the precursor to <a href="http://localhost:1313/posts/mpv-ffmpeg-yt-dl-ultimate-team/">the mighty mpv</a> makes its debut in Etch.</p> <p>Etch is the first release to support 64-bit architcture amd64. But I won&rsquo;t attempt converting it over until later with a version that has <a href="https://wiki.debian.org/Multiarch">multiarch support</a>.</p> <p>The Debian installer indeed had been two-part up until Etch:</p> <blockquote> <p>Previously, the installation was split into two parts: setting up the base system and making it bootable, followed by a reboot and after that the execution of `base-config&rsquo; which would take care of things like user setup, setup of the package management system and installation of additional packages (using tasksel). For etch the second stage has been integrated into Debian Installer itself&hellip;</p> </blockquote> <p>Etch also saw the introduction of optional root user disablement during installation:</p> <blockquote> <p>During expert installations you can choose to not set up the root account (it will be locked), but instead set up &lsquo;sudo&rsquo; so that the first user can use that for system administration.</p> </blockquote> <p>The naming of &ldquo;/dev/hdX&rdquo; will, in fact, probably will become an issue during this experiment:</p> <blockquote> <p>For some SATA disk controllers, the device assigned to a drive and its partitions may change from &lsquo;/dev/hdX&rsquo; to &lsquo;/dev/sdX&rsquo;. If this happens, you will have to modify your &lsquo;/etc/fstab&rsquo; and bootloader configuration accordingly. Unless these changes are made correctly, your system may not boot correctly.</p> </blockquote> <h1 id="outstanding-issues">Outstanding issues</h1> <p>Audio<br> Still no audio as I begin to suspect whether I&rsquo;d disabled the audio controller in BIOS or if there is another issue. The auxilliary connector sits fairly loosely in the port.</p> <p>X Display Server<br> The higher resolution along with stretching to fit the aspect ratio is a little easier on the eyes but it still fails to detect and match the display&rsquo;s native resolution.</p> <p>SSH<br> There remains no overlapping key exchange method between contemporary openssh-client on my workstation and OpenBSD SSH on Upgrade-Journey.</p> <p>I am still not sufficiently motivated to fix these side issues. I trust they will work themselves out as we reach further into the future. Next upgrade is to <a href="https://wrongthink.link/posts/debian-upgrade-marathon-lenny">Lenny</a>!</p> Debian Upgrade Marathon: 3.1 Sarge https://wrongthink.link/posts/debian-upgrade-marathon-sarge/ Fri, 25 Apr 2025 19:32:26 -0400 https://wrongthink.link/posts/debian-upgrade-marathon-sarge/ <p>Had my priorities been better aligned, I <em>would</em> have first begun building Linux skills sometime during the Bush (<a href="https://files.catbox.moe/ltxwxe.webm">W</a>) administration. It has left me feeling as though I should make up for that lost time. So I&rsquo;ve decided to reclaim that lost experience of installing and using Debian from around the early-mid 2000s. From there, the plan is to upgrade the installation through each stable release up to present day Debian Stable. And hopefully pick up a few tricks along the way. Or at least earn my rite of passage as a bonafide <em>Debian historian</em>.</p> <p>It is most appropriate that I begin with Debian 3.1 Sarge. Not only because that was the active release around the time I first tried tinkering (<a href="https://wrongthink.link/posts/my-own-journey-free-technology/">and failing</a>) with Linux install media. It is also an appropriate launch point simply because I am no longer in possession of any motherboards predating 2004. And, no, doing this kind of exercise within virtual machines <em>just isn&rsquo;t the same</em>.</p> <video width=50% controls> <source src="https://wrongthink.link/because-it-will-be-fun.webm" type="video/webm"> </video><br /><br /> <p>This marathon will be taking reprieves at each release for excursions along the way. Not least of which to test out file compatibility, media playback, web browsing and just absorbing the overall vibes.</p> <h1 id="start">Start</h1> <p>The starting machine needed to match as closely as possible the first PC I ever had. I have a <a href="https://theretroweb.com/motherboards/s/msi-ms-6577-4.x-hp-oem-845ge">suitable socket 478 board</a>, with only about a 1GB of SDRAM installed. We&rsquo;re going to try to use the glorious Intel integrated &ldquo;eXtreme&rdquo; graphics.</p> <p>It was badly in need of a thorough cleaning and the power supply tested bad. I may have bent a few pins on the Pentium 4 but it was worth setting it up nice and happy with a new heatsink fan. This board is old enough that it cannot use USB flash storage as a boot device, necessitating the use <em>optical discs</em>!</p> <image src="https://wrongthink.link/pentium-4-board.jpg" alt="Pentium 4 based motherboard" style="width:618px;height:464px;"> <br /><br /> <p>All available PATA optical drives on hand were K.I.A. so I needed to resort to a PATA-SATA converter to use a newer <em>working</em> optical drive. This also made possible the use of a SATA hard drive right from the start, so we get to cheat a little.</p> <image src="https://wrongthink.link/pata-sata-converter.jpg" alt="PATA to SATA conversion board" style="width:618px;height:464px;"> <br /><br /> <p>I found that the Sarge 3.1 installer would cause the board to reboot back into self-test and POST. The workaround was to launch the installer with <code>linux acpi=off</code> arguments.</p> <image src="https://wrongthink.link/sarge-installer-launch.jpg" alt="Launching the Sarge installation" style="width:618px;height:464px;"> <br /><br /> <p>The contemporary Debian installer has seen much refinement since its earliest versions, having made <a href="https://web.archive.org/web/20050630084328/http://www.debian.org/News/2005/20050606">its first appearance in Sarge</a>. This original installer waits until <em>after</em> you&rsquo;ve booted your freshly written Debain before walking through user and config setup, which I found odd.</p> <image src="https://wrongthink.link/sarge-installer-tasksel.jpg" alt="Early version of the tasksel prompt" style="width:618px;height:464px;"> <br /><br /> <p>Debian Sarge also insists that a root password <strong>must</strong> be created. The option to leave it blank to automatically disable root login must have been added later in the project&rsquo;s history. Because of this, the standard user that you later setup is not automatically added to the sudoers file, and must be added manually.</p> <p>Now, because the Sarge repositories have long since been archived, I need to manually point apt sources to the <a href="https://archive.debian.org/debian/dists/">archive repository</a>:</p> <pre tabindex="0"><code>deb http://archive.debian.org/debian/ sarge main contrib deb http://archive.debian.org/debian-archive/debian-security/ sarge/updates main contrib </code></pre><p>And also had to manually disable the Debian CD entry.</p> <image src="https://wrongthink.link/sarge-installer-apt.jpg" alt="APT handling base installation" style="width:618px;height:464px;"> <br /><br /> <p>The integrated graphics chip for this board is <a href="https://www.intel.com/content/dam/support/us/en/documents/graphics/intel845g/setupguide.pdf">Intel i800 family</a>, so I selected the i810 driver when configuring &ldquo;desired X server driver&rdquo;.</p> <p>The installer asks about setting up the mouse, which perhaps would have made sense in the days of serial port mice. I simply went with the default /dev/mouse option and the USB mouse (manufactured long after 2005) worked just fine.</p> <image src="https://wrongthink.link/sarge-installer-complete.jpg" alt="Finished base installation step" style="width:618px;height:464px;"> <br /><br /> <p>Gnome login appears to use some kind of visual loading bar but with an SSD it goes by so fast I can&rsquo;t really see what it is trying to indicate. Did I mention how fast these old single core Pentium systems can feel with solid state storage and fiber connectivity?</p> <image src="https://wrongthink.link/sarge-gnome-greeter.jpg" alt="Gnome login screen of antiquity" style="width:618px;height:464px;"> <br /><br /> <h1 id="impressions-of-sarge">Impressions of Sarge</h1> <p>Gnome DE 2.8 (Version 64 according to the package manager) feels very much like LXDE in its menu structure, modularity and snappiness. The thing <em>looks</em> like an interface from the early 00s, perhaps even the late 90s. I appreciate it as a time capsule, but probably would have found it an obstacle to endure had I been using Debian back in the day.</p> <p>Theming options has the <a href="https://web.archive.org/web/20040623205841/http://art.gnome.org/themes/gtk2/?page=4&amp;sort_by=1&amp;thumbnails_per_page=12">&ldquo;Gorilla&rdquo; GTK theme</a> which I find to be so very archetypically 00&rsquo;s in its aesthetics. A shame that we don&rsquo;t build UIs to look like that today.</p> <figure><img src="https://wrongthink.link/sarge-startinginfo.png"><figcaption> <h4>Vintage Gnome, in all its glory.</h4> </figcaption> </figure> <p>I see that the Debian desktop environment metapackage even back then supplies a bunch of default programs including some familiar and unfamiliar today; Synaptic, Eye of Gnome, GIMP, Inkscape, file-roller, OpenOffice and several dozen casual games. Debian gets points for consistency.</p> <p>I was rather surprised to see several familiar programs had existed <em>as far back as 2005</em>.</p> <h2 id="surprise-cameos">Surprise cameos:</h2> <ul> <li>ffmpeg</li> <li>clamav</li> <li>chkrootkit</li> <li>anthy</li> <li>blender</li> <li>cryptsetup</li> <li>moc</li> <li>flightgear</li> <li>git</li> </ul> <p>In fact, <a href="https://www.tomshardware.com/software/git-turns-20-as-we-celebrate-decades-of-open-source-software-distribution">git is 20 years old as of this month</a>! I went ahead and installed most of them to make the place feel a little less alien. The <a href="https://debian-handbook.info/browse/stable/sect.apt-get.html">apt command hadn&rsquo;t been introduced yet</a> so cli package management needs to be handled specifically through apt-get:</p> <pre tabindex="0"><code>sudo apt-get install ffmpeg mozilla-firefox lynx chkrootkit vlc evince clamav moc rsync lm-sensors, xfonts-intl-japanese </code></pre><p>Which fixed names of some test files that I copied to the drive. Gnome 2.8 apparently needs you to log out and back in for newly installed program shortcuts to appear in Gnome menus.</p> <p>The mozilla-firefox package (v1.0!) is a separate web browser package from mozilla. It even has rudimentary extension support. <a href="https://web.archive.org/web/20250425010015/https://www.askjeeves.com/">AskJeeves</a> is one of the default search engine options in Mozilla. That&rsquo;s a real throwback! And Mozilla had supported SOCKS proxying as far back as 2005. In fact, their proxy settings page has hardly changed since then. Neat.</p> <figure><img src="https://wrongthink.link/sarge-mozilla-firefox.png"> </figure> <p>It can be seen where priorities were very different back then. The Mozilla web browser had a big “Print page” button along the top bar. And a toggle icon at the bottom for disconnecting from the web (taking Mozilla browser offline). The about:config settings page is a thing in old Mozilla, and some settings were still pointing to netscape.com as of Mozilla 1.7.8, exposing its true <a href="https://www.mozilla.org/en-US/about/history/">heritage</a>.</p> <figure><img src="https://wrongthink.link/sarge-mozilla-web.png"><figcaption> <h4>Only certain sites that negotiate very old SSL cipher sets can be loaded over HTTPS</h4> </figcaption> </figure> <p>I devised a few files to test on each version of Debian.</p> <table> <thead> <tr> <th>Filetype</th> <th>Functionality</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>Plaintext</td> <td>✔</td> <td>gedit 2.8.3</td> </tr> <tr> <td>ODT Document</td> <td>🗷</td> <td>Openoffice 1.1 (Test document created in LibreOffice 7.4)</td> </tr> <tr> <td>PNG image</td> <td>✔</td> <td>Eye of Gnome 2.8.2</td> </tr> <tr> <td>Animated GIF</td> <td>🗷</td> <td>Eye of Gnome 2.8.2</td> </tr> <tr> <td>MP3 Audio</td> <td>?</td> <td>Totem 0.100 (Decodes but no audio out)</td> </tr> <tr> <td>OGG Audio</td> <td>?</td> <td>Totem 0.100 (Decodes but no audio out)</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;codec &lsquo;hev1&rsquo; not handled&rdquo; Totem 0.100</td> </tr> <tr> <td>MP4 Video</td> <td>🗷</td> <td>&ldquo;no suitable decoder module for fourcc &lsquo;hev1&rsquo;&rdquo; VLC 0.8.2</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;no plugin to handle webm&rdquo; Totem 0.100</td> </tr> <tr> <td>Webm Video</td> <td>🗷</td> <td>&ldquo;no suitable module&hellip;&rdquo; VLC 0.8.2</td> </tr> <tr> <td>Web</td> <td>?</td> <td>&ldquo;Mozilla and <a href="https://www.mozilla.org">www.mozilla.org</a> cannot communicate securely because they have no common encryption algorithms.&rdquo; But other sites, such as <a href="https://www.example.org">www.example.org</a> load and render okay.</td> </tr> </tbody> </table> <p>Okay, so file standards from the future cannot be read, big surprise. How about something a little more fun? 3D games? <a href="https://tracker.debian.org/pkg/tuxkart">TuxKart</a>:</p> <figure><img src="https://wrongthink.link/sarge-tuxkart.png"> </figure> <p>It runs. And it runs better than it probably had on real spinning platter machines from back in the day. But damn does vintage TuxKart <em>feel</em> like some individual&rsquo;s home grown project. It&rsquo;s kind of charming, actually. I can envision my younger self having tried Debian Sarge but probably later caving to the allure of <a href="https://wrongthink.link/posts/pick-up-the-gamepad">games</a> beckoning me back to XP. Or maybe the novelty of such an exotic system would have sustained my interest.</p> <figure><img src="https://wrongthink.link/sarge-resources.png"><figcaption> <h4>I wonder if this SSD being mapped &#39;hdX&#39; is going to become a problem later...</h4> </figcaption> </figure> <h1 id="fun-factoids">Fun Factoids</h1> <p>Even though <a href="https://web.archive.org/web/20080729150429/http://www.debian.org/News/2007/20070408">amd64 ISA hadn&rsquo;t been a release target until Etch</a>, Sarge had an <a href="https://tracker.debian.org/pkg/amd64-libs">amd64-libs</a> package. Shared libraries for x86_64 systems.</p> <p>glxinfo - Mesa 4.0.4 with OpenGL 1.2</p> <p>The Adwaita icon set has hardly changed in the last <strong>twenty</strong> years!</p> <p><a href="https://tracker.debian.org/pkg/aolserver">aolserver</a> package. Yes, <em>that</em> <a href="https://web.archive.org/web/19961220154856/http://www.aol.com/">AOL</a>.</p> <p>PC speaker chirps on greeter login</p> <audio controls> <source src="https://wrongthink.link/jurassic-park.ogg"> </audio> <h1 id="outstanding-issues">Outstanding Issues</h1> <p>SSH</p> <blockquote> <p>&ldquo;Unable to negotiate with XX.XX.XX.XX port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1&rdquo;</p> </blockquote> <p>SHA1, yikes. I shortly disabled the ssh daemon, for that and for other reasons.</p> <p>X Display Server<br> The X server on this installation cannot set the display to anything above 800x600 @ 73Hz so it doesn&rsquo;t make use of the display&rsquo;s 16:9 aspect ratio. But it works, with glxgears reporting a healthy 455 FPS and functional 3D animated screen savers. <a href="https://web.archive.org/web/20070921083533/http://www.softpedia.com/get/Desktop-Enhancements/Screensavers/Future-City-3D-Screensaver.shtml">Those also take me back</a>.</p> <p>Networking<br> Despite being on a dual stack network, ifconfig reports the system only obtains IPv4 addressing.</p> <p>But the focus of this undertaking is <em>not</em> on resolving issues in ancient Debian releases - back to <a href="https://wrongthink.link/posts/debian-upgrade-marathon-etch/"><strong>up</strong>grading</a>!</p> In Favor of Plunder https://wrongthink.link/posts/in-favor-of-plunder/ Tue, 22 Apr 2025 19:27:21 -0400 https://wrongthink.link/posts/in-favor-of-plunder/ <p>There are times when it becomes necessary to unfurl the sails and set to sea in search of spoils. Nowhere is it more poignant than when a piece of media has been made unavailable to your platform. And those rocking Linux often run into such aggrivation. Even more so when the underlying hardware is anything other than x86[_64] or ARM.</p> <p>Say you&rsquo;ve resolved to experience a game. The weaker willed might reach for the <a href="https://www.winehq.org">WINE</a> bottle, or the more adventerous look to <a href="https://infogalactic.com/info/List_of_game_engine_recreations">engine reimplementations</a> or full decomp ports. But the game assets still need to be acquired from an original copy. Do you pay the original publisher who had given the world a huge middle finger by releasing a proprietary platform-locked game? *<em>hearty swashbuckling laughter</em> No, we weigh anchor and ready the cannons!</p> <figure><img src="https://wrongthink.link/spoils-in-the-hold.jpg" alt="Pirate ship sails over sea of data"> </figure> <p>Media relinquishes any expectation to <em>not</em> be pirated when;</p> <p>A) It is encumbered with DRM (Digital Restrictions Management)<br> B) It is made arbitrarily unavailable, such as by geographic region locking<br> C) It uses the content as a vehicle to <a href="https://wrongthink.link/posts/advertising-cancer-on-society/">advertise</a> or proseletyse (ffs, never <strong>pay</strong> for propaganda)<br> D) It practices CaaH (<a href="https://wrongthink.link/posts/content-as-a-hostage/">Content as a Hostage</a>)</p> <p>By paying for such content, one financially incentivises these bad behaviors. A vote for wrongdoing. The fact that piracy is an option gives average folks a stronger footing to say &ldquo;Your product must respect me in X, Y and Z basic ways. Only then will I consider making a purchase.&rdquo; In this way, it can be a form of protest.</p> <p>Content piracy even benefits normies (yes, the same ones who will hastily jump down your throat for daring to acquire a copy of that one movie where stranded starfighter pilots share a surprise pregnancy). It acts as a sort of check and balance wherein if publishers push too hard they run up against customer attrition, bleeding the segment of their customer base who are aware that there is even a choice. The prospects of going the extra mile to find bootleg media becomes more palatable as the costs associated with officially accessing the same media endlessly ratchets upward. So really, normies should be <em>thanking</em> their dastardly pirate neighbors with whom they share the net.</p> <p>Content piracy benefits preservation efforts, with many works having been saved thanks to cracking, dumping and filesharing efforts. I&rsquo;ve recently been impressed with the momentum of <a href="https://decomp.dev">videogame decompilations</a> and their subsequent PC ports. Emulation is itself respectible, but can often feel a bit like conducting a long distance relationship. Running a title natively on your hardware skips the often inefficient emulation process. And having the source code usually means that it can be built and run just about anywhere.</p> <p>The definition of piracy appears to be expanding. One recent development I was surprised to see is that folks are now equating the usage of ad blockers to content piracy. I&rsquo;d never considered these to be under the same umbrella, but I suppose I can see their relation. In that case, call me Captain Theftbeard because <a href="https://wrongthink.link/posts/what-web-looks-like-without-blockers/">the web without an ad blocker</a> is simply unusable for any sane person.</p> <p>You see, digital piracy isn&rsquo;t just about accessing media when you&rsquo;re broke, or about preserving works, or even about convenience. It also plays a key role in keeping the &ldquo;own nothing and be happy&rdquo; incumbents from running amok.</p> <video width=30% controls> <source src="https://wrongthink.link/you-will-own-nothing.webm" type="video/webm"> </video><br /><br /> <p>They hate piracy because it equalizes the power dynamic between publishers and audiences.</p> Hardened File Backup Routine https://wrongthink.link/posts/hardened-backup-routine/ Thu, 27 Mar 2025 11:02:33 -0400 https://wrongthink.link/posts/hardened-backup-routine/ <p>One overlooked aspect of data security is <em>availability</em>. If one cannot guarantee the ability to access information, particularly following data damage or loss, one does not have <em>security</em>. Another major component of a good backup system is <em>simplicity</em>. There are hundreds of programs that purport to solve the issue of file backup. But I&rsquo;m weary of such programs. Who maintains them? If <a href="https://xkcd.com/2347/">some guy in Nebraska</a> passes away, will that backup program fall out of maintenance? Do you have the gumption to roll your own? I <a href="https://wrongthink.link/posts/my-own-journey-free-technology">shelved my own overly complicated attempt</a>.</p> <p>You don&rsquo;t want to end up in a situation where files that you backed up years ago using XYZ program cannot easily be read or restored by the current year version, such as because the way it compresses or encrypts files having changed since. You also want some certainty that if you&rsquo;re locked away in a madhouse for questioning the JFK assassination, that your backup files are there, waiting for you when the institution returns your belongings from holding.</p> <image src="https://wrongthink.link/drives-and-cables.jpg" alt="Drives and cables" style="width:773px;height:498px;"> <br /><br /> <p>It has taken me several reimaginings of my backup system before evolving it into what it is today. A bit of history, starting with me doing things <em>the wrong way</em>:</p> <p>When I was in my adolescence, my entire &ldquo;backup solution&rdquo; was simply to drag and drop files in Windows XP file explorer from my internal drive to a 120GB external hard drive at the other end of a USB 2.0 cable. Complete with the little animated papers flying between folders on the file transfer dialogue. As scrappy as it sounds, such a basic practice remains more forward thinking than keeping no backup at all. Something which my time in computer repair informed me almost <em>nobody</em> does.</p> <p>Once I&rsquo;d become more serious about maintaining a consistent backup of my files, and partially motivated by witnessing data loss from a front row seat, I upgraded to a dual set of external hard drives. They both received simultaneous weekly backups using my DE&rsquo;s file explorer at first but later using automated scripts to do so. That kept me going before finally committing to follow the 3-2-1 backup axiom proper (No, two identical drives and an internal production drive doesn&rsquo;t count).</p> <p>It wasn&rsquo;t until 2018 that I devised the backup routine that I still use to this day.</p> <h1 id="good-file-backup"><em>Good</em> File Backup</h1> <p>First, what makes a <em>good</em> backup? This is my informed opinion, and note that I emphasize <em>file</em> backup since that is not the same as a <em>system</em> backup. A system can be reprovisioned, while irreplaceable personal files cannot be recreated. Hence, I only backup files and some configs. But if you are interested in <em>system</em> backup solutions, I&rsquo;d like to point you over to Dig Deeper&rsquo;s <a href="https://digdeeper.club/articles/backup.xhtml">Backing up and Restoring Operating Systems</a>.</p> <p>A good file backup solution should:</p> <ul> <li>Be as simple as possible.</li> <li>Use cold storage which is seldom connected to any live system.</li> <li>Employ the &ldquo;UNIX way&rdquo; using small, common components together to accomplish a larger sum task.</li> <li>Be encrypted.</li> <li>Obligatory three copies, accross two mediums, with one stored off-premises.</li> </ul> <p>A good file backup solution should <strong>NOT</strong>:</p> <ul> <li>Reside on infrastructure that you don&rsquo;t own and control. Even if you don&rsquo;t care about the inherent freedom and privacy issues posed by remote &ldquo;cloud&rdquo; storage, it still constricts both your storage capacity and your backup speed, as well as your potential to access it.</li> <li>Depend on any utility that stores files in a non-standard way in order to view or retrieve data.</li> </ul> <p>Some backup programs (deja-dup I think it was) offer up options to encrypt files during backup. But I consider this the wrong approach, as the files themselves are the only thing being encrypted, passed off to a non-encrypted volume (presumably). This leaves room for tampering, and relies on the backup program to decide <em>for you</em> how and by what encryption tool the files get encrypted. I find it much more reasonable to simply use full disk encryption with something like <a href="https://tracker.debian.org/pkg/cryptsetup">cryptsetup</a>.</p> <h1 id="provisioning">Provisioning</h1> <p>I recommend procuring three external USB hard drives. They should be a mix of both mechanical and solid state storage, with no two drives sharing the same vendor. Purchase in-person, with cash, <em>ofc</em>.</p> <p>Next setup dm-crypt encrypted volumes on each drive.</p> <pre tabindex="0"><code>cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --use-urandom --verify-passphrase luksFormat /dev/sdX </code></pre><p>AES-XTS-PLAIN64 is recognized as one of the most secure encryption modes available for full disk encryption. Note that 512 bit key size is actually the default when using AES-XTS cryptography, and gets split into two AES-256 bit keys anyway. I only include that switch for historic consistency.</p> <p>Open and mount the new drive (substituting &ldquo;DriveName&rdquo; and &ldquo;VolumeName&rdquo; for your intended naming scheme):</p> <pre tabindex="0"><code>cryptsetup luksOpen /dev/sdX DriveName mkfs.ext4 -L VolumeName /dev/mapper/DriveName cryptsetup luksClose /dev/mapper/DriveName </code></pre><p>Set the new volume as writable by your standard user account.</p> <pre tabindex="0"><code>udisksctl unlock -b /dev/sdX udisksctl mount -b /dev/dm-X chown -R user /media/user/VolumeName chgrp -R user /media/user/VolumeName udisksctl unmount -b /dev/dm-X udisksctl lock -b /dev/sdX </code></pre><p>You may wish to take LUKS header backups, for the off chance that header information gets corrupted or overwritten (or borked by user error):</p> <pre tabindex="0"><code>cryptsetup luksHeaderBackup /dev/sdX --header-backup-file /path/to/destination/luks_header_backup_DriveName </code></pre><p>Each drive should perhaps hold the two other headers for each of its sister devices.</p> <p>Also consider taking a SMART stats read to keep on each drive so that you have something to compare future attributes against.</p> <pre tabindex="0"><code>smartctl -a /media/user/Backup /media/user/Backup/smartstats.txt </code></pre><h1 id="backup-script">Backup Script</h1> <p>rsync meets all the criteria for an established, well-maintained tool. Any script using it does not need to be complex, and in fact shouldn&rsquo;t be. This is a genericized version of what I run:</p> <pre tabindex="0"><code>#!/bin/bash rsync -aEvv --delete-delay --progress --files-from=&#34;$PWD/file-list.txt&#34; &#34;$HOME&#34; &#34;/media/user/Backup/Files/&#34; </code></pre><p>I include &ndash;delete-delay because I&rsquo;m rather paranoid about files no longer in the source being pruned from the backup before the full transfer has finished, just in case something goes wrong.</p> <p>The &ndash;files-from= switch is an easy way to define a list of directories to include without needing to resort to writing for loops. I store my file list among the host files so that independent copies don&rsquo;t need to be individually maintained across the multiple backup drives. It can look something like this:</p> <pre tabindex="0"><code>Documents Downloads Music Pictures Videos .cache .config .gnupg .local .mozilla .ssh </code></pre><p>Those willing to poke around the <a href="https://wrongthink.link/tags/guides/">guides</a> section may also infer including additional things like .newsboat. Everyone&rsquo;s backup list will look different, but don&rsquo;t forget about those hidden directories!</p> <pre tabindex="0"><code>chmod +x backup.sh </code></pre><p>I recommend keeping the backup script on the host (just like the file list) to avoid accidentally forgetting to distribute changes out to multiple copies.</p> <p>rsync also includes a nifty feature to write logs with the &ndash;log-file= switch. That way you can keep a historical record of changes made to the backup file set.</p> <h1 id="procedure">Procedure</h1> <p>What I do is take a backup to one drive each week, rotating it back into storage and pushing the oldest one off premises. If you&rsquo;re not an enemy of the state, the off-premise location can be something like a lock box at a bank. Otherwise it can assuredly go into that capsule buried next to the stone wall in the woods.</p> <p>Each drive will see roughly eighteen backups in a year. And at year&rsquo;s end, I like to compress all of the log files into a tarball for posterity.</p> <pre tabindex="0"><code>tar --exclude=*.tar.gz -czvf Logs-2024.tar.gz *2024*.log </code></pre><p>The naming convention used for your logs will dictate how that last argument of the tar command is formulated. My backup encodes the year it was taken into the filename so wildcard&rsquo;ing like that is reliable enough.</p> <p>Individual disks should be replaced after about five years. Even though they don&rsquo;t see a whole lot of power on hours, being backup drives, they receive tons of writes. Taking a diff of the SMART stats from the beginning of a drive&rsquo;s deployment to the end with its retirement only confirms this.</p> <p>Lastly, consider physically differentiating the drives in some way to simplify their rotation. Otherwise you need to resort to checking the last backup date to confirm you&rsquo;re indeed updating the least recent of the bunch.</p> <p>It&rsquo;s not sexy. It doesn&rsquo;t use the latest tech trends. It requires diligent habit. And that&rsquo;s the <em>point</em>. Backups are not something where you want to be trying new and novel tricks. It calls for slow and steady iteration over sweeping changes.</p> Hardened Application Firewall https://wrongthink.link/posts/hardened-application-firewall/ Wed, 19 Feb 2025 07:45:30 -0400 https://wrongthink.link/posts/hardened-application-firewall/ <p>Network firewalls for the Linuxes have historically been application-blind. Which is a point of shame for a platform prided on security and privacy, especially considering that proprietary competitor Windows has had per-program discriminating firewalling so much sooner. A while back, I&rsquo;d found <a href="https://wrongthink.link/posts/opensnitch-for-entire-desktop/">OpenSnitch to be functionally ready</a>. After using it on my daily driver for several months, I&rsquo;m finally comfortable sharing some operational practices.</p> <h1 id="setting-up-for-first-use">Setting Up For First Use</h1> <p>After pulling the <em>opensnitch</em> package down from the repository, edit the file at /etc/opensnitchd/default-config.json and set nftables as the default:</p> <pre tabindex="0"><code>&#34;Firewall&#34; : &#34;nftables&#34;, </code></pre><p>You will probably want to <a href="https://github.com/evilsocket/opensnitch/issues/435#issuecomment-862313037">add an nftables rule to allow ICMP traffic for ping functionality</a>.</p> <pre tabindex="0"><code>nft insert rule mangle output icmp type echo-request accept </code></pre><p>Using OpenSnitch&rsquo;s UI, create a new rule to permit local loopback traffic. Its entry should start with zeroes to ensure it gets parsed first.</p> <br /> <image src="https://wrongthink.link/opensnitch-rule-localhost.png" alt="Local loopback rules in OpenSnitch UI" style="width:446px;height:507px;"> <br /><br /> <p>That is,</p> <blockquote> <p>Name: &ldquo;000-allow-always-localhost&rdquo;<br> Enable 🗹<br> Action: Allow<br> Duration: Always<br> (Tab) Network<br> To this IP/Network: ^(127\.0\.0\.1|::1)$</p> </blockquote> <p>OpenSnitch can also <a href="https://github.com/evilsocket/opensnitch/wiki/block-lists#lists-of-domains-with-regular-expressions">filter by regular expressions</a> for blocking domains based on predictable strings that <em>indicate</em> intent to use for tracking or adertising. This is easily done through a blocklist.</p> <pre tabindex="0"><code>wget --https-only https://github.com/mmotti/pihole-regex/raw/refs/heads/master/regex.list </code></pre><p>Create a rule that points to this regex.list with:</p> <blockquote> <p>Name: &ldquo;000-block-regex&rdquo;<br> Enable 🗹<br> Priority rule 🗹<br> Action: Reject Duration: Always<br> (Tab) List of domains/IPs &gt; To this list of domains (Regular expressions): /path/to/regex.list</p> </blockquote> <br /> <image src="https://wrongthink.link/opensnitch-rule-regex.png" alt="Regular expression based blocklist rules in OpenSnitch UI" style="width:446px;height:507px;"> <br /><br /> <p>All that heavy lifting your ad blocker has been doing can be offloaded (or duplicated) to OpenSnitch, as it can also <a href="https://github.com/evilsocket/opensnitch/wiki/block-lists">filter by static lists of domains</a>. The project unofficially supplies a <a href="https://raw.githubusercontent.com/evilsocket/opensnitch/master/utils/scripts/ads/update_adlists.sh">ready-made script</a> for updating a local filter list.</p> <pre tabindex="0"><code>wget --https-only https://raw.githubusercontent.com/evilsocket/opensnitch/master/utils/scripts/ads/update_adlists.sh </code></pre><p>Change the line &ldquo;adsDir=&quot;/etc/opensnitchd/blocklists/domains/&rdquo; to instead point to the path for your own blocklists directory. Then create a cron or anacron job to run update_adlists.sh periodically.</p> <p>Now, like with the regular expressions entry, we want to add another priority rule for domains blocking:</p> <blockquote> <p>Name: &ldquo;000-block-domains&rdquo;<br> Enable 🗹<br> Priority rule 🗹<br> Action: Reject<br> Duration: Always<br> (Tab) List of domains/IPs &gt; To this list of domains: /path/to/blocklists/directory</p> </blockquote> <p>Now set the global default action in OpenSnitch&rsquo;s settings. In Settings &gt; Pop-ups tab &gt; Default options:</p> <blockquote> <p>Action: deny<br> Duration: 1h (1 Hour)<br> Default target: by executable<br> Show advanced view by default ☐<br> Filter connections also by: Destination IP 🗹<br> User ID ☐<br> Destination port ☐</p> </blockquote> <br /> <image src="https://wrongthink.link/opensnitch-global-defaults.png" alt="OpenSnitch customized default settings" style="width:506px;height:429px;"> <br /><br /> <p>The rationale for these defaults are explained earlier in <a href="https://wrongthink.link/posts/opensnitch-for-entire-desktop/">OpenSnitch, &ldquo;uMatrix&rdquo; for your Entire Desktop</a>.</p> <h1 id="permitting-common-programs">Permitting Common Programs</h1> <p>Now whenever your system attempts to initiate a new network connection to some resource for the first time, a dialog prompt will check with you whether to allow or deny. This can generate many prompts at first, so you will need to whitelist certain common programs with the <em>always</em> duration.</p> <p>But there are two main categories of programs that necessitate different classes of rules.</p> <ol> <li>Connects to destination whose domain(s) is already known</li> <li>Connects to destinations whose domains are not always known</li> </ol> <p><em>Most</em> programs fall into the first class, while others such as <em>Tor</em>, <em>Mumble</em> or DNSutils&rsquo; <em>dig</em> fall into the second class. So for <em>most</em> programs, you should just be able to select &ldquo;Allow&rdquo; on the pop-up dialog. But for something like dnsutils&rsquo; <em>dig</em>, run a lookup to initiate an OpenSnitch prompt and use it to create a permanent rule. But instead of using the global default &ldquo;To this host&rdquo;, select &ldquo;To this port&rdquo; and append &ldquo;53&rdquo;:</p> <blockquote> <p>Name: allow-always-usr-bin-dig<br> Enable 🗹<br> Action: Allow<br> Duration: Always<br> (Tab) Network<br> To this port: 53</p> </blockquote> <br /> <image src="https://wrongthink.link/opensnitch-rule-dig.png" alt="OpenSnitch rule for programs whose destination host is unknown" style="width:446px;height:507px;"> <br /><br /> <p>Some utilities which you may want to create permanent Allow rules for include:</p> <ul> <li>Package manager</li> <li>DNS resolver</li> <li>NTP daemon</li> <li>DHCP client</li> <li>Tor</li> <li>Clam AV Freshclam daemon</li> <li>RSS reader</li> </ul> <p>Web browsers are best treated specially, with permitting rules on a per-site basis. For example, you instruct Firefox to visit a website which you will only view for a few minutes and probably never return to again. With our default global settings, that is as easy as clicking &ldquo;Allow&rdquo;. And hopefully you&rsquo;re also using something like uMatrix to limit third party domains, otherwise you might get clobbered with dialogs. Sites that you cherish and visit frequently are worth adding permanent rules for by first scroll-wheeling or hotkeying down the Duration dropdown to &ldquo;forever&rdquo;.</p> <br /> <image src="https://wrongthink.link/opensnitch-dialog-firefox.png" alt="OpenSnitch popup dialog for Firefox" style="width:421px;height:282px;"> <br /><br /> <p>OpenSnitch complements browser extension web firewalls extremely well.</p> <h1 id="exception-denying">Exception Denying</h1> <p>An unintended strength of OpenSnitch is its capacity to preemptively block connections with high specificity. For example, denying connections to <strong>www</strong>.bitchute.com but permitting connections to <strong>old</strong>.bitchute.com. That way, mistyping addresses or following other people&rsquo;s links doesn&rsquo;t land you on a page you wish not to see. I have many permanent reject rules configured for connections that I don&rsquo;t want applications to make. A few examples:</p> <ul> <li>Reject connections to archive.today tracking pixel subdomains: Reject: To this host: <code>.*\.pixel.archive.*</code></li> <li>Reject <em>all</em> Firefox connections to <code>www.google.com</code> and <code>www.youtube.com</code>.</li> <li>Reject OpenShot attempting to phone home to <code>www.openshot.org</code> for updates (even though updates are already handled through apt!)</li> </ul> <p>It is important that you select the Reject action for such instances, rather than the Deny action. Otherwise it will leave the program waiting for timeout. It shouldn&rsquo;t matter that you&rsquo;re sending a &ldquo;somebody is home&rdquo; tipoff, these are <em>outbound</em> connections being intercepted.</p> <p>Plastered over the OpenSnitch documentation are warnings not to broadly allow programs parsed by interpreters (e.g. Python) to be permitted wholesale, as it would allow <em>any</em> other python program to also access network. But since we set global defaults earlier to discriminate by destination IP as well as to default 1h (1 Hour) for temporary rules, permitting one interpreted program will not universally allow others of that same langauge to access network with impunity.</p> <h1 id="common-syntax-shortcuts">Common Syntax Shortcuts</h1> <p>I often find that permitting domains <em>and</em> its subdomains in one rule is best handled with <code>.*\.example.com|example.com</code>. Simply using only the first party domain on its own will fail to permit any subdomains.</p> <br /> <image src="https://wrongthink.link/opensnitch-rules-subdomains.png" alt="Example of inluding subdomains in one rule" style="width:446px;height:507px;"> <br /><br /> <p>Specifying multiple ports, such as for a program like Tor, is easily handled through passing a <code>^(9001|9050|443|8443|9443)$</code> regular expression to the &ldquo;To this port&rdquo; field.</p> <h1 id="becoming-second-nature">Becoming Second Nature</h1> <p>Once your common programs from your regular regiment have all been accounted for, which could take up to a few days, then OpenSnitch settles neatly into the background. Installing a new networked program, or visiting a new interactive website will occasionally have you wrangling some new permissions. But it will by then be a familiar process.</p> <p>Running a system wide application-aware firewall alongside browser extension web firewalls makes for an incredible defense-in-depth approach. I hope that OpenSnitch continues to mature, but am also keeping some fallback solutions close by just in case. Originally I was investigating using <a href="https://apparmor.net/">AppArmor</a> for this. But as I poured over the documentation it became increasingly clear that AppArmor is geared more toward packagers and developers, and not toward end users who need to rapidly allow or disallow permissions on the fly. Not to mention AppArmor is still entirely network access allow or disallowed, with no granularity beyond that.</p> New Year, New Security Measures: DNSSEC Deployed https://wrongthink.link/posts/dnssec-deployed/ Tue, 21 Jan 2025 23:20:06 -0500 https://wrongthink.link/posts/dnssec-deployed/ <p>While the internet has been taking well to IPv6 deployment, the same <a href="https://usgv6-deploymon.nist.gov/snap-all.html">cannot be said for the domain name system&rsquo;s authenticity mechanism</a>, DNSSEC. It is currently only available on somewhere just south of ten percent of all registered domains. And, being the &lsquo;<em>be the change you wish to see</em>&rsquo; kind of guy that I am, I decided to roll out DNS authentication for this site. Not the least of which because I do supply downloads containing executable software, as simple they may be.</p> <p>Those running <a href="https://wrongthink.link/posts/hardened-dns">anonymized DNS resolution</a> may not be able to take advantage of this, but it is there for the more surface level <em>dnsmasq</em> and <em>unbound</em> configurations (or wherever else DNSSEC authentication may be possible). I <em>was</em> also intending to disable information leaks through OCSP stapling, and delightedly found it already disabled in my configs.</p> <pre tabindex="0"><code>OCSP response: no response sent </code></pre><p>Anyway, it seems <a href="https://letsencrypt.org/2024/12/05/ending-ocsp/">Let&rsquo;s Encrypt already has us covered</a> this year even if I hadn&rsquo;t.</p> <blockquote> <p>We plan to end support for OCSP primarily because it represents a considerable risk to privacy on the Internet. When someone visits a website using a browser or other software that checks for certificate revocation via OCSP, the Certificate Authority (CA) operating the OCSP responder immediately becomes aware of which website is being visited from that visitor’s particular IP address.</p> </blockquote> <p>Through 2025, solutions will continue to be a focus at Wronthink over lambasting <a href="https://wrongthink.link/tags/proprietary/">enshittified technologies</a>, a temptation I find almost too difficult to resist. Not to worry, those who enjoy the more mean spirited content, no doubt 2025 will bring a new crop of <a href="https://www.gnu.org/proprietary/all.html">proprietary idiocy</a> at which to point and laugh derisively.</p> Designating Digital Rendezvous Points https://wrongthink.link/posts/digital-rendezvous-point/ Wed, 18 Dec 2024 01:01:16 -0500 https://wrongthink.link/posts/digital-rendezvous-point/ <h2 id="problem">Problem:</h2> <p>You deployed a remote system that you access at a site which you may not physically visit for weeks, months or even years at a time. But it does <strong>not</strong> have a static IP. An unexpectedly changed public IP address essentially puts us into the same dilemma as a parent losing track of a child. You want to preselect a known location where both parties will rendezvous in the event of separation.</p> <image src="https://wrongthink.link/emergency-assembly-point.png" alt="Designated meeting area" style="width:300px;height:300px;"> <br /><br /> <h2 id="the-normal-solution">The &ldquo;normal&rdquo; solution:</h2> <p>A corporate IT professional might be quick to recommend <a href="https://infogalactic.com/info/Dynamic_dns">dynamic DNS</a>, or to setup a job that emails the administrator (you) upon network changes. But these things often require some form of rent payment, increase complexity and inform intermediaries of things we&rsquo;d rather they not see (especially if we&rsquo;re freeloading on their services, more on that later).</p> <h2 id="the-constraints-at-play">The constraints at play:</h2> <ul> <li>Being a private remote system that is only used by you, the IP address is sensitive information. Assigning a DNS record would expose this address.</li> <li>Configuring a dedicated email account for the remote system&rsquo;s mail transfer agent brings problems - using an established email provider either costs money or complicates/prohibits the use of mail clients, while <a href="https://digdeeper.club/articles/email.xhtml">a smaller email service cannot be relied upon to continue its own existence</a>.</li> <li>Use as few intermediaries as possible. Email would often mean two points of exchange between you and the remote system, unless both use the same email provider.</li> <li>Your local public IP also changes and so cannot be relied on for remote systems to reach out to automatically.</li> <li>Avoid sending alerts to the predetermined location in plain text. Message encryption is a must.</li> <li>Avoid creating new monthly bills to be paid.</li> </ul> <p>With all that in mind, we&rsquo;re going to do things the <em>wrongthink way</em>. And one of the perfect places to be used as a rendezvous point <a href="https://fosstodon.org">is any major Mastodon instance</a>. Even though the microblogging format <a href="https://wrongthink.link/posts/flavors-of-the-fediverse/">promotes idiotic human exchanges</a>, it is the perfect place for short message passing by automated accounts. First, let&rsquo;s setup a Mastodon bot:</p> <ol> <li> <p>Create a profile at any major Mastodon instance, sign in and navigate to the &ldquo;&lt;development&gt;&rdquo; tag in profile settings (bottem left as of 2024). The direct URL should be something like: <a href="https://fosstodon.org/settings/applications">https://fosstodon.org/settings/applications</a></p> </li> <li> <p>Click the blue &ldquo;New Application&rdquo; button. Or use the direct URL: <a href="https://fosstodon.org/settings/applications/new">https://fosstodon.org/settings/applications/new</a></p> </li> <li> <p>Give the application a name and check off the &ldquo;write:statuses&rdquo; option box.</p> </li> <li> <p>Submit the form and return to your applications page. Then open the newly created profile and note the access token &ldquo;Your access token: jY8tpxFTkQ8NZyaOy3rCaopKl2gKHZ51boVXBTGwUdh&rdquo;.</p> </li> </ol> <p>The account is now ready to receive posts programmatically from cURL.</p> <pre tabindex="0"><code>curl https://fosstodon.org/api/v1/statuses -H &#39;Authorization: Bearer jY8tpxFTkQ8NZyaOy3rCaopKl2gKHZ51boVXBTGwUdh&#39; -F &#39;status=This post was made using the Mastodon API.&#39; </code></pre><p>The Authorization field is where you supply the access token that <em>only you should ever see</em>.</p> <p>Next, we want to write a script that checks the remote host&rsquo;s public IP address, compares it to the last known state and sends an update over Mastodon with any new IP address. Here is the script I devised (Requires <em>curl</em>, <em>gpg</em> and <em>dnsutils</em> be installed):</p> <pre tabindex="0"><code>main(){ if [ ! -f /home/$USER/known.txt ]; then getip echo &#34;Debug: Creating record!&#34; writeip else getip if [ &#34;$current&#34; != &#34;$(cat /home/$USER/known.txt)&#34; ]; then echo &#34;Debug: IP address has changed!&#34; message=$(echo &#34;IP address has changed to $current&#34; | gpg --batch --passphrase my-super-secure-passphrase --symmetric --armor) echo &#34;Debug: $message&#34; curl https://fosstodon.org/api/v1/statuses -H &#39;Authorization: Bearer jY8tpxFTkQ8NZyaOy3rCaopKl2gKHZ51boVXBTGwUdh&#39; -F &#34;status=$message&#34; writeip else echo &#34;Debug: IP address has not changed.&#34; fi fi exit 0 } getip(){ current=$(dig -4 +short myip.opendns.com @resolver1.opendns.com) if [ -n &#34;$current&#34; ]; then echo &#34;Debug: Got an IP address from resolver successfully.&#34; else echo &#34;Debug: No IP address returned from resolver. Is network down?&#34; exit 1 fi } writeip(){ echo &#34;$current&#34; &gt; /home/$USER/known.txt } main </code></pre><p>Notably, it uses gpg to symmetrically encrypt the actual message containing the IP address. That way other Mastodon users will only see some block of indecipherable text in the toot:</p> <blockquote> <p>&mdash;&ndash;BEGIN PGP MESSAGE&mdash;&ndash;</p> <p>jA0ECQMCphzIrBCs1iz60lwBGFccBsQUg5fkpUeovno0ZUsXW8U3xlBYRGtWroAp<br> zRFO5km97WAtJ0EXgbOVvmllz+PdgwkqCOtMLnjSm07KvD+rOsniMCa+GM/cWV+e<br> 037uU25kyWOTDufN6w==<br> =ZvZP<br> &mdash;&ndash;END PGP MESSAGE&mdash;&ndash;</p> </blockquote> <p>The reason we don&rsquo;t use asymmetric keys is that it can inform observers of target email addresses (which is fine in a normal email exchange, which gpg is intended for). So remember to note whichever passphrase you write into the script somewhere on your side so that you can later decrypt this message passing when the need arises.</p> <p>If it is the first time being run, this script will create a known record of the public IP address at the user&rsquo;s $HOME. Changed IPs update this known record so that the Mastodon bot doesn&rsquo;t end up spamming the same message.</p> <p>Simply point cron to the script and setup a daily job. As a remote system, we can assume it will be powered on 24/7, thus no need for anacron.</p> <pre tabindex="0"><code>crontab -e </code></pre><pre tabindex="0"><code>15 12 * * * /home/name/address-watcher.sh </code></pre><p>Now, on your end, whenever you find that you can no longer reach the target system, the first place to check is that public Mastodon bot. Has it tooted any PGP messages?</p> <video width=50% controls> <source src="https://wrongthink.link/all-aircraft-report.webm" type="video/webm"> </video> Your Linux Devices Are Trying to Talk to You, But Are You Listening? https://wrongthink.link/posts/but-are-you-listening/ Tue, 10 Dec 2024 20:30:40 -0500 https://wrongthink.link/posts/but-are-you-listening/ <p>For the longest time, I had unknowingly been reinventing the wheel. Cobbling together scripts and timers to notify of administrative concerns to the currently active desktop session. I wanted graphical dialogues, because that is what I&rsquo;d grown up with. But how terribly uninformative it is for a dialog to appear that essentially says &ldquo;Something is wrong, you should probably look into it&rdquo;.</p> <video width=50% controls> <source src="https://wrongthink.link/ignoring-warnings.webm" type="video/webm"> </video> <p><i>/var/log trying to tell you for the 1,435th time that you're running out of disk space</i></p> <p>So many daemonized programs define arguments for sending mail when an issue arises and, foolish me, assuming that those options always meant <em>email</em>, never investigated any further. While it is true that with a <a href="https://www.exim.org/">mail transfer agent</a> such notifications can be sent over the network to an email address which makes sense in a server environment, I always thought it a bit silly for an end user device. But what I didn&rsquo;t realize was that user mail agents with local mailboxes were ever an option.</p> <p>The common user mail agents, from my poking around Debian dependencies, are either <a href="https://tracker.debian.org/pkg/bsd-mailx">bsd-mailx</a> or <a href="https://www.gnu.org/software/mailutils/">GNU mailutils</a>. And where bsd-mailx is minimalistic, and in fact <em>only</em> supports local mailboxes, it also lacks features such as scaling to different terminal sizes or complete previous/next navigation. I would recommend mailutils, which can be set as the preferred user mail agent through <em>update-alternatives</em>:</p> <pre tabindex="0"><code>update-alternatives --config mailx </code></pre><p>And select /usr/bin/mail.mailutils.</p> <p>Mailutils can be invoked simply with:</p> <pre tabindex="0"><code>mail </code></pre><p>Some mail commands I&rsquo;ve found useful:</p> <p>z : next window (scroll down)<br> z- : previous window (scroll up)<br> $ : view newest message<br> ^ : view oldest message<br> &lt;number&gt; : view message<br> d&lt;number&gt; : delete message<br> h : reprint message list window<br> n/next : next message<br> p/prev : previous message</p> <p>Without having to lift a finger, stdout of actions invoked by both cron and anacron are sent to the user mailbox at /var/mail/$USER. It produces a chronological, easy to view means of checking system jobs. A lazy administrator could even just view the mailbox with <em>pager /var/mail/$USER</em> but will miss out on the cozy formatting afforded by a proper mail agent.</p> <pre tabindex="0"><code>Return-path: &lt;root@Computer&gt; Envelope-to: root@computer Delivery-date: Thu, 05 Dec 2024 01:52:44 -0500 Received: from root by Computer with local (Exim 4.96) (envelope-from &lt;root@computer&gt;) id 1tJ5jA-000YGN-1M for root@computer; Thu, 05 Dec 2024 01:52:44 -0500 From: Anacron &lt;root@computer&gt; To: root@computer Subject: Anacron job &#39;cron.weekly&#39; on Computer Content-Type: text/plain; charset=UTF-8 Message-Id: &lt;E1tJ5jA-000YGN-1M@Computer&gt; Date: Thu, 05 Dec 2024 01:52:44 -0500 /etc/cron.weekly/opensnitch-adlists: [+] Checking list https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-hosts.txt, urlhaus-filter-hosts.txt [+] downloading new ads list... https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-hosts.txt -&gt; /home/blocklists/domains//urlhaus-filter-hosts.txt (64242, 63842) OK [+] Checking list https://hostfiles.frogeye.fr/multiparty-trackers-hosts.txt, multiparty-trackers-hosts.txt [-] ads list not updated yet: 507760, 507760 - https://hostfiles.frogeye.fr/multiparty-trackers-hosts.txt [+] Checking list https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt, firstparty-trackers-hosts.txt [-] ads list not updated yet: 459805, 459805 - https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt [+] Checking list https://www.github.developerdan.com/hosts/lists/tracking-aggressive-extended.txt, tracking-aggressive-extended.txt [-] ads list not updated yet: 6205307, 6205307 - https://www.github.developerdan.com/hosts/lists/tracking-aggressive-extended.txt [+] Checking list https://adaway.org/hosts.txt, adaway-hosts.txt [-] ads list not updated yet: 243454, 243454 - https://adaway.org/hosts.txt [+] Checking list https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&amp;showintro=0&amp;mimetype=plaintext, yoyo-adservers.txt [!] No content-length header found: https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&amp;showintro=0&amp;mimetype=plaintext [.] Trying with Last-Modidifed [+] downloading new ads list... https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&amp;showintro=0&amp;mimetype=plaintext -&gt; /home/blocklists/domains//yoyo-adservers.txt (94727, ) OK [~] Done </code></pre> <video width=50% controls> <source src="https://wrongthink.link/tegami.webm" type="video/webm"> </video> <p><i>I open my local mail with the same level of enthusiasm as はなちゃん.</i><p> <p>Viewed items will be moved to $HOME/mbox upon close. You can always go back and check your read mail history by passing the mbox as the file to be read:</p> <pre tabindex="0"><code>mail -f mbox </code></pre><p>And often the programs which are not invoked from cron or anacron, such as those on systemd timers, can be configured to send mail when a condition is met. <em>smartd</em>, for example, can be configured to send messages to the local mailbox when some SMART parameter exceeds a safe threshold. Edit /etc/smartd.conf and append <em>-m root</em> into the entry for your hard drive. Which should look something like:</p> <pre tabindex="0"><code>/dev/nvme0 -a -o on -S on -s (S/../.././02) -m root -M exec /usr/share/smartmontools/smartd-runner </code></pre><p>And then restart smartd. You can test that mail notifications are working by temporarily replacing the <em>-M exec</em> argument with <em>-M test</em> and restarting smartd. Then check mail and you should see an entry with the subject &ldquo;SMART error (EmailTest) detected on host:&hellip;&rdquo;.</p> <p>Other programs, whose default anacron entries instruct them to run quietly, may need some additional coaxing to make them talkative. For <em>rkhunter</em>, as one example, edit /etc/rkhunter.conf and uncomment MAIL-ON-WARNING=root. Now when rkhunter identifies suspicious changes, it will be sent to the local mailbox with the subject &ldquo;[rkhunter] Warnings found for Computer&rdquo;.</p> <pre tabindex="0"><code>Return-path: &lt;root@Computer&gt; Envelope-to: root@computer Delivery-date: Sun, 24 Nov 2024 07:48:21 -0500 Received: from root by Computer with local (Exim 4.96) (envelope-from &lt;root@Computer&gt;) id 1tFC2H-0096VI-2m for root@computer; Sun, 24 Nov 2024 07:48:21 -0500 Subject: [rkhunter] Warnings found for Computer To: root@computer User-Agent: mail (GNU Mailutils 3.15) Date: Sun, 24 Nov 2024 07:48:21 -0500 Message-Id: &lt;E1tFC2H-0096VI-2m@Computer&gt; From: root@Computer X-UID: 64 Status: OR Please inspect this machine, because it may be infected. </code></pre><p>All those failed sudo password attempt incident reports to which <a href="https://xkcd.com/838/">everyone likes to joke</a> &ldquo;I <em>AM</em> the administrator&rdquo;? Those also find their way to mailbox entries with &ldquo;*** SECURITY information for Computer ***&rdquo;.</p> <p>Mail logging can be further enhanced with the use of log readers like <a href="https://tracker.debian.org/pkg/logcheck">logcheck</a> or <a href="https://sourceforge.net/projects/logwatch/">logwatch</a>. Logwatch analyzes system log files and mails items of interest (defined by perl script modules) to the user mailbox. Just set <em>Output = mail</em> within /etc/logwatch/conf/logwatch.conf.</p> <p>Lastly, the most important component in all of this is <em>you</em> and your good habit of reviewing mail <em>daily</em>. A log is of no good to anyone if it never gets read. And a system such as this will help bring broken configs to your attention. It already helped me to discover a few hatches needing to be battened down which would have otherwise gone unnoticed.</p> Making a Mint Look-Alike https://wrongthink.link/posts/making-a-mint-look-alike/ Mon, 04 Nov 2024 21:26:06 -0500 https://wrongthink.link/posts/making-a-mint-look-alike/ <p>Linux Mint&rsquo;s greatest strength is its aesthetically coherent GUI whose layout makes it ideal for those who find themselves arriving from a Windows environment. Mint was the distribution on which <a href="https://wrongthink.link/posts/my-own-journey-free-technology/">I first rode into desktop Linux full time</a>, and had been my first choice for no-nonsense deployments to new devices. Especially to those of relatives who had solicited me for guidance. But this usually hassle-free distribution has lately found itself the source of some support woes.</p> <p>Linux Mint is a downstream distribution. Far downstream. For those who might not know, it is based on Ubuntu, which is in turn based on Debian Testing. The Mint team are very good at keeping their distro highly cohesive and well dressed, but recently I&rsquo;ve hit enough minor headaches with it to justify dumping the middlemen to just go straight to the source to dress things up myself. After all, my choice to deploy Linux Mint to the devices of interested relatives was primarily driven by <a href="http://cinnamon.linuxmint.com/">the graphical interface</a>.</p> <h1 id="how-to-configure-a-mint-look-alike">How to configure a Mint look-alike</h1> <image src="https://wrongthink.link/mint-desktop.png" title="Debian disguised as Mint" style="width:662px;height:373px;"> <br /><br /> <p>Install the Debian metapackage <em>cinnamon-core</em>.</p> <p>Acquire and install the core theming packages from <a href="https://packages.linuxmint.com/">packages.linuxmint.com</a>:</p> <ul> <li>mint-themes</li> <li>mint-backgrounds</li> <li>mint-x-icons (dependency for mint-themes)</li> <li>mint-y-icons</li> </ul> <pre tabindex="0"><code>dpkg --install mint-themes mint-backgrounds mint-x-icons mint-y-icons </code></pre><p>Set system fonts to:</p> <pre tabindex="0"><code>gsettings set org.cinnamon.desktop.interface font-name &#39;Ubuntu Regular 10&#39; gsettings set org.nemo.desktop font &#39;Ubuntu Regular 10&#39; gsettings set org.gnome.desktop.interface document-font-name &#39;Sans Regular 10&#39; gsettings set org.gnome.desktop.interface monospace-font-name &#39;DejaVu Sans Mono Book 10&#39; gsettings set org.cinnamon.desktop.wm.preferences titlebar-font &#39;Ubuntu Medium 10&#39; </code></pre><p>(*<em>May require the installation of fonts-ubuntu-title.</em>)</p> <p>Set Mint backgrounds on a rotating timer.</p> <p>Set matching Mint-X or Mint-Y icons and applications themes.</p> <p>The second reason that I used to recommend Mint was for its set-and-forget automatic updating. And while <em>mintupdate</em> is a well designed GUI program, I&rsquo;ve found that almost nobody ever touched it or even knew it was there. So why bother making the automatic update process user facing? Debian&rsquo;s <em>unattended-upgrades</em> package is thus far better suited to task.</p> <pre tabindex="0"><code>apt install unattended-upgrades dpkg-reconfigure unattended-upgrades </code></pre><p>Configure /etc/apt/apt.conf.d/50unattended-upgrades to automatically reboot following upgrades which necessitate it, such as Linux kernel upgrades, by uncommenting:</p> <pre tabindex="0"><code>Unattended-Upgrade::Automatic-Reboot &#34;true&#34;; </code></pre><p>And enable additional repositories besides just Debian-security:</p> <pre tabindex="0"><code>&#34;origin=Debian,codename=${distro_codename}-updates&#34;; // &#34;origin=Debian,codename=${distro_codename}-proposed-updates&#34;; &#34;origin=Debian,codename=${distro_codename},label=Debian&#34;; &#34;origin=Debian,codename=${distro_codename},label=Debian-Security&#34;; &#34;origin=Debian,codename=${distro_codename}-security,label=Debian-Security&#34;; </code></pre><p>Consider removing <em>gnome-software</em> and replacing it with <em>synaptic</em>.</p> <p>Configure automatic passwordless login for lightdm at /etc/lightdm/lightdm.conf:</p> <pre tabindex="0"><code>[SeatDefaults] user-session=cinnamon autologin-guest=false autologin-user=$USER autologin-user-timeout=0 </code></pre><p>I was amazed at just how much of the signature Linux Mint behavior actually just comes from <a href="https://cinnamon-spices.linuxmint.com/">Cinnamon themes</a>. I have long thought that the Mint team should retire the Ubuntu based Linux Mint and replace it with Linux Mint Debian Edition (LMDE). But now seeing the straightforwardness of making a mock Linux Mint setup, even LMDE seems unnecessarily reinventing the wheel.</p> <p>And by configuring on top of stock Debian, we also get the benefits of;</p> <ul> <li>Stable packages</li> <li>Consistent, reliable upgrades between releases</li> <li>No soypack nonsense</li> </ul> <p>culminating in a much simpler system to support at a distance.</p> <p>The last and final reason that I once held on to Mint was for devices which, due to facilities limitations, could only communicate over wireless during installation. And, now that Debian <a href="https://www.phoronix.com/news/Debian-12-Installer-Alpha-2">includes requisite device firmware in the installation media</a> (for better or for worse), Mint has been dethroned as my &ldquo;boot anywhere&rdquo; flash drive maintenance distro of choice. It looks like I can finally completely part ways with Linux Mint.</p> Navigating Donations for Software Freedom https://wrongthink.link/posts/navigating-software-freedom-donations/ Tue, 22 Oct 2024 20:42:11 -0400 https://wrongthink.link/posts/navigating-software-freedom-donations/ <p>Each year I&rsquo;ve made it a point to donate the value equivalent to what I would have once paid for Windows licensing to my most used Linux distribution. That is usually followed up by a one-off donation to some individual program of my choosing. Sometimes it would be through their donations portal, and other times directly to core developers who accept direct donations. It can be disjointed and I&rsquo;ve found myself having to decide whether to send money toward a project&rsquo;s web or forum hosting, node operators (in the case of Tor) instead of the software development teams, to small one-man projects or to larger established projects, or otherwise.</p> <p>And that&rsquo;s where the value of having umbrella organizations that can help fund multiple projects presents itself. Now, at first what might come to mind is something like the FSF or the EFF. But as these organizations increasingly <a href="https://pjmedia.com/matt-margolis/2021/01/10/mozilla-ceo-says-deplatforming-president-trump-isnt-enough-n1327875">chase social activism</a> rather than technological freedom, one begins to question what value is actually being derived from one&rsquo;s generosity. You would be forgiven for thinking that the Mozilla Foundation might use it to pay developer hours on Firefox. But if you look closely, <a href="https://foundation.mozilla.org/en/donate/help/#frequently-asked-questions">they say right there</a> that it gets used for advocacy campaigns (code speak for <a href="https://blog.mozilla.org/en/mozilla/we-need-more-than-deplatforming/">agenda pushing</a>) and for their annual &ldquo;MozFest&rdquo; (where they spend a lot of time <a href="https://yewtu.be/playlist?list=PLnRGhgZaGeBt11miYYvKSSgbxkkbKKT7p">discussing things that aren&rsquo;t Firefox</a>).</p> <p>So what are some <em>good</em> umbrella organizations acting as stewards of software freedom?</p> <h1 id="nlnet">NLnet</h1> <p><a href="https://nlnet.nl">NLnet</a> have been absolutely hitting it out of the park for the last few years. NLnet actively seeks out tools and standards which stand to benefit free and private computing and the internet at large. Among the <a href="https://nlnet.nl/project/index.html#">projects to which they have allocated funding</a>;</p> <ul> <li>Servo Web Engine</li> <li>Marginalia Search</li> <li>mitmproxy</li> <li>NoScript</li> <li>PeerTube</li> <li>Many ActivityPub adjacent projects</li> <li>Qubes</li> <li>LibreOffice</li> <li>WireGuard</li> <li>Lots of RISC-V related efforts</li> </ul> <p>It seems like every month I read about something excellent like Coreboot finding itself the recipient of NLnet funding. If you would like to help push the internet and digital technology, more broadly, in the right direction, check out their <a href="https://nlnet.nl/donating/foundation-form.html">donation portal</a>.</p> <h1 id="software-in-the-public-interest">Software in the Public Interest</h1> <p><a href="https://www.spi-inc.org/">SPI</a> had originally been founded for Debian, by folks involved with Debian, but has since expanded well beyond that. They distribute funds to <a href="https://www.spi-inc.org/projects/">several projects under their wings</a>, including;</p> <ul> <li>FFmpeg</li> <li>NTPsec</li> <li>Privoxy</li> <li>Several Linux distributions</li> <li>Several open source games</li> <li>PostgreSQL</li> </ul> <p>They seem to be well aligned with the interests of NLnet, with the two even sharing some recipients. Donation information found at <a href="https://www.spi-inc.org/donations/">Donations to Software in the Public Interest, Inc.</a>. Don&rsquo;t be put off by &ldquo;Inc.&rdquo; in the name, SPI is wholly a non-profit.</p> <h1 id="software-freedom-conservancy">Software Freedom Conservancy</h1> <p>While their association with Outreachy is a bit off-putting, I definitely class <a href="https://sfconservancy.org/">SFC</a> with the aforementioned funding organizations. With some <a href="https://sfconservancy.org/projects/current/">stars adorning their shoulders</a>;</p> <ul> <li>Coreboot</li> <li>Git</li> <li>Inkscape</li> <li>OpenWRT</li> <li>QEMU</li> </ul> <p>If you can overlook some of <a href="https://sfconservancy.org/news/2019/sep/16/rms-does-not-speak-for-us/">their personal politics</a>, the actual work they&rsquo;ve done is voluminous. SFC are most certainly a candidate for strengthening digital freedom. If interested, some <a href="https://sfconservancy.org/donate/">information for sending a few shekels their way</a>.</p> <p>Since discovering these organizations, I&rsquo;ve shifted my giving strategy. A side benefit of doing so is that the financial intermediaries (and their partners) don&rsquo;t get information from which they can infer specific software that you use. And instead of seeking out dozens of disparate projects to throw money at, many of them have been collated under the bank roll of these non-profits. If you&rsquo;ve benefitted from the excellent work of any of these projects and wish to gift back, this may be the most frictionless way to do so.</p> Libre Software Project Names Suck https://wrongthink.link/posts/libre-software-project-names-suck/ Wed, 09 Oct 2024 22:46:39 -0400 https://wrongthink.link/posts/libre-software-project-names-suck/ <p>I&rsquo;ve decided I will no longer refer to Linux as GNU/Linux. Linux, with a capital <em>L</em>. I once thought it would lend itself to clarity and understanding, but it only leads to greater confusion. Most people already struggle to grasp simple concepts, so there is little point trying to subtly promote the details. And the real purpose behind the term ultimately serves to appease the <a href="https://stallman.org/articles/birds-dinosaurs-fish.html">sensibilities of Richard Stallman</a>. Anyone with sufficient interest in Linux is already well aware of <a href="https://infogalactic.com/info/Richard_Stallman#GNU_project">Stallman&rsquo;s significant involvement</a>. Those who don&rsquo;t are not going to be swayed by such GNU-jitsu anyway. This necessitates going back through my works and sed &rsquo;s/GNU\///g&rsquo;ing any instances of this contrivance.</p> <p>And, more broadly, the names of many libre software projects are often tragic choices. The name of this very article was going to be &ldquo;Free Software Projects&hellip;&rdquo; but even the very designation of &ldquo;free software&rdquo; itself suffers from inexacting terminology. I&rsquo;ve long thought that the FSF ought to change their name to the <em>Software Freedom Foundation</em>, or the <em>Foundation for Software Freedom</em> (if they&rsquo;d like to retain their current acronym).</p> <p>Bad naming can happen for varied reasons.</p> <h1 id="placeholder-names">Placeholder names</h1> <p><em>Ex. Minetest</em><br> Anyone who has started a throwaway software project is probably familiar with lazily naming things like test.py or rendertest.cpp. Sometimes, it seems, a software can take off unexpectedly and carry the name along with it. A desperate stretch to bandaid this unfortunate name might take the direction that &ldquo;Test&rdquo; is referring to the game <em>testing</em> your skills.</p> <p><strong>Update October 22nd</strong>: With almost poetic timing, <a href="https://blog.minetest.net/2024/10/13/Introducing-Our-New-Name/">the Mintest project has decided to rename to &ldquo;Luanti&rdquo;</a>. They finally did it. They finally dropped the test name. And it only took them nearly a decade and a half. Is Luanti a better name? Well, at least it doesn&rsquo;t have &ldquo;test&rdquo; in it anymore.</p> <h1 id="sequels">Sequels</h1> <p><em>Ex. mat2, wget2</em><br> Creating sequel releases might make some sense in the commercial proprietary space. But libre software has no such incentive. So why do devlopers of such software insist on appending &ldquo;2&rdquo; to things?&quot; <img src="https://wrongthink.link/jungle2jungle.png" style="height:356px;width:480px"> <br /> If the code requires a full rewrite, then just rewrite it! Or give it a new and unique name.</p> <h1 id="alphabet-soup">Alphabet soup</h1> <p><em>Ex. msmtp, ffmpeg</em><br> Not only does this fail to make the name self-descript, but also creates a pain for programs that are invoked from terminal. Alphabet soup names complicate recommending solutions to others, who may already be tepid on the notion of trying something that isn&rsquo;t a household name or paid mainstream software.</p> <h1 id="just-a-clonepostsattitude-free-software-just-substitute">&lsquo;<a href="https://wrongthink.link/posts/attitude-free-software-just-substitute/">Just a clone</a>&rsquo;</h1> <p><em>Ex. OpenSnitch, LibreOffice, anything OpenXYZ or LibreXYZ</em><br> Tends to establish the solution, however good it may be, as simply an <em>alternative</em> in layperson&rsquo;s minds. It serves to diminish the significance of what are often really great programs.</p> <h1 id="trying-to-be-too-witty">Trying to be too witty</h1> <p><em>Ex. Canoeboot</em><br> Only those who know that it is a play on &ldquo;<a href="https://savannah.gnu.org/projects/gnuboot/">GNU Boot</a>&rdquo;, specifically using Stallman&rsquo;s silly insistence on hard G <em>Gah-noo</em>, will understand why it is named that way and that it doesn&rsquo;t actually have anything to do with canoes. Granted, this does make it easier to lookup in search engines, as it avoids the issue of name collision. So they get some points back for that.</p> <p>Any good name should succinctly denote what the program does or manipulates and should be human memorable as an utterable phrase. It should be forward thinking to avoid getting stuck with a title that inadequately represents the program. Free and open source software is absolutely littered with terrible names and it does a disservice to the overall perception of this otherwise fantastic work.</p> How to Git Gud with Linux (From Zero) https://wrongthink.link/posts/how-to-git-gud-linux/ Fri, 20 Sep 2024 23:39:33 -0400 https://wrongthink.link/posts/how-to-git-gud-linux/ <p>Most of the content on Wrongthink assumes that readers are already competent with Linux and computers. There hasn&rsquo;t been much here that speaks to the beginner, and we should respect that we all started out <em>somewhere</em>. If you&rsquo;re just coming into the Linux and libre software side of things cold, with little familiarity to speak of, the starting hurdles can seem like unscalable walls. Some forum interactions had recently reminded me of this, so it&rsquo;s time for me to try to put myself in the shoes of an aspiring unix autist starting from scratch.</p> <blockquote> <p>I&rsquo;m a lifelong Windows user and I really want to switch to Linux. How do?</p> </blockquote> <p>One of the biggest hang ups is in trying to preserve every little program and aspect of your workflow that you&rsquo;d grown accustomed to. Before I migrated over, I had compiled a list of all the software that was important to me at the time, much of it games, with the intention to get them installed once they had been ported (if ever). Or by finding the closest fascimile that could be installed at the time. What I&rsquo;d discovered is that it is often easier to <em>let go</em> of the things you thought you&rsquo;d need because usually there is a completely different way to accomplish a task that you wouldn&rsquo;t have imagined before.</p> <video width=50% controls> <source src="https://wrongthink.link/truly-real.mp4" type="video/mp4"> </video> <blockquote> <p>I&rsquo;m afraid that something will break and I&rsquo;ll lose all my data/access to my PC!</p> </blockquote> <p>Before you dive into any big change, your files should be safely backed up somewhere from which they can easily be restored. I would recommend a USB hard drive (actually, multiple, following <a href="https://www.uschamber.com/co/run/technology/3-2-1-backup-rule">the 3-2-1 rule</a>. But that&rsquo;s for <a href="https://wrongthink.link/posts/hardened-backup-routine">another post</a>. Having a solid backup available will place you in a position of confidence in your endeavor.</p> <p>This hurdle is compounded by the habit that Windows induces into people being that the solution to any significant breakage is simply to &ldquo;<a href="https://www.howtogeek.com/202590/stop-trying-to-clean-your-infected-computer-just-nuke-it-and-reinstall-windows/">nuke it from orbit</a>&rdquo; and reinstall the OS fresh. Breakage on Linux OSes is often settings in a config file that can be reverted. Looking at system logs and pinning down the cause of a breakage is often the path of least resistance to repair a Linux installation. Plus, you pick up useful knowledge along the way. Not so with wiping clean and restarting from a blank slate.</p> <h2 id="the-ultimate-cheat-code">The ultimate cheat code</h2> <p>The importance of having more than one computer available cannot be understated. If you have a spare device that can be designated as your exploratory system, then there&rsquo;s no need at all to worry about losing your data or your daily driver suddenly becoming inaccessible. Even just having multiple drives that can be selectable boot devices or physically swapped in is preferable to playing around with your production system.</p> <p><strong>Virtual machines are not the same</strong> in this respect, because they fail to put you into contact with firmware and hardware idiosyncracies that different equipment will confront you with. Particularly of the display stack and networking variety, but also with artifacts that peripherals can present.</p> <p>To this day I still maintain parallel <a href="https://infogalactic.com/info/Deployment_environment#Stagings">staging environment</a> on which to test configurations and big changes before applying them to my flagship computer. It is also peace of mind to know that even in the worst of scenarios, that you have additional computers waiting in the wings to fail over to. But the biggest benefit this arrangement supplies to beginners is in the ability to learn rapidly.</p> <h2 id="rapid-iteration-learning">Rapid iteration learning</h2> <p>Even if one spends hours daily reading the <em>theory</em> of softare and OSes, picking up tips, and memorizing tools and commands, one will get <strong>nowhere</strong> without actually getting into a system and tinkering. <em>We learn by making mistakes</em>. Setup a computer to be your sandbox, and dive in <em>anticipating</em> that things will probably break. Pick individual components that you want to tame and tackle them individually.</p> <p>Where something doesn&rsquo;t make sense, explore help resources in this order:</p> <ul> <li><a href="https://infogalactic.com/info/Man_pages">man page</a> / &ndash;help arguments</li> <li>Your distro&rsquo;s wiki</li> <li>Search engine / Forum search posts asking similar questions</li> <li>Ask on forums, IRC and mailing lists</li> </ul> <p>I had made my biggest strides as a new Linux user while attempting different configurations on a portable spare and trying to recreate the &ldquo;loadouts&rdquo; of beginner friendly distros like Mint or Ubuntu using more modular &ldquo;DIY&rdquo; distributions. One rabbit hole you can follow is to create a desktop on top of something like <a href="http://www.openbox.org">openbox</a> and dress it up with taskbars, file browsers, greeters and so on.</p> <p>Quick tip: Do <em>not</em> use <em>sudo</em> unless a terminal program specifically requires elevated privileges to run. Some newbies fall into prepending everything with <em>sudo</em> because they&rsquo;re unsure where it is necessary to do so. Sometimes, trying to run certain programs as standard user will yield &ldquo;bash: &lt;program_name&gt;: command not found&rdquo; which is admittedly unhelpful when said program is only executable by root (sudo required). Some programs are nice enough to inform you when permission is denied to normal user accounts:</p> <pre tabindex="0"><code>E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root? </code></pre><blockquote> <p>I shouldn&rsquo;t have to learn a bunch of esoteric commands to be able to use my PC!</p> </blockquote> <p>These days, you <em>don&rsquo;t</em>. But, it <em>would be to your great benefit</em> if you did. Unless you want to be a GUI zombie forever.</p> <h2 id="going-headless-the-boost-plate-to-intermediate-and-beyond">Going headless, the boost plate to intermediate and beyond</h2> <p>If you don&rsquo;t have some server you&rsquo;re going to SSH into, consider exploring different terminal and <a href="https://invisible-island.net/ncurses/">ncurses</a> solutions for the things you already use in your desktop session. Imagine that you might need to use your computer without a functioning display server. How would you do so? Some of the most fundamental things to know, in no particular order;</p> <ul> <li>Navigating directories:<br> Enter a directory <code>cd directory_name</code>, Leave to parent directory <code>cd ..</code>, Return to top directory <code>cd</code></li> <li>Listing directory contents:<br> List all standard files <code>ls</code>, List all incl. symlinks &amp; hidden <code>ls -al</code></li> <li>Creating files &amp; directories:<br> Create new file without any content <code>touch file.txt</code>, Create new directory <code>dir /home/user/Recipes</code></li> <li>Viewing drives:<br> List storage device tree <code>lsblk</code>, List available drives <code>ls /dev/sd*</code>/<code>ls /dev/nvme*</code></li> <li>Mounting and unmounting drives (w/ <em><a href="https://www.freedesktop.org/wiki/Software/udisks">udisks2</a></em> package installed):<br> Mount <code>udisksctl mount -b /dev/sdb</code>, Unmount <code>udisksctl unmount -b /dev/sdb</code>, Safely power off drive <code>udisksctl power-off -b /dev/sdb</code></li> <li>Moving files:<br> Copy file from A to B <code>cp /home/user/apple_pie.txt /media/user/flash_drive/</code>, Recursively copy a directory <code>cp -r /home/user/Catpics /home/user/Animal\ Photography</code></li> <li>Deleting files &amp; directories:<br> Delete file <code>rm /home/user/Cryptids/yeti.jpg</code>, Delete directory (when it&rsquo;s empty) <code>rmdir /home/user/Cryptids</code></li> <li>Viewing text files:<br> Print plain text file to terminal <code>cat menu.txt</code>, View plain text file with scrolling <code>pager menu.txt</code></li> <li>Editing text files:<br> Append text to file <code>echo &quot;Maple syrup pancakes&quot; &gt;&gt; menu.txt</code>, Edit with vim tiny <code>vi menu.txt</code>, (Within vim tiny editor) Enter insert text mode <code>i</code>, (Within vim tiny editor) Leave insert mode <code>esc</code>, (Within vim tiny editor) Delete character <code>x</code>, Quit vim tiny editor, saving changes (Within vim tiny editor) <code>Shift + zz</code></li> <li>Searching text files:<br> Search for word match <code>grep -e Word shortstory.txt</code>, Search for word match (Within vim tiny or within pager) <code>/Word + Enter</code></li> <li>Retrieve exit codes:<br> Get exit code of last executed program <code>echo $?</code> (0 indicates no issues)</li> <li>Compare files:<br> Print differences to terminal <code>diff file1.txt file2.txt</code> (No output indicates they are identical)</li> </ul> <p>And, ways to do things that you might have thought were only possible with graphical programs:</p> <ul> <li>System monitoring: <code>top</code></li> <li>Calculator: <code>bc</code></li> <li>System temperature, clockspeed: <code>s-tui</code></li> <li>Hardware info: <code>dmidecode</code></li> <li>Index and search files: <code>updatedb</code>,<code>locate file_name</code>, package <em><a href="https://plocate.sesse.net/">mlocate</a></em></li> <li>Explore file size: <code>du -h file_to_measure.bin</code></li> <li>Explore disk space consumption: <code>ncdu /directory/to/view</code></li> </ul> <p>Some of these may need to first be installed through your package manager. But many, such as <em>top</em> are available pre-installed on pretty much any distribution. There is so much that can be handled through the terminal that, with the exception of visual multimedia, almost any typical task can be done <a href="https://en.wikipedia.org/wiki/Headless_computer">headless</a>. Well, maybe visual multimedia also, <a href="https://yewtu.be/watch?v=mXvvVHqbkbA">depending on how dedicated you are</a>.</p> <p>And don&rsquo;t feel silly about recording example commands into a reference file. <em>I</em> still do, and my <em>ffmpeg</em> reference sheet has grown impressive in size. The stuff that you use frequently will become second nature after a while.</p> <blockquote> <p>I tried installing XYZ program and it broke/doesn&rsquo;t work!</p> </blockquote> <p><strong>Use your package manager. Use your package manager. Use your package manager.</strong> So many newbies try to continue their Windows habit of going to a vendor&rsquo;s website, downloading some installer and then attempt to install it. While this is sometimes <em>possible</em> to do, increasingly so with things like snaps and flatpaks, it is <em>really bad hygeine</em> in Linux distros. Get into the habit of only installing software through your package manager.</p> <p>On many distributions, this takes the form of <em>apt</em>. Although it is certainly possible to use frontends like <a href="https://github.com/mvo5/synaptic/wiki">Synaptic</a> or your <a href="https://infogalactic.com/info/Desktop_environment">desktop environment</a>&rsquo;s in-house software center. Sticking to software only as packaged for your distribution will keep things much less prone to breakage and make upgrades much simpler. Only after you have gained some proficiency with Linux, should you explore things like adding additional repositories to access more software.</p> <blockquote> <p>They told me I should install Gentoo!</p> </blockquote> <p>There is no shame in getting your feet wet with an easy distribution. <a href="https://linuxmint.com/">Linux Mint</a> is an excellent example and is the one that <a href="https://wrongthink.link/posts/my-own-journey-free-technology">I cut my teeth on when starting out</a>. You can always switch to something more novel later on <em>after</em> accruing some knowledge and familiarity. And still, many even remain on these &ldquo;beginner&rdquo; distribtions because everything works to their satisfaction. Isn&rsquo;t that the end goal? To have a system that you&rsquo;re satisfied with? There is nothing standing in the way of a knowledgeable user from modifying Linux Mint to suit their own goals.</p> <p>If you throw yourself straight into the lion&rsquo;s den from the start, you may find yourself overwhelmed.</p> <h2 id="lastly-read-the-boring-stuff">Lastly, read the boring stuff</h2> <p>Your choice distribution will likely have a wiki, as well as pages of mailing list threads or a heap of years&rsquo; old forum threads. Take some time to parse through these and understand <em>why</em> said distribution has decided on the design and underlying components that it uses, what had been used in the past and why that has changed. Or perhaps this is all just a very polite way of saying <em>RTFM!</em></p> RE: Life in a Dysfunctional World https://wrongthink.link/posts/re-life-in-dysfunctional-world/ Tue, 27 Aug 2024 22:21:00 -0400 https://wrongthink.link/posts/re-life-in-dysfunctional-world/ <p>A frustrated individual recently vented some valid complaints over the intrusion of digital technology into daily life <a href="https://www.elayne-clift.com/blog/2024/7/15/life-in-a-dysfunctional-world">on her blog</a>. Close, but missing the mark, I am both warmed at tech commoners waking up a bit and also disappointed in their predictably limited perspectives.</p> <p>Before I rip into the article I just want to acknowledge that Elayne is probably a lovely lady and I probably even agree with her on much of the state of digital affairs <em>in the abstract</em>. However, a set of boomer blinders appears to be affecting her assessment of things. Let&rsquo;s dig in!</p> <blockquote> <p>Fast forward to the 21st century and you will understand the frustrations of living in an impersonal, stressful, infuriating new world. It&rsquo;s one in which computers and corporations have taken over our lives and made artful obfuscation a new art.</p> </blockquote> <p>Computers and corporations have taken over our collective lives because <a href="https://wrongthink.link/posts/your-freedom-is-contingent-on-others/">the general population has enabled them to do so</a>. When you elect to involve devices in your life without at all considering how any of it works, who controls it, or the ramifications of its design, you enable exploitation by corporations through the use of <em>their</em> technological products.</p> <blockquote> <p>Remember what it was like before our lives were ruled by algorithms, AI, autopay, QR codes, social media, virtual chats, usernames and passwords?</p> </blockquote> <p>Nearly all of this is completely avoidable through the simple power of saying &ldquo;no&rdquo;. When I am asked to scan a QR code or download an &ldquo;app&rdquo;, I politely decline, offering that I <a href="https://wrongthink.link/posts/you-dont-need-a-phone/">do not have a cell phone</a>. Social networking? Just don&rsquo;t use it. See your friends in person instead. Algorithm[ic feeds] are largely leveraged in social networking. Avoiding the aforementioned stikes this one off the list as well.</p> <image src="https://wrongthink.link/it-didnt-have-to-come-to-this.png" alt="It didn't have to come to this." style="width:490px;height:633px;"> <blockquote> <p>Additionally, despite not having signed up for the daily plan, my husband received twelve texts on his cell which shouldn’t have been there. “Oh,” said the first agent, “he should have been on airplane mode.” I explained that he hardly knows how to use a cell phone.</p> </blockquote> <p>While I also harbor a <a href="https://wrongthink.link/posts/why-phones-have-become-so-terrible/">distain for &ldquo;smart&rdquo; phones</a>, even I can understand that there is no excuse to remain ignorant in how to operate a device one expects to use on a daily basis. I hear this excuse all the time from older people, and it is very obviously a thinly vieled attempt to justify one&rsquo;s laziness. It takes only a few moments to explore the layout of a graphical interface that you&rsquo;ve never encountered before. And even if it takes you longer, then set aside some time to familiarize yourself with the device. It is not the responibility of others to accomodate you where you&rsquo;ve put in no effort to help yourself.</p> <blockquote> <p>When we moved house two years ago, Comcast gave us the wrong email addresses and landline number after I’d printed 500 business cards and alerted family and friends of our new contact information.</p> </blockquote> <p>Why are you putting yourself at the mercy of your ISP to decide your email service for you? Who actually does that? Exert some agency over your technological decisions. Most normies at least opt to use an email provider that operates independent of their internet service provider. Wait, is this just a holdover from the era of landlines? Where subscribers got their phone service installation and the telecom selects their phone number for them? So this is just a case of boomers applying the lens of legacy telecommunications over the internet, expecting things to work the same way.</p> <p>Allow me to try to offer a terrible analogy: Your internet service, being a utility, should just be considered a dumb pipe. It moves data in. It moves data out. It is up to <em>you</em> to decide what kind of data moves across it and how. And your water utility is all the same. They will bring water to your home, but it is up to you to decide what to do with it and in which ways it gets used.</p> <p>Hopefully, you don&rsquo;t expect your water utility meter man to pour you a glass of water and subsequently raise it to your lips. And if somehow you <em>do</em>, don&rsquo;t get mad at your water utility for deciding you should be drinking water from a glass instead of filling a pool or showering with that water instead. The idea that people just passively accept an email account <em>tied to their ISP</em> is simply ludicrous to me.</p> <blockquote> <p>We also went through hell trying to access everything from bank accounts to credit cards to companies who were paid by autopay because their websites wouldn’t recognize our usernames or passwords.</p> </blockquote> <p>I <em>suspect</em> that the issue in reality was that the wrong credentials were being supplied. Your email address being changed should have little bearing on this.</p> <image src="https://wrongthink.link/please-sign-in.jpg" alt="Please sign in to continue." style="width:621px;height:590px;"> <blockquote> <p>Sadly, the future looks bleak given corporate power, lack of regulatory policies, and a frightening explosion of artificial intelligence.</p> </blockquote> <p>Corporations have as much power as people collectively give them. When 90%+ of the general public decide &ldquo;I don&rsquo;t want to have to think about it, I&rsquo;ll just use whatever defaults my computer comes with!&rdquo; then they shouldn&rsquo;t be shocked when they later find that the Microsofts and Apples and Googles of the world now rule over ther lives.</p> <blockquote> <p>But right now, I have to stop writing. Staples has finally called back to say my new laptop is ready.</p> </blockquote> <p>So you&rsquo;re having somebody else provision your devices for you? It&rsquo;s no wonder people &ldquo;hardly know how to use a cell phone&rdquo;. <a href="https://wrongthink.link/posts/the-coming-cyber-dystopia-not-farfetched/">Normies have grown so indolent</a> that they must outsource something as simple as <em>device setup</em>. I can&rsquo;t help but to find that much of the author&rsquo;s stated injuries are self-inflicted. A cursory, surface level examination is often all it takes to determine if a piece of software seeks to manufacture captive users from which to extract value. Here&rsquo;s a hint: If you have to agree to any &ldquo;<a href="https://wrongthink.link/posts/eulas-fealty-to-the-overlords/">EULA</a>&rdquo;, then it is most likely proprietary software. If it is proprietary software, it (and its authors) most certainly seek to subjugate and exploit you.</p> <p>Yes, the world is increasingly becoming a technological hellscape. But it isn&rsquo;t solely the fault of corporations. We also have the general public to thank for that. A majority who deem basic technological literacy as &ldquo;too difficult&rdquo; to bother with. Just give &rsquo;em a big shiny button to get Bread &amp; Circus streaming on Netflix. How it gets implemented and any downstream consequences be damned.</p> Video Games Need MORE Ideological Propaganda https://wrongthink.link/posts/video-games-need-more-ideological-agenda/ Tue, 06 Aug 2024 13:00:41 -0400 https://wrongthink.link/posts/video-games-need-more-ideological-agenda/ <p>There has been so much <a href="https://yewtu.be/channel/UClo62-0_WXR9cm5sZ5kFE6w">online outrage</a> over the historically recent shoehorning of ideolgical agendas into video games. The industry and the forces which fund them have been hard at work making gaming more palatable for the Inclusive™ crowd. &ldquo;It just isn&rsquo;t for you&rdquo; they quip. And I fail to see how this is even a <em>bad</em> thing.</p> <p>Those who seek to erect <a href="https://wrongthink.link/posts/the-purpose-of-safe-spaces/">safe spaces</a> at your expense are actively taking up a passtime that is precision engineered to maximally distract and pacify its users. Your ideological aggressors are going to hurt themselves in confusion and you want to <em>prevent it</em>? I say let &rsquo;em have it!</p> <figure><img src="https://wrongthink.link/time-vampire.png"><figcaption> <h4>Oh, you&#39;d like to have a turn at gaming, would you?</h4> </figcaption> </figure> <p>Two possible benefical outcomes:</p> <ol> <li> <p>Dissuade perceptive free thinkers away from wasting their life energy on video games.</p> </li> <li> <p>Attract radicalized ideologues into the trap of gaming.</p> </li> </ol> <p>Who knows? As they become increasingly pacified playing their coopted games, we may notice a detectible decline in the amount of REEing both online and offline. We should actually be <em>encouraging</em> those who seek to shove their ideologies down our collective throats to explore this &ldquo;wonderful&rdquo; medium.</p> <p>In fact, games <em>don&rsquo;t have enough</em> progressive pandering. The games industry really needs to get to work packing games chock-full with genderbread men and narratives about fighting the racist patriarchy, overflowing from the brim with dialogues about oppression, mental pathologies and social pecking orders.</p> <p>And if you&rsquo;re anything like the PNGtubers and bloggers still caught up with &ldquo;They&rsquo;re ruining muh video games!&rdquo;, this is a really great time to consider putting gaming behind you.</p> <blockquote> <p>Never interfere with an enemy while they&rsquo;re in the process of destroying themselves.</p> </blockquote> Transmitting Material of Consequence https://wrongthink.link/posts/transmitting-material-of-consequence/ Mon, 10 Jun 2024 17:09:32 -0400 https://wrongthink.link/posts/transmitting-material-of-consequence/ <p>You have a file you would like to share with a friend, or to a colleague. Something personal. Or some damning information. Either way, you want to be certain that only the recipient is able to access the data. But it needs to traverse the internet. How can you do it in a way that minimizes opportunity for SIGINT, adtech or other adversaries to eavesdrop on your exchange?</p> <p>It&rsquo;s really quite mundane. And I have shared file sets on occasion in such a way. Sometimes it was just because I didn&rsquo;t want the recipient to access the files until after a certain date. Or because the person to whom I was sharing resides out on another continent with no chance of ever meeting in person.</p> <p>The short answer is simply to symmetrically encrypt the data using GPG and then share the passphrase out-of-channel. The catch, of course, is that the lynchpin in this chain of confidentiality often comes down to the <a href="https://infogalactic.com/info/Opsec">OPSEC</a> of the person to whom you are sending files. The longer answer is rarely detailed clearly in an online guide and I would like to offer some additional tips.</p> <image src="https://wrongthink.link/gpg-chads.png" alt="IQ Spectrum" style="height:517px;width:503px"> <br /> <h1 id="start">Start</h1> <p>Have GPG 🗹</p> <h1 id="prepare-the-file-you-wish-to-share">Prepare the file you wish to share</h1> <p>This is your opportunity to redact anything you don&rsquo;t want the recipient to see. Metadata can end up betraying you, depending on the nature of the exchange and your relationship with the recipient. Strip away usernames and file ownership.</p> <pre tabindex="0"><code>tar -cf info-dump.tar --owner=0 --group=0 --no-same-owner --no-same-permissions /path/to/info-dump </code></pre><p><a href="https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team">ffmpeg</a> can manipulate file metadata with the -metadata switch parameters. <a href="https://0xacab.org/jvoisin/mat2">mat2</a> is an excellent metadata scrubbing tool. And if unencrypted copies of the file(s) fall into the possession of anyone other than the intended recipient, then your device info, username, or other potentially unique information won&rsquo;t be plastered all over it.</p> <h1 id="tip">Tip</h1> <p>Consider padding the file(s) with junk data. If what you are transmitting is of a known filesize, an outside observer might be able to infer its likely content by filesize alone, despite it being encrypted. File compression may also foil this, although video data will change comparatively little after compression compared to something textual. It all depends on what you&rsquo;re sending.</p> <p><img src="https://wrongthink.link/gpg-composition.png" alt="GPG Composition"></p> <p>In case you don&rsquo;t feel like sourcing 80 MB of cat pictures, it is possible to conjure up junk files of any size using dd.</p> <pre tabindex="0"><code>dd bs=80M count=1 if=/dev/urandom of=junk.bin </code></pre><p>Just include these when you assemble the file set before encrypting it.</p> <h1 id="encrypt-the-file-symmetrically">Encrypt the file symmetrically</h1> <pre tabindex="0"><code>gpg -c --cipher-algo aes256 info-dump.tar </code></pre><p>Will create &ldquo;info-dump.tar.gpg&rdquo;, prompting for a passphrase along the way. The -c switch instructs GPG to handle the passphrase with case sensitivity.</p> <p><strong>Boilerplate:</strong> Assume that adversaries will get to retain a copy of the encrypted file set indefinitely with which to brute force against. Select a long, high entropy passphrase that has not and will not be used elsewhere. The LUKS folks <a href="https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions#5-security-aspects">have a good writeup on this</a>.</p> <h1 id="tip-1">Tip</h1> <p>If you&rsquo;ll also be transmitting the passphrase electronically, avoid transmitting both the data and its passphrase at or around the same time. Doing so will make it easier for a passive global adversary to correlate the two. Staggering transmission by several hours should suffice, although allotting several days is preferred.</p> <h1 id="decide-how-each-component-will-be-sent">Decide how each component will be sent</h1> <p>Something like <a href="https://tox.wiki/">Tox</a> is a good candidate for sending the passphrase to the recipient. Although nothing beats offline, non-digital exchange. Pre-shared knowledge is ideal. Maybe something cryptically scribbled on a note. Although if you&rsquo;re sharing files electronically at all, it stands to reason that face-to-face hand off isn&rsquo;t an option.</p> <p>You can use steganography to covertely share the passphrase embedded in an innocuous looking message. Email a picture of your garden &ldquo;Look! The tomato plant is budding!&rdquo; in which it has already been pre-embedded using <a href="https://codeberg.org/tob/stegosuite">stegosuite</a>. Or send a DM which suggests passphrase reconstruction based on knowledge that you and the recipient already share. Creativity will stretch your options.</p> <p>The encrypted file itself can be transmitted through any medium. A flashdrive, a file host, your web server. As long as it is through a <strong>different</strong> channel by which you&rsquo;ll be sending the passphrase. I would recommend some ephemeral service. <a href="https://wrongthink.link/posts/catbox-moe-heavy-lifter/">Catbox</a> has a good option for this at <a href="https://litterbox.catbox.moe/">litterbox.catbox.moe</a>. Anything uploaded there will be removed after a pre-selected duration. So if you can arrange with your recipient to acquire the encrypted file within the next twelve hours or three days or whatever, it later becomes inaccessible which is perfect for this usage case.</p> <h1 id="tip-2">Tip</h1> <p>It might be polite to include a SHA sum of the file(s).</p> <pre tabindex="0"><code>sha512sum info-dump.tar &gt; sha512sum.txt </code></pre><h1 id="decryption">Decryption</h1> <p>Decryption on their end should be a simple matter of</p> <pre tabindex="0"><code>gpg --output /path/to/info-dump.tar --decrypt /path/to/info-dump.tar.gpg </code></pre><p>Once it has been decrypted, the ball is totally in their court. It might be helpful to know ahead of time if the recipient is using Windows or some other leaky botnet contrivance. And just <em>how sensitive</em> is the thing that you are sharing?</p> Hardened Network Time Protocol https://wrongthink.link/posts/hardened-network-time-protocol/ Mon, 20 May 2024 18:34:14 -0400 https://wrongthink.link/posts/hardened-network-time-protocol/ <p>Many contemporary devices <em>still</em> use the original network time protocol devised <a href="https://infogalactic.com/info/Network_time_protocol#History">as it was in the 1980s</a>. It is completely unencrypted and <a href="https://www.whonix.org/wiki/Time_Attacks">susceptible to time attacks</a>. Disabling or removing the NTP daemon from a system does not workaround the issue since accurate system time is critical to cryptographic functionality.</p> <p>Luckily, there are projects such as <a href="https://www.ntpsec.org">ntpsec</a> which seek to address this issue. ntpsec is a reimagining of the NTP client in a modernized and encrypted fashion. As of Debian Bookworm, ntpsec is now the default time server (but only if you elect to install a time server), replacing old <a href="https://tracker.debian.org/pkg/ntp">ntp</a>.</p> <p><em>ntpsec</em> can be installed through apt. A system daemon will be automatically added and, at least in Debian, automatically disables systemd&rsquo;s timesyncd. But just in case your distribution does not do this, disable (or remove) existing NTP services.</p> <pre tabindex="0"><code>systemctl disable systemd-timesyncd.service </code></pre><p>Just installing ntpsec is not enough to have secured NTP. Even though ntpsec code drops some legacy cruft to reduce attack surface, we still need to point it at time servers which actually support NTS encryption. First, allow port 4460 outbound on your firewall (assuming <em>nftables</em>) for NTS negotiation and port 123 <em>TCP</em> for key establishment:</p> <pre tabindex="0"><code>nft add rule inet fw fw-output tcp dport 4460 accept comment &#34;\NTS\&#34; nft add rule inet fw fw-output tcp dport 123 accept comment &#34;\NTS-KE\&#34; </code></pre><p>Then replace the default timeservers in /etc/ntpsec/npt.conf to comment out entries for Debian&rsquo;s timepool:</p> <pre tabindex="0"><code>#pool 0.debian.pool.ntp.org iburst #pool 1.debian.pool.ntp.org iburst #pool 2.debian.pool.ntp.org iburst #pool 3.debian.pool.ntp.org iburst </code></pre><p>There are not currently very many time servers supporting NTS, some of them can be found in the <a href="https://docs.ntpsec.org/latest/NTS-QuickStart.html">ntpsec documentation</a>. Add at least three:</p> <pre tabindex="0"><code>server ntpmon.dcs1.biz nts iburst server ntp1.glypnod.com nts iburst server ntp2.glypnod.com nts iburst </code></pre><p>It is very important to include the parameter &ldquo;nts&rdquo;. &ldquo;iburst&rdquo; instructs the daemon how to query the time servers when first starting up.</p> <p>Tie things off neatly by restarting ntpsec to apply the new settings:</p> <pre tabindex="0"><code>systemctl restart ntpsec </code></pre><p>You can test to confirm whether system time is now pulling from the new timeservers with some utilities:</p> <pre tabindex="0"><code>ntpq -p </code></pre><p>Output:</p> <pre tabindex="0"><code> remote refid st t when poll reach delay offset jitter ====================================================================================================== +&lt;domain&gt; &lt;ip address&gt; 2 8 296 1024 377 84.7702 -1.4467 0.9012 +&lt;domain&gt; &lt;ip address&gt; 2 8 464 1024 377 83.5904 -1.2271 0.2856 *&lt;domain&gt; .PPS. 1 8 689 1024 305 92.4504 1.6698 1.5045 +&lt;domain&gt; &lt;ip address&gt; 2 8 665 1024 327 87.0531 0.6623 2.4672 </code></pre><p>&ldquo;*&rdquo; indicates the selected primary server based on performance criteria. The field &ldquo;st&rdquo; should be two or less on successful negotiation. Field &ldquo;t&rdquo; indicates whether cookie is held, it should be 8. The same information can also be viewed in realtime with the <em>ntpmon</em> textmode viewer.</p> <p>You can probably also safely purge <em>systemd-timesyncd</em> once everything is confirmed working.</p> <p>Understand that while ntpsec successfully encrypts NTP and <a href="https://docs.ntpsec.org/latest/ntpsec.html#security">avoids some security issues inherent with legacy NTP</a>, not very many people run it as of this writing. And even though your time information is concealed between you and the timeservers, this configuration could make your overall network fingerprint more unique when running through proxies like a VPN. It <em>may</em> survive being placed behind Tor, as ntpsec had done just fine adjusting offsets when negotiating over a satellite link.</p> <p>Additional mitigations against leaking host time information to be detailed in kernel and operating system hardening.</p> Olimex TERES-I Review https://wrongthink.link/posts/olimex-teres-review/ Thu, 09 May 2024 11:38:04 -0400 https://wrongthink.link/posts/olimex-teres-review/ <p>An <a href="https://www.olimex.com/">outfit in Bulgaria</a> design and produce single board computers, microcontrollers and DIY laptop kits sold as <a href="https://www.olimex.com/Products/DIY-Laptop/">TERES-I</a>. I&rsquo;d found so much success with other open source hardware that this kit was a must try. I really wanted to like it <em>but</em> there are some glaring issues.</p> <p>Olimex&rsquo;s TERES I is an AllWinner A64 ARM (Cortex-A53) device with non-socketed 2GB DDR3L memory and 16GB eMMC internal storage. It drives a low resoltion display at 1366x768. That places it <em>just</em> at the threshold of what I would consider to be a performant computer for a traveling laptop and <a href="https://wrongthink.link/posts/libre-gps-and-mapping/">Navit navigation</a> solution.</p> <p>Before diving into the problems with TERES-I, there are qualities to appreciate. These are some of few open source hardware computers to be manufactured outside of China, for those who care about such a thing. Final assembly is on the end user since these are sold only as kits. The keyboard is void of any Windows key, instead opting for a generic &ldquo;Tux&rdquo; emblem. The whole laptop is incredibly simple and lightweight, measuring at 14&quot; corner to corner, placing it into the <a href="https://infogalactic.com/info/Netbook">netbook form factor</a> that I miss so dearly.</p> <figure><img src="https://wrongthink.link/teres-01.jpg" alt="TERES-I with Armbian"> </figure> <p>Being ARM based, it is not subject to many of the speculative execution exploits plaguing the x86 family. TERES-I is also quite affordable. Especially when the landscape of open source hardware often sees devices which command price tags far above what their proprietary competition ask. And, unlike LibreBoot Thinkpads, it is not some reverse engineered device long since EOL&rsquo;d by the original manufacturer sporting chips designed and fabricated almost two decades ago. Relatively modern components yield it a small, fanless device with decent battery life. Lastly, it is possible to use without installing non-free firmware or drivers. At least according to <a href="https://debian.pages.debian.net/check-dfsg-status">check-dfsg-status</a>.</p> <p><em>However</em>, there are some show stopping usability issues which prevent me from treating Olimex&rsquo;s device as anything other than a curiosity. First and foremost is the storage and bootstrapping situation. I <em>could have</em> gotten by on the 16GB internal storage but, in order to boot from any OS installed on the eMMC storage, one must <a href="https://wiki.debian.org/InstallingDebianOn/Olimex/Teres-I#No_output_on_monitor_.28black_screen.29_when_booting.2Frebooting">follow a convoluted procedure</a> in which you power on the laptop with a bootable microSD card installed. After reaching the U-Boot splash, one must physically remove the microSD at just the right moment, causing the laptop to boot properly into the internal storage instead. Failing this, one will only be met with a blank display.</p> <p>Additionaly, full disk encryption is impractical unless <a href="https://www.olimex.com/forum/index.php?PHPSESSID=ipkrl2iku89behtl3ipdniini0&amp;topic=6135.0">one builds their own image</a> and, even then, AllWinner chips&rsquo; weak cryptographic performance translates to a slow system. The encrypted LUKS LVM provisioning in Debian fails to boot once installed, even when using the above workaround.</p> <p>Speaking of the Debian installer, it is possible to provision and install debian using the usual <a href="https://pagure.io/newt">whiptail</a> installer, but it must be built in a special way. For those who would like to try this for themselves;</p> <p>Obtain the images:</p> <pre tabindex="0"><code>wget --https-only https://deb.debian.org/debian/dists/stable/main/installer-arm64/current/images/netboot/SD-card-images/firmware.teres_i.img.gz wget --https-only https://deb.debian.org/debian/dists/stable/main/installer-arm64/current/images/netboot/SD-card-images/partition.img.gz </code></pre><p>Combine the two into a single image:</p> <pre tabindex="0"><code>zcat firmware.teres_i.img.gz partition.img.gz &gt; complete_image.img </code></pre><p>Then write the image to microSD card:</p> <pre tabindex="0"><code>sudo dd bs=4M status=progress oflag=sync if=/path/to/complete_image.img of=/dev/sdX </code></pre><p>This will create a bootable microSD card that loads the conventional Debian installer from which to install directly to eMMC storage. In my testing, even without using full disk encryption, one is still required to use the above workaround to boot without hanging at a blank display.</p> <p>It is also possible to transfer an already working image, such as the one <a href="https://www.armbian.com/olimex-teres-a64">supplied by Armbian</a>, from a microSD card to internal eMMC through the use of a script supplied by Olimex. I had a devil of a time locating the script, so <a href="https://github.com/OLIMEX/DIY-LAPTOP/blob/rel3/SOFTWARE/A64-TERES/scripts/platform-scripts/install_emmc.sh">here it is</a> along with <a href="https://wrongthink.link/install-emmc.sh.tar">my copy</a> in case Microsoft ShitHub fahrenheits&rsquo; it. Simply boot into the working image you desire to install to internal storage and run the script from within that session. It worked <em>some of the time</em> during my testing.</p> <p>All of this, plus the limited 16GB capacity, kills any desire to install to internal storage. So that left me with considering a microSD card solution which at least could afford more storage capacity. But the issue remains of how easily an adversary could just detach the card thus gaining access to all your data unencrypted. One could opt to encrypt the home directory or individual files but this is incomplete and cumbersome. I am simply not comfortable with anything other than internally installed, LUKS encrypted storage.</p> <p>I suppose that one could make use of this design failure as plausible deniability, wherein your TERES-I boots by default to a dummy operating system that is innocent looking and unencrypted (to satisfy border checkpoints, <a href="https://infogalactic.com/info/Security_theater#Airport_security_measures">airport &ldquo;security&rdquo;</a>, etc) while the obscure boot-to-eMMC workaround procecure is used to access your real OS and data. That <em>would</em> be nice were it not for all the other issues.</p> <p>TERES-I cannot comfortably be used as a Navit GPS since it currently does not have working audio under any distro that I&rsquo;ve tried. It is still <a href="https://patchwork.kernel.org/project/linux-arm-kernel/patch/[email protected]/">awaiting a patch</a>. Armbian even mention this in their errata as a known issue with no known workaround. I&rsquo;d attempted the <a href="https://freedesktop.org/software/pulseaudio/pavucontrol/">pavucontrol</a> configuration documented at <a href="https://wiki.debian.org/InstallingDebianOn/Olimex/Teres-I#Audio">Debian&rsquo;s wiki</a> but pipewire with pipewire-pulse refuses to recognize the audio device. One could maybe live with an external USB sound device consuming one of the two USB ports.</p> <image src="https://wrongthink.link/teres-02.jpg" alt="HDMI and USB ports on TERES-I" style="width:644px;height:460px;"> <br /><br /> <p>Speaking of consuming USB ports, TERES-I does not have any ethernet ports. So during your operating system installation, you&rsquo;re either going to need to settle for wifi (if it works) or to have a USB to RJ-45 adapter handy. My house is a wireless-free home (my area doesn&rsquo;t even have cellular signal which is <strong>awesome</strong> and I hope they never build a tower) so everything is connected physically. An adapter works well enough, although it is just another thing to tote around.</p> <body> <image src="https://wrongthink.link/teres-04.jpg" alt="USB-RJ45 adapter" style="width:644px;height:460px;"> <br /><br /> </body> <p>The AC power adapter is made for European style outlets, since this is a product of Bulgaria after all, so those of us living with type A outlets need an adapter head. The head supplied with the power adapter adds another inch to an already tall wall wart and makes it unwieldy for travel. I suppose with some effort, one could make a DIY cord that hangs out of the other end of the power brick but that&rsquo;s a lot of effort for an already very needy laptop.</p> <figure><img src="https://wrongthink.link/teres-03.jpg" alt="TERES-I AC adapter"> </figure> <p>And can the power brick be replaced with one of the correct voltage and amperage? Maybe, although the OEM power adapter has a LED integrated which indicates whether the device is charging or fully charged. I&rsquo;m not sure if there is some interplay that would prevent a generic AC adapter from stopping once it &ldquo;knows&rdquo; that the battery is charged.</p> <p>Even though Olimex bill this laptop as upgradeable, there have been no upgrades produced in the six or so years that TERES-I has been available. This normally wouldn&rsquo;t be an issue, but with the hardware specifications teetering on the edge of usability, I find it difficult to throw in for the long haul on a device that can <em>just about</em> run a full desktop environment and web browser. This is not to say anything about my intentions for it to run Navit which can be memory intensive.</p> <p>And there are the miscellaneous things. It is still ARM. One must contend with the presence of an unmitigated ARM Trustzone. I am not among those who would consider Trustzone any less of a black box than <a href="https://12bytes.org/intel-amd-and-your-privacy/">Intel&rsquo;s ME</a>. It boots to the microSD card slot <strong>by default</strong>. There is no option for selecting boot order within U-Boot (unless one wants to build and flash their own U-Boot). Documentation is sparse. It took me embarrasingly long to discover that the power button works more like those found on mobile devices than on conventional laptops, needing to be held for a few seconds to power on or off.</p> <p>Only so many distributions support the device. A list can be found at <a href="https://linux-sunxi.org/Olimex_Teres-A64#Linux_Distribution_Support">linux-sunxi</a>, most of which seem to be treated as an afterthought, harboring their own issues and varying states of being unmaintained. Even the official image supplied by Olimex is basically abandoned. Just have a glance;</p> <blockquote> <p>Debian: Rarely works due to trying to be &ldquo;one image for all arm64 devices&rdquo;<br> Redpill: Seems to be an abandonware, doesn&rsquo;t work anymore<br> ArchLinux: Image developed during porting for parabola linux, abandoned due to upstream incompetence<br> GNU Guix: Patch for an official support, never merged, <a href="https://issues.guix.gnu.org/62024">Patch submitted, but ignored by distro</a><br> NixOS: In development..<br> Alpine: Was fully supported, but maintainer was inactive, now <a href="https://gitlab.alpinelinux.org/alpine/aports/-/issues/15732">awaits linux kernel optimizations</a><br> Ubuntu: Fully supported through the armbian framework (i.e. just kick the can down to Armbian)</p> </blockquote> <p>Abysmal. And I gather that this is a problem plaguing many ARM family and single board computer systems. Many need to have their own custom images built.</p> <p>I want to like the TERES-I, I really do. But it is very much in a development state. Maybe a TERES-II or an upgrade to the existing framework could elevate Olimex&rsquo;s kit to a status of general usability. My intuition also tells me that if they sold them pre-assembled that there would be more buyers. The landscape for open hardware laptops is already slim pickings and I hope that they can move forward on this design.</p> <p>The netbook that I&rsquo;m currently using is getting long in the tooth. It cannot be upgraded beyond Debian Stretch, so it is living in a state of limbo as an offline-only airgapped car GPS and portable audio player with no prospects to return to running <a href="https://wrongthink.link/posts/terminal-telephony/">SIP telephony</a>, web or email. And so my hunt for a suitable replacement continues.</p> A Message to One's Former Self https://wrongthink.link/posts/message-to-ones-former-self/ Thu, 25 Apr 2024 23:18:25 -0400 https://wrongthink.link/posts/message-to-ones-former-self/ <p>Much of what I compose never finds its way beyond the drafting folder. Under a bit of a melancholic mood, I put together what could be a letter to myself of fifteen or twenty years prior. But if it can be to the benefit of any soul who happens to be similarly positioned as I had, then I see no reason to keep it all to myself. <em>Redacted a bit to preserve personal details</em>.</p> <h1 id="dear-self">Dear self</h1> <p>You do not require anyone&rsquo;s permission, or anyone&rsquo;s blessing, to go and pursue the things you want to do in life. There is no point at which anybody formally tells you &ldquo;you may now go work toward your goals.&rdquo; Sitting and waiting only runs down the clock on the precious window of opportunity afforded by the position you occupy in life. Opportunities will periodically present themselves. Act on them! Situations in which you are uniquely suited to answer the call. Ephemeral moments which, once passed, can only reside as a memory &ndash; either as an experience or as a regret. Don&rsquo;t allow them to become regrets. The joy of an accomplishment is made bitter when it is realized only too late. Beyond the window when the milestone can be shared among others. When it could have been more complete and fulfilling had only you done it earlier in life. There is no reset button on reality.</p> <p>The people around you will drop away. Even if it doesn&rsquo;t seem imminent. The tumult of society will close doors once open to you. Telling yourself &ldquo;I&rsquo;ll get around to it someday&rdquo; will doom many aspirations to be shut away behind those doors before you ever get to reach out at them.</p> <p>Whether you are eighteen or twenty five or twenty seven, it is only once that you will ever be. There is nothing wrong with savoring the joy of a peaceful time in life. But do not allow yourself to languish. To overindulge. Remaining captive even to the most favorable arrangements can come at the great expense of your ambitions.</p> <p>You can avoid such a future. Taking the requisite steps may seem paralyzing. But the consequences for mistepping are seldom as severe as your imagination makes them out to be. While the consequences of failing to act on your ambitions are far more tangible.</p> <p>Keep up your instrument learning and take it more seriously. Reading sheet music and training it into your muscle memory is key.</p> <p>Graciously accept the affections of your siblings and relatives. Even if it seems inconvenient or irritating in the moment.</p> <p><em>Talk</em> to the girls who make efforts to place themselves into your proximity. Reciprocate their bold gestures.</p> <p>Having a job, an <em>income</em>, during your youth isn&rsquo;t the worst thing in the world. The doors it opens are incalculable.</p> <p>Shoot for a <a href="https://web.mit.edu/about/">big university</a> rather than settling for what is &ldquo;safe&rdquo; and comfortable. They will probably accept you. You are much more intelligent than you give yourself credit for.</p> <p>Go for the robotics tract. It really begins to grow in a few decades, trust me.</p> <p>You only play games because it is the one place in which you feel you can exert yourself, exercise power and achieve any goals. But it is all fake, a time sink. It won&rsquo;t mean anything in the subsequent chapters of your life. Drop gaming and build skills while you still enjoy peak <a href="https://infogalactic.com/info/Brain_plasticity">brain plasticity</a>.</p> <p>Accept invitations to functions, parties and get togethers. The double date that she arranged was because she <em>is interested in you</em>. She&rsquo;s not just callously testing the waters.</p> <p>Actually engage in trying to learn the langauge during your French courses. It is easier than you realize, especially when the script is already in romanized character.</p> <p>Allow yourself to become comfortable conversing with others. You don&rsquo;t have to be so guarded all the time. They&rsquo;re not all out to take advantage of you or to belittle you when you fumble.</p> <p>Don&rsquo;t give up when that first Ubuntu disc fails to boot. Recheck the installation image and whether it has been burned as bootable media. The years-long head start will set you on a path for incredible knowledge and useful skills. It will also help you break out of <a href="https://wrongthink.link/posts/pick-up-the-gamepad">the vice that is gaming</a>.</p> <p>When a friend shares his favorite series with you, accept his suggestion and indulge in it. He really just wants somebody else who knows and appreciates it to talk with. And it will open you up to a whole new entertainment medium while you&rsquo;re still young enough to be surrounded by others who can share the joys of engaging in it.</p> <p>Open up with your grandparents. They want to know you and who you are. Their inquisitiveness is not just formalities. A distant grandson is probably a point of dismay for them. Even if you don&rsquo;t think that what you have to share will be understood, or even positively received at all. The dialogue itself is connection enough for fulfillment. You may even find more common ground than you think. And they would be overjoyed if you&rsquo;d introduce them to a prospective young lady you&rsquo;ve met at school.</p> <p>You already know they won&rsquo;t be there forever. I&rsquo;ll refrain from sharing just how brief a time that is.</p> <p>Once you have your own transportation, nobody is preventing you from taking advantage of it. It&rsquo;s not as expensive as you envision. And there is no better time than when you have as few responsibilities as you will ever enjoy. You can even leave the country. And if you do, don&rsquo;t just settle for a week, or two, or a month. Stay for as long as your documents permit. You never know when you&rsquo;ll be able to return, or if you will ever be able to return again at all.</p> <p>Stop making excuses for yourself. The financal recession of your early adulthood is not a one-off event. The economy being demolished will be a regular fixture throughout your life. There is little sense waiting around for &ldquo;things to recover&rdquo;. Nor should you anchor yourself just because you don&rsquo;t know how much time is left with certain loved ones. Again, you can travel readily and easily. You are adaptable.</p> <p>Trying to squeeze out every last drop of an idealic period in your life is an exersize in <a href="https://infogalactic.com/info/Diminishing_returns">diminishing returns</a>. The chains binding you to the comfortable and familiar are entirely of your own making. A psychological prison to which you don&rsquo;t even realize the cell door is unlocked. You can leave whenever you wish. So, will you do it?</p> Discord is an Inferior Alternative to Mumble https://wrongthink.link/posts/discord-inferior-alternative-to-mumble/ Wed, 17 Apr 2024 00:15:03 -0400 https://wrongthink.link/posts/discord-inferior-alternative-to-mumble/ <p>In 2015 the aptly named &ldquo;Discord&rdquo; went about &ldquo;solving&rdquo; a problem that had already long since been solved: in-game voice chat. The role of voice chat had been fulfilled by Mumble since a decade earlier. What new <em>innovations</em> has Discord brought to the table? Let&rsquo;s walk through some of its major features.</p> <figure><img src="https://wrongthink.link/geordi-discord-mumble.png" alt="Discord, no thanks. Mumble? Yes, please."> </figure> <ul> <li> <p>Discord compels its subjects to surrender a phone number.<br> So not only is any expectation of privacy or anonymity obliterated, but one is also confined to a single account. Subjects of Discord are thus often conditionally tethered to the ownership of a <a href="https://wrongthink.link/posts/why-phones-have-become-so-terrible/">mobile phone</a>. Those who wish not to be datamined are SOL.</p> </li> <li> <p>Discord is not self-hostable.<br> It is infeasible to host a server with Discord since they do not supply any server binaries with which to create an instance. Worse yet, they seem to have re-educated their subjects that the term <em>server</em> means any kind of <em>lobby</em> or <em>chatroom</em> regardless of where or how it is hosted. And the only way to connect with Discord is through their own officially supplied public instances. Those who go through the rigamarole to sign up are merely granted access to a lobby that is benevolently created and hosted for them by Discord. Thus, most zoombies believe that they &ldquo;own&rdquo; a server.</p> </li> </ul> <image src="https://wrongthink.link/is-this-a-server.jpg" alt="Is this a server?" style="width:430px;height:386px;"> <br /><br /> <ul> <li> <p>Discord is proprietary software.<br> Discord&rsquo;s subjects are forced to use the vendor&rsquo;s client. The vendor <a href="https://news.ycombinator.com/item?id=28435490">regularly blocks third party and liberated client software</a>. Downstream of this, the Discord client can only be run on environments for which the vendor has produced binary releases. E.g. ARM and x86 only.</p> </li> <li> <p>Discord is spyware.<br> It is long established fact that <a href="https://www.nuegia.net/mirror/SpywareWatchdog/articles/discord.html">Discord is spyware</a> <a href="https://stallman.org/discord.html">[1]</a>. Like many proprietary programs, Discord gathers metrics about the user, their system and their activity, collecting information about other running processes and in turn using it for the <a href="https://wrongthink.link/posts/advertising-cancer-on-society/">purposes of advertising</a>.</p> </li> <li> <p>Discord is hopelessly bloated.<br> They felt it necessary to integrate an entire social networking disservice within a <strong>gaming voice chat application</strong>. A gaming voice chat application <em>does not</em> need to have timelines, feeds, profiles, bios, etc.</p> </li> <li> <p>Discord is centralized.<br> Again, not possible to self-host == not possible to use without going through the vendor&rsquo;s infrastructure. Users are left totally at their mercy.</p> </li> <li> <p>Discord is adware.<br> Discord implements <a href="https://adguard.com/en/blog/ads-discord-blocking-adguard.html">Pavlovian rewards-based integrated advertising</a> within the client. Imagine installing a program to chat with your buddies in-game, only to be met with nagging ad popups seeking to condition you into certain behaviors?</p> </li> <li> <p>Discord utilizes paywalls.<br> <a href="https://www.thegamer.com/discord-premium-memberships-paywall-channels/">Some lobbies are made only accessible with paid subscriptions</a>. Transmitting payment information further erodes user privacy and increases dependency.</p> </li> <li> <p>Discord is censorious.<br> Because Discord is centralized, and because it requires users to dox themselves, it enables an incredible capacity for censorship. Going so far as <a href="https://sonicblast.org/Thread-Discord-introduces-new-%E2%80%9Canti-misinformation%E2%80%9D-censorship-policy">shutting down users for <em>off-site behavior</em></a>.</p> </li> <li> <p>Discord requires users to submit to a <a href="https://wrongthink.link/posts/eulas-fealty-to-the-overlords/">EULA</a>.<br> It is not possible to use Discord without cucking yourself.</p> </li> <li> <p>Discord does not support positional audio.<br> Despite billing itself as gaming software, Discord fails to support positional in-game audio. A feature Mumble has sported since its earliest days.</p> </li> </ul> <p>As we can see, <strong>Discord just isn&rsquo;t ready for primetime yet</strong> (we can turn <a href="https://wrongthink.link/posts/what-language-reveals-mentality/">normie lingo</a> around on them <image src="https://wrongthink.link/pepe-devil.png" style="width:20px;height:20px;"> ). No self-respecting person would ever install such a hostile program. Especially not when superior programs already exist which do the same job and with less fuss.</p> <image src="https://wrongthink.link/discord-no-way.gif" alt="Discord? No way!" style="width:176px;height:62px;"> <br /> Mobile is a Scourge to Online Video https://wrongthink.link/posts/mobile-scourge-online-video/ Mon, 15 Apr 2024 21:58:35 -0400 https://wrongthink.link/posts/mobile-scourge-online-video/ <p>Web video content is gradually being lobotomized. Years ago it was foreseen that vertical video would be <a href="https://yewtu.be/watch?v=dechvhb0Meo">ruinous to viewing conditions</a>. But it is not the aspect ratio alone that has sent web video spiraling down the pit of eternal stupidity. The rise of short form videos catering to zoombies with blown out dopamine receptors has accelerated the decay beyond anything I could have imagined. There are a few factors at play in this.</p> <h2 id="video-editing-on-mobile-environments-is-constrained">Video Editing on Mobile Environments is Constrained</h2> <p>Linear graphical video editors appear to be absent or impractical on mobile prisons. My observations of mobile-produced edits suggest that mobile zombies are simply offered a select palette of effects that apply in full over the entire video. &ldquo;Filters&rdquo;. Among the results are videos which completely remove the original audio to overlay the uploader&rsquo;s favorite song, an ailment that we had only just recovered from over the last decade and a half (almost as inexcusable as uploading slide shows to Gootube). And videos with distortion effects obscuring the subject or plastered with emoticons and graphics. Fast cuts (technical events, as described in <a href="https://www.goodreads.com/book/show/228250.Four_Arguments_for_the_Elimination_of_Television">Four Arguments for the Elimination of Television</a>) to retain the viewer&rsquo;s ADHD attention.</p> <p>But I suppose my major gripes are with the toxic waste shat out by tiktok. In no particular order;</p> <ul> <li> <p>Uploaders socialized like monkeys to begin their video immediately into a dialogue as though you&rsquo;ve been dropped into the middle of a long conversation with a close acquaintance. How psychotic. It reads to me as the product of social engineering. The maneuvering of tiktok as one&rsquo;s close &ldquo;friend&rdquo;.</p> </li> <li> <p>Realtime subtitle transcriptions. One may be so hopelessly addicted that they must watch videos while riding the subway or while having a meal out where it is difficult to utilize audio. But instead of using <a href="https://infogalactic.com/info/Subtitles#Subtitle_formats">subtitle files proper</a>, tiktok have decided it better to encode subtitles right into the video itself where it cannot be disabled. To viewers using a proper arrangement where audio is available, they serve only to distract. To further clutter the visual subjects with yet more garbage. Are mobile users so dependent that they <em>must</em> have subs at all times? And not even <em>normal</em> subs, but <a href="https://yewtu.be/watch?v=maRDfNa_Bl4">a kind developed for rapid, hypnotic, lazy reading</a>?</p> </li> <li> <p>Needless self-inserts.</p> </li> </ul> <image src="https://wrongthink.link/photographing-something.png" alt="Photographing something you want to share" style="width:500px;height:356px;"> <br /><br /> <p>Most short form videos do not even merit a visual component at all. So often they consist of somebody filming themselves in a car, delivering a dialogue that could have simply been conveyed as text. Remember, most phone zombies are just reading subs anyway. Or at least they could be conveyed as a voice over. Mostly this seems to serve <a href="https://wrongthink.link/posts/the-purpose-of-safe-spaces">the newly feminized internet</a>. Narcissists can relish their own image and exploit human psychology to draw greater attention to their otherwise mediocre content.</p> <ul> <li> <p>Vapid synthetic speech. It&rsquo;s as though the synthetic voice is designed to sound like the same half wits they seek to cater to.</p> </li> <li> <p>The omission of context. Clipping anything down to fit within a minute&rsquo;s runtime translates into the loss of underlying information and contextual meaning. No, I am not interested in watching just a fifteen second exchange extracted from a debate.</p> </li> </ul> <h2 id="why-not-just-refrain-from-viewing-such-content">Why not just refrain from viewing such content?</h2> <p>It is increasingly becoming difficult to <em>avoid</em> this intellectually stunted format. Links that people share being inconspicuous .mp4 files. And, more often, longer form video uploaders are including mobile format clips in their works, instead of chasing down the primary source footage. I do not want to see braindead zoombies <em>talking about</em> a subject matter when that subject matter can instead be viewed <em>directly</em>. So we&rsquo;ve returned to the same problem that was so prevalent on <a href="https://wrongthink.link/posts/how-not-to-digest-information/">boomer television news</a>. A steady stream of low quality garbage designed to hold the focus of sub-95 IQ normies.</p> <h2 id="how-do-we-proceed">How do we proceed?</h2> <p>On the technical end, I am investigating the feasibility of using <a href="https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/">mpv</a> to probe video links for aspect ratio and duration properties from which to automate the blocking of probable mobile videos. Higher effort would be demanded for the writing of a browser extension to do the same in Firefox</p> <p>On the non-technical, it may be worth considering dropping certain groups and individuals from one&rsquo;s online regiment. If an acquaintance or familiar uploader is sharing out mobile format trash, it is an indicator that they have surrendured a part of their soul to <a href="https://digdeeper.club/articles/botnet.xhtml">the botnet</a>, fondling their way through the muck of tiktok and TXitter. Owners of online hangouts might serve their communities well by disincentivising the uploading or sharing of short form videos featuring oversocialized talking heads.</p> <h2 id="is-the-long-term-outlook-abysmal">Is the long term outlook abysmal?</h2> <p>Will short form ADHD video retire as it had once done following the era of <a href="https://infogalactic.com/info/Vine_(service)">Vine</a>, a similar affliction of millennial flavored braindeadery? The up and coming generation&rsquo;s total exclusive usage of mobile devices can be our forecast. The population&rsquo;s computer literacy is going to plunge to depths never before seen. Likely, we will be left yearning even for the days of the baby boomers, replete with their Nigerian princes and with their twelve rows of freeware toolbars.</p> <p>The trends are already becoming evident. <a href="https://web.archive.org/web/20240415060431/https://www.nytimes.com/2022/09/16/technology/gen-z-tiktok-search-engine.html">Short form video is being used in place of web search</a>. Users would rather be spoken to than have to read paragraphs of text. Admittedly, humans are creatures of storytelling around the fire. They would more readily digest a feed of mobile clips ranked accoring to the trove of data assembled about them by the surveillance machine.</p> Solutions Must Attack the Problems at their Source https://wrongthink.link/posts/solutions-attack-problems-at-source/ Sat, 13 Apr 2024 00:38:55 -0400 https://wrongthink.link/posts/solutions-attack-problems-at-source/ <p>Is it truly &ldquo;sticking it to the man&rdquo; to forge a way to continue to use a product which has had its original user-hostile features mitigated? As a classic example, <a href="https://web.archive.org/web/20210831081928/https://old.reddit.com/r/linux_cucks/">those who go to lengths</a> to get a Windows binary game running within a translation layer. You have still bought the game, financially rewarding a company that chooses to exclude you and your platform. Okay, what then if one pirates the title? You&rsquo;re still giving that product your energy, attention and contributing one more active player to the playerbase. Games thrive on social inertia and mindshare.</p> <p>This dynamic also exists with firmware and hardware. As is the case with products from vendors like Purism and System76. Yes, they&rsquo;ve &rsquo;neutered&rsquo; or minimized things like proprietary BIOS and ME firmware. But the entire transaction from OEM supplier, to system integrator, to end user still financially rewards Intel for the continued integration of anti-freedom/anti-privacy features. I suppose that outfits like <a href="https://tehnoetic.com/">Technoethic</a> or <a href="https://minifree.org/">Minifree</a> are better in that they tap the second hand boutique market. Chips and boards that had already completed their product cycle in the hardware market. Your purchase of such a device isn&rsquo;t securing Intel additional revenue. It, at worst, keeps the headcount of x86 higher, thus perpetuating the x86 <a href="https://infogalactic.com/info/Monoculture_(computer_science)">monoculture</a>.</p> <p>A more optimal way to avoid contributing to a system that hates you (or at least behaves as though it hates you), is rather to make a <em>clean break</em>. Even if that means making some sacrifices. I would hardly call it &ldquo;winning&rdquo; to clutter one&rsquo;s system with container environments and foreign software all for the privilege of further empowering giants responsible for putting you in such a position to begin with. The privilege of forever being treated as a second or third class citizen while you overextent yourself in order to run restrictive, telemetry-addled user-hostile software and hardware. Great deal.</p> <figure><img src="https://wrongthink.link/slavery-clause.png" alt="Slavery clause"> </figure> <p>Things that allow you to bypass a restrictive vendor or service, but still leave you sucking at thier teat;</p> <h2 id="frontends">Frontends</h2> <p>Ex: Hooktube, Invidious, Nitter, etc<br> *Author&rsquo;s note that two of these three examples are <a href="https://archive.ph/DGdML">already dead</a></p> <h2 id="emulation-virtualization-and-translation">Emulation, virtualization and translation</h2> <p>Ex: Virtual Box, Wine, Proton, Box64, FEX-Emu, Console Emulators, etc</p> <h2 id="firmwarehardware">Firmware/hardware</h2> <p>Ex: Dual booting (esp. shared bootloader), secure boot shims, enabling ME HAP bit, etc</p> <p>Is this all to say these things have no merit? Not at all. Many of these methods are an incredible asset to have up one&rsquo;s sleeve. I only sense, however, that some miscontrue these tools as invitations to indefinitely construct their entire user space atop of. They <em>should</em> only be used for so long as it takes to locate a suitable libre replacement which stands on its own, and not as an intermediary for running some proprietary protocol or software format. And this is where things become a bit fuzzy.</p> <p>Is it a true replacement to primarily use peertube instances, when much of the content is simply mirrored from Youtube channels? Is turning to lemmy instances really breaking away from a hostile format, when the &ldquo;DNA of reddit&rdquo; still <a href="https://wrongthink.link/posts/flavors-of-the-fediverse">infests lemmy both socially and in its design</a>? What of metasearch like SearX tapping the resources of big tech vendors, inheriting their censorship? Infogalactic, which I link liberally, being a wikipedia replacement but its pages all frozen in time from the date they were scraped from Wikipedia.</p> <p>Perhaps it can be said that building solutions is truly a gradual effort. Nothing is going to be instantaneously ready off of the starting line. And languishing on half-solutions, I believe, will only hurt that effort in the long term. A part of me secretly yearns for Google to go all out in blocking the likes of invidious and <a href="https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/">yt-dlp</a> so that finally I can find the motivational power to completely drop the time vampire that it is. Or for the MS-x86 industrial complex to make their big move to restrict &ldquo;unauthorized&rdquo; operating systems from running on their captured ISA. For a great bifurcation to finally unfold.</p> OpenSnitch, "uMatrix" for your Entire Desktop https://wrongthink.link/posts/opensnitch-for-entire-desktop/ Mon, 01 Apr 2024 22:11:17 -0400 https://wrongthink.link/posts/opensnitch-for-entire-desktop/ <p>But does it live up to such a description? Going into it, I at first had configured <a href="https://github.com/evilsocket/opensnitch">OpenSnitch</a> to intercept and restrict connections based on user ID, port number and destination address. But this proved to generate far too much notification activity. Excessive notification dialogues have a tendency to condition users to simply make exceptions uncritically in the wake of fatigue. Reducing these interceptions down to just destination addresses is much more practical while preserving the granularity that OpenSnitch makes possible.</p> <p>And, like with <a href="https://wrongthink.link/posts/hardened-web-blocker/">other interactive firewalls</a>, there is a brief training period where your most frequently accessed net resources must first be committed to persistent rules as you find you will need them. Once these are established, OpenSnitch shouldn&rsquo;t generate any notifications when there is no operator input.</p> <p>I find the default rules of allowing, in full, the connections made per application to be too relaxed. However, the default is probably sane for a more typical end user device. Extending a comparison with uMatrix, the &ldquo;scope&rdquo; of OpenSnitch is comprised of applications, rule duration and optionally destination addresses, ports, process &amp; user IDs. Permitting domains and subdomains is also independently possible via regular expressions.</p> <p>The limitation in this &ldquo;scope&rdquo;, however, is that OpenSnitch has no context awareness for different functions within the same application (e.g. browser tabs). Programs as sophistocated as Firefox will continue to require a firewall like uMatrix.</p> <p>Blacklisting is as straightforward as pointing to a single text file containing the addresses to be blocked, and prepending the name with zeroes to ensure it gets parsed before other rules. One benefit is that this allows IP addresses to also be blocklisted and without having to rely on something like <a href="https://alblue.bandlem.com/2020/05/using-dnsmasq.html">dnsmasq</a>. It may be ideal to double-dip the list we generate with hosts-blocking.</p> <p>One should be certain to avoid globally allowing traffic from interpreters and intermediaries like Python. If you allow Python <em>executable</em> because you are <a href="https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/">downloading with yt-dlp</a>, it will then enable <em>any</em> Python program to access the network. Instead, select &ldquo;From: command line&rdquo; when building rules for such applications. This should IMO be made the default behavior when launching such things.</p> <p>Since dipping my toes in with OpenSnitch, it <em>has</em> caught a few blind spots in my buildout. For example, despite de-crappifying Firefox with a user.js template, one may find connections still being opened to firefox.settings.services.mozilla.com. Or Gnome calculator connecting to \www.imf.org! Another reason to prefer simpler programs like <em><a href="https://www.gnu.org/software/bc/">GNU bc</a></em>. Or linear video editors that phone home for update checks. Now such leaks can <em>conveniently</em> be discovered and plugged.</p> <p>Another caveat to look out for is with federated ActivityPub sites in combination with OpenSnitch <em>and</em> uBlock Origin. Due to the distributed nature of federation, when uBlock Origin has &ldquo;Uncloak <a href="https://portswigger.net/daily-swig/web-trackers-using-cname-cloaking-to-bypass-browsers-ad-blockers">canonical names</a>&rdquo; enabled, a DNS lookup for every domain called by a page will be made. This iniates an OpenSnitch dialogue popup for each, regardless of whether that domain had already been blocked by another extension or whether or not you had opened any links to said third party domains.</p> <p>One way to work around this is to temporarily disable &ldquo;Uncloak canonical names&rdquo; when using a federated site. It is lazy and opens some opportunity for adtech tagging, but avoids being endlessly bombarded with intercept notifications. This is no failing of OpenSnitch, rather it is a sign that OpenSnitch is doing exactly what it advertises on the packaging. The issue stems from uBlock Origin&rsquo;s lack of contextual awareness as to whether a domain is being blocked by anything other than itself. This same blindness has <a href="https://wrongthink.link/posts/addon-conflicts-data-leaks/">caused leaks and conflicts before</a>.</p> <p>OpenSnitch is more highly interactive or &ldquo;needy&rdquo; by way of it being realtime. Browser addons, in comparison, cleanly know when a page load occurs and control for it. Network requests are more spontaneous and can originate from a multitude of sources. It is best when going into OpenSnitch <em>to already know your system</em> and which services, daemons and common programs require network connectivity. It can be overly needy when first configured, but once beyond the initial training period becomes a godsend for maintaining <a href="https://infogalactic.com/info/Silent_running_(submarine)">silent running</a> on the network. Every request leaving your computer (well, not ICMP/IGMP, more on that later) is fully permissioned with least level privilege default deny sanity.</p> <p>A more in depth configuration and usage guide will be made up for the &lsquo;hardening&rsquo; family of articles. All info subject to change as both OpenSnitch and my own config findings develop.</p> Hardened Antivirus https://wrongthink.link/posts/hardened-antivirus/ Wed, 20 Mar 2024 13:19:48 -0400 https://wrongthink.link/posts/hardened-antivirus/ <p>Currently only one substantially complete antivirus kit casts itself among FOSS, <a href="https://www.clamav.net/">ClamAV</a>. It actually consists of several different programs. Clamscan, an independent CLI scan utility; Freshclam, a database updater; Clamdscan, a multithreaded scanning daemon; and Clamonacc, a realtime on-access file checker that feeds items into Clamdscan. Most guides to be found online only really ever cover the first two.</p> <p>Installing the <em>clamav-daemon</em> package will pull in the rest of clamav as dependencies.</p> <pre tabindex="0"><code>apt install clamav-daemon </code></pre><h1 id="freshclam">freshclam</h1> <p>The Debian package has freshclam service configured to check for updates hourly. It is probably a good idea to leave this as is, but if you would like to adjust update frequency, edit freshclam.conf:</p> <pre tabindex="0"><code>chmod 644 /etc/clamav/freshclam.conf sudoedit /etc/clamav/freshclam.conf </code></pre><p>Adjust the line as desired:<br> Checks <span style="color:cyan">24</span> </p> <p>The number represents one day divided by N. Return freshclam.conf to read-only.</p> <pre tabindex="0"><code>chmod 444 /etc/clamav/freshclam.conf </code></pre><p>And restart clamav-freshclam daemon.</p> <pre tabindex="0"><code>systemctl restart clamav-freshclam </code></pre><p>Different databases are available and formatted as db.<a href="https://project-flora.net/2016/03/21/clamav%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%83%9F%E3%83%A9%E3%83%BC%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/">$LOCALE_ABBREVIATION</a>.clamav.net. The default abstracts this as db.local.clamav.net, however all the official databases I could find are all behind cloudflare. But that doesn&rsquo;t mean we must be solely dependent on Cisco and their choice of cloudflare. <a href="https://sanesecurity.com/usage/signatures/">Sanesecurity</a> maintains lists of third party clamav databases.</p> <p>Edit /etc/clamav/freshclam.conf and specify a few with DatabaseCustomURL that fit the scope of our filtering:</p> <pre tabindex="0"><code>DatabaseCustomURL https://mirror.rollernet.us/sanesecurity/badmacro.ndb DatabaseCustomURL https://mirror.rollernet.us/sanesecurity/blurl.ndb </code></pre><p>Not only does this diversify our signature sources, but also improves the detection rate that some in the tech scene like to bludgeon ClamAV over in side-by-side AV comparisons.</p> <p>You can check that custom databases and signatures are getting updated from freshclam.log:</p> <pre tabindex="0"><code>grep -e sigs /var/log/clamav/freshclam.log </code></pre><h1 id="clamscan">clamscan</h1> <p>Individual files and directories can be scanned manually with clamscan. The -i switch indicates to only report infected items and the -r switch instructs clamscan to iterate recursively through directories.</p> <pre tabindex="0"><code>clamscan -ir /path/to/scan </code></pre><p>The output prints a brief report indicating if any of the scanned files match known infected signatures from the database.</p> <pre tabindex="0"><code>----------- SCAN SUMMARY ----------- Known viruses: 8694987 Engine version: 1.0.3 Scanned directories: 1 Scanned files: 5 Infected files: 0 Data scanned: 0.01 MB Data read: 0.00 MB (ratio 2.00:1) Time: 18.876 sec (0 m 18 s) Start Date: 2024:03:20 13:47:32 End Date: 2024:03:20 13:47:50 </code></pre><p>Clamscan <em>should</em> be setup to run a daily system scan on most or all of your directories. First create a shell script:</p> <pre tabindex="0"><code>sudoedit daily-scan.sh </code></pre><p>And populate it with something like:</p> <pre tabindex="0"><code>#!/bin/bash clamscan -ir / \ --exclude=/home/user/Directory_that_I_trust \ --exclude=/usr \ --exclude=/var \ --exclude=/lib \ --exclude=/etc \ --exclude=/sbin \ --exclude=/bin \ --exclude=/lost+found \ --exclude=/media \ --exclude=/srv \ --exclude=/lib64 \ --exclude=/sys \ --exclude=/dev \ --exclude=/proc \ --exclude=/net \ --exclude=/mnt \ --log=/var/log/clamav/clamscan.log \ --move=/home/user/.quarantine </code></pre><p><em>&ndash;exclude</em> instructs clamscan to ignore a particular directory. This is necessary in the case of some system directories, and so that clamav does not end up inadvertently scanning itself and locking up. There are probably also user directories that you trust are very low risk which don&rsquo;t warrant a pass from the active daily scan.</p> <p>This will also send output logs to /var/log/clamav/clamscan.log. And any detected items will automatically be moved to a hidden &ldquo;quarantine&rdquo; directory.</p> <p>Create the hidden quarantine, then set a cron job to run the script.</p> <pre tabindex="0"><code>mkdir /home/user/.quarantine crontab -e </code></pre><p>Append:</p> <pre tabindex="0"><code>15 12 * * * /path/to/daily-scan.sh </code></pre><p>This will scan the entire system every day around noon.</p> <h1 id="clamdscan">clamdscan</h1> <p>Clamdscan is intended to tag team with Clamonacc, but can also be used to run scans manually. Being multithreaded, it is much faster than clamscan. But the default settings have clamdscan omit files larger than 5MB and relax other checks.</p> <pre tabindex="0"><code>clamdscan --multiscan --fdpass /path/to/target </code></pre><p><em>&ndash;fdpass</em> <a href="https://wiki.archlinux.org/title/ClamAV#Using_clamdscan">is necessary, as of clamav v.0.103</a>, in order for clamdscan to read files owned by other users besides user &ldquo;clamav&rdquo;. It might be possible to use this as your full system daily scan instead, but you would want to consider raising that file size limit up from 5MB in /etc/clamav/clamd.conf.</p> <p>While clamdscan is performing a check, its progress can be monitored through <em>clamdtop</em>. clamdtop opens a textmode viewer that shows all active scan queues along with available threads and memory.</p> <figure><img src="https://wrongthink.link/hardened-antivirus-01.png" alt="clamdtop readout"> </figure> <h1 id="clamonacc">clamonacc</h1> <p>The component that only very <a href="https://www.clamav.net/documents/on-access-scanning">few online guides</a> desire to cover. And even those feel inexhaustive. I&rsquo;m not sure if it&rsquo;s just poorly documented or just laziness from tech journalists. <em>clamonacc</em> is <em>not</em> automatically configured, at least not in Debian packaging, and needs to be setup manually. However, it is the way <strong>to utilize clamav to its fullest potential</strong> to protect your system.</p> <p>Edit /etc/clamd.conf and add options for on-access scanning. Select directories known for handling foreign files from over the network. Here are some general suggestions for a system running Firefox browser:</p> <pre tabindex="0"><code>OnAccessIncludePath /home/user/Downloads OnAccessIncludePath /home/user/.mozilla/firefox/$YOUR_PROFILE_STRING.default-esr OnAccessIncludePath /home/user/.cache OnAccessIncludePath /var/tmp OnAccessIncludePath /dev/shm OnAccessPrevention yes OnAccessExcludeUname clamav </code></pre><p>Debian uses clamav user to run clamdscan, so we exclude that username. <em>OnAccessPrevention</em> withholds file access from the system <em>until it has been cleared as safe</em> by clamdscan. Restart clamav-daemon to apply these new settings:</p> <pre tabindex="0"><code>systemctl restart clamav-daemon </code></pre><p>Next, we want to create a systemd unit file for running <em>clamonacc</em>.</p> <pre tabindex="0"><code>sudoedit /etc/systemd/system/clamonacc.service </code></pre><p>Populate it with:</p> <pre tabindex="0"><code>[Unit] Description=ClamAV On Access Scanner Requires=clamd@service After=clamav-daemon.service syslog.target network-online.target [Service] Type=simple User=root ExecStart=/usr/sbin/clamonacc -F --fdpass --log=/var/log/clamav/clamonacc.log --move=/home/user/.quarantine Restart=on-failure RestartSec=7s [Install] WantedBy=multi-user.target </code></pre><p>The official documentation wants us to use &ldquo;Requires=<span style="color:cyan">clamav-daemon</span> @service&rdquo; but since the Debian package does things its own way, we substitute &ldquo;clamd@service&rdquo;. Enable and start the new service:</p> <pre tabindex="0"><code>systemctl daemon-reload systemctl enable clamonacc.service systemctl start clamonacc </code></pre><p>We can check that it is working by dropping a <a href="https://www.eicar.org/?page_id=3950">test file</a> into one of the protected directories, and then trying to access it.</p> <pre tabindex="0"><code>cd /path/to/eicar.com.txt /home/user/Downloads/ cat /home/user/Downloads/eicar.com.txt </code></pre><p>If it&rsquo;s working, it should either immediately get moved to ~/.quarantine or you should get a warning &ldquo;<em>cat: Downloads/eicar.com.txt: Operation not permitted</em>&rdquo; before it then moves to ~/.quarantine.</p> <p>On most computers, clamonacc should be pretty quick to scan and detect anything. You may notice a bit of a slowdown in some instances. For example, if one chooses to monitor the entire .mozilla directory, the right click menu in Firefox may take a few hundred milliseconds longer to open. Latency like this will probably be more pronounced on older computers but the tradeoff should be worth it to implement &ldquo;exception deny&rdquo; behavior around incoming files.</p> <p>Last, clamonacc can generate <em>huge</em> log files. Configure logrotate to compress and remove old clamonacc logs. Create /etc/logrotate.d/clamav-clamonacc</p> <pre tabindex="0"><code>/var/log/clamav/clamonacc.log { rotate 6 weekly compress delaycompress missingok } </code></pre><p>And restart the logrotate service. Enjoy realtime antivirus.</p> Recovering From Bad Flashes https://wrongthink.link/posts/recovering-from-bad-flashes/ Thu, 07 Mar 2024 00:19:27 -0500 https://wrongthink.link/posts/recovering-from-bad-flashes/ <p>Whether you&rsquo;re working with free or closed equipment, the underlying firmware can be a fragile beast. And neither are immune to the damages of human error. I&rsquo;ll admit to putting my best foot forward on this site so I&rsquo;m overdue to share some blunders which might serve as instructional material. Over the last couple weeks I had <a href="https://infogalactic.com/info/Bricked">bricked</a> some equipment in a bout of overconfidence. Some desktops and some routers each stricken down.</p> <image src="https://wrongthink.link/guilty.gif" style="height:200px;width:200px"> <br /> <h1 id="brick-1">Brick #1</h1> <p>While repurposing a media center desktop for a good friend to use in their new home theater, I figured I&rsquo;d take the opportunity with it all disassembled to reflash the latest firmware from the vendor. And, crucially, <em>without reading the errata</em>. Had I done so, I would have clearly seen their cautions:</p> <blockquote> <p>*This BIOS doesn&rsquo;t support Bristol Ridge CPU, do NOT update this BIOS if Bristol Ridge CPU is being used.</p> </blockquote> <p>After the board went down to reboot, it returned with absolutely no video output. For a typical user, the only way out of this situation would have been to acquire a newer generation APU. But turning this thing around on the cheap precludes dropping money on a new processor (which would also enrich the backdoored x86 ecosystem). What to do?</p> <p>Bring out the old SPI programmer! First things first, we want to locate the BIOS chip and get it hooked up. The board had a few likely candidates so we&rsquo;d want to reference the layout. *<em><a href="https://yewtu.be/watch?v=-Gh1lTcwdGY">Do I want this to be a BIOS flashing guide? Hell, the Coreboot guide can go in its own article!</a></em></p> <figure><img src="https://wrongthink.link/reflashing-bios-rom.png" alt="BIOS chip location according to schematic."> </figure> <p>Normally, a BIOS chip would either be socketed or soldered in place. But with this particular X370 board, the vendor decided on a &ldquo;socketed&rdquo; Winbound chip of a style which should normally be soldered into place. It has it&rsquo;s own enclosure that opens like box lids (seen right of the PCIe slot), revealing the loosely sitting chip.</p> <figure><img src="https://wrongthink.link/reflashing-setup.jpg" alt="Pulling the BIOS chip out."> </figure> <p>The clamp will need to be used for this unusual configuration, even though the chip is removable. If you haven&rsquo;t used a SPI programmer before, look closely at the BIOS chip. There is typically a small circle in one corner indicating where to align the Pin 1 cable (red on mine).</p> <p> <image src="https://wrongthink.link/reflashing-bios-chip.jpg" style="height:402px;width:532px"> <br /><br /> With the programmer connected on a working host <em>that has <a href="http://www.flashrom.org">flashrom</a> installed</em>, we can issue a read command to backup the existing BIOS just in case the recovery attempt ends up making this worse somehow. flashrom generally needs to be run with root privileges.</p> <pre tabindex="0"><code>flashrom -p ch341a_spi -r Firmware-Backups/x370-itx-backup.bin </code></pre><p>Review the vendor&rsquo;s support pages to identify and acquire the BIOS which actually supports the installed hardware. Extract it into a working directory.</p> <pre tabindex="0"><code>wget --https-only https://download.asrock.com/BIOS/AM4/X370%20Gaming-ITXac(5.70)ROM.zip unzip X370\ Gaming-ITXac\(5.70\)ROM.zip -d Working-Directory/ </code></pre><p>Issue a write of the firmware file to the chip.</p> <pre tabindex="0"><code>flashrom -p ch341a_spi -w Working-Directory/X370GIA5.70 </code></pre><p>Output:</p> <pre tabindex="0"><code>flashrom unknown on Linux 6.1.0-18-powerpc64le (ppc64le) flashrom is free software get the sourcecode at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Found Winbound flash chip &#34;W25Q128.W&#34; (16384 kB, SPI) on ch341a_spi. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED. </code></pre><p>Disconnect the SPI programmer and place the BIOS chip back into its socket. Then connect a power supply. The board can be powered on by shorting the PWR and GND pins on the system panel header. We find that all is now working again.</p> <figure><img src="https://wrongthink.link/reflashing-recovered.jpg" alt="Running on the new firmware."> </figure> <p>Granted the board is encumbered with a UEFI BIOS as there is no Coreboot port for it, and likely never will be. But at least the firmware is patched as far as it can be taken on the vendor&rsquo;s disagreeable BIOS, including a fix for the F11 boot menu.</p> <h1 id="brick-2">Brick #2</h1> <p>I had absentmindedly flashed one of my routers with the wrong OpenWRT image. The Netgear WNDR3400 retailed in three different revisions, v1, v2 and v3. They all look nearly identical except for the coloration of their illuminated domes. The internals of each revision are actually quite different. It was only a matter of time before my disorganization invited a WDNR3400v1 or WNDR3400v3 <a href="https://openwrt.org/">OpenWRT</a> firmware to be flashed to my v2 model, thus bricking it. After it restarted it wouldn&rsquo;t respond to any amount of network probing.</p> <p>Backing up the current failed firmware was mostly smooth sailing. The specific model flash chip first needed to be passed with -c.</p> <pre tabindex="0"><code>Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Found Macronix flash chip &#34;MX25L6405&#34; (8192 kB, SPI) on ch341a_spi. Found Macronix flash chip &#34;MX25L6405D&#34; (8192 kB, SPI) on ch341a_spi. Found Macronix flash chip &#34;MX25L6406E/MX25L6408E&#34; (8192 kB, SPI) on ch341a_spi. Found Macronix flash chip &#34;MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F&#34; (8192 kB, SPI) on ch341a_spi. Multiple flash chip definitions match the detected chip(s): &#34;MX25L6405&#34;, &#34;MX25L6405D&#34;, &#34;MX25L6406E/MX25L6408E&#34;, &#34;MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F&#34; Please specify which chip definition to use with the -c &lt;chipname&gt; option. </code></pre><p>The model print is barely legible on the tiny flash chip.</p> <pre tabindex="0"><code>flashrom --programmer ch341a_spi -c MX25L6406E/MX25L6408E -r Downloads/bricked-wndr3400v2--backup.bin flashrom unknown on Linux 6.1.0-18-powerpc64le (ppc64le) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Found Macronix flash chip &#34;MX25L6406E/MX25L6408E&#34; (8192 kB, SPI) on ch341a_spi. === Reading flash... done. </code></pre><figure><img src="https://wrongthink.link/reflashing-wndr-backup.jpg" alt="Backing up the current firmware as is."> </figure> <p>I <em>thought</em> it would be a simple rescue with the programmer. But flashrom has an aversion to writing images that are a smaller size than the target flash chip capacity. And I didn&rsquo;t want to force it since I couldn&rsquo;t find any data on how flashrom pads space or whether it writes it to the beginning or the end of the ROM sector.</p> <pre tabindex="0"><code>flashrom --programmer ch341a_spi -c MX25L6406E/MX25L6408E -w Downloads/openwrt-23.05.2-bcm47xx-mips74k-netgear_wndr3400-v2-squashfs.chk ... === Error: Image size (6230074 B) doesn&#39;t match the expected size (8388608 B)! </code></pre><p>It didn&rsquo;t take well to my manually padding the firmware image with <em>truncate</em> either for some reason. So I was sent looking for other solutions which led me to <a href="https://github.com/jclehner/nmrpflash">nmrpflash</a>, a brilliant and minimal tool specifically for recovering from faulty Netgear firmware flashes.</p> <p>Apparently, Netgear devices have their own &ldquo;NetGear Management Remote Protocol&rdquo;, or NMRP, which allows thier routers to automatically retrieve firmware images over TFTP, even in a failed state. Since the officially recommended installation method for OpenWRT on the <a href="https://openwrt.org/toh/netgear/wndr3400?s%5B%5D=wndr3400#installation_v2">3400v2 is via the vendor&rsquo;s original firmware</a>, I determined to grab a <a href="https://kb.netgear.com/000036757/WNDR3400v2-Firmware-Version-1-0-0-54">copy</a> for nmrpflash to supply. The host running nmrpflash needs to be connected to the router on its LAN1 port.</p> <p>With the router powered on and connected, confirm that the ethernet interface is listed. (0.0.0.0 is valid here, and what I used to successfully recover the router):</p> <pre tabindex="0"><code>nmrpflash -L </code></pre><p>Then power off the router and start nmrpflash, passing the firmware file on that interface.</p> <pre tabindex="0"><code>nmrpflash -i enP4p1s0f1 -f Netgear-Firmware/WNDR3400v2-V1.0.0.54_1.0.82.chk </code></pre><p>Finally, power the router back on and wait.</p> <p>The nmrpflash version in Debian&rsquo;s repositories was unable to communicate with my WNDR3400v2. It would time out after a minute with <em>&ldquo;Timeout while waiting for TFTP_UL_REG&rdquo;</em>. So I begrudgingly built the newer v0.9.22 from source, which worked without any fuss.</p> <pre tabindex="0"><code>Waiting for Ethernet connection (Ctrl-C to skip). Advertising NMRP server on enP4p1s0f1 ... / Received configuration request from XX:XX:XX:XX:XX:XX. Sending configuration: 10.164.183.253/24. Received upload request without filename. Uploading WNDR3400v2-V1.0.0.54_1.0.82.chk ... OK (6713402 b) Waiting for remote to respond. Received keep-alive request (6). Remote finished. Closing connection. Reboot your device now. </code></pre><p>Power cycle the router and a moment later it&rsquo;s back up and usable. Now that looks much better!</p> <figure><img src="https://wrongthink.link/reflashing-wndr-nmrpflash.jpg" alt="WNDR3400v2 after being recovered with nmrpflash"> </figure> <p>Just get it back into its housing, rerun the OpenWRT flashing procedure and reapply the settings in LuCI web interface. jclehner&rsquo;s tool leveraging NMRP was very helpful, but what does this mean from a security perspective?</p> <p>There is an interface silently <a href="https://www.chubb.wattle.id.au/PeterChubb/nmrp.html">listening for ADVERTISE NMRP packets</a> every time you power on a Netgear router <strong>even when the board firmware has been corrupted</strong>. As far as I can tell, TFTP uses no cryptography to secure file transfers and <a href="https://infogalactic.com/info/Trivial_File_Transfer_Protocol">includes no login or access control mechanisms</a>. In my time using it, the ethernet cable needed to be inserted specifically on LAN1 (next to the WAN port on most Netgear equipment) but this is no precaution I would seriously rely on.</p> <p>The whole scheme just reeks of a liability on which to be running a public internet facing network. Maybe we need to start disconnecting such routers at the physical layer when applying firmware updates. It serves to illustrate how just because you&rsquo;re running some replacement libre firmware doesn&rsquo;t automatically put you in the clear.</p> <h1 id="brick-3">Brick #3</h1> <p>One of my Coreboot systems received a bad build and, where I&rsquo;d been relying on the internal programmer option from flashrom directly on that host, has no path to recover without hooking this one up as well to the external flasher. To be frank, I still have yet to recover that system, and it makes more sense to include that process in a wider Coreboot writeup. For the sake of keeping this short and digestible, I&rsquo;ll conclude with this general advice when doing anything involving firmware:</p> <ul> <li>Double check file paths, command arguments, and image versions before committing to a firmware flash.</li> <li>Don&rsquo;t initiate a firmware write without both the host and target connected on an uninterruptible power supply.</li> <li>Backup your firmware before reflashing anything, and consider keeping the backups for posterity.</li> <li>Read the damned changelog!</li> </ul> The Normalization of Spyware https://wrongthink.link/posts/the-normalization-of-spyware/ Sat, 24 Feb 2024 12:59:13 -0500 https://wrongthink.link/posts/the-normalization-of-spyware/ <p>We shouldn&rsquo;t refrain from admitting where we&rsquo;ve lost ground or find ourselves on the losing side. It is something that may be obvious but is seldom formally voiced: <em>spyware has been normalized</em>. There was once a time where raising caution on the dangers of trusting centralization would yeild a degree of receptivity, or at least an understanding of the implicit consequences being raised. When the introduction of some new tracking method was once worth devoted attention from relatively mainstream publications.</p> <p>Today, it is not uncommon to instead be met with an apathetic response. &ldquo;Well, they&rsquo;ll get my data anyway so we&rsquo;ll just use XYZ.&rdquo; Especially among those who have grown up submersed in surveillance capitalism. Apathy is also expressed in those who find themselves <em>wanting out</em> but feel so much has been profiled about them that any effort to recitfy this would be rendered futile. And those who do take initiative to reclaim digital privacy often face soft ostracization for not simply going along.</p> <p>If you&rsquo;re the one in a group to decline an event group photo being uploaded to Facebook, you&rsquo;re harangued for being &ldquo;difficult&rdquo;. If a representative inquires for your email address, anything other than a @gmail.com domain will elicit &ldquo;I&rsquo;m sorry, what? Can you spell that please?&rdquo; and other friction. Refusing to use an organization&rsquo;s &ldquo;app&rdquo; gets reactions as though you&rsquo;re a bum. Many of us have squarely lost territory in organizing anything digitally with relatives or friends. The least qualified individuals to be making technical decisions on behalf of a group are often the ones who end up doing so.</p> <p>So surviellance capitalists and ad network psychopaths may not have succeeded in reeducating <em>you</em>, dear ninja hacker, they certainly have done so with the general population. They have <em>won</em> that battle. Having recognized this, we should respect this fact when building and implementing solutions. Are you targeting your solutions at <em>other techies</em>? Or at the general population? I&rsquo;m beginning to think it cannot be both.</p> Hardened Web Blocker https://wrongthink.link/posts/hardened-web-blocker/ Thu, 15 Feb 2024 22:37:13 -0500 https://wrongthink.link/posts/hardened-web-blocker/ <p>Many web blocker addons take the approach of selectively blocking resources based on finite blacklists. Some have limited methods to allow manually selecting items to block, but generally they allow everything by default and only block elements which match some known bad origin. In some cases, these <a href="https://www.ghacks.net/2011/12/12/adblock-plus-to-allow-acceptable-ads/pushover">pushover content blockers</a> will even receive compensation to allow elements of which they otherwise claim to block.</p> <p>We can skip that entire rodeo by using a more robust, <a href="http://www.freebsdwiki.net/index.php/Firewall_Default_deny">default-deny</a> browser firewall like <a href="https://github.com/gorhill/uMatrix">uMatrix</a>. Its strength is in being able to block everything by default, and then allow or disallow each element on a page with granularity. <a href="https://jshelter.org/crawling_results/">uMatrix is even stronger than the renowned uBlock Origin</a>, and that&rsquo;s before hardening it&rsquo;s default settings!</p> <p>Install uMatrix and then open its control panel by clicking on its icon. From here, we&rsquo;re going to configure it to block everything from all web pages except for images and the HTML file itself. The rationale for this being that much of what we do on the web involves reading text and viewing images, and these both present a very small attack surface compared to CSS, <a href="https://sourcedefense.com/glossary/javascript-risk/">javascript</a> and others.</p> <p>Select the &ldquo;*&rdquo; in the upper left to switch to global scope. The cells in the grid below can be toggled allow (green) or block (red) by clicking either the upper or lower half of the cell. Toggle &ldquo;all&rdquo; to off. You may need to disable any green cells in the top most row and the leftmost column. It should look like this:</p> <figure><img src="https://wrongthink.link/hardened-umatrix-01.png"> </figure> <p>Also open the site wide elements dropdown (three dots) and make sure that the following are enabled:</p> <ul> <li>Forbid web workers</li> <li>Forbid mixed content</li> <li>Spoof Referer header</li> <li>Spoof &lt;noscript&gt; tags</li> </ul> <p><strong>Click on the lock icon to make these settings persistent</strong>. Now when you visit any site, you will see just how much garbage they try to load and how many of their marketing buddies they instruct your computer to report to.</p> <figure><img src="https://wrongthink.link/hardened-umatrix-02.png"> </figure> <p>Alternatively, this global ruleset can be configured textually through the My Rules tab in uMatrix&rsquo; settings. Delete everything under Permanent Rules and set the following:</p> <pre tabindex="0"><code>https-strict: * true https-strict: behind-the-scene false noscript-spoof: * true referrer-spoof: * true referrer-spoof: behind-the-scene false no-workers: * true * * * block * 1st-party image allow </code></pre><p>Once configured, there will be certain pages that need additional elements to enable functional interactivity. For example, logging into a <a href="https://www.phpbb.com/">bulletin board</a> forum will require cookies to be enabled. Advanced editor features will require javascript, unless you have memorized BB code tags. Toggle cells to allow resources and then click <strong>reload page (rotating arrows)</strong> until you get the functionality you need working. If you will frequently be using a site it may make sense to click the lock to save the working configuration.</p> <p>But this really begins to shine when it comes to visitor-hostile sites. One might be pleasantly surprised to learn that without javascript or CSS, some paywalled articles are perfectly readable in plain HTML. And enjoy just how much faster and lighter everything is when 3rd party domains aren&rsquo;t allowed to deliver their <a href="https://wrongthink.link/posts/what-web-looks-like-without-blockers">payloads</a>.</p> <p>Some general tips for running uMatrix:</p> <ul> <li>When allowing javascript for a domain it is generally also necessary to allow XHR in that same domain scope.</li> <li>Domains that show up as dark red are being blocked explicitly by uMatrix&rsquo;s blocklists. Even if you enable the entire column for a resource, resources from that domain will continue to be blocked unless you specifically allow them.</li> <li>Some highly interactive sites require web workers so don&rsquo;t forget that is hidden away in the three dots dropdown.</li> <li>Allowing CSS on a page will usually &ldquo;unbreak&rdquo; much of the layout and some interactive functions.</li> <li>If you are struggling to enable some functionality on a website open the logger (top right icon). It will show explicitly every resource, with full name and info, that is being blocked or allowed.</li> </ul> <figure><img src="https://wrongthink.link/hardened-umatrix-03.png"> </figure> <p>Once its use becomes second nature, returning to the web <em>without</em> uMatrix might feel a bit like trying to drive a nail with a <a href="https://yewtu.be/watch?v=GoqBKlRrIv8">rubber chicken</a>.</p> Deadending x86 https://wrongthink.link/posts/deadending-x86/ Tue, 13 Feb 2024 10:57:28 -0500 https://wrongthink.link/posts/deadending-x86/ <p>As OSes begin to entertain <a href="https://www.phoronix.com/news/Serpent-OS-January-2024">dropping &ldquo;x86_64-v1&rdquo;</a> support in builds<a href="https://www.phoronix.com/news/RedHat-RHEL10-x86-64-v3-Explore">[1]</a><a href="https://www.phoronix.com/news/Ubuntu-x86-64-v3-Experiment">[2]</a><a href="https://news.opensuse.org/2022/11/28/tw-to-roll-out-mitigation-plan-advance-microarchitecture/">[3]</a>, the clampdown accelerates on generative computing. You vill submit to Intel ME and AMD PSP and you vill be happy!</p> <p>You might be forgiven if you had thought that the constant addition of new extensions was just engineering teams implementing more efficient instruction paths, and this may even be true some of the time, but it is ultimately due to the finite life of patents being fixed at twenty years. Intel undeniably has self interest in <a href="https://www.rhythmsystems.com/blog/3-ways-to-build-your-moat-before-competition-takes-your-castle">moat building</a> by leveraging their cross licensing for these <a href="https://infogalactic.com/info/Term_of_patent_in_the_United_States">under-twenty year terms</a>. A problem for the CPU industry is that CPUs really don&rsquo;t deteriorate (perceptibly) and so if not for the cajoling of users to adopt an endlessly growing list of new <em>critical</em> features, most could otherwise happily sit pretty on their CPUs as they age, even well beyond that twenty year patent life (oh, the horror!).</p> <p>And so to keep their patenting and associated licensing arrangements alive, it is imperative for Intel (and AMD) to continually devise new extensions, whether or not there is actually a technical need for them. Something to ensure that twenty years down the line, a would-be competitor couldn&rsquo;t just pick up the ISA spec and begin producing their own x86 feature-parity chipsets. But this alone hasn&rsquo;t been enough carrot-and-stick to compel sufficient turnover in sales. Intel and AMD got together with major Linux distributions in 2020 to devise baseline feature sets defining extension collections that can be used for chronological product segmentation. <a href="https://gitlab.com/x86-psABIs/x86-64-ABI/-/raw/master/x86-64-ABI/low-level-sys-info.tex">The segmentation is as follows:</a></p> <h2 id="x86_64-v1----almost-all-64-bit-intel-and-amd">x86_64-v1 &ndash; (Almost all 64-bit Intel and AMD)</h2> <ul> <li>CMOV</li> <li>CX8</li> <li>FPU</li> <li>FXSR</li> <li>MMX</li> <li>OSFXSR</li> <li>SCE</li> <li>SSE</li> <li>SSE2</li> </ul> <h2 id="x86-64-v2----since-2011-sandybridge-bulldozer">x86-64-v2 &ndash; (Since 2011, Sandybridge, Bulldozer)</h2> <ul> <li>CMPXCHG16B &amp; cmpxchg16b</li> <li>LAHF-SAHF</li> <li>POPCNT</li> <li>SSE3</li> <li>SSE4_1</li> <li>SSE4_2</li> <li>SSSE3</li> </ul> <h2 id="x86-64-v3----since-2015-haswel-excavator">x86-64-v3 &ndash; (Since 2015, Haswel, Excavator)</h2> <ul> <li>AVX</li> <li>AVX2</li> <li>BMI1</li> <li>BMI2</li> <li>F16C</li> <li>FMA</li> <li>LZCNT</li> <li>MOVBE</li> <li>OSXSAVE</li> </ul> <h2 id="x86-64-v4----from-2017-onward">x86-64-v4 &ndash; (From 2017 onward)</h2> <ul> <li>AVX512F</li> <li>AVX512BW</li> <li>AVX512CD</li> <li>AVX512DQ</li> <li>AVX512VL</li> </ul> <p>And you can bet there will be v5, v6 and beyond just as with the endless profit-booster shots. <strong>After drafting this article</strong> Intel&rsquo;s new <em>AVX10</em> had <a href="https://www.phoronix.com/news/Intel-APX-AVX10-Clear-Linux">made itself known to me</a>. Am I Nostradamus?</p> <p>x86 can today be considered an incredibly mature ISA and nothing substantial has really changed since the switch from 32-bit to 64-bit addressable architectures. The individual additions of things like AVX have been only iterative, not yielding the kind of game-changing leaps of yesteryear such as the jump from single core to multicore processors. From a purely design perspective, it might make more sense for development effort to be spent instead on improving what is already there with additional die space afforded by new lithography. Torvalds himself <a href="https://www.realworldtech.com/forum/?threadid=193189&amp;curpostid=193190">has railed on the endless barrage of new extensions</a>.</p> <blockquote> <p>I hope AVX-512 dies a painful death, and that Intel starts fixing real problems instead of trying to create magic instructions to then create benchmarks that they can look good on. I hope Intel gets back to basics: gets their process working again, and concentrate more on regular code that isn&rsquo;t HPC or some other pointless special case.</p> </blockquote> <p>And he isn&rsquo;t alone. <a href="https://chipsandcheese.com/2023/10/11/avx10-128-is-a-silly-idea-and-should-be-completely-removed-from-the-specification/">Others have raised concern</a> over how unsustainable these market segmented feature sets are becoming.</p> <blockquote> <p>From a maintenance point of view, it is unreasonable to ask every package manager to compile different versions of projects for different versions of ISAs, to tune for differently platforms, and somehow manage to always build and ship them. Now you’re going to add all of that on top of keeping up with the existing burdens of package management?</p> </blockquote> <p>I&rsquo;m not necessarily against specialized instructions that increase the efficiency of certain operations. What makes this an alarming development is that they are being inseperably tied to other &ldquo;features&rdquo; that one ought not tolerate. Like with cable television channels, it is not possible to pick and choose CPU features a la carte, instead one is at the mercy of the corporate bundle. <strong>If one must utilize x86_64-v3 builds of distributions, it is not possible to arrange without also encumbering one&rsquo;s device with the restrictive Mangement Engine or PSP.</strong></p> <p>So now we have Intel and AMD reaching their feet over to the gas pedal to apply a little more throttle down the highway to dystopia in the way of force-obsoleting perfectly functional microarchitecture generations. They always start with enterprise &ldquo;its just sensible for corporate deployments&rdquo; but remember that <a href="https://12bytes.org/content-update-intel-amd-and-your-privacy/">Intel vPro with ME</a> were also <em>just</em> for enterprise purposes at first. They will eventually extinguish the lingering systems which afford owner-operators just a little bit <em>too much</em> freedom.</p> <p>And that is why I call it the deadending of x86. Those who value autonomy in their computing are afforded no path to modern, performant x86 hardware. Freedom-supporting x86 is a road that leads to a terminated end. No turnaround, one way only. This is also why I assert that the only long term winning move is to abandon x86 in its entirety. Those old Librebooted thinkpads and server boards that the <a href="https://www.fsf.org/news/libreboot-t400-laptop-now-fsf-certified-to-respect-your-freedom">FSF likes to champion</a> are eventually going to fall out of the scope of build targets. At first only in compile selections, and then later in bit rot and technical debt. One might consider <a href="https://wrongthink.link/posts/selecting-computer-hardware">exiting now</a> while the cost of migration remains relatively low.</p> System-Wide Domain Blacklisting https://wrongthink.link/posts/system-wide-domain-blacklisting/ Mon, 05 Feb 2024 21:30:17 -0500 https://wrongthink.link/posts/system-wide-domain-blacklisting/ <p>Many of the same block lists used by ad blocker extensions can also be used globally by your hosts file to redirect all requests to that domain to a non-routable address. You may sometimes see this referred to as &ldquo;<a href="https://cihansol.com/blog/index.php/2022/01/19/banishing-ads-into-the-void-with-pi-hole/">blackholing</a>&rdquo; DNS. If a program initiates any lookups for cookielaw.org, and cookielaw.org is on this hosts file, it should be redirected to 0.0.0.0 which instantly fails out as unresolvable preventing the program from connecting to the actual destination.</p> <p>The concept of blackholing has been popularized among newbie privacy communities by the likes of &ldquo;pi-hole&rdquo;. But I think that pi-hole misses the mark. First of all, we don&rsquo;t want to rely on a system outside of the host, not just because that introduces yet another device which needs to be rigorously secured but also because you may decide to take your computer with you to connect to another network somewhere else. Especially if it is a laptop. Or what of hopping on to a system-wide VPN connection? Additionally, our tor-wrapped DNS solution detailed in <a href="https://wrongthink.link/posts/hardened-dns">Hardened DNS</a> will evade any such device sitting on the LAN attempting to mediate DNS.</p> <p>While blackholing can simply be accomplished by manually adding a domain list into hosts, I have substantially transformed a script to automate the process and to allow several different lists to be seamlessly combined. Create a cron or anacron job for the script to run:</p> <pre tabindex="0"><code>sudoedit /etc/cron.daily/hosts-block </code></pre><p>And populate it with the following:</p> <pre tabindex="0"><code>#!/bin/bash #Automated script for maintaining a malware blocking hosts file #Originally created by user SteveRiley https://www.kubuntuforums.net/showthread.php/56419-Script-to-automate-building-an-adblocking-hosts-file?s=e56f4375b9ded5ca30e26346a06d71f3 #Adapted and extended to only accept lists over https, add working directory, automatically apply to hosts, add configurable list categories, generalize beyond just ad blocking, add support for lists already pointing to 0.0.0.0, and prevent overwriting hosts with empty list (such as network issue) if [ &#34;$(whoami)&#34; != &#34;root&#34; ]; then echo &#34;Aborting: Must be run as root or via sudo.&#34; exit 1 fi # If this is our first run, save a copy of the system&#39;s original hosts file and set to read-only for safety if [ ! -f /var/local/hosts-blocking/hosts-system ]; then echo &#34;Saving copy of system&#39;s original hosts file...&#34; mkdir /var/local/hosts-blocking cp /etc/hosts /var/local/hosts-blocking/hosts-system chmod 444 /var/local/hosts-blocking/hosts-system fi # Perform work in temporary files temphosts1=$(mktemp) temphosts2=$(mktemp) # Configurable blocklist files sources block_lists=(\ #Block advertisements &#34;https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&amp;showintro=0&amp;mimetype=plaintext&#34; \ &#34;https://adaway.org/hosts.txt&#34; \ &#34;https://hostsfile.mine.nu/hosts0.txt&#34; \ &#34;https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts&#34; \ #Block malware &#34;https://www.malwaredomainlist.com/hostslist/hosts.txt&#34; \ &#34;https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts&#34; \ #Block crypto miners &#34;https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt&#34; \ &#34;https://raw.githubusercontent.com/anudeepND/blacklist/master/CoinMiner.txt&#34; \ &#34;https://zerodot1.gitlab.io/CoinBlockerLists/hosts&#34; \ &#34;https://zerodot1.gitlab.io/CoinBlockerLists/hosts_browser&#34; \ #Block spam &#34;https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts&#34; \ #Block trackers &#34;https://hostfiles.frogeye.fr/multiparty-trackers-hosts.txt&#34; \ &#34;https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt&#34; \ #Block clickjackers &amp; bad referers &#34;https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts&#34; \ #Block Facebook &#34;https://raw.githubusercontent.com/jmdugan/blocklists/master/corporations/facebook/all&#34; \ #Block Google #&#34;https://raw.githubusercontent.com/jmdugan/blocklists/master/corporations/google/non_localized&#34; \ #&#34;https://raw.githubusercontent.com/jmdugan/blocklists/master/corporations/google/localized&#34; \ #Block Huawei &#34;https://raw.githubusercontent.com/PikaMikaTuu/huawei-block-list/master/huawei-block-host.txt&#34; \ #Block NSA known domains &#34;https://pastebin.com/raw/tNBM1j19&#34; \ #STATIC BACKUP OF LAST KNOWN LIST BEFORE CHEF-KOCH TAKE DOWN #Monotlithic lists to block spyware, ads, scams, spams, shock sites, popups, trackers, etc. #&#34;https://someonewhocares.org/hosts/zero/hosts&#34; \ ) # Obtain various hosts files and merge into one echo &#34;Downloading blocklist files...&#34; successful_lists=0 for list in &#34;${block_lists[@]}&#34;; do torsocks wget --https-only --no-cookies -nv -O - &#34;$list&#34; &gt;&gt; $temphosts1 if [ $? == &#34;0&#34; ]; then ((++successful_lists)) fi done #Test if temposts1 is empty if [ -s &#34;$temphosts1&#34; ]; then # Do some work on the file: # 1. Remove MS-DOS carriage returns # 2. Replace 0.0.0.0 with 127.0.0.1 to handle lists that already point to 0.0.0.0 # 3. Delete all lines that don&#39;t begin with 127.0.0.1 # 4. Delete any lines containing the word localhost because we&#39;ll obtain that from the original hosts file # 5. Replace 127.0.0.1 with 0.0.0.0 because then we don&#39;t have to wait for the resolver to fail # 6. Scrunch extraneous spaces separating address from name into a single tab # 7. Delete any comments on lines # 8. Clean up leftover trailing blanks # Pass all this through sort with the unique flag to remove duplicates and save the result echo &#34;Parsing, cleaning, de-duplicating, sorting...&#34; sed -e &#39;s/\r//&#39; -e &#39;s/0.0.0.0/127.0.0.1/&#39; -e &#39;/^127.0.0.1/!d&#39; -e &#39;/localhost/d&#39; -e &#39;s/127.0.0.1/0.0.0.0/&#39; -e &#39;s/ \+/\t/&#39; -e &#39;s/#.*$//&#39; -e &#39;s/[ \t]*$//&#39; &lt; $temphosts1 | sort -u &gt; $temphosts2 # Combine system hosts with blocks echo Merging with original system hosts... echo -e &#34;\n# General malware blocking hosts generated from $successful_lists out of ${#block_lists[@]} lists on &#34;$(date) | cat /var/local/hosts-blocking/hosts-system - $temphosts2 &gt; /var/local/hosts-blocking/hosts-block # Apply final blocklist to system hosts file cp /var/local/hosts-blocking/hosts-block /etc/hosts # Clean up temp files and remind user to copy new file echo &#34;Cleaning up...&#34; rm $temphosts1 $temphosts2 echo &#34;Done.&#34; echo echo &#34;Manually copy malware blocking hosts file with this command:&#34; echo &#34; sudo cp /var/local/hosts-blocking/hosts-block /etc/hosts&#34; echo echo &#34;You can always restore your original hosts file with this command:&#34; echo &#34; sudo cp /var/local/hosts-blocking/hosts-system /etc/hosts&#34; echo &#34;so don&#39;t delete that file! (It&#39;s saved read-only for your protection.)&#34; echo exit 0 else # Prevent existing blocklists from being overwritten with empty list echo &#34;Aborting: No blocklist content has been retrieved into the working file.&#34; exit 1 fi </code></pre><p>The Configurable blocklist sources section can be adjusted to include lists which have been commented out. Simply remove the leading &ldquo;#&rdquo;. You may want to do this if you don&rsquo;t plan on connecting to any Google services, for example. Also you may find inspiration in adding lists from uBlock, uMatrix or other addons. Just make sure that the list uses IPv4 addresses.</p> <p>If you want it to be applied immediately instead of waiting for the daily update job to run, just directly run the script with root privileges:</p> <pre tabindex="0"><code>sudo /etc/cron.daily/hosts-block </code></pre><p>All of the lists will be updated daily over Tor. You can check the status of your hosts file by running:</p> <pre tabindex="0"><code>grep -e General /etc/hosts </code></pre><p>It should reveal whether any lists were skipped which may indicate that a link is broken. For example;</p> <pre tabindex="0"><code># General malware blocking hosts generated from <span style="color:red">16 out of 17</span> lists on Sat 26 Feb 2022 12:49:16 AM EST </code></pre><p>Like with earlier customizations, make sure that <a href="https://wrongthink.link/posts/hardened-web-browser">Firefox</a> is set to respect your <a href="https://wrongthink.link/posts/hardened-dns">system domain resolution</a> instead of Mozilla&rsquo;s disgraceful cloudflare honeypot. Now if your adblockers fail for whatever reason, most malicious domains should still be blocked through this <a href="https://infogalactic.com/info/Defense_in_depth#Information_security">defense-in-depth</a> strategy.</p> Debian Quality of Life Tips and Tricks https://wrongthink.link/posts/debian-quality-of-life/ Mon, 22 Jan 2024 21:30:17 -0500 https://wrongthink.link/posts/debian-quality-of-life/ <p>There are a number of quality of life tricks for Debian that I wish I&rsquo;d known when I was first learning the ropes. Mostly package management things. But they&rsquo;re not expressly stated in the kinds of places that a first timer is <a href="https://www.debian.org/distrib/netinst">likely going to see them</a>. Some are dead stupid, but the &lsquo;wrong way&rsquo; is still perpetuated to this day by <em>techtubers</em> who pump out video after video without double checking things beyond surface level. Such is the case with <em>apt</em> commands. It is <em>apt</em>, not <em>apt-get</em>. They only keep apt-get around to maintain backward compatibility of shell scripting.</p> <p>Much I had to discover through trial-and-error or by crawling through forum threads or man pages. Without further ado:</p> <image src="https://wrongthink.link/cozytux.png" alt="Cozy Tux" style="width:592px;height:451px;"> <br /><br /> <h2 id="easy-apt-sources">Easy apt sources</h2> <p>Apt has a builtin for editing the sources file, instead of manually calling a text editor to the sources.list file path.</p> <pre tabindex="0"><code>apt edit-sources </code></pre><h2 id="how-to-keep-a-lean-system">How to keep a lean system</h2> <p>Keeping a lightweight install, especially when adding the first packages on a newly provisioned system.</p> <ol> <li>Debian maintains metapackages for desktop environments which contain only the essential components. They&rsquo;re fairly consistently named $DESKTOP_ENVIRONMENT-core. Install these, instead of the desktop environments presented in <a href="https://tracker.debian.org/pkg/tasksel">tasksel</a> if you would like to avoid the cruft of having pointless games, &ldquo;essential&rdquo; office software and other bloat dumped into your install. For example:</li> </ol> <pre tabindex="0"><code>apt install cinnamon-core </code></pre><p>Extra bonus if you&rsquo;re using Gnome, for which there is an even <em>more miminalistic</em> metapackage.</p> <pre tabindex="0"><code>apt install gnome-session </code></pre><ol start="2"> <li>To further minimize unneeded cruft when installing large software packages, apt can be specified to ignore additional packages recommended by the maintainer. Sometimes they like to <a href="https://www.debian.org/doc/debian-policy/ch-relationships.html">mark things as <em>Recommends</em> when they really belong in <em>Suggests</em></a>.</li> </ol> <pre tabindex="0"><code>apt install --no-install-recommends packagename </code></pre><p>It is much easier to add additional packages and dependencies as you find them necessary, rather than to try to remove unwanted things <em>after the fact</em> and risk running up against <a href="https://infogalactic.com/info/Dependency_hell">dependency hell</a>. But if you do find yourself removing things, <em>purge</em> them instead of <em>removing</em> them.</p> <pre tabindex="0"><code>apt purge packagename </code></pre><p>This will also rid the system of residual configuration files for that program (except for those in the /home directory).</p> <h2 id="backports-and-their-importance-in-a-stable-system">Backports and their importance in a stable system</h2> <p>Add the backports repository to your apt sources.</p> <pre tabindex="0"><code>deb tor+http://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian/ bookworm-backports main </code></pre><p>What, you&rsquo;re not stuffing package management through tor? Well <a href="https://onion.debian.org/">you should</a>.</p> <p>For the sake of compatibility, some programs need to track upstream releases beyond the frozen stable version. Notably yt-dlp, for example. Apt can query the presence of a package from the backports repository via:</p> <pre tabindex="0"><code>apt search -t stable-backports packagename </code></pre><p>Substituting the release name for <em>stable</em>, of course. Installing the package with this same switch will ensure that it follows the backports releases.</p> <pre tabindex="0"><code>apt install -t stable-backports packagename </code></pre><h2 id="safe-update-automation"><em>Safe</em> update automation</h2> <p>While <a href="https://tracker.debian.org/pkg/unattended-upgrades">unattended-upgrades</a> is great and all, I am more partial to <a href="https://tracker.debian.org/pkg/apt-config-auto-update">apt-config-auto-update</a> as I have programs I like to <em>check</em> source changes before applying upgrades that can potentially break my boot process. Yes, even the packager maintainers are fallible beings who sometimes make mistakes. This will automatically check for and <em>download</em> upgrades, but leaves the obligation to <em>install</em> upgrades in the hands of the operator.</p> <p>And before applying any upgrades, it is always good to have resources that one can cross reference before committing to any upgrade.</p> <ul> <li>The official <a href="https://www.debian.org/security/dsa-long">Debian security RSS feed</a></li> <li>The <a href="https://tracker.debian.org/">Debian Package Tracker</a>, which I link to extensively, useful for versioning changes</li> <li><a href="https://sources.debian.org/">Debian Sources</a> for viewing config and source code without having to pull anything down from deb-src</li> </ul> <p>Additionally, when we rely on human presence to apply upgrades, it&rsquo;s never a bad idea to have notifications. My own in-house solution already has a way of notifying me but there is <a href="https://code.guido-berhoerster.org/projects/package-update-indicator/">package-update-indicator</a> available for those who wish to have a visual reminder.</p> <p>When something <em>is</em> broken, and you wish to temporarily avoid upgrading it, it is very simple to pass:</p> <pre tabindex="0"><code>apt install --only-upgrade packagename1 packagename2 </code></pre><p>Leaving out the package(s) you wish to leave as-is. Longer term holds should probably go through apt-mark:</p> <pre tabindex="0"><code>apt-mark hold brokenpackage </code></pre><p>And unhold it later once things are in the clear. I&rsquo;ve saved myself a few headaches on servers this way wherein I wasn&rsquo;t quite ready to deploy some of my own shoddily written scripts still relying on APIs from previous versions.</p> <h2 id="cleaning-up-ones-system">Cleaning up one&rsquo;s system</h2> <p>I&rsquo;ve done it, and you probably have too, having installed several development libraries and other dependencies to compile a program that wasn&rsquo;t in the Debian repositories (or available for one&rsquo;s CPU architecture!). And long after you&rsquo;re done building the program, there are now dozens of <em>libsomething-dev</em> cluttering your install. Which ones to remove? Good luck, I hope you wrote each one down!</p> <p>&hellip;Or we can rely on trusty <em>apt-cache</em> and other tools.</p> <p>Find out what a given package requires <em>before</em> you install it:</p> <pre tabindex="0"><code>apt-cache depends packagename </code></pre><p>Or check the dependencies that an <strong>already installed</strong> package had pulled in.</p> <pre tabindex="0"><code>apt-cache rdepends --installed packagename </code></pre><p>If you&rsquo;ve really created a mess for yourself, there is the handy <a href="https://tracker.debian.org/pkg/deborphan">deborphan</a> tool for finding packages that are no longer needed. No special switches needed.</p> <pre tabindex="0"><code>deborphan </code></pre><p>This will catch things that simply aren&rsquo;t tracked by <em>apt autoremove</em>. Speaking of apt autoremove, we want to always purge packages, as earlier.</p> <pre tabindex="0"><code>apt autoremove --purge </code></pre><p><em>or simply</em></p> <pre tabindex="0"><code>apt autopurge </code></pre><p>Recent releases of Debian seem to have apt take care of old installed Linux kernels automatically. But this hasn&rsquo;t always been the case (or maybe it was just the way I&rsquo;d previously configured my system). The /boot partition is only allocated several hundred meegabytes by default and can fill up fast if one allows too many kernel versions to be installed. Check the current running version:</p> <pre tabindex="0"><code>uname -r </code></pre><p>We don&rsquo;t want to go removing the same kernel that the current session has booted on! List all of the currently installed kernels.</p> <pre tabindex="0"><code>dpkg -l | grep linux-image </code></pre><p>Apt can be supplied several items to add or remove in batch.</p> <pre tabindex="0"><code>apt purge linux-image-x.x.x-xx-architecture linux-image-x.x.x-xx-architecture </code></pre><p>And of course during the addition or removal of <em>any</em> software, we want to make sure that running processes are all using the most current versions. Debian&rsquo;s <a href="https://tracker.debian.org/pkg/needrestart">needrestart</a> is indespensible and is a crime it&rsquo;s not included by default (it&rsquo;s not, right?). <em>needrestart</em> is pretty hands-free as it will automatically run at the end of any apt install/purge/remove to highlight processes that need to be restarted to run with newly installed libraries and dependencies.</p> <figure><img src="https://wrongthink.link/debian-chad.png"> </figure> <h2 id="upgrading-the-right-way">Upgrading, the <em>right</em> way</h2> <p>While it is possible to simply adjust one&rsquo;s source file to point to a new release and then run <em>apt full-upgrade</em>, this is admittedly a bit dangerous and could misplace things when going through such massive change. The officially ordained upgrade process is pretty well documented in the <a href="https://www.debian.org/releases/">Debian release notes</a> for any release version. I&rsquo;ll summerize it here.</p> <p>Make sure we&rsquo;re up to latest point release. (sudo supplied where needed. What, I haven&rsquo;t been doing that?)</p> <pre tabindex="0"><code>sudo apt update </code></pre><p>Check Debian packages for any possible conflicts.</p> <pre tabindex="0"><code>dpkg --audit </code></pre><p>List possible packages originating from outside of Debian repositories and purge them if necessary.</p> <pre tabindex="0"><code>apt list &#39;?narrow(?installed, ?not(?origin(Debian)))&#39; </code></pre><p>Clear packages no longer needed.</p> <pre tabindex="0"><code>sudo apt autoremove --purge </code></pre><p>Clear the apt cache of previously and partially downloaded packages.</p> <pre tabindex="0"><code>sudo apt clean </code></pre><p>Look through old configuration files and remove if necessary.</p> <pre tabindex="0"><code>find /etc -name &#39;*.dpkg-*&#39; -o -name &#39;*.ucf-*&#39; -o -name &#39;*.merge-error&#39; </code></pre><p>Do you have enough free space?</p> <pre tabindex="0"><code>df -ah </code></pre><p>Change sources to the new release.</p> <pre tabindex="0"><code>sudo apt edit-sources </code></pre><p>Disable *-backports repository until after the upgrade and remove proposed-updates section if it is present to reduce the likelihood of conflicts. Disable apt-pinning from /etc/apt/preferences, /etc/apt/preferences.d/</p> <pre tabindex="0"><code>apt-mark showhold </code></pre><p>Pull in changes from sources file.</p> <pre tabindex="0"><code>sudo apt update </code></pre><blockquote> <p>In some cases, doing the full upgrade (as described below) directly might remove large numbers of packages that you will want to keep. We therefore recommend a two-part upgrade process: first a minimal upgrade to overcome these conflicts, then a full upgrade.</p> </blockquote> <pre tabindex="0"><code>sudo apt upgrade --without-new-pkgs </code></pre><p>Then continue with the main part of the upgrade.</p> <pre tabindex="0"><code>sudo apt full-upgrade </code></pre><p>During the upgrade, you will be prompted about differences between the configuration files being installed versus old configs you may have modified. Prefer keeping existing configuration files, and note them down to merge changes later.</p> <p>Reboot to finish restarting all services</p> <pre tabindex="0"><code>sudo reboot </code></pre><p>Finish adjusting apt sources file to <strong>re-add</strong> the backports repository, if it was previously selected.</p> <pre tabindex="0"><code>sudo apt edit-sources sudo apt update </code></pre><p>List obsolete packages, and optionally purge them.</p> <pre tabindex="0"><code>apt list &#39;~o&#39; sudo apt purge &#39;~o&#34; </code></pre><p>Careful with this! Consider manually removing one package at a time if you&rsquo;re not sure. Then remove leftover packages that aren&rsquo;t explicitly declared obsolete from above.</p> <pre tabindex="0"><code>sudo apt autoremove --purge </code></pre><p>Like we covered earlier in the <strong>Cleaning up one&rsquo;s system</strong> section, check kernel versions, in case autoremove does not handle it.</p> <pre tabindex="0"><code>uname -r sudo apt purge linux-image-x.x.x-xx-arch </code></pre><p>Admittedly a long and not very layuser friendly process, but certainly worth it for the precaution. Especially if you&rsquo;re upgrading a Debian system remotely over SSH where breakage can potentially prevent you from reestablishing connection to the newly upgraded environment.</p> <h2 id="monitoring-for-presense-of-non-free-bits">Monitoring for presense of non-free bits</h2> <p>Unfortunately very few of us can enjoy running a system totally free of blobs. I sit here typing this, painfully aware that my AMD graphics adapter requires such a binary. Either that or <a href="https://www.talospace.com/2023/12/fedora-39-mini-review-on-blackbird-and.html">suffer using Aspeed framebuffer</a> with wayland. Luckily, we can track what non-free parts get installed. Formerly <em>vrms</em>:</p> <pre tabindex="0"><code>check-dfsg-status </code></pre><p>Will list out the total installed packages originating from contrib, non-free and non-free-firmware repositories, as well as the overal percentage of your installed system that they comprise.<br> *Note that in its ideologically driven focus, this tool will mark things like fonts &ldquo;non-free&rdquo;, even though we as end users don&rsquo;t really care what license is attached to it. I just want to minimize the execution of black box code. But that&rsquo;s for another article.</p> <h2 id="visually-useful-top-readout">Visually useful top readout</h2> <p>It&rsquo;s always the corporate type tech bros from which I hear &ldquo;Use <em>htop</em> bro! It&rsquo;s so much better! It has <strong>usage bars</strong>!&rdquo; The same archetype who use &ldquo;Neofetch&rdquo; to post hardware &amp; system info instead of dmidecode or /proc/*info.<br> <br /> <image src="https://wrongthink.link/omg-htop.jpg" alt="OMG htop!!!!!" style="width:640px;height:360px;"> <br /><br /> Of course they&rsquo;ve never read more than a line into the <em>top</em> manpage (if at all) because otherwise they would have found that this feature is in top. It&rsquo;s just not enabled by default. Save yourself some bloat and just take advantage of what&rsquo;s already in Debian.</p> <p>Quick tip using the following hot keys with top running:<br> m - Toggle memory usage as bar/block graph<br> t - Toggle CPU usage as bar/block graph<br> 4 - Display CPU usage as per-core<br> 1 - Display CPU/memory usage bar/block graphs abreast<br> W - Save current configuration to toprc</p> <p>Activated, in the above order: <figure><img src="https://wrongthink.link/topstats.png"><figcaption> <h4>Four cores with SMT4.</h4> </figcaption> </figure> </p> <p>There exist additional settings for colors and such. Have a look for yourself.</p> <p>There are so very many other niceties like using <em>libreoffice-gnome</em> to better visually integrate libreoffice with GTK but this has already drawn on far longer than I intended. Maybe these QoL tips merit their own individual coverage altogether.</p> Hardened Web Browser https://wrongthink.link/posts/hardened-web-browser/ Mon, 08 Jan 2024 21:21:42 -0500 https://wrongthink.link/posts/hardened-web-browser/ <p>While there <a href="https://digdeeper.club/articles/browsers.xhtml">remains no ideal browser</a>, there are <a href="https://web.archive.org/web/20220507121306/https://tilde.club/~acz/shadow_wiki/browsers.xhtml">a few decent options</a>. One that I <em>would have</em> recommended, if not for some glaring issues, would have been the recent Mullvad browser. Unfortunately, Mullvad committed to the following design choices;</p> <ul> <li>Self-updating, foreign to distro repository</li> <li>Pre-built binaries only supplied for x86 architecture (and if you&rsquo;re going to compile, you might as well just compile upstream Firefox using Mullvad&rsquo;s selected compile flags)</li> <li>Pre-installed addons cannot easily be removed (one must manually delete unwanted extensions from the /extensions directory) as they seem eager to make choices <em>for</em> the user rather than recommendations</li> </ul> <p>Until such flaws can be rectified or <a href="https://librewolf.net/">another browser</a> beats them to the punch, this config guide will make use of <a href="https://github.com/arkenfox/user.js">Arkenfox</a>&rsquo;d Firefox ESR as its foundation. Firefox ESR is the most upstream to security and bug patches in the <a href="https://developer.mozilla.org/en-US/docs/Glossary/Gecko">gecko</a> family, while also insulating users from Mozilla&rsquo;s &ldquo;<a href="https://www.ghacks.net/2021/09/17/firefox-experiment-is-testing-bing-as-the-default-search-engine/">experiments</a>&rdquo; and silent feature changes, and also being highly configurable. Its default configuration is not entirely sane but will be mitigated via the Arkenfox user.js. Debian should have <em>firefox-esr</em> by default, other distributions may be necessary to explicitly select some <em>firefox-esr</em> package.</p> <figure><img src="https://wrongthink.link/hardened-firefox-esr02.png"> </figure> <p>While some settings are exposed through the GUI settings menus, which can be used to harden privacy and security features, some critical settings can only be accessed through about:config. So many, in fact, that it can be exhausting to manually adjust each by hand. That is why we are going to deploy user.js scripts.</p> <p>Arkenfox iterates over hundreds of various settings, vetted by community contributors, which reduce Firefox&rsquo;s footprint and attack surface while disabling blatant malfeatures. Navigate to your Firefox profile which should look something like:</p> <pre tabindex="0"><code>cd .mozilla/firefox/14a58bc9.default-esr </code></pre><p>And download the prefsCleaner.sh and updater.sh scripts into place (consider <em>torsocks</em>&lsquo;ifying since github==microsoft):</p> <pre tabindex="0"><code>torsocks wget --https-only https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh https://raw.githubusercontent.com/arkenfox/user.js/master/prefsCleaner.sh </code></pre><p>There are certain settings Arkenfox enables that you may want to leave disabled. Likewise, there are probably settings that are personal preference which you may not want changed by Arkenfox. Create a user-overrides.js file in the same directory.</p> <pre tabindex="0"><code>vi user-overrides.js </code></pre><p>The settings format in user-overrides.js follows: user_pref(&ldquo;some.setting&rdquo;, boolean/integer);</p> <p>Here are just <em>a few</em> that you may want to consider adding if you plan to implement customizations from the <a href="https://wrongthink.link/posts/hardened-dns">DNS</a> and <a href="https://wrongthink.link/posts/hardened-metasearch">metasearch</a> guides:</p> <pre tabindex="0"><code>user_pref(&#34;browser.startup.homepage&#34;, &#34;http://localhost:8888/&#34;); user_pref(&#34;browser.startup.page&#34;, 1); user_pref(&#34;keyword.enabled&#34;, true); user_pref(&#34;browser.send_pings&#34;, false); user_pref(&#34;network.proxy.socks_remote_dns&#34;, false); user_pref(&#34;network.trr.mode&#34;, 5); user_pref(&#34;network.proxy.failover_direct&#34;, false); user_pref(&#34;browser.urlbar.suggest.engines&#34;, false); user_pref(&#34;browser.urlbar.suggest.topsites&#34;, false); </code></pre><p>One should really read over the <a href="https://raw.githubusercontent.com/arkenfox/user.js/master/user.js">user.js</a> comment notes to get a sense of what settings are being modified and to construct a desirable user-overrides.js. Each individual&rsquo;s needs will vary slightly, which is the intent behind user overrides. For example, some optimal preferences can be gleaned from <a href="https://12bytes.org/firefox-user-overridesjs-supplement-for-the-arkenfox-userjs/">12byte&rsquo;s overrides</a>.</p> <figure><img src="https://wrongthink.link/hardened-firefox-esr03.png"> </figure> <p>Once you are happy with your user overrides, it is time to run the Arkenfox updater.sh. Close out any instances of Firefox that may be open. Use the &ldquo;e&rdquo; switch to instruct Arkenfox to run ESR preferences and the &ldquo;d&rdquo; switch to disable update checking since we just pulled the most recent version with <em>wget</em> above:</p> <pre tabindex="0"><code>torsocks ./updater.sh -de </code></pre><p>Run prefsCleaner after the first application of the new user.js. And <a href="https://github.com/arkenfox/user.js/wiki/3.5-prefsCleaner">always run prefsCleaner</a> following major version number changes to the browser.</p> <pre tabindex="0"><code>./prefsCleaner.sh </code></pre><p>Now when you launch Firefox ESR, things may look a bit different. If there are borders around the window, this is just incremental padding to help mitigate canvas fingerprinting. There will probably be nuances in how Arkenfox&rsquo;d Firefox ESR behaves that you will want to tweak through user overrides. Your browser now has a strong baseline resistance to stateful fingerprinting and tracking.</p> <figure><img src="https://wrongthink.link/hardened-firefox-esr01.png"> </figure> <p>Arkenfox+Firefox ESR is <a href="https://infogalactic.com/info/No_silver_bullet">no silver bullet</a> on its own but can be formidable when combined with strong add-ons and system hardening which I will continue to detail in <a href="https://wrongthink.link/tags/hardening/">hardening</a> guides.</p> Hardened DNS With Tor & Local Caching https://wrongthink.link/posts/hardened-dns/ Wed, 03 Jan 2024 16:50:35 -0500 https://wrongthink.link/posts/hardened-dns/ <p>The industry has been struggling with how to handle securing DNS, an <a href="https://infogalactic.com/info/Domain_name_system#Security_issues">original protocol designed without encryption</a> in mind, which is responsible for informing your computer which IPs map to any domain name. This creates a problem in which any observer between you and the resolver can see all lookups your system makes. Additionally, you place complete trust in the resolver not to manipulate or misdirect domain name responses. Browsers have taken to <a href="https://thehackernews.com/2020/02/firefox-dns-over-https.html">sending DNS requests over HTTPS</a> which solves only one aspect of DNS privacy but shifts trust over to new potential bad actors. Key things which need to be added to DNS to fix its security and privacy shortcomings include authenticity (DNSSEC), transport encryption (TLS, HTTPS, etc) and trustless resolution with recursion.</p> <p>Unfortunately, not all three of these areas can be addressed by current solutions <strong>at the same time</strong>, so we will need to settle for picking two. Root name servers do not yet support encryption with <a href="https://root-servers.org/media/news/Statement_on_DNS_Encryption.pdf">their operators citing hesitancy to be first in adopting relatively immature solutions</a>.</p> <p>I have devised a DNS buildout which works around these limitations to provide robust, trustworthy, anonymized DNS resolution. In overview, it has two main routes to traverse for DNS lookups, both of which encrypt requests outbound from your computer.</p> <image src="https://wrongthink.link/hardened-dns-overview.png" alt="Layout of anonymized caching DNS" style="width:800px;height:800px;"> <br /><br /> <p>We want to start by making sure Tor is installed, which should be the case if you already setup the metasearch solution earlier.</p> <p>Now, assign a DNS port in your torrc. Append the following to /etc/torrc:</p> <pre tabindex="0"><code>DNSPort 127.0.0.5:53 </code></pre><p>Then restart Tor:</p> <pre tabindex="0"><code>systemctl restart tor </code></pre><p>You should see that requests made out through 127.0.0.5 should now resolve. I recommend testing with the dig utility from the <em>dnsutils</em> package:</p> <pre tabindex="0"><code>dig @127.0.0.5 www.google.com </code></pre><p>If it works, the ANSWER SECTION should have a populated IP address. The Query Time will probably take 100 milliseconds or more.</p> <image src="https://wrongthink.link/hardened-dns-lookup-02.png" alt="DNS lookup over Tor" style="width:622px;height:274px;"> <br /><br /> <p>Now install the <em>dnsmasq</em> <a href="https://thekelleys.org.uk/dnsmasq/doc.html">caching DNS server</a> through apt and edit the file at /etc/dnsmasq.conf to change the following sections:</p> <pre tabindex="0"><code>listen-address 127.0.0.10 <span style="color:red">(INCOMING queries)</span> bind-interfaces <span style="color:red">(Allow other installed resolvers to bind port 53, important for Stubby, detailed later)</span> server=127.0.0.5 <span style="color:red">(OUTGOING referrals)</span> cache-size=150 no-resolve no-poll <span style="color:red">(no-resolve &amp; no-poll make dnsmasq ignore resolv.conf and use servers specified in dnsmasq.conf)</span> </code></pre><p>Append:</p> <pre tabindex="0"><code>min-cache-ttl=1800 <span style="color:red">(Forces queries to remain cached for half hour. 3600 for full hour.)</span> </code></pre><p>Then restart dnsmasq</p> <pre tabindex="0"><code>systemctl restart dnsmasq </code></pre><p>You may need to restart the session if you receive errors about &ldquo;port binding already in use&rdquo;.</p> <p>Now test this address with dig also:</p> <pre tabindex="0"><code>dig @127.0.0.10 www.google.com </code></pre><p>At first, it will take 100-300 milliseconds like before. But all subsequent tries for up to a half hour should result in 0 millisecond Query time! This is because dnsmasq is saving the result locally and preventing your computer from reaching out over the network again for the same information. <br /><image src="https://wrongthink.link/ufo.gif" alt="UFO takes what it wants" style="width:120px;height:90px;"> </p> <image src="https://wrongthink.link/hardened-dns-lookup-01.png" alt="Lookup with DNSmasq and Tor DNS" style="width:628px;height:275px;"> <br /><br /> <p>Now, technically, you can use this alone and it would work okay. But the only issue is that in order to connect to a Tor circuit when starting up, you computer needs to first be able to resolve domain names in order to find a Tor node. A catch 22! So a backup is needed.</p> <p>Install <a href="https://dnsprivacy.org/dns_privacy_daemon_-_stubby/about_stubby/">Stubby</a> through apt and edit the file at /etc/stubby/stubby.yml to change 127.0.0.1 to 127.0.0.15:</p> <pre tabindex="0"><code>listen_addresses: - 127.0.0.15 </code></pre><p>The reason for changing the address is that we do not want hosts entries which null route bad domains to actually resolve, which will be covered in an upcoming hosts blacklisting guide. Also make sure that GETDNS_AUTHENTICATION_REQUIRED is enabled, which it should be by default:</p> <pre tabindex="0"><code>tls_authentication: GETDNS_AUTHENTICATION_REQUIRED </code></pre><p>There are default resolvers setup through the <a href="https://getdnsapi.net/">getdnsapi</a> project that support DNS over TLS. Others may be enabled but just make sure that they support TLS encryption. Then:</p> <pre tabindex="0"><code>systemctl restart stubby </code></pre><p>Also test the stubby daemon with dig to confirm it is working:</p> <pre tabindex="0"><code>dig @127.0.0.15 www.example.com </code></pre><p>Lastly, it is time to update dhclient to use these local servers. Edit /etc/dhcp/dhclient.conf to contain:</p> <pre tabindex="0"><code>supersede domain-name-servers 127.0.0.10; append domain-name-servers 127.0.0.15; </code></pre><p>The section under send-hostname = gethostname(); can be reduced to:</p> <pre tabindex="0"><code>request subnet-mask, broadcast-address, routers, interface-mtu; </code></pre><p>Then reboot or restart dhclient:</p> <pre tabindex="0"><code>dhclient -r dhclient </code></pre><p>Now all DNS requests should be sending through to Dnsmasq to Tor by default. If a query fails through this, it will go to Stubby. Additonal changes may be required depending on your destop environment and distro. For example, network manager should be edited so that it doesn&rsquo;t overwrite your resolv.conf. /etc/NetworkManager/NetworkManager.conf should have:</p> <pre tabindex="0"><code>[main] dns=none </code></pre><p>Also, Firefox should to be instructed to use system DNS rather than Mozilla&rsquo;s implementation of DNS over HTTPS. Otherwise, cloudflare will continue getting a detailed log of all your web activity. As covered in <a href="https://wrongthink.link/posts/hardened-web-browser">Browser Hardening</a>, the about:config setting for this is:</p> <pre tabindex="0"><code>network.trr.mode = 5 </code></pre><p>Some minutia to be aware of:</p> <ul> <li>Sometimes the Tor circuit you are on will be faulty or slow. Either wait ten minutes or manually switch to a new circuit to restore &ldquo;fast&rdquo; domain name resolution.</li> <li>Certain applications rely on DNS round robin lookups, which always fail over to Stubby in this setup.</li> <li>While DNSSEC can be implemented on Stubby, there is currently no way to use DNSSEC over Tor. I believe this has to do with UDP packet size, as <a href="https://gitlab.torproject.org/tpo/core/tor/-/issues/34004">Tor DNS does not use TCP</a>.</li> <li>Tor DNS <a href="https://nusenu.medium.com/who-controls-tors-dns-traffic-a74a7632e8ca">still uses Google for some exit nodes</a>, although this should not be a problem as they cannot see who the resolution is for or where it is coming from beyond Tor network.</li> </ul> <p>This completes a strong, anonymous and sometimes just private DNS system. Things will likely change as root name servers begin to support encryption but this is the best I can think of for now. More to follow on domain name lookup solutions as things develop.</p> Hardened Metasearch https://wrongthink.link/posts/hardened-metasearch/ Mon, 01 Jan 2024 20:38:00 -0500 https://wrongthink.link/posts/hardened-metasearch/ <p><strong>Update Q4 2024</strong>: The reliability of this method has raplidly deteriorated. Commercial search engines may have gotten wise to Tor proxied queries as formatted by SearX. I&rsquo;ve tested <em>without</em> Tor proxying enabled and almost all engines I&rsquo;ve tried still result in &ldquo;Error! Engines cannot retrieve results&rdquo;. <a href="https://wrongthink.link/posts/go-get-yourself-search-engine/">YaCy</a> may be the only currently &ldquo;viable&rdquo; privacy compatible search engine left.</p> <image src="https://wrongthink.link/engines-cannot-retrieve-results.png" style="width:778px;height:168px;"> <br /><br /> <p>All too many resources suggest using smaller privacy respecting search engines, such as Duckduckgo, to avoid Google&rsquo;s search monopoly. While this mitigates the issue of tailored results and feeding big tech, it is only just a first step. With those alt search engines, one still places trust that they are not selling data, logging, or tracking in some other capacity. Consider that many of these &ldquo;privacy respecting&rdquo; alternatives have also been <a href="https://www.techworm.net/2020/07/duckduckgo-browser-track-website.html">found snooping</a> while others have been <a href="https://restoreprivacy.com/startpage-system1-privacy-one-group/">bought out by advertisers</a>.</p> <p>But what if you didn&rsquo;t <em>need</em> to trust the engine responding to your queries on the other end? With the right tools, it is possible to build a trustless, distributed search portal!</p> <p>We can probably assume anyone reading this will already have a trustworthy computer and web browser as well as some familiarity with terminal and configuring software. If not, there will be plenty more in <a href="https://wrongthink.link/tags/hardening/">hardening</a> posts to come.</p> <p>If you do not already have Tor installed, now is a good time to install it through apt. We will also need some other prerequisites. <a href="https://searx.github.io/searx/">Searx</a> is a metasearch engine which can hook into external engines to conduct queries. While there are <a href="https://searx.space/">public instances of Searx hosted around the web</a>, we will want to run our own locally:</p> <pre tabindex="0"><code>apt install searx python3-socks </code></pre><p>Copy the configuration file into place and rewrite the placeholder key:</p> <pre tabindex="0"><code>cp -p /usr/share/doc/searx/examples/settings.yml /usr/lib/python3/dist-packages/searx/ sed -i -e &#34;s/ultrasecretkey/`openssl rand -hex 16`/g&#34; /usr/lib/python3/dist-packages/searx/settings.yml </code></pre><p>Open the config file at /usr/lib/python3/dist-packages/searx/settings.yml and locate the section for proxy information. Set Tor socks5 as the only proxy.</p> <pre tabindex="0"><code> proxies: https: - socks5://localhost:9050 using_tor_proxy : True </code></pre><p>I recommend proxying images as well to avoid leaking data.</p> <pre tabindex="0"><code>image_proxy : True </code></pre><p>Try to select only a handful of search engines to keep active. Using too many could create opportunities for adversaries that partner share data to correlate search requests. Comment out or delete the rest. And since this is being routed through Tor, don&rsquo;t feel obligated to avoid large engines like Bing. They will only see a request originating from some exit node.</p> <p><del>Increase the timeout value on any engine you select by a few seconds, otherwise Searx may timeout those queries before it completes traversal of slower Tor circuits.</del> As of SearX 1.0.0, there is a global timeout that can be enabled for when proxied through Tor.</p> <pre tabindex="0"><code> extra_proxy_timeout : 10.0 # Extra seconds to add in order to account for the time taken by the proxy </code></pre><p>Create a systemd unit file to control the Searx service:</p> <pre tabindex="0"><code>touch /etc/systemd/system/searx.service chmod 664 /etc/systemd/system/searx.service </code></pre><p>Edit the new file at /etc/systemd/system/searx.service to include:</p> <pre tabindex="0"><code>[Unit] Description=Searx metasearch engine After=network.target [Service] Type=simple ExecStart=/usr/bin/searx-run ExecReload=/usr/bin/kill [Install] WantedBy=multi-user.target </code></pre><p>Finally enable and start the Searx daemon:</p> <pre tabindex="0"><code>systemctl daemon-reload systemctl enable searx.service systemctl start searx.service </code></pre><p>Now when you launch your browser, you should be able to navigate to the local address at <em>http://localhost:8888</em></p> <figure><img src="https://wrongthink.link/hardened-searx-over-tor-home.png"> </figure> <p>Search results will list the source engine underneath each result so you can get a sense of the types of results produced by each engine. There&rsquo;s just no hiding these super secret pancake recipes!</p> <figure><img src="https://wrongthink.link/hardened-searx-over-tor-results.png"> </figure> <p>Ideally, Searx is only available directly to you, on your own machine, unless you make it available over the network through Nginx or Apache. Let&rsquo;s take a broader look at what has been assembled:</p> <image src="https://wrongthink.link/hardened-searx-over-tor-overview.png" alt="Searx over Tor overview" style="width:469px;height:480px;"> <br /><br /> <p>Configured this way, Searx will make search queries by POST requests which limit identifying data received by recipient engines. Parties resolving the queries will not even see the originating IP, just some random request arriving from an IP associated to Tor network. Also your ISP will no longer be able to infer when or to whom you have conducted a search. Results censored by one engine, will unlikely be censored by all of your other engine choices making for a censorship resistant solution. Lastly, enjoy your new freedom from the <a href="https://infogalactic.com/info/Chilling_Effect">chilling effect</a>, that ominous, ever-present uncertainty of being watched. Well, at least for your web searches.</p> <p>If you&rsquo;d like to go a step further, consider bringing even the <a href="https://digdeeper.club/articles/search.xhtml#ownindex">search index</a> into your own turf by running a local <a href="https://wrongthink.link/posts/go-get-yourself-search-engine/">YaCy instance</a>. Searx even has a YaCy template to push queries to a locally running YaCy instance.</p> <pre tabindex="0"><code> - name : yacy engine : yacy shortcut : ya base_url : &#39;http://localhost:8090&#39; enable_http: True # required if you aren&#39;t using HTTPS for your local yacy instance number_of_results : 5 timeout : 3.0 </code></pre><p><strong>Update Q4 2024:</strong> It appears that search vendors have grown wise to this kind of querying and unanimously block Tor since early-mid 2023. The configuration described here may still yield the occasional result, but the majority of searches will time out with unreachable engines. It has become clear that <em>meta search engines</em> are not the way forward, sufferring from the perpetual frontend dilemma.</p> Refocus on Solutions https://wrongthink.link/posts/refocus-on-solutions/ Mon, 01 Jan 2024 19:02:56 -0500 https://wrongthink.link/posts/refocus-on-solutions/ <p>Some kind exchanges with readers have inspired a degree of introspective and I&rsquo;ve since determined that we focus a bit too centrally on trashing the bad to be found in technology. I have resolved to refocus more on <em>building</em> and <em>detailing</em> solutions to the <a href="https://wrongthink.link/tags/proprietary/">mountains of problems</a> previously covered here at Wrongthink. In light of that, we&rsquo;re well overdue to dig into a long held stash of internet tracking countermeasures. Criticisms are all welcomed seeing as I&rsquo;ve tinkered within a vacuum for far too long.</p> <p>Being introduced today is the new <span style="color:cyan;">&#39;hardening&#39;</span> tag for articles covering such countermeasures.</p> <image src="https://wrongthink.link/ufo.jpg" alt="Unidentified flying object[ive]" style="width:640px;height:360px;"> <br /><br /> <p>Most of these are going to apply largely to Debian and Debian derivatives, since that is what I primarily use. Although adapting these configs to other distributions should be trivial.</p> Faux Breakup Threats https://wrongthink.link/posts/faux-breakup-threats/ Wed, 20 Dec 2023 18:43:29 -0500 https://wrongthink.link/posts/faux-breakup-threats/ <blockquote> <p>&ldquo;If the oppossing faction&rsquo;s candidate wins, then <em>I&rsquo;m moving to Canada/Mexico!</em>&rdquo;</p> </blockquote> <p>Had <a href="https://knowyourmeme.com/memes/moving-to-canada">become a meme</a> threat made by blowhards who find themselves on the losing end of a recent political [s]election. And I am always reminded of this third stage of grief in action whenever a new release of Windows looms on the horizon. You begin to hear a similar threat bandied all over the web:</p> <blockquote> <p>&ldquo;If Microsoft adds $NEW_ANTIFEATURE/removes $THING_I_LIKE, then <em>I&rsquo;m switching to Linux!</em>&rdquo;</p> </blockquote> <p>ORLY? What is your migration strategy? Have you taken any time to learn at all about your intended destination? Which distro? Those who exclaim such outrage seldom ever carry through with their hollow threats. And if they truly cared, <a href="https://yewtu.be/watch?v=08VbexhJO4Y">they would have already abandoned Windows long ago</a>.</p> <p>So if it is not their intention to make any meaningful change, what <em>is</em> their intent? We must first understand that these individuals tend to suffer from a variation of <a href="https://atlasgeographica.com/nietzsche-slave-morality-explained/">slave morality</a>. Their assumption being that if only they protest loudly enough, then their master may cease beating them so harshly. Despite the master&rsquo;s long history of known abuse, they believe that a sufficiently intense pleading will inspire a change of heart. It exposes their complete lack of understanding of power dynamics and motivational forces.</p> <figure><img src="https://wrongthink.link/switch-to-linux.gif"><figcaption> <h4>Sure ya will, tough guy...</h4> </figcaption> </figure> <p>The &ldquo;<em>or else I&rsquo;ll switch to Linux!</em>&rdquo; crowd are unabashedly trying to bargain with a tech giant who likely views them no differently from the way that a farmer views his cattle. That being a desire to maximize their extraction of value from <del>the herd</del> <em>users</em>, and ensure they don&rsquo;t escape the farm. Microsoft is confident in their knowledge that nearly every single chest beater will eventually roll over and accept whatever impositions are made on them, given enough time.</p> <p>This dynamic also holds true for those who echo similar cries about leaving youtube for alternatives, or leaving X for <a href="https://fediverse.party/en/mastodon/">mastodon</a>. We know and they know that these are empty threats which will never be seen through to the point of lasting action. There was once a time where upon happening across such outcry, that it would have evoked sympathy in me. But these days, I instead find myself tempted to grill them and pry for simple details that anyone planning any such serious migration to freedom ought to know. My compassion has been exhausted.</p> <p>Just as those who threaten relocating to Canada or Mexico due to election outcomes have almost no real working knowledge of the adjustments they will need to make in their supposed promised land, so too those who threaten migrating to Linux often have no real working knowledge of the technical, functional or organizational differences it bears to Windows.</p> Won't Someobody Think of the Advertisers?! https://wrongthink.link/posts/think-of-the-advertisers/ Mon, 11 Dec 2023 17:04:55 -0500 https://wrongthink.link/posts/think-of-the-advertisers/ <p>This is an assertion you&rsquo;ve likely seen normies argue before. When called into question whether sites have a responsibility, as they say, to remove unfavorable posts or individuals, the normie will cite how large platforms depend on advertising to keep operations afloat. They go on to insist that if unsavory opinions (free expression, in sober parlance) are allowed to remian, then advertisers will pull their precious ads and send the big, poor site into collapse. &ldquo;Oh no!! What are we to do?!&rdquo; &ldquo;Those <em>poor advertisers!</em>&rdquo;</p> <image src="https://wrongthink.link/panic.jpg" alt="Running around panicing." style="width:500px;height:319px"> <br /><br /> <p>Their rhetoric likely sits somewhere downstream from corporate <a href="https://wrongthink.link/posts/possessive-language-and-spellcasting-the-mind/">spellcasting</a> of large social networking sites aiming to preserve their hegemony. It&rsquo;s like a revised tactic of blame shifting. As though being beholden to an outside party somehow justifies the exclusion of individuals or of their ideas. Or as though the arrangement couldn&rsquo;t possibly <em>not</em> involve said outside party.</p> <p>First problem; why, if you care at all about human freedom of expression (spoiler: <a href="https://archive.ph/ycMCI">normies don&rsquo;t</a>), are you relying upon a site which places itself at the whims of corporate ad networks? Are you a masochist? Second, why are you frequenting any site that sees fit to assail their visitors with ads at all? There is hardly a more substantial red flag which signals just how poorly a site regards their visitors.</p> <p>It is as though the normie cannot even conceive of any different hosting model. I suspect that they cling to this retort as a sort of rationalization for their continued use of a space dominated by corporate-private censorship. Explaining it away and deferring any self responsibility is way easier than adhering to principles and rejecting the use of popular, convenient sites. To avoid the exertion involved with discovering and migrating to greener pastures. Or to avoid the responsibility of self hosting their own community spaces, which would be the most optimal path.</p> <p>In fact, this situation only <em>emphasizes</em> the criticality of taking charge with self hosted infrastructure wherever free expression is at stake. Leaving the fox to guard the hen house is only a gaurantee that a community will be made to submit to external influence. As I write in <a href="https://wrongthink.link/posts/asymmetry-of-literacy-political-divide/">Asymmetry of Digital Literacy&hellip;</a>, there are certain demographics who seem content to hop from one adversary controlled infrastructure to the next, getting thoroughly beat down each time and seemingly learning nothing from the experience. And now with a &ldquo;good guy&rdquo; (Big air quotes) having taken the helm of twitter, fools are flooding back to it believing that the new management will have no thoughts of <a href="https://www.informationliberation.com/?id=64253">mistreating them</a> as before. Those who fail to learn from history are doomed to repeat it.</p> <p>In a way, the normie isn&rsquo;t entirely <em>wrong</em>. The people running their playpens maintain the <em>technical capacity</em> to censor. And, so long as they choose to continue down the path of the ad supported model, will always be under the thumb of sugar daddy ad networks. May you reap what you sow.</p> Innovations Erroneously Attributed to Windows https://wrongthink.link/posts/erroneously-attributed-concepts/ Thu, 16 Nov 2023 01:06:26 -0500 https://wrongthink.link/posts/erroneously-attributed-concepts/ <p>Concepts, features and creature comforts which existed within linuxes since long ago, that where only later adopted by Windows. Some small, others game changing.</p> <ul> <li><a href="https://superuser.com/questions/368688/on-windows-7-is-there-any-way-to-make-the-scrollwheels-focus-follow-the-mouse">Cursor hover out of focus scrolling</a> <br /> <image src="https://wrongthink.link/hover-inactive.gif" alt="Mouse wheel scrolling while hovering over inactive window." style="width:680px;height:326px;"> <br /> </li> <li><a href="https://web.archive.org/web/20230607133911/https://old.reddit.com/r/linuxmasterrace/comments/7c8di5/the_real_reason_why_linux_is_superior/">Clean cursor rollover on multidisplay</a> <br /> <image src="https://wrongthink.link/cursor-rollover.jpg" alt="Cursor cleanly transitioning between displays." style="width:643px;height:482px;"> <br /> </li> <li><a href="https://en.wikipedia.org/wiki/Features_new_to_Windows_11#Multitasking">Tiling window management</a></li> <li><a href="https://infogalactic.com/info/Task_View">Workspaces</a></li> <li><a href="https://blogs.msdn.microsoft.com/powershell/2015/06/03/looking-forward-microsoft-support-for-secure-shell-ssh/">SSH</a></li> <li>Plug-n-play device drivers</li> <li>Software repositories (Done the <a href="https://infogalactic.com/info/Microsoft_store">wrong way</a> officially, done the <a href="https://chocolatey.org/">right way</a> unofficially)</li> <li>Multi user</li> <li>File permissions</li> <li>Foreign file systems (and only in a <a href="https://www.bleepingcomputer.com/news/microsoft/windows-10-now-lets-you-mount-linux-ext4-filesystems-in-wsl-2/">roundabout way</a>)</li> <li>Bash shell (again, only in a <a href="https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/">roundabout way</a>)</li> </ul> <p>It is quite possible that, one day, Windows itself will have completely transformed into some encapsulation of legacy Windows as a Microsoft produced linux &ldquo;distro&rdquo;. If or when this happens, you just know there will be hordes of ignorant normies proclaiming how brilliant Windows is for &ldquo;it&rsquo;s&rdquo; pioneering innovations. A rewriting of history to paint others as primitive laggards.</p> <p>I want to facepalm my head through my desk each time there&rsquo;s a press release over some new Windows adopting anything which has been in Linux distros for ages but neophytes exclaim &ldquo;Wow, what a great new feature! Why hasn&rsquo;t anyone thought of this before?!&rdquo;. Yet we had been screaming from the mountain tops for years how things are better in the free world, if only they would just try dipping their toes in. <br /> <br /> <image src="https://wrongthink.link/i-made-this.png" alt="I made this" style="width:474px;height:1063px;"> </p> <p><strong>February 2024:</strong> <a href="https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/">Introducing Sudo for Windows!</a></p> Command Line Image Editing https://wrongthink.link/posts/command-line-image-editing/ Fri, 03 Nov 2023 23:39:21 -0400 https://wrongthink.link/posts/command-line-image-editing/ <p>Some more lines in the streak of <a href="https://wrongthink.link/posts/command-line-video-editing">command line</a> <a href="https://wrongthink.link/posts/command-line-audio-editing">$THING editing</a>, I&rsquo;d like to now cover handling images. And here we will naturally lean into the excellent <a href="https://www.imagemagick.org/">imagemagick</a>. Even though the documentation suggests that imagemagick can be invoked with <em>magick</em>, this does not appear to be the case across distributions. At least not mine, which rather breaks imagemagick up into individual invocations.</p> <h1 id="resize-an-image">Resize an image</h1> <p>Supplying the change as a percentage is the fastest way to maintain aspect ratio.</p> <pre tabindex="0"><code>mogrify -resize 60% sample.png </code></pre><p>Be forewarned that mogrify modifies files in place (which is desirable IMO). Alternatively, an exact resultion can be specified:</p> <pre tabindex="0"><code>mogrify -resize 640x360 sample.png </code></pre><h1 id="flip-an-image">Flip an image</h1> <p>Images can be reversed with flip/flop arguments. To flip horizontally:</p> <pre tabindex="0"><code>convert -flop sample.jpg </code></pre> <image src="https://wrongthink.link/opossum.jpeg" alt="Opossum." style="width:176px;height:176px;"> <image src="https://wrongthink.link/opossum-reversed.jpeg" alt="Opossum, but turned around." style="width:176px;height:176px;"> <p>Or flip it vertically (while keeping the original file untouched):</p> <pre tabindex="0"><code>convert sample.jpg -flip sample_upside_down.jpg </code></pre><h1 id="crop-an-image">Crop an image</h1> <p>Remove the edges from images by pixel depth:</p> <pre tabindex="0"><code>convert sample.png -gravity South -chop 0x60 shorter.png </code></pre><p>Directional North/S/E/W can be supplied to select the edge to operate over. The boundaries can also be defined as a rectangle:</p> <pre tabindex="0"><code>convert sample.png -gravity center -crop 640x360+0+0 cropped.png </code></pre><p>The <em>+0+0</em> represent the offsets in X and Y directions.</p> <h1 id="overlay-images">Overlay images</h1> <p>If you&rsquo;re working with transparency, it may be desirable to superimpose one image over another.</p> <pre tabindex="0"><code>composite -gravity center foreground.png background.png composite.png </code></pre><p>Will create an output named <em>composite.png</em>. Note that the last file supplied before the output will be furthest into the background.</p> <h1 id="convert-between-image-formats">Convert between image formats</h1> <p>Super simple and definitely beats opening a graphical editor just to save it as another image format.</p> <pre tabindex="0"><code>convert sample.tiff sample.jpg </code></pre><p>Could easily be scripted to iterate over directories and make files consistent, if one desired to do so.</p> <p>Many possibilities exist, among them applying text and blur as well as other filters. imagemagick is one of the core components relied on by my <a href="https://gitler.moe/wrongthink/yt-linkifier">yt-linkifier tool</a> to create consistently sized thumbnail previews. I consider imagemagick to be the &ldquo;ffmpeg&rdquo; of image files and it similarly has saved me a lot of time.</p> The Different Flavors of the Fediverse https://wrongthink.link/posts/flavors-of-the-fediverse/ Sun, 15 Oct 2023 01:09:33 -0400 https://wrongthink.link/posts/flavors-of-the-fediverse/ <p>ActivityPub has slowly been <a href="https://techcrunch.com/2023/10/09/mastodon-actually-has-407k-more-monthly-users-than-it-thought/">siphoning user capital away from giant corpo walled gardens</a>, much to my delight. And like with many other free and open endeavors, the fediverse tends to emulate existing commercial platforms rather than produce formats of their own origination. Simply federating some SNS format under a libre development approach is no gaurantee that it will be free of the problems which that thing it is seeking to replace. The underlying issues of conventional SNS formats get conveyed into the newly minted fediverse clones.</p> <h1 id="small-minds-discuss-people">Small minds discuss people</h1> <img src="https://wrongthink.link/small-minds.png" alt="Small minds discuss people" style="width:896px;height:252px;"> <br /><br /> <p>I had made an honest attempt to try the most widely recognized ActivityPub brainchild, <a href="https://github.com/mastodon/mastodon">Mastodon</a> (and <a href="https://git.pleroma.social/pleroma/pleroma">Pleroma</a> and <a href="https://akkoma.dev/">Akkoma</a>). It succeeds as a way to dump thoughts too inconsequantial to deserve a fully fleshed out writeup. It also succeeds at keeping tabs on a loosely knit group of likeminded folks, while maintaining reachability to outsiders. But the twitter inspired microblogging format suffers at an achilles heel: <em>People</em> are the nucleus of all activity.</p> <p>On it, you &ldquo;follow&rdquo; <em>people</em>. Discussions (threads?) are all visible only according to one&rsquo;s relational adjacency to other <em>people</em>. It lays a foundation for cultivating ego and personality cults. Those with more &ldquo;followers&rdquo; carry more clout, and so they grow armies of flying monkeys ready to step in at the first sign of offense to those in their &ldquo;follow&rdquo; list. I could even see it happening in myself! Even I wasn&rsquo;t immune.</p> <p>All of this may be <em>water is wet</em> tier revelations to anyone who has previously used a microblogging SNS (<em>&hellip;okay</em>, Twitter). But it is all new to me, having never seen twitter and only hearing about it from afar. I&rsquo;d only really remained with Pleroma for a few key <a href="https://mastodon.honeypot.im/@digdeeper">individuals</a> but, once <a href="https://social.076.moe/notice/358294">they disappeared</a>, I found my motivation to engage in such a space entirely sapped away. Microblogging is dumb and even &ldquo;fixing&rdquo; it with libre federated software isn&rsquo;t enough to cleanse it of the dumb. Although for those who can happily call it home base without having to use centralized big tech, I am glad. It just isn&rsquo;t for me.</p> <h1 id="average-minds-discuss-events">Average minds discuss events</h1> <img src="https://wrongthink.link/average-minds.png" alt="Average minds discuss events" style="width:896px;height:252px;"> <br /><br /> <p>Another brainchild of efforts around ActivityPub is <a href="https://github.com/LemmyNet/lemmy">Lemmy</a>, the answer to the cesspool known as Reddit. At first glance, federation would seem to fix many of the ailments that arise from a centralized link aggregator. It is possible for &ldquo;communities&rdquo; to create a more amicable home at another instance, or to share the same name as a formerly created community rather than the former squatting the name. The fractured nature of federation limits the reach that would-be &ldquo;<a href="https://yewtu.be/watch?v=w9bZiYfQreE">power mods</a>&rdquo; might otherwise have. But, as with twitter-likes, the reddit-likes also suffer problems inherent to the format.</p> <p>Lemmy is plagued with the familiar redditor behavior. One-liner zinger replies. &ldquo;This. So much this!&rdquo;. Meme comment chains. An undying adherence to the progressive flavor of political tribalism. You can take a redditor out of reddit, but it seems you can never take the reddit out of a redditor.</p> <p>The group reinforcement mechanisms also remain. An upvote/downvote system remain in place to push content and comments up or out according to the majority consensus of the group (though I will concede that some Lemmy instances seem to disable votes affecting visibility(?)). Then there is the format itself: Link aggregation. Almost every discussion only exists as it relates to a link, usually to some news article. As soon as the news cycle moves on, those ephemeral discussions go dead. Contrast this with proper forums, where individual threads often live for weeks, months, sometimes years, <a href="https://bitcointalk.org/index.php?topic=1976.0">even decades</a>.</p> <p>The link aggregator eternally suffers from a two minutes hate syndrome. &ldquo;Hey, guys, here&rsquo;s this event that outrages me, doesn&rsquo;t it outrage you also?&rdquo;. Even though people often call reddit and other link aggregators &ldquo;forums&rdquo;, and Lemmy is supposedly &ldquo;forum&rdquo; software, I think it is insulting to <a href="https://infogalactic.com/info/Internet_forum">actual forums</a> to suggest the two are somehow alike. I once ditched reddit for Voat but Voat also <a href="https://wrongthink.link/posts/voat-as-a-cautionary-tale/">fell prey to the same mechanisms</a>, only becoming a conservative flavored groupthink training camp rather than a progressive flavored groupthink training camp.</p> <p>Again, I&rsquo;m glad for anyone who has found a safe refuge in Lemmy, distancing themselves from the centralized dinosaur called reddit. But it isn&rsquo;t my cup of tea.</p> <h1 id="great-minds-discuss-ideas">Great minds discuss ideas</h1> <p> <img src="https://wrongthink.link/great-minds.png" alt="Great minds discuss ideas" style="width:896px;height:252px;"> <br /><br /> When people post only a hyperlink and thread title to conventional forums, such as those running <a href="https://www.phpbb.com/about/launch/">phpBB</a> or <a href="https://www.simplemachines.org/">Simple Machines</a>, I&rsquo;ve often refered to it as reddit posting. It is because these confused users seem to have been conditioned by link aggregator &ldquo;forums&rdquo; to treat more fully fledged forums in the same lazy ways. Luckily, they are the exception. Most old school forums to this day remain spaces to solve problems, weigh in with ideas, to learn more about fellow forumites and to share actual, useful information of consequence. Everyone gets a fair shot. Posts aren&rsquo;t hidden or deranked for being unpopular. A user&rsquo;s fame or reputation alone isn&rsquo;t enough to carry an unsubstantiated idea. The pace is slow moving and measured, encouraging thoughtful replies rather than haughty quips.</p> <p>The <strong>problem</strong>, however, is that conventional forums have yet to be federated. There is <a href="https://github.com/yuforium/">yuforium</a> which is far from being completed. There is <a href="https://github.com/LemmyNet/lemmyBB">LemmyBB</a>, which is basically just a phpBB skin frontend for Lemmy, so not a real solution. And this exascerbates another existing problem with conventional forums: they tend to be hyperfocused around a particular subject matter. One of the only large, general-purpose forums I have seen being <a href="https://www.city-data.com/forum/#general-forums">city-data</a>, which originally <em>was</em> hyperfocused but outgrew it&rsquo;s narrow discussion range on population size alone. Forums often delegate more open ended discussion to <em>off-topic</em> sub forums, but that gives them an air of afterthought. And with pretty sparse population, at that.</p> <p>So if you&rsquo;re anything like me, you&rsquo;re left with only a handful of options:</p> <ul> <li>Continue using tightly seggregated dedicated forums for each and any interest you might have, while managing dozens of accounts and waiting on yuforium (or others) to mature.</li> <li>Stomach Lemmy, the least-worst of the currently federated SNS formats, and ignore the constant stream of mass media two minutes hate circlejerks while sifting for those rare but fleeting semi-intelligent discussions.</li> <li>Mailing lists ???</li> </ul> <p>Given the circumstances, I&rsquo;ll probably continue with the first strategy. Although I&rsquo;ll admit to toying with the notion of spinning up a personal Lemmy instance so at least I can <a href="https://wrongthink.link/posts/the-last-time-i-used-reddit/">berate normies</a>. But that&rsquo;s a lot of shit to clutter my systems with (Lemmy uses <em>rust</em>, ew) just to be a helpful nuisance to somebody else. I <em>could</em> try to contribute to yuforium, but I&rsquo;m more of a systems automation type of guy. As it is, <a href="https://wrongthink.link/posts/paramatrix/">paraMatrix</a> is basically me feeling around in the dark. The measured approach would just be to remain patient and tactful, navigating around as best we can with what little we have at the moment.</p> <p><strong>Update 2024:</strong> Some web 2.0 style forums have announced ActivityPub integration. Both <a href="https://meta.discourse.org/t/activitypub-plugin/266794">Discourse</a> and <a href="https://socialhub.activitypub.rocks/t/flarum-forum-software-2-0-will-have-federation-support/3246">Flarum</a> are closer to the general purpose forum model, and have my intrigue.</p> The Role of Libraries in the Digital Age https://wrongthink.link/posts/role-of-libraries-in-the-digital-age/ Tue, 03 Oct 2023 21:32:02 -0400 https://wrongthink.link/posts/role-of-libraries-in-the-digital-age/ <p>Municipal libraries have been given special exemption to operate outside of typical copywrong framework through a lending right scheme. And I welcome any chink in the armor of the monopolistic copywrong industry, even if it happens to be done so through the means of state sanctioned robbery. The earliest libraries were vehemently opposed by publishers who thought it as a way of undercutting their profits. And yet, centuries later there is still a thriving industry for books to be authored. It is as though books are just physical text files and the same intrinsic workings found in file sharing (piracy, according to mid wits) similarly occurs through library lending.</p> <p>The paradigm that saw public libraries into existence has evaporated in the wake of the new digital age and there is new discourse raging over <a href="https://www.the-dispatch.com/news/publishers-vs-libraries-an-e-book-tug-of-war/article_c9c09030-1fa1-5ee4-9b17-239a1e79d0bd.html">the lending of digital copies of books</a>&hellip; which I suggest is unimportant under the shadow of a larger failing of today&rsquo;s libraries. In an age when <a href="https://truthforteachers.com/internet-vs-real-reading/">most textual material is now consumed over HTTP</a>, they have neglected to gather collections of web documents of any variety. Why is it that an exceedingly small number of good samaritan organizations have found themselves the proverbial eggs in a basket when it comes to web archival? Accounting for every substantially recognized effort, we basically have only the <a href="https://web.archive.org/">Internet Archive</a> and <a href="https://archive.today/">Archive.Today</a> to look to for page preservation.</p> <p>And with so few outfits doing the world&rsquo;s heavy lifting, it has been made <a href="https://www.rt.com/op-ed/489118-wayback-machine-big-tech-censorship/">simple to pressure these good samaritans</a> <a href="https://blog.kareldonk.com/censorship-on-the-internet-archive-by-requiring-login/">[1]</a> into memory hole&rsquo;ing inconvenient parts of their archives. The Wayback Machine and, to some extent, Archive.Today are an effective duopoly over cached historic copies of large swaths of the web. This crucial role has failed to be spun up in a decentralized way, <em>even though the tools to make this possible already exist</em>. Programs such as <a href="https://www.httrack.com/">HTTrack</a>, or even the built-in page caching functionality of self hostable web crawlers such as YaCy.</p> <p>As libraries nearly universally provide internet access for visitors, it is not a far cry to imagine that these institutions could also run, however rudimentary, web indexing. Without digging too deeply, I suspect this lack of foresight comes down to their lazily outsourcing of digital infrastructure to remote managed services. Or to the cultural atmospherics that naturally arise from the disproportionate hiring of people who fundamentally don&rsquo;t understand digital technology. All such a solution would need is some of the readily available bandwidth, a dedicated server and exposing of the cached pages in a searchable way to, at the very least, systems on the local network.</p> <p>But what would an ideal situation look like? How about, for example, being able to navigate to any one of the many municipal library websites at such a resource like &ldquo;webarchive.stchlibrary.org&rdquo; (St. Charles County Library) to check whether there are any captures of a desired page. The redundancy of so many organizations crawling the web would make chronological captures all the more difficult to censor. And the workload involved with setting up indexing is no excuse not to do so. In fact, I would argue that it is <em>more</em> work to meticulously catalogue and preserve thousands of <a href="https://infogalactic.com/info/Microfiche">microfiche slides</a> of decades of newspapers, which so many libraries already do. It is a shame given the criticality of the role the web assumes in contemporary society.</p> 'It's Satanic!' Is Not A Compelling Argument https://wrongthink.link/posts/satanic-not-compelling/ Thu, 08 Jun 2023 22:19:16 -0400 https://wrongthink.link/posts/satanic-not-compelling/ <p>If you grew up in the &rsquo;90s you may have found yourself witness to such ongoings as parents denying their children Pokemon cards or Harry Potter books on the grounds that they are &lsquo;unchristian&rsquo;. It is possible that such was simply a convenient excuse to avoid dropping money on frivolous expenses, but there were undoubtedly those who <a href="https://yewtu.be/watch?v=JtmWU0Mwe7E">made the assertions in earnest</a>. Which raises a really apt observation: In order to believe that stories or toys about magic represent a genuine threat, one must first believe that <em>magic is real</em>.</p> <video width=50% controls> <source src="https://wrongthink.link/dork-sided.mp4" type="video/mp4"> </video> <br /><br /> <p>Those who are not of the persuasion that an Abrahamic god (or <em>any</em> god) exists will also remain unconvinced that &lsquo;unchristian&rsquo; things represent any kind of threat whatsoever. And it is this incongruity in perception that makes so many in the freedom advocacy community fail to communicate their message adequately. For whatever reason, there is a <a href="https://jamesperloff.net/christianity-truth-movement/">disproportionately large representation of Christians within the movements opposing tyrannical power</a>. I am <em>not</em> highlighting this to condemn or congratulate anybody. It is purely an observation. From the link:</p> <blockquote> <p>&ldquo;I know many Truthers, and while I would say that a majority are Christians (of various denominations), there are also some Muslims, some agnostics, some New Agers, and within the mix a few people who are outright hostile to Christianity.&rdquo;</p> </blockquote> <p>But what this leads to is a frequent tendancy for freedom activists to point at something, which runs counter to the goals of human autonomy, and to call it &ldquo;SATANIC!&rdquo; (you can hear my exasperated gasp through the screen, right?). It muddies the waters of the cautions they are trying to share to the general public. X thing is not bad because it centralizes control over your finances or because it makes your private life more transparent to alphabet agencies. No, X thing is evil <em>because it is in league with the antagonist of MY particular holy book REEE!</em>.</p> <p> <video width=50% controls> <source src="https://wrongthink.link/target.mp4" type="video/mp4"> </video> <br /> <em>Damning evidence of a chain store pushing shoppers into satanism? Probably not, but it sure sounds like a sick rave!</em></p> <p>So instead of reaching the widest audience possible (this is what you want for your messaging, given that you are trying to &lsquo;wake up the sleeping masses&rsquo;), it only speaks to those who also happen to subscribe to your particular brand of religiosity. Good job, guys. You just potentially alienated an unknowable portion of your target audience. They may go on to associate your perhaps perfectly valid alarm raising with religious fundamentalism or worse. And it may have also served as a boon to your opponents who would rather see your messaging get <a href="https://digdeeper.club/articles/tricks.xhtml#poisoning">poisoned and ignored</a>.</p> <p>&lsquo;But what about the ritualism and ceremonies of powerful people?&rsquo; you may ask. Yes, I have seen <a href="https://fee.org/articles/the-gotthard-tunnel-ceremony-reveals-the-aesthetic-of-statism/">the ceremonies</a> and displays that certain middlemen and controlling groups partake in. Does that mean that I think they&rsquo;re summoning demons? No. Because I literally don&rsquo;t believe in demons. Likewise for all other related superstition. They aren&rsquo;t &ldquo;opening portals&rdquo;. They aren&rsquo;t &ldquo;tapping into the power of Satan&rdquo;. That is all low IQ drivel. Is it a display of iconography and commonality among the parasites? Perhaps. But it is not their choice of imagery that leads me to conclude that their goals are awash in malicious intent.</p> New PeerTube Instance at video.wrongthink.link https://wrongthink.link/posts/peertube-instance/ Mon, 29 May 2023 11:34:35 -0400 https://wrongthink.link/posts/peertube-instance/ <p>Instead of relying on the good graces of some other host, I have finally gotten around to establishing a <a href="https://video.wrongthink.link/">PeerTube instance to call my own.</a> At the moment it doesn&rsquo;t follow other instances although I would like to take advantage of the features enabled by federation. For now, there are only two channels; <a href="https://video.wrongthink.link/c/main/videos">main</a> and <a href="https://video.wrongthink.link/c/other/videos">other</a>. I&rsquo;m not really sure yet what I plan to upload. Or whether to reupload anything from my old channel.</p> <p>Before deciding on PeerTube, I had considered <a href="https://mediagoblin.org">MediaGoblin</a> or just making a videos page with HTML5 tagged videos. Either would have been adequate, but familiarity won out in the end. The <a href="https://wrongthink.link/links">links page</a> has been updated.</p> The Right and Wrong Way to Implement Blacklisting https://wrongthink.link/posts/right-and-wrong-way-to-blacklist/ Sun, 14 May 2023 17:15:19 -0400 https://wrongthink.link/posts/right-and-wrong-way-to-blacklist/ <p>Blacklisting tools need to resist the temptation to centralize their blacklists. Sometimes it is not done intentionally, but that makes it no less harmful to user privacy. Barring instances where it is infeasible to distribute such a list due to size, referenceing a list of blocked resources should be possible entirely within the end user&rsquo;s device.</p> <image src="https://wrongthink.link/blacklist-wrong.png" style="height:998px;width:579px;" > <br /><br /> <p>As example of things done the wrong way see <em><a href="https://web.archive.org/web/20230513044204/https://adguard-dns.io/en/welcome.html">blacklisting DNS providers</a></em>. I didn&rsquo;t even know this was a thing until I stumbled across it while evaluating some blockers. Seriously, why are people outsourcing this to upstream resolvers? The local hosts file is the ideal place for this functionality. For a better way, one should look to implementations such as uBlock Origin&rsquo;s blocklists, Clam AV&rsquo;s signature databases or any other tools which sagely supply lists of known bad matches in their entirety to the client for direct use.</p> <image src="https://wrongthink.link/blacklist-right.png" style="height:653px;width:567px;" > <br /><br /> <p>Some might argue that it is more efficient on network resources for clients to request only what they need to lookup or that it aids security since users could end up keeping stale copies locally. I do not view these things being so important as to justify making the easy profiling of users possible. The reason that many people find themselves even bothering with blacklisting in the first place is because they do not wish to be tracked and profiled.</p> New Home For The Alternative Information Directory https://wrongthink.link/posts/alternative-information-directory/ Sun, 07 May 2023 20:55:57 -0400 https://wrongthink.link/posts/alternative-information-directory/ <p>The hundreds of informational resources aggregated largely under the efforts of a good acquaintance, 12bytes (<a href="https://12bytes.org/">12bytes.org</a>), comprise the Alternative Information Directory, or &lsquo;AID&rsquo;. Some potential logistical issues that cropped up with hosting as a codeberg page meant that the directory needed to find a new location for the time being. So I am honored to offer a space for it at <a href="https://aid.wrongthink.link/">aid.wrongthink.link</a>.</p> <a href="https://aid.wrongthink.link/"> <img src="https://wrongthink.link/logo_trans_light.png" style="heigh:70px;width:460px;" /> </a> <br /><br /> <p>These graphical buttons are available in the <a href="https://aid.wrongthink.link/downloads.html">Downloads section</a> at AID should you wish to embed a link somewhere within your own site. 12bytes has been exploring suppressed information for much longer than myself and that is reflected in the voluminosity of the Alternative Information Directory. May it <em>&lsquo;aid&rsquo;</em> you in refining the accuracy of your understanding of reality.</p> The Purpose of Safe Spaces https://wrongthink.link/posts/the-purpose-of-safe-spaces/ Fri, 05 May 2023 09:17:11 -0400 https://wrongthink.link/posts/the-purpose-of-safe-spaces/ <p>POV: You are a sociopath. It is the late aughts-mid teens decade. And you have a problem to be solved.</p> <h1 id="the-problem">The Problem:</h1> <p>You and your industry buddies would love to pull off a scam against the global public in order to force them, to the maximal extent, to use your products. <strong>But</strong> you know that the perceptive and inherently distrusting minority of the population will, using the internet, swiftly identify and call out your scam, alerting others, as you begin to roll it out. This poses a serious risk of your plans being undermined.</p> <p>So, how to isolate that group away from view of the more easily persuaded majority?</p> <figure><img src="https://wrongthink.link/hypnotized.jpg"><figcaption> <h4>Still from After Skool&#39;s &#39;Love Your Servitude - Aldous Huxley &amp; George Orwell&#39;</h4> </figcaption> </figure> <h1 id="the-solution">The Solution:</h1> <h2 id="part-i">Part I</h2> <p>Identify (or manufacture!) a social schism and fan the flames to foment ever greater consternation between the factions which form battle lines around it. Once you have generated a sufficiently critical mass of useful idiots willing to die on a hill before your social cause, they can surely be leveraged to enact part II of the solution.</p> <h2 id="part-ii">Part II</h2> <p>Within massive and influental online spaces, decry the presence of poeple who are perceptive and alert as &ldquo;problematic&rdquo; menaces to the community. Label them as threats, and/or things they have said or done as heinous bullying which must be banished &ldquo;for the safety of the community&rdquo; and the legions of useful idiots will cheer as their community&rsquo;s only genuine social and intellectual immune system is dismantled before their eyes in order to clear the way for &ldquo;safe spaces&rdquo; and &ldquo;inclusive communities&rdquo;.</p> <p>Once most of the alert &amp; perceptive crowd have been successfully banned, removed, [<a href="https://wrongthink.link/posts/self-censorship-among-freedom-movement">self-</a>]censored, or have retreated to enclaves of their own making, away from the larger view of the public, it is now time to begin deploying your desired global scam. Opposition has been successfully mitigated and you, as philanthropath(s), can now control the perceived reality of the masses, totally unopposed.</p> <p>*<em>Yes, this is a gross over-simplification. But one component which casts the phenonenon of &ldquo;safe spaces&rdquo; into a light which begins to make much more sense in retrospect.</em></p> Opening Up paraMatrix to Collaboration https://wrongthink.link/posts/paramatrix/ Sat, 29 Apr 2023 08:36:46 -0400 https://wrongthink.link/posts/paramatrix/ <p>Today I am uploading my edits and additions made on top of xiMatrix as &lsquo;<a href="https://gitler.moe/Wrongthink/paraMatrix">paraMatrix</a>&rsquo;. It has a way to go before it can be considered webworthy. So I&rsquo;m not yet <a href="https://infogalactic.com/info/Dogfooding">dogfooding</a> the extension although it will be a pet project of mine for the forseeable future. And anyone is invited to collaborate in its development!</p> <figure><img src="https://wrongthink.link/paraMatrix.png"> </figure> <p>There really are no explicit goals with paraMatrix aside from being an insurance policy against the disappearance of existing web request blockers. I am painfully aware that the current situation completely relies on <a href="https://xkcd.com/2347/">that one guy in Nebraska</a> doing thankless work. Raymond Hill has already <a href="https://www.ghacks.net/2020/09/20/umatrix-development-has-ended/">shelved development on uMatrix</a> and God forbid he ever gets hit by a bus or simply loses interest in maintaining his remaining tools. That is partially my motivation to continually explore other options for the <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">Web Content Blocker Tier List</a>.</p> <p>Some of the niceties I&rsquo;ve already bolted on so far include:</p> <ul> <li>A column for images, separate from audio/video</li> <li>Option to refresh the page with changes</li> <li>Dark theme</li> <li>Cleaned up the dialogs (and will eventually migrate them to a dedicated in-extension page)</li> </ul> <p>Some bits from the README:</p> <blockquote> <h2 id="why-use-ximatrix-as-a-basis-instead-of-umatrix">Why use xiMatrix as a basis instead of uMatrix?</h2> </blockquote> <blockquote> <p>xiMatrix is simpler with a smaller codebase and is therefore more suitable to hack upon. It is already built in the spirit of &lsquo;do one thing and do it well&rsquo; and implements some of the features I would have liked to see added to uMatrix. uMatrix covers things which may be considered outside the scope of a web request firewall such as spoofing values and managing local storage.</p> </blockquote> <blockquote> <h2 id="why-not-just-contribute-to-xis-ximatrix">Why not just contribute to xi&rsquo;s xiMatrix?</h2> </blockquote> <blockquote> <p>He has clearly stated in his project that it is a personal tool and will not likely be extended further. I will, however, try to track changes to xiMatrix to incorprate into paraMatrix. Although it may eventually be spun off as its own fork.</p> </blockquote> <p>Any and all contributions, be it aesthetic, techincal, big or small, are welcomed. If you would like to build the extension to try it for yourself, just clone the repo:</p> <pre tabindex="0"><code>git clone https://gitler.moe/Wrongthink/paraMatrix.git </code></pre><p>Then cd into the root directory and assemble the files into .xpi:</p> <pre tabindex="0"><code>cd paraMatrix zip -r -FS ../paramatrix.zip * --exclude &#39;*.git*&#39;. cd .. mv paramatrix.zip paramatrix.xpi </code></pre><p>Either install it unsigned through &lt;variation&gt;Fox&rsquo;s about:addons &gt; Install Add-on From File&hellip; Or, for easy testing, through about:debugging &gt; This &lt;variation&gt;fox &gt; Load Temporary Add-on&hellip;</p> <figure><img src="https://wrongthink.link/temporary-addon.png"> </figure> <p>Rough edges abound, I will be slowly <a href="https://gitler.moe/Wrongthink/paraMatrix#to-do">chipping away at them</a>. Maybe it will amount to something, maybe not. We&rsquo;ll see where this goes.</p> Catbox.moe, An Underappreciated Heavy Lifter https://wrongthink.link/posts/catbox-moe-heavy-lifter/ Sun, 23 Apr 2023 12:04:37 -0400 https://wrongthink.link/posts/catbox-moe-heavy-lifter/ <p>File hosts that accept uploads with minimal friction come and go. So it is a positive find that <a href="https://catbox.moe/">Catbox.moe</a>, unofficially <a href="https://wrongthink.link/posts/voat-as-a-cautionary-tale">Voat</a>&rsquo;s &ldquo;Imgur&rdquo;, has maintained some longevity. &ldquo;But Catbox uses proprietary <em>javascript</em>!&rdquo;, I can hear you say. But it doesn&rsquo;t. An <a href="https://nofun.catbox.moe/">upload page</a> has been built specifically for js blocking Chads. Although this introduces a limitation, only one file may be uploaded at a time.</p> <p>However, we don&rsquo;t need to hand control over to some javascript to recover this functionality. We take things a step further and ditch the web interface for the much more utilitarian terminal program! MineBartekSA&rsquo;s <a href="https://gist.github.com/MineBartekSA/1d42d6973ddafb82793fd49b4fb06591">CatBox bash script</a> leverages the Catbox API to upload and optionally manage content.</p> <pre tabindex="0"><code>Usage: catbox &lt;command&gt; [arguments] Commands: user [userhash] - Gets or sets current userhash. If you pass &#39;off&#39; then it will make you anonymous file &lt;filename(s)&gt; - Uploads files to catbox.moe url &lt;url(s)&gt; - Uploads files from URLs to catbox.moe delete &lt;filenames(s)&gt; - Deletes files from catbox.moe. Requires userhash album - Album Managment usage, --usage, -h, --help - Prints this message version, -v, --version - Prints version </code></pre><p>Setting a user hash allows you to later delete files that you no longer require hosted. Although if you&rsquo;re looking to <em>temporarily</em> share a file, it may be best to use their <a href="">litterbox.catbox.moe</a> option which allows files to be deleted automatically anywhere between one hour to three days after posting.</p> <p>Let&rsquo;s say you have a folder with several items you want to share. This can be done in a single command:</p> <pre tabindex="0"><code>catbox file SecretDocuments/* </code></pre><p>The wildcard will grab all of the files in the directory, in order. It is also possible to pass multiple files individually. The resulting link URLs are supplied in the output.</p> <pre tabindex="0"><code>Uploading anonymously... letter-to-meemaw.txt: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 445 0 35 100 410 8 93 0:00:02 0:00:02 --:--:-- 101 Uploaded to: https://files.catbox.moe/bj9k3z.txt proof-that-aliens-are-real.txt: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 401 0 35 100 366 9 100 0:00:01 0:00:01 --:--:-- 109 Uploaded to: https://files.catbox.moe/mbhj46.txt stalker-notes.txt: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 379 0 35 100 344 7 73 0:00:02 0:00:02 --:--:-- 91 Uploaded to: https://files.catbox.moe/3n1hwo.txt </code></pre><p><span style="color:red">Play fair</span> <br> It is with only a bit of hesitation that I write about Catbox, as the service is provided on the goodwill of an anonymous do-gooder who thanklessly keeps things running with <a href="https://blog.catbox.moe/post/616173382977863680/happy-5th-birthday-catbox">over 200TB of bandwidth</a> used monthly. So please be respectful of the filesizes that you upload. I know that automated uploads can be tempting to start dumping tons of content. Even a simple 3.5MB video file viewed by just two thousand people easily translates into ~7GB of content that their servers need to deliver.</p> Addon Conflicts and Data Leaks https://wrongthink.link/posts/addon-conflicts-data-leaks/ Sun, 16 Apr 2023 13:15:00 -0400 https://wrongthink.link/posts/addon-conflicts-data-leaks/ <p>A half dozen or so extensions sit happily running along in your browser dutifuly, according to the various &ldquo;privacy&rdquo; sites that recommended them, foilng trackers. Surely, gathering these tools is <a href="https://web.archive.org/web/20230317224653/https://old.reddit.com/r/software/comments/plgy48/what_i_doinstall_on_every_windows_pc_software/">just like collecting Poke&rsquo;mon</a>, right? If the knowledgeable folks pushing them have taken the time to scrutinize their operation, they just might have posted fair warnings to their individual caveats. Often, extentions end up stepping on eachother&rsquo;s feet.</p> <p>One such case can be found in running <a href="https://github.com/mlgualtieri/CSS-Exfil-Protection">CSS Exfil Protection</a> behind a generalized blocker. This addon preemptively parses stylesheets to check them against known form data exfiltration attacks outlined in <a href="https://www.mike-gualtieri.com/posts/stealing-data-with-css-attack-and-defense">the developer&rsquo;s blog</a>. The problem that arises from this is that <a href="https://github.com/mlgualtieri/CSS-Exfil-Protection/issues/29">cross-origin stylesheets will be fetched regardless of whether or not that third party domain is blocked</a> in something like uBlock Origin or uMatrix. They show up as behind-the-scenes xhr requests in the logger:</p> <pre tabindex="0"><code>01:16:57 behind-the-scene xhr https://fonts.googleapis.com/css?family=Droid+Sans+Mono|Arimo:400,400i,700 </code></pre><p>So anybody who runs default deny policy from some blocker will have their efforts foiled by CSS Exfil Protection failing to respect the setting and making connections to all kinds of trackers anyway. And it doesn&rsquo;t help that the priority order for addons to modify requests <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1421725#c1">remains unclear and difficult to influence</a>. The commonly cited workaround being to make sure that the addon you want as &ldquo;master&rdquo; be the most recent chronologically installed addon. Which flies in the face of common sense, as addons which users feel are the most important will likely be <em>the first</em> to get installed. Just more unquestionable <a href="https://12bytes.org/articles/tech/the-mozilla-monster/">design wisdom from our friends at Mozilla</a>.</p> <p>That is just an example of a smaller, relatively unknonwn addon causing problems. But conflicts also arise in much bigger and more widely used combinations. It is still very common that <a href="https://archive.ph/YaWQ8">uMatrix users like to also run uBlock origin</a> secondarily in basic user mode, citing its beneficial extensive blocklists and pattern filtering. But let&rsquo;s look at how nicely they play together when visiting a few sites.</p> <p>You&rsquo;ll notice that both uBlock Origin and uMatrix are blocking the <em>associates-amazon.com, cdn.vox-cdn.com, googletagmanager.com and voxmedia.com</em> domains:</p> <figure><img src="https://wrongthink.link/umvsubo-vox.png"> </figure> <p>Crucially, note that uBlock Origin is <span style="color:green;">permitting</span> the <em>player.megaphone.fm</em> and <em>recaptcha.net</em> domains and <span style="color:gold;">permitting some resources</span> from the <em>cdn.vox-cdn.com</em> domain. And viewing the uMatrix logger indicates that these resources are being rejected.</p> <p>But let&rsquo;s see what our <a href="https://wrongthink.link/posts/tcpdump-the-stethoscope/">trusty tcpdump</a> has to say:</p> <pre tabindex="0"><code>23:17:02.250877 IP localhost.34253 &gt; redacted.domain: 2047+ A? cdn.vox-cdn.com. (33) 23:17:02.406477 IP localhost.47270 &gt; redacted.domain: 34547+ A? www.recaptcha.net. (35) 23:17:02.522724 IP localhost.42132 &gt; redacted.domain: 26001+ A? player.megaphone.fm. (37) 23:17:03.447299 IP redacted.domain &gt; localhost.34253: 2047 1/0/0 A 146.75.72.124 (49) 23:17:03.794829 IP redacted.domain &gt; localhost.47270: 34547 1/0/0 A 172.217.23.195 (51) 23:17:04.057974 IP redacted.domain &gt; localhost.42132: 26001 1/0/0 A 205.185.216.42 (53) </code></pre><p>Interesting. So DNS queries are made for those <strong>&ldquo;blocked&rdquo;</strong> domains.</p> <p>To the best of my knowledge, this is probably related to the fact that uBlock Origin unhides domain CNAME aliasing, which necessitates doing a lookup. So I ran the same capture after clearing the container cache and disabled uBlock Origin&rsquo;s <em>Uncloak canonical names</em> feature. This time the only lookups were for the anticipated vox.com domain.</p> <pre tabindex="0"><code>23:17:57.561083 IP localhost.51548 &gt; redacted.domain: 10194+ A? www.vox.com. (29) 23:17:57.561109 IP redacted.domain &gt; localhost.51548: 10194 1/0/0 A 199.232.37.52 (45) </code></pre><p>(Kinda hard to show what <em>didn&rsquo;t</em> appear. Work with me, here.) One important factor is that our DNS resolver gets to see these lookups as well as the correlating fact that they all arrive at the same time. <em>But</em> do those leaky domain resolutions ever lead to traffic to any of those domains?</p> <p>Well, it <em>seems not to</em> but is difficult to evaluate (probably due to which addon gets to intercept the request first, <span style="color:red;">I still need to do some investigation on this</span> ). The <em>expected</em> behavior from this addon combination would be to not even bother with the lookups since those domains are blocked by default anyway. The result is that it generates more network traffic than is necessary.</p> <p>uMatrix users that want to avoid this could opt to disable <em>Uncloak canonical names</em>. Or if you only use uBlock Origin for the blocklists, consider importing compatible lists into uMatrix&rsquo;s hosts files and dropping uBlock. It also has to be considered whether the cost of fattening out your DNS lookups even outweighs the benefit derived from discovering and mitigating sites who sneakily delegate subdomains to third parties (which uMatrix has <strong>absolutely no defense against</strong>). Not to mention <a href="https://github.com/arkenfox/user.js/issues/265#issuecomment-362009725">uMatrix and uBlock Origin have had a history of clobbering eachother over CSP headers</a>. <strong>TL;DR:</strong> the whole village is on fire.</p> <video width=50% controls> <source src="https://wrongthink.link/village-on-fire.mp4" type="video/mp4"> </video> <br /><br /> <p>All of this has me thinking we might be stepping into a world in which external tools <em>outside</em> the browser are going to be required to hold its hand like a little toddler, scolding it &ldquo;No, DerpFox, don&rsquo;t touch that resource!&rdquo; whenever its grubby hands reach out for yet another connection while you weren&rsquo;t looking.</p> The Spotispy Hostage Situation https://wrongthink.link/posts/spotispy-hostage-situation/ Tue, 11 Apr 2023 21:29:17 -0400 https://wrongthink.link/posts/spotispy-hostage-situation/ <image src="https://wrongthink.link/spotify-nagwall.png" alt="The shit normies will put up with" style="width:453px;height:573px"> <br /><br /> <p>It may not currently be possible, using only libre toolsets, to extract podcasts hosted on Spotispy into local audio files. I had no idea how bad it really was because I&rsquo;ve dutifully avoided the big tech[nocrat] disservices. So I haven’t tried to interface with Spotify until I recently needed to try pulling down a podcast which doltishly decided to choose Spookify to host their work.</p> <p>It was no shock to find that no direct download link is provided on the page. &ldquo;No problem!&rdquo;, I thought at first, &ldquo;I&rsquo;ll just get the media link from the browser console&rdquo;. Nope. They obfuscate it within a javascript web player. &ldquo;Alright, yt-dlp will just pull it down&rdquo;. But support for ripping from the audio monopoly has actually <a href="https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md">been broken within the youtube-dl family of programs for some time</a>.</p> <p>So it was time to fall back to specialized projects designed for this godforsaken host. <a href="https://github.com/SwapnilSoni1999/spotify-dl">Spotify-dl</a>, in addition to needing npm to install, consistently failed with an error deserving no elaboration. While <a href="https://github.com/spotDL/spotify-downloader">spotdl</a>, asking for installation through python pip (<em>thanks, let me just clutter my system with a bunch of out of repo crap</em>), says right in their documentation that audio is just matched through GooTube search and downloaded from there. Had to pass on that one.</p> <p>Defeated, I trudged over to the Firefox addons repository to peruse the downloader options there. Nothing. The walls erected by Spot-I-Spy seem to have been enough to deter even the energetic and adventerous browser addon development world. And the more generalized downloaders also scratch it from their lists of supported sites.</p> <p>Wow. So there must be some web service offering to grab and convert Spotify-hosted podcasts, right? The big ones all do <em>strictly</em> music only. The others either failed to interpret any format of the links I supplied (sanitized or not) or demanded far more than just running some scripts. Not a swamp I&rsquo;m willing to go crawling in.</p> <p>The last resort of any such endeavor, dedicated desktop GUI programs, all suffered from one common flaw: proprietary Windowns or Mac exclusive dumpster fires. They made big promises in their documentation, but what good is it when the program itself cannot be compiled from source within and for a sane environment? And with that, I found that my determination to find some way to acquire the podcast as either .ogg or .mp3 was anything but proportionate with my desire to listen in. Too bad, so sad. Host it somewhere that <em>isn&rsquo;t malware</em>.</p> <p>Which highlights something to be observed in the podcasting space. Each podcaster who decides to exclusively host their material with <a href="https://web.archive.org/web/20160313214751/http://www.theregister.co.uk/2015/08/21/spotify_worse_than_the_nsa/">Spyify</a> is acting as a sort of pied piper, leading a train of hapless children into the darkness of an isolated cave. One of the original strengths of podcasts was that they&rsquo;re democratized and portable. Using this audio giant completely hobbles those strengths. Why would you ever impose it upon your listeners?</p> <figure><img src="https://wrongthink.link/piper.png"> </figure> Neocities Links Have Been Redirected https://wrongthink.link/posts/redirected-neocities-links/ Tue, 04 Apr 2023 10:17:44 -0400 https://wrongthink.link/posts/redirected-neocities-links/ <p>Enough time has elapsed that stragglers to the old neocities site should have gotten the message by now that wrongthink.link has replaced it as the primary site. I have pointed all neocities pages to their new counterparts here. If you also operate a site that has migrated away from neocities, and would like to do the same with your own hugo markdown files, here&rsquo;s how I programatically rewrote all the pages:</p> <pre tabindex="0"><code>for item in * ; do sed -i &#39;1,/---/!d&#39; $item ; echo &#34;Article has moved to https://mynewweb.site/posts/$item&#34; &gt;&gt; $item ; done </code></pre><p>Which preserves the fields between hugo&rsquo;s font matter declarations but strips away all subsequent text, replacing it with a brief hyperlink. And then touch up with a pass of:</p> <pre tabindex="0"><code>sed -i &#39;s/.md//&#39; *.md </code></pre><p>Why didn&rsquo;t I keep the neocities site as a mirror? Neocities&rsquo; restriction of media content clashes with my liberal usage of multimedia, making it unsuitable as a mirror. However, I am exploring running a true-to-form darknet mirror. The only stumbling block right now is in assessing how well a physical server will handle graceful shutdowns via <a href="http://www.apcupsd.org/">apcupsd</a> during power interruptions, which often occurs when you live out in the mountains. This also disqualifies any darknet mirror that I deploy from taking on the status as my <em>primary website</em>. Although some <a href="https://solar.lowtechmagazine.com/about.html">neat ideas are floating around out there</a>.</p> Was The Old Web Really More Free? https://wrongthink.link/posts/was-old-web-really-more-free/ Thu, 30 Mar 2023 21:22:10 -0400 https://wrongthink.link/posts/was-old-web-really-more-free/ <p>According to a <a href="https://www.consoom.soy/internet-before-2015-and-what-it-means-for-us.html">writing by a presumably younger netizen</a>, the turning date for when the web went to shit was &ldquo;around 2015&rdquo;. Almost an entire decade later than when <em>I</em> would have judged it to be. Could it be that the gradual tightening of control over the web is causing each new generation to view the internet of their childhood through their own brand of rose tinted glasses? Or was the web of the 90s and early aughts even really as free as <a href="https://wrongthink.link/posts/i-feel-like-a-time-traveler/">we often make it out to be</a>?</p> <p>Instead of relying on my own faulty human memory, let&rsquo;s revisit just <em>what</em> made up the web experience around the turn of the century. I find that we often wash over the fact that:</p> <ul> <li>The dominant web browser during that age was Internet Explorer, <a href="https://upload.wikimedia.org/wikipedia/commons/2/24/Browser_Wars_%28en%29.svg">by over 80%!</a> And the competitors at the time were also proprietary dumpster fires.</li> <li>Macromedia/Adobe Flash (oh god please no) was a prevalent and often required plugin.</li> <li>There was no intelligent way to block or manage cookies or other resources, and the common wisdom of the time was simply to periodically delete cookies &amp; cache from your browser settings (which is woefully ineffective, in retrospect).</li> <li>It was still common to dial in through walled silos such as AOL and CompuServe.</li> <li>Everyone&rsquo;s traffic was naked on the web. Only an extreme minority of sites ever used HTTPS at the time as it was <a href="https://www.jefftk.com/p/history-of-https-usage">still just emerging</a> and only as a means of securing payments pages.</li> <li>There was not yet consistent standardization. It wasn&rsquo;t uncommon to see &ldquo;This site is best viewed on ________ browser!&rdquo;</li> <li>The most widely used messenger at the time, AIM, being completely proprietary. And AIM didn&rsquo;t adopt XMPP until 2008.</li> <li>This type of autoplay scam embedded on nearly every other page you ever visited:<br> <audio controls> <source src="https://wrongthink.link/you-won.ogg"> </audio> </li> <li>It wasn&rsquo;t until 2002 that <a href="https://www.businessinsider.com/interview-with-the-inventor-of-the-ad-blocker-henrik-aasted-srensen-2015-7">the first widely known ad blocker</a> had been made (and for a browser lineage that, as noted above, barely anyone used at the time).</li> </ul> <p><img src="https://wrongthink.link/ideal-web-extended.png" alt="The ideal web analogy, extended"></p> <p>Some things were considerably <em>better</em>. Centralization hadn&rsquo;t yet crystalized around cuckflare and massive ghettos like Amazombie AWS, FBIbook and REEddit for &ldquo;homepages&rdquo;. I even went through some archived sample sites to evaluate their standing on responsible resource usage.</p> <table> <thead> <tr> <th>Site</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td><a href="https://web.archive.org/web/20010509013343/http://www.yahoo.com/">Yahoo (2001)</a></td> <td>only one inline script <a href="http://www.yahoo.com/%7Binline_script%7D">http://www.yahoo.com/{inline_script}</a> , some xhr and <em>no cookies at all</em>. Light and responsible, by today&rsquo;s standards.</td> </tr> <tr> <td>Yahoo (2023)</td> <td>over 100 scripts with goodies such as &ldquo;wf-geolocation-1.3.0.js&rdquo; and &ldquo;wf-beacon-1.3.4.js&rdquo;, 3rd parties and trackers like scorecardresearch, attempts to fingerprint via basic browser info, querying permissions through APIs, window and canvas info among others.</td> </tr> <tr> <td><a href="https://web.archive.org/web/20021017110006/http://www.ebaumsworld.com/index2.shtml">Ebaum&rsquo;s world (2002)</a></td> <td>only <a href="http://www.ebaumsworld.com/facts.js">http://www.ebaumsworld.com/facts.js</a> , <a href="http://www.ebaumsworld.com/index2.shtml%7Binline_script%7D">http://www.ebaumsworld.com/index2.shtml{inline_script}</a> and some script relating to phpads. Quick and light.</td> </tr> <tr> <td>Ebaum&rsquo;s world (2023)</td> <td>doesn&rsquo;t even implement a strong cipher suite, deploys over 30 scripts, now uses a content delivery network, 3rd party CDNs and resources everywhere, social buttons, analytics, massive fingerprinting through font enumeration, time info, webstorage status, canvas, hardware querying, device enumeration and more!</td> </tr> </tbody> </table> <p>But the one thing that really stands out as better <strong>in the before times</strong> was the demeanor of fellow netizens. People were much more thick skinned. So on a <em>technological</em> metric, the old web was not very free. But on a <em>cultural</em> metric, it was indeed very free. I maintain that <a href="https://wrongthink.link/posts/internet-better-when-it-was-nerds/">the turning point</a> falls sometime around the emergence of slavephones.</p> <p>And that old experience hasn&rsquo;t been expunged from existence. It has simply retreated. It is no longer the dominant norm, but hidden across federated networks, anonymity networks and in those last niche spaces in clearnet where users have outright rejected the NWO (New Web Order). Come and seek it out if you care about these issues.</p> Consider Blocking CSS By Default https://wrongthink.link/posts/consider-blocking-css/ Wed, 22 Mar 2023 18:07:42 -0400 https://wrongthink.link/posts/consider-blocking-css/ <p>You may be running some <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">hotrodded addon suite that blocks the various attack vectors</a> which the modern web likes to throw at you. But are you blocking quite <em>enough</em>? A colleague and I exchanged thoughts on the best defaults for which web resources to deny and he was surprised to learn that I even strip the style sheets (CSS) out of visited web pages.</p> <p>CSS is commonly thought to be useful just for formatting and for the basic beautification of web pages. But it can be <a href="https://web.archive.org/web/20230221085525/https://keithclark.co.uk/labs/css-fps/">capable of so much more</a>. That last link is innocent in nature, but demonstrates a point. Consider also that CSS can be used, <a href="https://www.bleepingcomputer.com/news/security/researcher-finds-css-only-method-to-track-mouse-movements/">as demonstrated by Davy Wybiral</a>, to break up a page into a hidden grid with :hover selectors, which can then be used to remotely monitor the position of visitor&rsquo;s cursors. All without the involvement of javascript and all without the browser reporting any network requests.</p> <p>Wybiral highlighted some use cases for this:</p> <blockquote> <ul> <li>Motion (gait) analysis is an active field of research</li> <li>People use different resting positions for the cursor</li> <li>Identifying mouse motion vs touchpad should be possible</li> <li>Can give insight into other behavioral traits of visitors</li> </ul> </blockquote> <p>If you think that sites would have no interest in conducting such focused tracking, please know that <a href="https://wccftech.com/websites-keylogging-session-replay/">there is an entire industry catering to capturing &ldquo;session replays&rdquo;</a>. Complete recordings of each visitor&rsquo;s time on the site, obstensibly to &ldquo;improve&rdquo; the UI. But why would session replays need to capture keystrokes and, by extension, possibly passwords to &ldquo;improve their UI&rdquo;? They are willing to use everything down to DOM events. Would they not find CSS-based tracking useful? Especially considering how popular javascript-blocking has become?</p> <p>Similarly, it had been possible to fingerprint and gather a visitor&rsquo;s related browsing history through the :visited selector. Browsers have since <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Privacy_and_the_:visited_selector">implemented mitigations</a> (spoofing values) but there remain so many other ways to fingerprint users through CSS. Such as <a href="https://web.archive.org/web/20230313102608/https://csstracking.dev/">techniques using background images or fonts</a>, in which the browser is instructed to request a <em>completely unique</em> asset from the site server. Oliver Brotchie elaborates:</p> <blockquote> <p>This technique avoids anti-tracking methods such as NoScript, VPNs or browser extensions, as it requires no Javascript or Cookies to function.</p> </blockquote> <p>Or such as by <a href="https://github.com/jbtronics/CrookedStyleSheets">gathering canvas information, browser information and other metrics</a>, for which author &lsquo;jbtronics&rsquo; explains the only possible defenses:</p> <blockquote> <p>What you can do to prevent tracking with this method? &hellip; is to disable CSS for a web page completely, you can do this via browser settings or with plugins like uMatrix (currently unmaintained), CSS Toggler (currently unmaintained), Stylus or uBlock.</p> </blockquote> <p>Or <a href="https://github.com/jbtronics/CrookedStyleSheets">exfiltrating user input</a> (and doubtlessly more to come!). Mike Gualtieri, who penned these methods, refers to extensions as a possible defense:</p> <blockquote> <p><strong>Defense for Web Users.</strong> For web users the best defense is to ensure that such malicious CSS is not parsed by your browser. As such, I developed a pair of browser plugins for Chrome and <a href="https://addons.mozilla.org/en-US/firefox/addon/css-exfil-protection/">Firefox</a> which aim to protect against CSS Exfil attacks. &hellip; Each plugin works by pre-processing the CSS which is loaded onto a web page. Inspection and sanitization of each CSSRule is done through the browser&rsquo;s native CSSStyleSheet JavaScript API. If a CSSRule.selectorText is detected that: 1) Parses the value attribute of an element, and 2) If the corresponding CSSRule.cssText includes a call to a remote URL, a new rule is created to override the call to the remote URL.</p> </blockquote> <p><span style="color:yellow">Just a quick note:</span> The CSS Exfil Protection Addon currently <a href="https://wrongthink.link/posts/addon-conflicts-data-leaks/">leaks requests for 3rd party stylesheets </a> from behind blockers like uBlock Origin.</p> <p>If you have the time, please consider reading through, in full, the excellent material that these researchers have produced. As the style sheet standard continues to get extended, we can only anticipate that the attack surface it presents will follow suit. At this point, I don&rsquo;t trust anything without at least some layer of isolation and verification.</p> <p>I suggest simply blocking CSS outright. It really isn&rsquo;t much of a nuisance considering the majority of the time one spends on the web is just reading text. With style sheets stripped away, some sites will render large SVGs that fill your screen. You can either disable SVGs (in Firefox derived browsers that is at <em>svg.disabled=true</em>) or just scroll down to about 80% to the bottom and the textual content can almost always be found there. I basically only ever enable CSS on sites which I have used for a long time and have built a trustworthy rapport.</p> <p>I have also found that CSS is one of the ways in which some websites will try to obscure their page in an attempt to punish visitors who block javascript. No CSS, no problem!</p> Research Tools From the Sunny Climes of Western Japan https://wrongthink.link/posts/research-tools-sunny-climes-japan/ Fri, 10 Mar 2023 11:45:39 -0500 https://wrongthink.link/posts/research-tools-sunny-climes-japan/ <p>This is a friendly critique of James Corbett&rsquo;s <em>known</em> online research loadout. Actually just things that he has suggested, but some are clearly his go-to tools. My thoughts in <span style="color:cyan">cyan</span> .</p> <h2 id="feedly">Feedly</h2> <p>James personally uses feedly.com (<a href="https://www.corbettreport.com/really-simple-syndication-solutionswatch/">Really Simple Syndication Solutions Watch</a>) to keep a queue of articles to be read. Categories:</p> <ul> <li>Climate</li> <li>MSM</li> <li>News (Independent News)</li> <li>OpEd</li> </ul> <p><img src="https://wrongthink.link/corbett-rss-h.jpg" alt="James&rsquo; RSS"></p> <p><span style="color:cyan">Users of Feedly rely on an external service. Feedly know in detail everything you read, which articles specifically you access, can infer how long you spend on each, etc. I would recommend using a dedicated desktop feed reader. This cuts out the middleman by grabbing the articles directly *and* saving local copies to be read offline in the event of getting Fahrenheit 451&#39;d.</span> <!-- raw HTML omitted --></p> <h2 id="browsers-brave-and-firefox">Browsers: Brave and Firefox</h2> <p>&ldquo;I use different browsers on different occaisions&rdquo; - (<a href="https://www.corbettreport.com/solutionswatch-highlighter/">The Highlighter is Mightier than the Sword</a>).<br> And an <em>inexhaustive list</em> of his known addons:</p> <ul> <li>AdBlocker Ultimate</li> <li>Ghostery <span style="color:cyan">Tries to block trackers *for* the user, but has an abysmal track record. I wouldn&#39;t recommend.</span> </li> <li>Highlighter + Notes</li> <li>HTTPS Everywhere</li> <li>NoScript <span style="color:cyan">Better than nothing, but not very granular. There are cases where only certain js need to be loaded.</span> </li> <li>Privacy Badger <span style="color:cyan">Same as with Ghostery, not worth it&#39;s space in lieu of better addons. It&#39;s supposed to &#39;train&#39; with usage but ends up leaving the user&#39;s system connecting to tracking domains for long periods.</span> </li> <li>Video Download Helper<br> <span style="color:cyan">Further elaboration on addons below.</span> </li> </ul> <p><img src="https://wrongthink.link/corbett-addons-h.jpg" alt="James&rsquo; Addons"></p> <h2 id="https-everywhere">HTTPS Everywhere</h2> <p>Seen on his Firefox config.<br> <span style="color:cyan">HTTPS Everywhere *was* good at what it did, but is no longer necessary. Firefox now natively handles this functionality with</span> <a href="https://support.mozilla.org/en-US/kb/https-only-prefs">HTTPS only mode</a><span style="color:cyan">, set with: dom.security.https_only_mode=true. There supposedly remain some pages which are more gracefully handled by the</span> <a href="https://www.eff.org/https-everywhere">EFF&rsquo;s HTTPS Everywhere</a> <span style="color:cyan">but I have never seen evidence of it. And in events where a site simply has not setup TLS certs, instead of accepting the unencrypted page, push it through a proxying resource. I recommend pulling through torsocks curl. Or, the simple way, put it through archive.today for viewing.</span> </p> <h2 id="adblocker-ultimate">AdBlocker Ultimate</h2> <p>*Has also been seen running Adblock Plus.<br> <span style="color:cyan">Default allow policies are weak. I would encourage instead to try uMatrix. It is undoubtedly the strongest browser firewall and handily alleviates the necessity of NoScript and several other addons. In fact, have a look at my</span> <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">Web Content Blocker Tier List</a><span style="color:cyan">.</span> </p> <h2 id="highlighter--notes">Highlighter + Notes</h2> <p><span style="color:cyan">Saving articles through Highlighter may limit access to their accessibility to that browser (Highlighter &#43; Notes does not seem to be available to Chromium browsers). I get that the point of this addon is to highlight, but if one is relying on it for archival purposes, it may be pertinent to save in a more generalized way. Ctrl &#43; S will save the page HTML, its formatting and some assets like embedded images to a local folder. It can later be viewed in any other browser. Or print to PDF via the page print options. From here, the document can be highlighted using native PDF functionality.</span> <!-- raw HTML omitted --></p> <h2 id="heavy-reliance-on-archiveorg-and-archivetoday">Heavy reliance on archive.org and archive.today</h2> <p><span style="color:cyan">These web archivers are both excellent tools, but I do have concerns that they will eventually be coopted or memory holed. For the sake of expanding the toolbox, I would urge one to look at</span> <a href="http://www.httrack.com">HTTrack</a><span style="color:cyan">. Think of it like an archive.today that you can run on your own machine. Again, with fully offline access.</span> </p> <image src="https://wrongthink.link/httrack.gif" style="width:650px;height:466px"> <br/> <br/> <h2 id="reliance-on-youtubeppcom">Reliance on youtubepp.com</h2> <p>(video downloader site).<br> <span style="color:cyan">In fact, when I was reviewing Jame&#39;s tools for this writeup, I&#39;ve found that youtubepp.com now redirects to y2mate.com with the message &#39;Our service has been discontinued as of August 1, 2019.&#39;. Try invidious which, being a self hostable open source Youtube front end, is like the hydra. One instance goes down, another takes its place.</span> </p> <h2 id="uses-and-indicates-favor-to-youtube-dl">Uses (and indicates favor to) youtube-dl</h2> <p>(<a href="https://www.corbettreport.com/solutionswatch-tools/">Research Tools You Should Know About</a>), Has used youtube-dl to backup his entire Youtube channel before being depersoned.<br> <span style="color:cyan">Another excellent use case.</span> <a href="https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/">youtube-dl is the Swiss army knife of video downloads</a><span style="color:cyan">, I cannot think of a better tool off the top of my head.</span> </p> <h2 id="boingboing-youtube-thumbnail-grabberhttpsboingboingnetfeaturesgetthumbs"><a href="https://boingboing.net/features/getthumbs">boingboing Youtube thumbnail grabber</a></h2> <p><span style="color:cyan">Can be better handled with youtube-dl (Thumbnail Options, --get-thumbnail). It is best to cut out the middleman and just use youtube-dl.</span> <!-- raw HTML omitted --></p> <h2 id="he-has-used-4k-video-downloaderhttpswww4kdownloadcomproductsvideodownloader3-in-the-past-but-doesnt-tend-to-use-it">He has used <a href="https://www.4kdownload.com/products/videodownloader/3">4K video downloader</a> in the past, but doesn&rsquo;t tend to use it.</h2> <p>Is a standalone desktop program.<br> <span style="color:cyan">Proprietary. I would be leery of it. If you prefer a graphical desktop program, your web browser itself is already equipped to help with this. Press F12 (Firefox) or Ctrl&#43;Shift&#43;I (Chromium) to reveal the browser debugger. Select the &#39;Network&#39; tab. Open a youtube video (direct or through invidious) and look for the domain containing *.googlevideo.com to appear in the network logger. You can copy paste this link into another tab to watch directly or use the link to save the video.</span> </p> <h2 id="cleaning-up-all-caps-text">Cleaning up all caps text.</h2> <p>With <a href="https://www.convertcase.com">ConvertCase</a>.<br> <span style="color:cyan">Unfortunately, going through a site like this gives a third party your activity data. Better to do locally with tr and sed:</span> </p> <pre tabindex="0"><code>echo &#34;WILL FRANCE SUBMIT TO COVID TYRANNY - #NEWWORLDNEXTWEEK&#34; | tr &#34;[A-Z]&#34; &#34;[a-z]&#34; | sed -e &#34;s/\b\(.\)/\u\1/g&#34; </code></pre><p><span style="color:cyan">The output gives us: Will France Submit To Covid Tyranny - #Newworldnextweek</span> <!-- raw HTML omitted --></p> <h2 id="search-engines-selection">Search engines selection.</h2> <p><span style="color:cyan">Per the</span> <a href="https://www.corbettreport.com/solutionswatch-presearch/">Presearch Solutions Watch</a><span style="color:cyan">, he has since adopted Presearch into the rotation of search engines, following the announcement by Weinberg that DuckDuckGo would begin deranking results on a political basis. I cannot find the specific Corbett Report podcast but I know he is aware of SearX although has never detailed his usage of the tool. Perhaps in a future episode?</span> </p> <h2 id="has-mentioned-he-keeps-data-offline-on-detachable-media">Has mentioned he keeps data offline on detachable media.</h2> <p><span style="color:cyan">Can’t get much better than this. Just keep copies. Ideally across at least three storage devices, comprised of different storage technologies and with one or some kept in geographically separate locations. Also known as the</span> <a href="https://archive.ph/P8BhT">3-2-1 rule</a><span style="color:cyan">. But let’s take a look at some of those research folders:</span> </p> <p><img src="https://wrongthink.link/corbett-research-folders-h.jpg" alt="James&rsquo; folders"></p> <p><span style="color:cyan">Interesting, I would love to peek into Kakistocracy, or Environment, or really any one of those!</span> <!-- raw HTML omitted --></p> <h2 id="os-and-hardware">OS and hardware.</h2> <p>Sadly, evidenced by the screen shares and also the iMac that has been on that desk for years, he uses CrApple gear.<br> <span style="color:cyan">I&#39;ll concede the James has never *recommended* such iThings, although his usage of them could be misconstrued as an endoresment. Activists and independent researchers of all kinds should hold concern over the digital foundations on which they rely. And in the extremely unlikely event that this critique ever falls in front of the eyes of the man himself, I would like to advocate a few suggestions. Migrate away from a proprietary vendor known for</span> <a href="https://truesecdev.wordpress.com/2015/04/09/hidden-backdoor-api-to-root-privileges-in-apple-os-x/">hidden (and open) backdoors</a> <span style="color:cyan">and a history of survielling escapades.</span> <a href="https://www.theguardian.com/technology/2014/nov/04/apple-data-privacy-icloud">[1]</a> <a href="https://www.intego.com/mac-security-blog/spotlight-suggestions-in-os-x-yosemite-and-ios-are-you-staying-private/">[2]</a> <a href="https://www.politico.eu/wp-content/uploads/2020/05/Public-Statement-Siri-recordings-TLB.pdf">[3]</a></p> <p><span style="color:cyan">Instead, consider expanding your usage of liberated software to also include your operating system, and perhaps even your device firmware. Maybe keep the hardware, if you have a penchant for their particular design, but flash</span> <a href="https://libreboot.org/docs/hardware/">libreboot</a> <span style="color:cyan">or</span> <a href="https://coreboot.org/status/board-status.html">coreboot</a> <span style="color:cyan">over the vendor&#39;s BIOS. Or consider similar, but</span> <a href="https://wrongthink.link/posts/selecting-computer-hardware">liberated hardware</a> <span style="color:cyan">which already has such free firmware. For OSes, I would recommend any flavor of Linux which does not include proprietary software by default. Whichever spin of Linux you find suitable, know that the GNOME desktop environment layout is very similar to that of Mac OS&#39;s and should feel right at home.</span> </p> <p>It is admirable to craft such great work ringing the alarm bells to the incoming technocratic cyber police state, but the message does tend to get undermined when one continues to do so while using the very same police state wares which help to fuel technocracy itself.</p> <p>Overall score: 8/10<br> <audio controls> <source src="https://wrongthink.link/your-work-is-appreciated.ogg"> </audio> </p> Libre Mapping and GPS Navigation https://wrongthink.link/posts/libre-gps-and-mapping/ Mon, 06 Mar 2023 12:58:53 -0500 https://wrongthink.link/posts/libre-gps-and-mapping/ <p>Some express grievance over needing SIM cards, phones and Google to navigate in unfamiliar places, but it doesn&rsquo;t need to be this way. First of all, Google is not necessary to have access to detailed maps. Please check out <a href="https://www.openstreetmap.org/">Open Street Map</a>. OSM data has been integrated into various other products and services, although it can be used directly for your own personal use case.</p> <p>One great application which makes use of Open Street Map is <a href="https://marble.kde.org/">Marble</a>, which can functionally replace the spyware known as <a href="https://www.theguardian.com/news/2018/dec/20/googles-earth-how-the-tech-giant-is-helping-the-state-spy-on-us">Google Earth</a>. Marble also contains maps for temperature, precipitation and other useful formats. But let&rsquo;s assume you want an anonymous &ldquo;Google Earth&rdquo;. Install Marble from whichever repository you use. For me, it is named marble-qt.</p> <p>Open Marble, go to Settings &gt; Configure Marble &gt; Cache &amp; Proxy:</p> <p>Set Hard disc to Unlimited. This will save every map chunk that you look at so that the next time you view that area your computer does not need to reach out over a network to acquire data.</p> <p>Then, assuming you already have the tor package installed and setup, set Proxy to:<br> Proxy: 127.0.0.1<br> Port: 9050<br> Proxy type: Socks5</p> <p>Now your Marble will grab map data anonymously. It will load a little more slowly but remember that the next time you revisit that map area, it will be loaded instantly from your hard drive cache. No internet required.</p> <figure><img src="https://wrongthink.link/marble-streetmap.jpg"> </figure> <p>I would also recommend changing the GPS coordinate format to Degree (Decimal) under Settings &gt; Configure Marble &gt; View &gt; Angle. This seems to be the most widely used GPS coordinate type. That way you can right click anywhere on the map, copy coordinates and then plug them into your D.I.Y. GPS (which we will setup below).</p> <p>Next, we want to prepare GPS functionality for your laptop or tablet. Acquire a USB GPS transceiver. They go for very cheap and do not require any service, payment, accounts or personal information to function. Just power and serial over a USB port. DYOR on which ones are most compatible with Linux and/or most performant.</p> <image src="https://wrongthink.link/usglobalsat-bu-353-usb-gps.jpg" style="width:300px;height:300px;"> <br /> <br /> <p>Install the gpsd packages gpsd and gpsd-clients.</p> <p>With the transceiver plugged in, list devices to make sure it shows up.</p> <pre tabindex="0"><code>ls /dev </code></pre><p>It should appear as something like &ldquo;<span style="color:green;">/dev/ttyUSB0</span> &rdquo;.</p> <p>Depending on the model you bought, you may or may not have to change the output to NMEA for gpsd to read:</p> <pre tabindex="0"><code>gpsctl -f -n /dev/ttyUSB0 </code></pre><p>Edit the gpsd configuration at /etc/default/gpsd and set:</p> <p>DEVICES=”ttyUSB0”<br> START_DAEMON=”true”<br> GFSD_OPTIONS=”-n”</p> <pre tabindex="0"><code>systemctl daemon-reload systemctl restart gpsd </code></pre><p>You can verify that it is up and running through <em>gpsmon</em>. There is usually enough signal to determine location once it has four or more satellites listed in the bottom left table with good signal, S/N.</p> <image src="https://wrongthink.link/gpsmon.png" style="width:642px;height:388px;"> <br /> <br /> <p>When you revisit Marble there should now be an arrow indicator to show your location and heading. If not, Position Tracking through gpsd is configurable through Marble&rsquo;s Location tab in the dropdown.</p> <p>Lastly, one may want to take this GPS on the road. We can use <a href="http://www.navit-project.org">Navit</a> for this. Install Navit and the voice synthesizer <a href="http://espeak.sourceforge.net/">Espeak</a>.</p> <p>Next, download OSM map data to use in Navit. This can be done through Marble (File &gt; Download Region) or the site at <a href="http://maps3.navit-project.org/">Navit Project</a>, although the site is not HTTPS encrypted.</p> <p>Copy the default Navit config into place:</p> <pre tabindex="0"><code>cp /etc/navit/navit.xml .navit/ </code></pre><p>And edit .navit/navit.xml to point to the map you just downloaded. The line can easily be found by searching for &ldquo;binfile&rdquo;. Append the line:</p> <pre tabindex="0"><code>&lt;map type=”binfile” enabled=”yes” data=”/path/to/map.bin”/&gt; </code></pre><p>You may need to disable surrounding mapsets since they default to <span style="color:green;">enable=&#34;yes&#34;</span> out-of-the-box.</p> <p>Also change the uncommented speech line to enable voice navigation:</p> <pre tabindex="0"><code>&lt;speech type=&#34;cmdline&#34; data=&#34;espeak -s 150 %s&#34; cps=&#34;15&#34;/&gt; </code></pre><p>Now when you launch Navit, it should already be configured to source gpsd for location. It takes inspiration from commercial automotive GPS devices with things like routing, points of interest, vehicle type, avoid toll roads, etc. I recommend driving around a bit <em>somewhere familiar at home</em> to make sure everything is working before taking it into uncharted territory.</p> <image src="https://wrongthink.link/Navit-eee.jpg" style="width:512px;height:384px"> <br /> <br /> <p>The best part: No definitive device association that can easily be tied back to you (especially if you can pay for the transceiver in cash or crypto). And when you&rsquo;re done, you can physically disconnect the GPS. This is not just me spitballing concepts at anyone. <em>I have personally used such a setup for several years now.</em> It has enabled me to travel for work, and to better navigate foreign countries while still novice in <a href="https://wrongthink.link/posts/learning-human-languages">their languages</a>. All without relying on any commercial garbage that would have subjected me to tracking, paywalls and data harvesting.</p> Techtubers Who Cry About Their Own Captivity https://wrongthink.link/posts/techtubers-who-cry-about-captivity/ Sun, 26 Feb 2023 17:20:39 -0500 https://wrongthink.link/posts/techtubers-who-cry-about-captivity/ <p>After receiving unwanted flack from astute critics, an only-partially awake <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/are-you-a-tech-jew/">tech normie</a> had recorded a diatribe lamenting how he just has no choice, woe is me, but to continue to use software which continues to dictate his operations. <a href="https://www.jodybruchon.com/">Jody Bruchon</a>&rsquo;s rationalizations boil down to strained analogies, bargaining (the third stage of grief), false equivalencies and self-guided assertions. The text is pulled from the video transcription, but <a href="https://www.bitchute.com/video/B7Py4oyHLJtx/">the video itself can be found here</a> if you&rsquo;re looking for a good laugh.</p> <blockquote> <p>In the comment section on my windows 11 must be stopped video i had a lot of comments from people saying that i didn&rsquo;t have to agree to the windows license agreement &lsquo;yeah, you don&rsquo;t own windows it&rsquo;s licensed to you and you can have that license revoked at any time by microsoft but hey man you agreed to it&rsquo;. Well let me use an analogy that might illustrate the problem with this. If i offer you a hamburger or a hot dog you get to choose between eating a hamburger or eating a hot dog and you make your choice and you eat the food of your choice and that&rsquo;s the end of it. If i offer you a hamburger and a hot dog but if you pick hot dog i tell you that you&rsquo;ll get shot in the face well now your hot dog comes with a free execution. So what are you going to pick? Technically you have a choice you can choose hot dog and then be shot in the face and die but that&rsquo;s not really a choice is it? Yes it&rsquo;s a technical choice but it&rsquo;s not a choice if you want to continue to survive and exist and be a living human being. In much the same way software terms of service licensing the whole &lsquo;you are licensed not sold&rsquo; the fact that there&rsquo;s no legal ownership of the copy of the software that you don&rsquo;t own what you pay for well, you can choose not to agree to these terms much like you can choose not to agree to the click wrap agreement on adobe premiere pro or whatever but when you make that choice when you choose not to accept the license agreement you also don&rsquo;t get to use that software.</p> </blockquote> <br /> <image src="https://wrongthink.link/kermit-facepalm.gif" alt="Kermit the frog in disbeleif" style="width:240px;height:133px;"> <p>Already he frames the decision to reject proprietary software as though it is death itself. If you made it far enough to be presented with a EULA prompt, the situation has already been preceded by a long chain of poor decisions. In reality, <a href="https://wrongthink.link/posts/the-manufactured-notion-of-choice/">exclusivity is weaponized by monopolists</a> to increase the costs of refusal. By caving and going along, you&rsquo;re only fueling their <a href="https://wrongthink.link/posts/raising-the-costs-of-migrating/">desired snowball effect</a>.</p> <p>And a hamburger-hotdog dichotomy isn&rsquo;t entirely fair. Choosing to use libre technology is more like eating vegetables sourced from a community garden. While the nonfree cattle elect to bloat themselves on the aforementioned street vendor food.</p> <blockquote> <p>So what happens if you choose not to use windows? Well we&rsquo;re going to assume that mac os is the same because the truth is mac os and windows the license agreements have very similar provisions. It&rsquo;s licensed not sold the you don&rsquo;t own your copy we can pull your license blah blah blah. So both of them have equally onerous terms of service or license agreements or whatever you want to call them. So linux would be your only other option. So what happens if you pick instead of windows or mac os? You go linux and you refuse to accept the windows license agreement. No quickbooks. No adobe premiere. No adobe illustrator. No adobe photoshop. These are major pro applications that you can&rsquo;t use. Oh wait did you say microsoft office? No microsoft office. You have libreoffice. But guess what? It&rsquo;s not compatible with microsoft office. Guess what else is a problem? Outlook. No access to outlook in office? Well people who use outlook might be sending an outlook rich text format and you&rsquo;ll have to go find a thing in thunderbird to work around it and all that. This is a more general problem with &lsquo;well you could have just chosen not to use windows and to use linux&rsquo;. That&rsquo;s fine and great but an operating system and a cluster of programs that come with it do not make a complete system. The problem is the application environment. The applications that you use are the most important thing on your system.</p> </blockquote> <p>He conflates terms of service with whether or not an operating system is proprietary. No, the fact that the terms can be so egregious is enabled precisely <em>because</em> Windows and Mac are both nonfree. Here, he also lists out his anchor software, almost entirely consisting of Adobe and Microsoft prisonware. Stop saving your documents in proprietary formats. Advise your mail sender that they&rsquo;ve erroneously sent their message in a specialized format which isn&rsquo;t universally readable by everyone (how often does one even receive richtext mail?). What are you even doing in Illustrator that can&rsquo;t be done in GIMP?</p> <blockquote> <p>Now granted firefox and chrome you can get those for linux all day long you can get all kinds of web browsers. But web browsers are not what people who actually have to get real work done need to use. If you want a good video editor, if you want a professional grade video editor or audio editor or digital audio workstation, you&rsquo;re not going to get those on linux. There are none. At least not that i am aware of. I am aware of many products on linux. The live&rsquo;s video editing system. The uh caden live open shot. Yes, these are video editors but guess what i&rsquo;ve tried them all they&rsquo;re not very good.</p> </blockquote> <p>I have seen nothing in your videos to suggest that you need any of the secret sauce capabilities of the aforementioned proprietary editors. In fact, your format could totally be handled by filming your rant and then <a href="https://videos.lukesmith.xyz/w/mcB66w6PAPHBZV9dRfvyDf">splicing the bits together with ffmpeg</a> (in terminal, like gigachad does). The entire notion that web videos need to be elaborately edited <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/simple-jewtube-videos-very-hard/">is a recent phenomenon to appease short attention spans and centralized video host algorithms</a>.</p> <br /> <image src="https://wrongthink.link/adobe-premier.png" alt="Little tykes editing" style="width:545px;height:496px;" > <blockquote> <p>A lot of them are imovie level. Lives looked like oh hey wow a non-linear editor that looks like maybe it might be more on par with permit. It&rsquo;s not. Light works oh my god don&rsquo;t even get me started on light works and light works. They did the whole open source thing but then they sort of backed away and became difficult and frankly i found light works to be very difficult to work with. If you want to edit video your options pretty much boil down to final cut pro 10 or adobe premiere pro. There&rsquo;s also davinci resolve but i don&rsquo;t think that&rsquo;s available for linux either i haven&rsquo;t looked.</p> </blockquote> <p>In <a href="https://www.bitchute.com/video/B7Py4oyHLJtx/">the video</a>, he does later look to find that it <em>has</em> been released for Linuxes, but electing to use this would only prolongue the issue by failing to attack the source of the problem.</p> <blockquote> <p>There are a few programs but they&rsquo;re all mac os and windows so yeah you&rsquo;re right i could just agree to not say yes to the license agreement that&rsquo;s fine. I have that choice but guess what? I&rsquo;m locked out of all these proprietary applications that are actually the only good solutions to get professional work done in certain fields. I&rsquo;m also locked out of certain applications that are only made for windows and not for linux and that don&rsquo;t run under wine. So while this choice exists you&rsquo;re also talking about the video you&rsquo;re watching right now potentially not being possible. I think k.rita or creta however you want to pronounce it may be one of the most professional looking replacements that you can get but is not photoshop. Creda is not photoshop or illustrator. You know inkscape is not illustrator. At all. There&rsquo;s just all kinds of things that are missing from these open source solutions and until they catch up, if they ever catch up, they&rsquo;re not going to be suitable replacements. You lock yourself out of professional software. You can&rsquo;t do that professional work and this is the bigger problem. you can&rsquo;t run premiere pro on wine. You can&rsquo;t run a lot of things that are professional. Online quickbooks. Not online? Guess what the standard is for accounting for corporate accounting. It&rsquo;s quickbooks that&rsquo;s the standard that is the accounting package that the vast majority of businesses use. Oh oh you want to use sage 50 previously known as peachtree instead of quickbooks? Guess what you&rsquo;re not going to get that to work on wine either. That&rsquo;s a squirrely piece of software by the way. There&rsquo;s all kinds of stuff that doesn&rsquo;t work right under a linux system and i hate hate hate hate to say this but it&rsquo;s the biggest problem with linux. It&rsquo;s not that linux itself is some kind of terrible system. it&rsquo;s great. there are a lot of wonderful things about open source software in linux but if you need premiere pro or final cut pro you can&rsquo;t use linux.</p> </blockquote> <p>Slave to your software. It&rsquo;s not that <em>you</em> lock yourself out of such software, but <em>they</em> lock you out by refusing to free their source or otherwise make the program available on other environments. This idea that free software just &ldquo;needs to catch up&rdquo; <a href="https://wrongthink.link/posts/attitude-free-software-just-substitute">is fallacious thinking insinuating that it is somehow &ldquo;behind&rdquo;</a>. If you keep thinking like that, you might just end up like <a href="https://wrongthink.link/I'll-Start-My-Diet-Tomorrow-I-Swear.png">this guy</a>.</p> <blockquote> <p>And if you do you have to have another machine that runs that proprietary os lying around to run it on anyway or run it in a virtual machine well guess what? You ever try to edit video you know you need a lot of hardware acceleration for that garbage now you know that encoding is an extremely intensive process right? Emulating or virtualizing video editing is a disaster and you&rsquo;re still running the proprietary os under the virtual machine. It&rsquo;s not a viable option. I don&rsquo;t know what else to say. The people that are saying it&rsquo;s a choice that you can choose not to run windows well yes, but you can also choose not to run software that runs on windows. You can choose to not be a part of the environment that the vast majority of computers use and interface with. <strong>You can also choose to live in a cabin in the woods.</strong></p> </blockquote> <p>Oh, <a href="https://wrongthink.link/posts/divorce-from-the-beast-system">one sure can</a> heh <br /> <video width=50% controls> <source src="https://wrongthink.link/offgridlife.webm" type="video/webm"> </video> </p> <blockquote> <p>But you won&rsquo;t have internet or telephone or electricity that isn&rsquo;t solar. You can choose to live in the middle of nowhere and have no infrastructure and be disconnected from society and guess what? It&rsquo;ll be really hard to participate in society.</p> </blockquote> <p>Oh no, what to do without soyciety?!</p> <blockquote> <p>You can choose not to have a smartphone.</p> </blockquote> <p><a href="https://wrongthink.link/posts/you-dont-need-a-phone">Also yes</a> lol</p> <blockquote> <p>But as you choose not to have a smartphone guess what? As everybody has standardized on text messaging as it&rsquo;s now become to the point where you have to have a smartphone to set up two-factor authentication just to get an account on a website nowadays.</p> </blockquote> <p>This is a clear sign that the websites you use are shit. Stop using shit websites and the problem goes away.</p> <blockquote> <p>That everything assumes you have a smartphone or a cell phone that can do text messaging at a minimum and that you always have access to that and you totally won&rsquo;t ever lose access to your own phone number, what are you going to do if you don&rsquo;t have a smartphone? Guess what <strong>it&rsquo;s going to be awful hard to set up a gmail account.</strong></p> </blockquote> <p>Why would anyone do a foolish thing like that?</p> <blockquote> <p>If google demands that you provide a cell phone number it&rsquo;s going to be awful hard to set up facebook or twitter, any modern social media account if google requires. Or facebook requires or whoever requires that you provide a telephone number.</p> </blockquote> <p>You&rsquo;re seriously crying about not being able to access FBIbook and Twitter? You need to move past that. Let me help you <a href="https://www.fediverse.to/">find your way to the fediverse 🠲</a></p> <blockquote> <p>In addition to just feeding them an email address you can&rsquo;t live without a smartphone today without cutting yourself off from a huge chunk of society. Much the same way you can run linux instead of windows.</p> </blockquote> <p>Calling and texting are both possible without using any kind of proprietary software or even a physical slavephone at all. I have <a href="https://wrongthink.link/posts/terminal-telephony">written about this on numerous occasions</a>.</p> <blockquote> <p>But you&rsquo;re cutting yourself off from that professional software that is only available on windows or mac os. The point is you don&rsquo;t necessarily always have a choice if you run proprietary operating systems. You gain access to the software that runs on top of them. But if you don&rsquo;t you&rsquo;re cut off. And if your job or just any way that you make money or get things done requires that, proprietary software you don&rsquo;t really have a choice do you? Every day that you operate with linux only guess what? You can&rsquo;t make money you can&rsquo;t do those tasks.</p> </blockquote> <br /> <image src="https://wrongthink.link/lightbuzzyear.jpg" style="width:100px;height:100px;"> <p>You seriously use your personal devices for work? Strict separation of private and professional digital life is like opsec 101, come on, guy. Also, it is possible and even preferable to make money outside of the proprietary technology industry. You should try it some time. <a href="https://videos.lukesmith.xyz/w/cYMkUcvm8qn1ix5P4yNqkn">Your occupation doesn&rsquo;t have to be your identity</a>.</p> <blockquote> <p>You might have a substitute that is unfortunately somewhat incompatible or inferior in some way or many ways but you don&rsquo;t have that gold standard software. It&rsquo;s a major problem it needs to be dealt with. I don&rsquo;t have the answers for this. I think however and what i would propose is that someone needs to foster some kind of an open source foundation of some sort of non-profit and get everyone else on board to feed some money into that so they can hire programmers to write and work on professional replacements for these software packages. If there really is enough interest in free and open source software that we want to get away from windows and mac os and move towards linux, bsd, whatever maybe what we need is some kind of a corporate structure that can take donations, and enough people that support open source to pool their money into that and support actually replacing premiere pro and illustrator and quickbooks and these other pro applications that don&rsquo;t work anywhere else, to replace them with a suitable open source easily available, cross-compilable, forkable, updatable you know serviceable long after the original developers are dead piece of software for open source stuff. And you know what? If it gets to that point i know i only have like 6,000 subscribers, i say only but it was like 1,400 two weeks ago, but if it gets to that point if enough people are behind me on this i would be willing to go through all of the pain and struggle that it takes to set up such a business entity.</p> </blockquote> <p>No, please, the last thing libre software needs are more corporate interests mucking things up. All that so that you don&rsquo;t have to relearn how to edit video or track your finances? The solutions are already out there but they just don&rsquo;t have the infantalized buttons and GUI layouts that you&rsquo;re clutching so hard to.</p> <blockquote> <p>The biggest problem is that if you set up a business entity like this you, can&rsquo;t really accept any kind of outside investment that comes with conditions because open source software you let it all go for free. You are giving the product away. You are literally getting money from other people to not charge money for the product which is a funny thing to think about. But that&rsquo;s the only realistic solution. You need an actual corporation that professionally develops professional software and focuses on that and only that. What we have right now is all these other software packages that just have people who do it in their spare time or people that have devoted a significant amount of their time but one developer cannot write a premier pro. One developer cannot write a quickbooks. Although you can write.sql ledger which requires installation on a web server so that&rsquo;s immediately out. For the vast majority of normal users this is not going to work. Anyway, I&rsquo;m rambling. Bottom line is that sometimes you don&rsquo;t have a choice. Sometimes you have to use proprietary software and operating systems. No, sometimes you don&rsquo;t get the option to say no to that licensing agreement. Because you know what? At the end of the day somebody somewhere has to pay your bills, otherwise you don&rsquo;t survive. And what do you do then? Take this house out of here. Take this camera away. Take away the electricity. And the water. And the trash and the sewer and all that. Take the car. Guess what? You&rsquo;re not watching this video, you&rsquo;re not hearing me speak and i can&rsquo;t help you.</p> </blockquote> <p>Lots of misconceptions here about how much of household name free software is developed, by whom and the ways that <a href="https://drewdevault.com/2020/11/20/A-few-ways-to-make-money-in-FOSS.html">some do successfully monetize their efforts</a> (Hint: it&rsquo;s not selling the end product, but the services surrounding it). And TIL: People who exclusively use free software can&rsquo;t view this video like I just did?</p> <p>The whole thing comes across as though Jody is stuck in a rut, unwilling to learn new tools, as he can feel the constrictions of the walled garden continue to clasp down around him, but not understand <em>why</em>. Only a person still enslaved to Windows would take the time to make video <a href="https://www.bitchute.com/video/LSod2rA8WjMZ/">rants about how Windows 11 is &ldquo;ruining&rdquo; Windows</a>, as though it wasn&rsquo;t already terrible. And, in a similar vein, only a person still enslaved to nonfree applications would take the time to make a video decrying the solutions for not being similar enough.</p> <p>GooTube and other video sites, but especially GooTube, are littered with channels like his. Where the uploader will cry about how his proprietary software is mistreating him or that the next version is intruducing some new malicious antifeature (<em>say it isn&rsquo;t so!</em>). Or how to &ldquo;defang&rdquo; Mac or Windows or Chrome or whichever other terrible vice they find themselves chained to. A word of wisdom to all of you burgeoning techtubers; you don&rsquo;t &ldquo;fix&rdquo; an abuser, you <em>leave</em> them.</p> Possessive Language and Spellcasting on the Mind https://wrongthink.link/posts/possessive-language-and-spellcasting-the-mind/ Wed, 15 Feb 2023 11:45:41 -0500 https://wrongthink.link/posts/possessive-language-and-spellcasting-the-mind/ <p>A threshold was crossed once the opinion moulding echelons had succeeded in getting the public to begin referring to &ldquo;<em>a</em> mask&rdquo; as &ldquo;<em>my</em> mask&rdquo; and &ldquo;<em>the</em> shots&rdquo; as &ldquo;<em>your</em>/<em>my</em> shots&rdquo;. It&rsquo;s the same trick pulled as when using &ldquo;we&rdquo; when describing an event in order to subtly involve the audience into the hypothetical group. They are <em>not</em> &ldquo;your&rdquo; injections. They are the injections sold, using stolen money, to the largest mafia in your geographical area who then try to force the product onto you. So if you want to help push back against this psychopathy, please consider avoiding their possessive terminology. Otherwise you&rsquo;re participating in the charade just as the opinion moulders desire.</p> <figure><img src="https://wrongthink.link/npc-hypocrisy.png"> </figure> <p>Using their own terminology, whether they had been crafted or commandeered, is also fraught with harm. &ldquo;jabs&rdquo;, &ldquo;quarantine&rdquo;, &ldquo;immuno-comprimised&rdquo;, etc. They are all selected to evoke a certain attitude surrounding these subjects. This linguistic play is not limited to the scamdemic either. Consider &ldquo;alternative platform&rdquo;, &ldquo;<a href="https://wrongthink.link/Software-Zoos.png">ecosystem</a>&rdquo;, &ldquo;Digital Rights Management&rdquo; (Sure, if you like being managed and monetized, then you&rsquo;ll <em>love</em> DRM!). The wording is carefully selected to frame any argument favorabily toward the various deceptions.</p> <p>Or when the name of a thing itself represents particular interests. <a href="https://infogalactic.com/info/Genericized_trademark">Genericized trademarks</a> also help to solidify incumbent monopolies. Once a branded name becomes the widely used discription of a new class of item, there is basically no chance to later correct the new misnomer. For example, how &ldquo;Ipad&rdquo; has come to mean &ldquo;Tablet&rdquo; or &ldquo;Google it&rdquo; has come to mean &ldquo;look it up&rdquo;. It is no wonder nobody can think straight about these topics. They&rsquo;ve already been using the manipulator&rsquo;s <a href="https://web.archive.org/web/20221025191245/https://bookanalysis.com/1984/newspeak/">newspeak</a> without even realizing it.</p> <blockquote> <p><em>The purpose of Newspeak was not only to provide a medium of expression for the world-view and mental habits proper to the devotees of Ingsoc, but to make all other modes of thought impossible.</em></p> </blockquote> Voat as a Cautionary Tale https://wrongthink.link/posts/voat-as-a-cautionary-tale/ Sat, 11 Feb 2023 09:27:16 -0500 https://wrongthink.link/posts/voat-as-a-cautionary-tale/ <p>In 2014 Voat became a destination of migration for groups who found themselves banished from REEddit. It was superior in a number of ways including a point rationing system to reduce vote induced groupthink, being <a href="https://github.com/voat/voat">open sourced</a> (at a time when REEddit, which began as OSS, started closing their code up). It had better visibility and engagement with posts by virtue of having a smaller userbase, an open stance against censorship by the administrators (Atko, PuttItOut), and was self/community financed as opposed to REEddit&rsquo;s shareholders, Conde Nast. At first, it was a diverse crowd. There were techies, there were health buffs, there were race realists and other outcasts.</p> <p>But as an increasing number of refugees flooded the site, the culture, as well as the server capacity itself, fell under strain. Goats once cherished a hazing tradition to thin the incoming crowds while retaining the thick skinned cream of the crop. But even this wasn&rsquo;t enough to stem the tides. And the proportion of those who held tunnel vision focus exclusively on judaism and race had reached a critical mass which in turn drove away some of those technologists and other demographics. The tone of the site began transforming primarily into their domain of subject matter. By 2017, <a href="https://web.archive.org/web/20170525165401/https://www.theverge.com/2017/5/25/15690040/imzy-social-network-nicer-reddit-shutdown">financial woes befell Voat</a> and Atko stepped down. They ultimately <a href="https://www.theverge.com/2020/12/22/22195115/voat-free-speech-right-wing-reddit-clone-shutdown-investor">shut down in 2020</a> after exhausting the remaining funds.</p> <p>In the time since Voat essentially became home to a singular political ideology, it it had become unrecognizable to the Voat of 2014. This is an issue looming over all &ldquo;refuge&rdquo; sites. They become known as &ldquo;that place for X political tribe&rdquo;, and then subject to all of the usual attacks which follow. Voat is now <a href="https://www.talk.lol/">back up in an unofficial capacity</a> with a much smaller userbase and only questionably in the spirit of old Voat. Sadly, they use cuckflare, and anyways I am long since done with any link aggregator sites. It is just completely inferior to <a href="https://ijver.me/blog/use-rss/">building your own RSS feed</a> and leaving discussion to the <a href="https://wrongthink.link/posts/flavors-of-the-fediverse/">federated web</a> or forums proper.</p> <figure><img src="https://wrongthink.link/oldvoat.png"> </figure> <p>The Voat experience, for me, was a glimpse into the lifecycle of alt sites and the forces which drive them to eventual ruin. Centralizing communities all into one place and relying on the good will of a benevolent overlord is a recipe for failure. Even when the administration is principled and the space started in good faith. I&rsquo;ll consider Voat&rsquo;s rise and fall a tale of caution for those who still think in terms of <em>platforms</em>.</p> The Coming Cyber Dystopia Only Appears Farfetched https://wrongthink.link/posts/the-coming-cyber-dystopia-not-farfetched/ Tue, 07 Feb 2023 12:33:08 -0500 https://wrongthink.link/posts/the-coming-cyber-dystopia-not-farfetched/ <p>The average user, if you can believe, continues to decline in their capacity to understand how to use the technology they find in their hands. It was once thought that this was an age thing and that newer demographics would take to digital tech with excellence, a failed prediction which I take a look at in <a href="https://wrongthink.link/posts/refuting-computer-literacy">Refuting Computer Literacy</a>. Here are some of the factors which I blame for this decline:</p> <ul> <li>The emergence of voice assistants</li> <li>Everything is now obscured from end users</li> <li>&ldquo;The Internet&rdquo; is a shrinking collection of mega disservices</li> <li>The de facto <em>passport</em> of the internet is being switched from email (federated freedom) to phone numbers (centralized tracking dystopia)</li> <li>The imposition of the &ldquo;let us do everything for you&rdquo; attitude which permeates the industry. &ldquo;You don&rsquo;t need to know how that works, let us handle it.&rdquo; <em>hand rubbing intensifies</em></li> <li>Everything happens in-cloud rather than on client devices</li> <li>There are people coming of age today who do not know what the net (or tech in general) was like before its mass corporatization</li> </ul> <p>I was recently illustrating some connectivity options to a curious Gen Z Joe Public, and they seemed to envision bandwidth demand in terms of the <em>number of devices</em> on the network without any consideration as to what those are being used for, the type of traffic or how often. Even the fact that a not-in-use device shouldn&rsquo;t be sending/receiving much traffic at all was received as a mythical impossibility. Also present was their complete failure to understand the difference between latency and bandwidth.</p> <h2 id="digital-natives-are-not-what-we-were-told-they-would-be">&ldquo;Digital Natives&rdquo; are not what we were told they would be</h2> <p>As accessibility hand-holding increases, so too does the active pool of people who were never going to learn properly anyways. Reaching the lowest common denominator <a href="https://yewtu.be/watch?v=QLouQdOijPw">isn&rsquo;t really anything new</a>. If you&rsquo;re reading these posts you likely also felt that rapid shift around 2008-2010 when mobile shartphones began enabling the masses of cattle to occupy the web en masse. And where there are masses, there is a market, in follow the corporations and their own particular brand of cancer.</p> <figure><img src="https://wrongthink.link/literacy-abstraction-inverse-relationship.png"> </figure> <p>Today the average, dominant portion of users are helpless if &ldquo;their&rdquo; device doesn&rsquo;t offer them colorful Little Tykes buttons to carry out prescribed tasks. No recourse is offered to explore more deeply into a functionality or to think outside the box when tackling a problem. Their entire mode of operation is within the confines of whether big daddy CrApple/MS/Goolag will graciously <em>allow</em> them to. Often the processing is outsourced in some way to $BIG_COMPANY. Just cut their internet and watch them flail like a fish starving for oxygen.</p> <p>At this rate, what could the future of the internet (and tech) look like?</p> <h2 id="one-horrific-view-of-the-future">One Horrific View of the Future</h2> <p>Everything that one must do is moderated through a phone. There are no other form factors, they have been criminalized as &ldquo;contraband electronics&rdquo;. It is all, to the maximum extent possible, subscription based. Not only that, but these subscription <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.html">SaaSS</a> are made mandatory through their centrality to civic function. Need a building permit? I hope you have a phone and all of the prerequisite proprietary apps + network connectivity + subscriptions + digital ID&hellip; or want a marriage license, permission to travel, permission to buy certain foods? You&rsquo;d better be using that Fedcoin. The fondle slab itself might resemble a brightly colored children&rsquo;s toy. The icons colorfully cutified with infantilizing animated emblems - Entertainment, games, streaming, porn, lots of porn &ldquo;<a href="https://lolwut.info/comp/app-word.html">apps</a>&rdquo;, social conditioning media. Perhaps an anthropomorphic <a href="https://www.infogalactic.com/info/Jingjing_and_Chacha">mascot</a> that tells you whether you&rsquo;re allowed to leave your house today.</p> <p>Anyone detected out in public without a shartphone (or in possession of a contraband device) will be apprehended and points deducted from their CBDC social score. &ldquo;Hey Google, I am ready to issue my public apology to the governance!&rdquo; to which you might hear &ldquo;Return to within range of cellular signal or local law enforcement will be dispatched&rdquo;. If it sounds ridiculous to us now, just consider how outlandish what we have to endure today might have seemed only a few years prior.</p> Roots of War, Barnet On Technocracy And Government Power https://wrongthink.link/posts/roots-of-war-very-foretelling/ Wed, 01 Feb 2023 15:52:18 -0500 https://wrongthink.link/posts/roots-of-war-very-foretelling/ <p>Richard Barnet was covering topics such as government monopolies on violence and technocracy decades before those terms would ever come into the forefront of today&rsquo;s discourse. In his book, <a href="https://www.goodreads.com/book/show/1800697.Roots_of_War">Roots of War</a>, he wastes no time diving straight into the state&rsquo;s monopoly on crime. While parsing through it, I had to keep reminding myself that the piece was originally published in 1972!</p> <blockquote> <p>Individuals get medals, promotions, and honors by committing the same acts for the state for which they would be hanged or imprisoned in any other circumstance.</p> </blockquote> <p>Barnet&rsquo;s writing is not specifically through the lense of liberterianism, but it bleeds through in his choice of language while divulging about the motivations and psychology of those within the national security managerial class and the business partners who collaborate with them. He also covers the machinations involved in swaying public opinion. Below are some excerpts I found worth highlighting (in the order they appear throughout the book).</p> <p>p. 38</p> <blockquote> <p>The constitutional historian Edward Corwin has noted that each war the United States has fought has increased the power of the executive and speeded the centralization of the government. This is a process in which Lewis Mumford finds repeated throughout history. Centralized, bureaucratic government, or what he calls the Megamachine, is both the product and the cause of war.</p> </blockquote> <p>p. 43, bottom</p> <blockquote> <p>The mobilization of social science had an even more profound effect on the university. During the war government discovered that social scientists could be useful, particularly in the areas of testing opinion manipulation, and propaganda. Social scientists, organized by anthropologists such as Margaret Mead and Clyde Kluckhohn, flattered that the academic interests they had been pursuing for poor pay and with scant attention should now be deemed relevant to universal political questions, flocked to Washington to become &ldquo;problem-solvers&rdquo; for the government. In the process new techniques of analysis such as operations analysis, systems analysis, and game theory were refined.</p> </blockquote> <p>p. 51</p> <blockquote> <p>The slowness of social adaptation in the midst of rapid technological change poses one of the most serious threats to civilization. This is a problem inherent in government and indeed in all of human organization. The time-consuming process of education and experience people must go through to become capable of making judgements carries them into a strange new world in which the lessons are already obsolete. To a certain extent, conceptual lag is inherent in the human condition, but ~ it is positively courted in the national security bureaucracy.</p> </blockquote> <p>p. 58</p> <blockquote> <p>But the real client was the state, and most managers, when they came to weigh the risks and make high policy, left the hopes, fears, failures, and suffering of the nonelect out of the balance. The notion that the pursuit of foreign policy could have subtle, lasting effects on what was discovered in the late 1960&rsquo;s as &ldquo;the quality of life&rdquo; in America, was utterly foreign to them.</p> </blockquote> <p>He goes on to detail how the parasites carry themselves in complete detachment from the suffering they cause.</p> <blockquote> <p>The national security managers as a class have not had the training or incentive to develop understanding, compassion or empathy for people in different circumstances from their own.</p> </blockquote> <p>p. 74</p> <blockquote> <p>Rostow had the optimism and the naivete and the nerve to visualize the denouement of the American Century. It was to be the technocrat&rsquo;s peace. Vietnam was Armageddon. The communist scavenger would slink back into the night, defeated, and the American elect would proceed to organize the peace through technology. [The anticipated outcome by the parasite class]</p> </blockquote> <p>p. 123</p> <blockquote> <p>Each service embellishes &ldquo;the threat&rdquo; to serve its bureaucratic interests. The Office of Naval Intelligence is especially good at finding extra Soviet ships which Air Force intelligence always manages to miss. There are tens of thousands of mysterious objects in the Soviet Union which the Army is convinced are tanks but which any Air Force intelligence officer knows are really airplanes.</p> </blockquote> <p>Where else have we seen &ldquo;the threat&rdquo; being embellished? <a href="https://wrongthink.link/posts/human-life-siphoned-create-markets">Hmm&hellip;</a></p> <p>p. 126</p> <blockquote> <p>Yet the &ldquo;conspiracy&rdquo; concept does not fit the facts, because conspiracy, for the layman if not for the lawyer, implies some consciousness of guilt. Conspirators, according to popular understanding of the term, are men who plot to commit acts they know to be wrong. Here is the crux of the problem. The men who were ready in the Cuban missile crisis to risk civilization for prestige, for what Dean Acheson calls &ldquo;the shadow of power&rdquo;, and to destroy Indochina to save America&rsquo;s reputation for toughness, to lie and kill on a grand scale, all believed that they were doing right, that, indeed, they were acting under duty. It is impossible to understand how dangerous the structures of the national security bureaucracy are without also understanding the system of absolution that operate within those structures. &hellip; Any organization that devotes so much of its resources to propaganda is bound to fall victim to a certain amount itself. Many of the statements on Vietnam, for example, were analogous to the kind of advertising claims which Jules Henry has dubbed &ldquo;pecuniary pseudo-truth&rdquo;.</p> </blockquote> <p>On the next page, he describes a propagandistic concept of &ldquo;atmospherics&rdquo;.</p> <blockquote> <p>One of the clearest analyses of pseudo-truth in the national security establishment came in the form of testimony by Air Force Secretary Harold Brown. Defending his budget request for a new bomber before a Congressional committee by claiming the Soviets were probably building one of their own, he observed: &ldquo;The Air Foce view is at least as much a view that &rsquo;they ought to have one&rsquo; as it is &rsquo;they will have one.&rsquo;&rdquo; The repeated public claims in the Vietnam War that victory was around the corner were of this character. The claims were contradicted by all available intelligence and where sufficiently at odds with public reporting that no reasonably informed citizen could swallow them. They were meant to be taken literally no more than the claim that Seven Crown whisky &ldquo;holds within its icy depths a world of summertime.&rdquo; They were part of what national security managers like to call &ldquo;atmospherics,&rdquo; official expressions of confidence designed to pep up the public.</p> </blockquote> <p>Want to live peacefully? Consider moving to a country which has just been defeated in wartime: p. 161</p> <blockquote> <p>The American Supreme Commander in Germany was directed to proceed with denazification, disarmament, and decartelization. The Potsdam agreements between the Western Allies and the Soviet Union provided for <strong>the elimination of Germany&rsquo;s war potential, decentralization of the economy, and drastic reduction of heavy industry.</strong> (Bold mine)</p> </blockquote> <p>When people ask &ldquo;Who is at the top of the pyramid, you crazy conspiracy loon?&rdquo;, this does justice to the nuance involved in the inevitable non-answer: p. 178</p> <blockquote> <p>These questions are complicated by a certain unavoidable lack of precision in the meaning of power. It is hard to be precise about the locus of power in a system as complex as the national security partnership. Power is an elusive notion meaning different things in different contexts. For one thing, it is not the same as influence. To say that David Rockefeller can always be heard on the American foreign policy toward Latin America or South Africa is not quite the same thing as saying he sets the policy. To say that John Foster Dulles was once a lawyer for the United Fruit Company does not mean that he was taking orders from the company when he authorized the CIA rescue operation of United Fruit properties in Guatemala. It is surely worth noting, but it does not dispose of the case.</p> </blockquote> <p>p. 237</p> <blockquote> <p>The supreme value persued by the new breed of corporate managers is efficiency. This is an improvement, to be sure, over glory, <em>machismo</em>, and the excitement of winning, which, it will be recalled, are so important to the national security managers. For those who can make a contribution to the rationalized world economy there will be rewards. But the stark truth is that more than half of the population of the world is literally useless to the managers of the multinational corporation and their counterparts in the Soviet and Chinese state enterprises, even as customers.</p> </blockquote> <p>&ldquo;Educating&rdquo; the public is just code for deception. p. 242</p> <blockquote> <p>The national security managers, as the Pentagon papers make clear, constantly talk to one another about the need to &ldquo;educate&rdquo; the public. In many cases this word, with all its noble traditions, is merely a euphamism for outright deception; in others, &ldquo;education&rdquo; is a code word for more subtle propaganda, the reinforcement of sterotypes, the stimulation of fears, and the queiting of disturbing doubts.</p> </blockquote> <p>p. 246</p> <blockquote> <p>There are only two ways to get sustained public attention and concern on foreign policy issues. The first is to dramatize a crisis and the second is to link the national security issue to democratic issues.</p> </blockquote> <p>p. 247</p> <blockquote> <p>Political scientists pictured the public as a sleeping beast that must be frightened into supporting foreign policies it could never understand, but which, once aroused, was extraordinarily fierce. For example, as Professor Thomas E. Bailey put it, &ldquo;The more ignorant the citizen, the more bellicose and jingoistic&hellip;&rdquo; Yet, as we shall see, the national security managers talking to one another worry far more about the latent pacifism and isolationism of the public than about its jingoism.</p> </blockquote> <p>Page 270 reveals insight on their justifications for exaggeration of narratives and scare tactics as &ldquo;necessary&rdquo; instruments of policy. I won&rsquo;t quote the whole section, in part to avoid making this a wall of text, but also to encourage one to seek out material from Roots of War.</p> <p>The importance of blood sacrifice to psychopatic rulers is not just a meme. p. 280</p> <blockquote> <p>The most effective device for instilling unitial public support for an American war is to shed American blood in small quantities. In the early planning documents on the escalation of the Vietnam War, John T. McNaughton and others used to talk about the symbolic importance of an American blood sacrifice. Not only was it necessary to risk losing your own citizens to convince the enemy of America&rsquo;s &ldquo;will and determination&rdquo;, it was necessary to &ldquo;spill American blood&rdquo; to commit the American people. Canettie obeserves that the blood sacrifice is an essential ritual to any war: &lsquo;Rulers who want to unleash war know very well that they must procure or invent a first victim. It need not be anyone of particular importance, and can be someone quite unknown. Nothing matters except his death; and it must be believed that the enemy is responsible for this. Every possible cause of his death is suppressed except one: his membership of the group to which one belongs oneself.&rsquo;</p> </blockquote> <p>The above most assuredly gets me thinking back to those days following September the 11th 2001. Anyone else?</p> <p>The following page (281) delivers some further insight on propagandistic tools. Barnet highlights the importance that both fear and guilt play in pursuit of moulding public opinion. &ldquo;Standing by our friends&rdquo; and &ldquo;Honoring our commitments&rdquo; have been favorite tools of propagandists pulling these particular levers.</p> <p>The real meat and potatos starts around page 290. If nothing else, at least read this portion onward if you ever find yourself in possession of <a href="https://archive.org/details/rootsofwar00barn">a copy of Roots of War</a>. Believe it or not, the book closes off on a positive note envisioning a society restructered in such a way that does not reward the managerial classes for acts of evil.</p> Vlogging and Self-Doxxing https://wrongthink.link/posts/vlogging-and-self-doxxing/ Sat, 28 Jan 2023 08:57:37 -0500 https://wrongthink.link/posts/vlogging-and-self-doxxing/ <p>Using an alias and keeping secret the whereabouts of one&rsquo;s property are a good start for anyone putting themselves out there in the name of truth, however please respect that opsec needs only a single slip up in order to be compromised. Let&rsquo;s take a look at how easily an adversary can pinpoint an individual. This example vlogger (who will remain unnamed) shares content about his hobby vehicle, which we will use as the first point of data. Mistake #1 he films this video from his place of residence. Mistake #2, he has openly shared his town of residence in previous videos. Pay attention to the house color and the nearby homes.</p> <figure><img src="https://wrongthink.link/vlogger-ex01.png"> </figure> <p>The leaks occur across several videos which accumulate into quite a bit of information.</p> <figure><img src="https://wrongthink.link/vlogger-ex02.png"> </figure> <p>In this frame the camera pans up, only for a moment, to reveal that his property borders a waterside road. Note the fuel tank tower in the background.</p> <figure><img src="https://wrongthink.link/vlogger-ex03.png"> </figure> <p>After identifying a few tank towers in the region, we are able to discern the exact tower by referencing photography from the municipality.</p> <figure><img src="https://wrongthink.link/vlogger-ex04.png"> </figure> <p>Road positioning and landmark distance lines up correctly on a satellite map.</p> <figure><img src="https://wrongthink.link/vlogger-ex05.png"> </figure> <p>The home across the street, seen earlier.</p> <figure><img src="https://wrongthink.link/vlogger-ex06.png"> </figure> <p>The location in question.</p> <figure><img src="https://wrongthink.link/vlogger-ex07.png"> </figure> <p>How can this be mitigated? Well, it can&rsquo;t <em>really</em>. But try to film your talks out away from your residence, preferably out in nature. Minimize filming upward toward the sky (<a href="https://archive.ph/b7qeb">contrails can map to flightpath info</a>) or filming signage of any nearby roads or trails. Wait a number of days before uploading and do not share your location, or at least salt your data by lying about where you are. Also consider flipping your videos left/right, selectively obscuring any landmarks before final render, or suppressing ambient background audio which could be unique to your area.</p> <p>I&rsquo;ve found that some vloggers attempt to blur sensitive things like signage in an effort to conceal where they are. Although this may not be sufficient. If you ever want to censor out a portion of image or video to conceal some private information, do so with an opaque black box a.k.a. censor bar. Using a <a href="https://news.ycombinator.com/item?id=23415098">gaussian type blur is insufficient and can technically be reversed</a>.</p> <figure><img src="https://wrongthink.link/gaussian-deblur.png"> </figure> <p>Showing one&rsquo;s own face (and place) on video can be thought of as a compromise which sacrifices relative anonymity in exchange for recognizability, and perhaps closeness with one&rsquo;s audience. If you&rsquo;re goal is to become a publicly recognized figure, then I suppose the only thing left to conceal is <em>where you live</em>. All else becomes nil.</p> Selecting Decent Computer Hardware https://wrongthink.link/posts/selecting-computer-hardware/ Sat, 21 Jan 2023 09:54:29 -0500 https://wrongthink.link/posts/selecting-computer-hardware/ <p>Without accounting for level of technical aptitude, and assuming one seeks security as in security from corporate or dragnet state surveillance, there may be a few hardware options out there.</p> <h1 id="desktops">Desktops:</h1> <p>Assemble a workstation using boards flashed with <a href="https://libreboot.org/docs/hardware/#serversworkstations-amd-x86">liberated firmware</a>, or pre-flashed <a href="https://store.vikings.net/en/d16ryf">from a company that will do it for you.</a>, <a href="https://tehnoetic.com/desktops">[1]</a></p> <p>Assemble a workstation using boards flashed with <a href="https://coreboot.org/status/board-status.html">(mostly) liberated firmware</a>, or preassembled from a company that will do it for you.</p> <p>System76 <a href="https://github.com/system76/firmware-open">purportedly uses their own spin of the somewhat-free firmware</a> above in their <a href="https://system76.com/desktops">more modern desktops</a>.</p> <p>Or sidestep the issue of x86 insecurity and backdoors by pursuing something like <a href="https://raptorcs.com/content/base/products.html">Raptor&rsquo;s Power9 workstations</a>, either preassembled or build it yourself. Or with <a href="https://www.sifive.com/boards/hifive-unmatched">SiFive&rsquo;s Unmatched boards</a>, which use RISC-V CPUs.</p> <h1 id="laptops">Laptops:</h1> <p><a href="https://tehnoetic.com/laptops">Libreboot free firmware Lenovos</a>, <a href="https://store.vikings.net/en/libre-friendly-laptops">[1]</a>. Or <a href="https://libreboot.org/docs/hardware/#laptops-intel-x86">flash your own</a>.</p> <p><a href="https://puri.sm/products/librem-14/">Coreboot open firmware laptops</a>, <a href="https://system76.com/laptops">[1]</a> Or <a href="https://coreboot.org/status/board-status.html">flash your own</a>.</p> <p>The folks at Pine64 seem to be doing some good work with <a href="https://pine64.com/product-category/laptops/">ARM based laptops</a>. Although I&rsquo;m not so familiar with these.</p> <p>I place so much emphasis on trusted or open hardware and firmware because these things form the foundation of any system and if either cannot be trusted or owner-controlled then it doesn&rsquo;t much matter what software is installed on top of them. Many newer computers have literal backdoor hardware rootkits embedded which I regularly point out in online discussions, since that is the type of hardware that will enable the new globalist order to build their panopticon internet.</p> <p>To anyone who might have found the options overwhelming, I would like to simplify things <strong>through the power of analogy</strong>. How might these look in the context of aviation?</p> <h2 id="hahahugoshortcode120s0hbhb-and-the-people-who-find-themselves-using-them"><span style="color:yellow;">Normal computers</span> (and the people who find themselves using them):</h2> <figure><img src="https://wrongthink.link/normie-experience.png"><figcaption> <h4>The real pilot is hidden away behind those locked flight deck doors.</h4> </figcaption> </figure> <h2 id="hahahugoshortcode120s2hbhb-without-the-backdoor-circuitry-freed--modernized-with-custom-firmware"><span style="color:gold;">Older computers</span> , without the backdoor circuitry (freed &amp; modernized with custom firmware):</h2> <p> <image src="https://wrongthink.link/f4u-turn.gif" style="width:240px;height:158px;"> <br /> What&rsquo;s old is new. <a href="https://tehnoetic.com/desktops">[1]</a> <a href="https://store.vikings.net/en/d16ryf">[2]</a></p> <h2 id="hahahugoshortcode120s4hbhb-reverse-engineered-to-neuter-the-backdoors-faster-but-varying-rate-of-success"><span style="color:orange;">Modern computers</span> , reverse engineered to &ldquo;neuter&rdquo; the backdoors (faster but varying rate of success):</h2> <p> <image src="https://wrongthink.link/race-plane.gif" style="width:180px;height:102px;"> <br /> Some improvements made to a stock design. <a href="https://puri.sm/products/librem-mini/">[1]</a> <a href="https://system76.com/desktops">[2]</a></p> <h2 id="hahahugoshortcode120s6hbhb-designed-from-the-ground-up-to-keep-the-user-in-master-control"><span style="color:red;">Exotic computers</span> , designed from the ground up to keep the user in master control:</h2> <p> <image src="https://wrongthink.link/f22-raptor.gif" style="width:180px;height:96px;"> <br /> May require specialized knowledge to operate. <a href="https://raptorcs.com/content/base/products.html">[1]</a> <a href="https://www.sifive.com/boards/hifive-unmatched">[2]</a></p> Rebuking Libertarians Who Use Nonfree Tech https://wrongthink.link/posts/rebuking-libertarians-who-use-nonfree/ Wed, 18 Jan 2023 13:44:52 -0500 https://wrongthink.link/posts/rebuking-libertarians-who-use-nonfree/ <p>If you&rsquo;re a libertarian anarchist and you use proprietary technology then you might not be practicing what you preach. Also that&rsquo;s very sad. Here&rsquo;s a logic <em>blockchain</em> for you: You cannot be free if you can&rsquo;t exercise free thought. You cannot exercise free thought if you don&rsquo;t have privacy in which to explore ideas. And you cannot have privacy so long as you use proprietary malware.</p> <p>Because a person&rsquo;s digital device <a href="https://www.oxfordbibliographies.com/display/document/obo-9780195396577/obo-9780195396577-0099.xml">is essentially an extension of their own mind</a>, if somebody else can manipulate that device, they can manipulate your mind. Quite simple. Basically nothing can be trusted to remain a secret when stored and handled by nonfree software. Crypto bros are often walking contradictions because of this reality. Imagine making efforts to secure your super secret crypto wallet, only to then pass that information through a black box like Windows? So much for that high entropy passphrase and that &ldquo;anonymous&rdquo; ownership lol.</p> <figure><img src="https://wrongthink.link/cryptoanarchist.png"> </figure> <p>I get it, nobody can be an expert in everything. But you would think there would be a greater intersection between the free libertarians and the free software movement. In fact, much of the free software space is occupied by communist trannies. What the hell happened? Is it being induced deliberately to <a href="https://web.archive.org/web/20190917105343/https://itsfoss.com/richard-stallman-controversy/">keep the movement fractured</a>? Do freedom seeking people just exhaust themselves while persuing the already massive tasks involved with leading a self-sustainable life? Regardless of the cause, we <em>really</em> need some more <a href="https://vigilante.tv/w/69bDhucoPAyF1ituEDiusz">cross pollination between the two groups</a>.</p> "Converting" People Is Not Increasing Adoption https://wrongthink.link/posts/converting-people-not-helping-adoption/ Sun, 15 Jan 2023 10:54:38 -0500 https://wrongthink.link/posts/converting-people-not-helping-adoption/ <p>If you are &ldquo;helping&rdquo; somebody, perhaps a friend or family member, by setting them up with Linux or some free software tool and leaving them to swim on their own, you may be doing more harm than good. I think of the proverb &ldquo;Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime&rdquo;. The recipient needs to first <em>comprehend</em> the value of liberated software. Otherwise, you can await the inevitable &ldquo;Why isn&rsquo;t my Netflix working? Gawd, this loonix thing sucks&hellip;&rdquo;.</p> <p>I have seen it happen several times. Sometimes with people whom I thought I was assisting, and also as an onlooker to the same folly. A computer novice is struggling with some program, and a resident Linux geek swoops in and offers to set up a superior tool. At first, things look great. The user is happy to have a functioning solution and the techie feels a sense of accomplishment, having marched the world one person closer to the glorious <em>year of the Linux desktop!</em></p> <figure><img src="https://wrongthink.link/year-of-linux-desktop.png"><figcaption> <h4>And on and on and on...</h4> </figcaption> </figure> <p>All of that hard effort gets undone the moment the tech newbie encounters any kind of hiccup. They can&rsquo;t install their favorite program. Or they can&rsquo;t play their favorite game in the same way. Their peers harangue them with comments about &ldquo;that weird computer thing they use&rdquo;. Or documents or the layout look <em>too different</em>. It can be any little thing. Suddenly, that new tooling is the enemy and they feel they have been <em>wronged</em>.</p> <p>So then what have you accomplished? You took somebody who formely had <strong>no opinion</strong> either way about Linux and software freedom and <a href="https://wrongthink.link/posts/the-digital-prime-directive">turned them into</a> somebody who <strong>avidly despises</strong> it. Or at best, they&rsquo;re now aware of it but forever have a bad taste in their mouth from the experience.</p> <p>My advice is to avoid doing any software installation for anybody and give only guidance if they express very genuine interest in trying out Linux, BSD or free programs. And <em>don&rsquo;t do it for them!</em> Just show them <em>how</em> to install an operating system. If the journey isn&rsquo;t taken of their own volition, it will fail. Share with them why having digital sovereignty is important. Share the things it enables you to do.</p> <p>And lastly, is adoption really important? Does it change anything fundamentally about the operating system you use? Do you really want a tsunami of normies flooding into the free operating system world (more than they already have)? Market share is a term of corporate philanthropaths who want only to monopolize. Since we in the hackersphere have little to no stake to be had in monopolization, it seems that <a href="https://yewtu.be/watch?v=_cmU1xMFrL0">chasing the eternal dragon</a> of market share is an exercise in futile egoism.</p> Self Censorship Among The Freedom Movement https://wrongthink.link/posts/self-censorship-among-freedom-movement/ Thu, 12 Jan 2023 18:56:23 -0500 https://wrongthink.link/posts/self-censorship-among-freedom-movement/ <p>Whispering under one&rsquo;s breath. Replacing words with codewords. Garbling certain terms. These are the behaviors of an obedient gigacuck. Some speakers are so hell bent on sissifying themselves for their masters in order to remain within centralized corporate playpens that they will seriously preempt censor mechanisms by modifying their own speech. As an onlooker, this is both frustrating and sad that those in the freedom movement try so hard to continue using blatantly censorious hosts.</p> <video width=50% controls> <source src="https://wrongthink.link/self-censorship.mp4" type="video/mp4"> </video> <p><strong>Dude&hellip;</strong></p> <p>(For the record, I respect much of JP Sear&rsquo;s musings) No, this is not &ldquo;getting around the censors&rdquo;. This is <em>complying</em> with their cause. Remember that <a href="https://yewtu.be/watch?v=EE1xKUZYU_U">making your side look ridiculous and unhinged</a> is likely about as effective as censoring yourself anyway.</p> <p>And people tend to overestimate the role that algorithms play in detecting unwanted subject matter. Often it is human intervention (by <a href="https://web.archive.org/web/20220521094955/https://www.thepennyhoarder.com/make-money/facebook-content-moderator-job/">desk jockies who have to look busy for boss anyway</a>) and they typically only intervene on works which have begun to achieve substantial reach on their platforms. One way that we can tell that humans are involved is the fact that thoughtcrime hidden beyond the <a href="https://www.urbandictionary.com/define.php?term=Wadsworth%20Constant">wadsworth constant</a> often goes unnoticed for some time. A program iterating over a transcript would be likely to rapidly find strings of unwanted language regardless of where its timestamp resides. This is why things like <a href="https://www.corbettreport.com/solutionswatch-corbettpirate/">pirate streams</a>, &ldquo;<a href="https://yewtu.be/channel/UCg5HD5s5DHyhHIi4Xtl9NaA">gaming channels</a>&rdquo; and &ldquo;<a href="https://web.archive.org/web/20221027123341/https://www.rollingstone.com/culture/culture-features/china-tiktok-uyghur-protest-censorship-918757/">makeup tutorials</a>&rdquo; can get away with more sensitive messaging. While I find these efforts creative, it is still capitulating to the adversary without addressing the root cause of the issue. It doesn&rsquo;t matter if you think you&rsquo;re reaching more normies. Limiting your own voice is still selling your soul.</p> <p>If you still have a vestigial account on $CENTRALIZED_DISSERVICE, the best use of it, if any, is to make mockery of them and link out to your own spaces. Something like &ldquo;Nanny state doesn&rsquo;t want me telling you about what I have to share so I invite you to read/watch/follow me over at my site.&rdquo; Especially stupid is to self censor when you publish the same works to any freer host simultaneously. Anyone reading or watching it there will see your attempts to infantilize the information and wonder why you even wasted the time to share it in a more liberated space.</p> Why There Are So Many Transexuals in Tech https://wrongthink.link/posts/why-there-are-many-trannies-in-tech/ Tue, 10 Jan 2023 19:04:59 -0500 https://wrongthink.link/posts/why-there-are-many-trannies-in-tech/ <p>This might be stating the obvious, but there is no doubt a disproportionately high number of transexuals (See: <a href="https://mastodon.social/">UNIX trannies</a>) within the computer industry and hobbyist spaces. I can only offer hypothesis on why this is. It could be totally wrong, but having an inquisitive exchange is all but impossible when that demographic is so ready to blockade anybody who can see that the emperor isn&rsquo;t wearing any clothes. Some observations:</p> <h2 id="eroding-contact-with-female-peers-and-inceldom">Eroding contact with female peers and inceldom</h2> <p>This is particularly accentuated among the shy computer nerd demographic. <a href="https://wrongthink.link/disparityincourtship.jpg">Courtship is being centralized</a> and it has left a ton of desperate young men in its wake. So the mentality for some sufferers appears to shift to <em>becoming</em> what one cannot have.</p> <video width=50% controls> <source src="https://wrongthink.link/reindeer.mp4" type="video/mp4"> </video> <br /> <h2 id="the-coorelation-between-autism-computers-and-transexualism">The coorelation between autism, computers and transexualism</h2> <p>Covered in <a href="https://wrongthink.link/posts/asymmetry-of-literacy-political-divide">Asymmetry of Digital Literacy Between The Political Divide</a>, paragraph two. To recap, there is strong coorelation between autism and interest in computers. There is also strong coorelation between autism and dysphoria. Apply transitive property.</p> <h2 id="anime-female-avatars-and-video-game-character-creators">Anime, female avatars and video game character creators</h2> <p>Again, there are lots of lonely nerds among IT ranks. Some of their only (and first) exposure to positive female &ldquo;attention&rdquo; comes in the form of anime or pony cartoons. To them it doesn&rsquo;t matter that it is fake. They go on to, somewhat understandably, become enamored. If you&rsquo;re feeling brave, just have a look through some of the dialogues in their community spaces. For others, I suspect things get taken a bit further. These female characters take on the position of role models to be emulated. The thinking must go something like <em>&ldquo;They&rsquo;re so happy and successful, if only I were more like her I could be too!&rdquo;</em>. Queue slippery slope.</p> <p>And a rhetorical question: What does playing through a role playing game as the opposite sex do to the psychology of a developing mind?</p> <h2 id="crossing-of-the-wires-which-compel-the-male-mind-to-find-the-female-figure-appealing">Crossing of the wires which compel the male mind to find the female figure appealing</h2> <p>This one rides on the back of another stereotype based in reality being that computer nerds are shrimpy wimps or greasy fatasses. When one&rsquo;s body proportions stand so far from the male ideal, it must become easier to rationalize and persue female proportions instead. I believe this is one of the basis for <a href="https://infogalactic.com/info/Autogynephilia">autogynephilia</a>. A fetish in which a man experiences sexual arousal by the thought of being a woman.</p> <h2 id="observational-anecdotes">Observational anecdotes</h2> <p>I have attended a fair few technology conferences. I have worked at several <a href="https://infogalactic.com/info/Hell">IT organizations</a>. Each and every time there has be a significant population of those bearing the qualities described above (with varying degrees of expression). It is the reason why I have even pondered on the topic. I&rsquo;m aware that my hypothesis is not fully developed and probably riddled with holes. Just spitballing.</p> <p>I once had known a rather chill and professional dude who I surmise had succumbed to the <a href="https://xianc78.codeberg.page/articles/japanese-culture.html">anime</a> pipeline. He made known his favorite show being 君に届け, or Kimi ni Todoke, among a few others which a quick search reveals are <em>heavily</em> geared toward a female audience. The current sociopolitical atmosphere likely had a catalyzing effect. In a matter of years began the surgeries and formal transition.</p> <p>With so many autogynephiles trying to bend reality who also work and tinker in tech, it is no wonder that there has been such a strong push to control language and <a href="https://wrongthink.link/posts/the-purpose-of-safe-spaces">create &ldquo;tolerant&rdquo; environments</a> online. The force feeding of totally unecessary CoCs (codes of censorship) into FOSS projects makes its true intentions known. I predict further decay as their reach grows deeper into existing projects, and given historical trends.</p> The Internet Was Better When It Was Just Nerds And Outcasts https://wrongthink.link/posts/internet-better-when-it-was-nerds/ Thu, 05 Jan 2023 19:10:21 -0500 https://wrongthink.link/posts/internet-better-when-it-was-nerds/ <p>It was during the age when everyone knew it unwise to share real names and information anywhere online. Some of the wisdom driven by overly anxious boomer parents while most was basic common sense precaution. Privacy by default. It was the internet I remember hopping onto multiplayer skirmishes or perusing forums back when they were populous enough that refreshing the page would always yield new topics and posts. Slinging insults was more of an expected greeting to anyone who hadn&rsquo;t yet become a regular in a haunt. And everyone had thicker skin because of it.</p> <p>Normies did have a presence, but it was the inverse of what we have today, with them being confined to a select few spaces while most of the web was wild and free (hostile to them). And the tables turned only because <strong>we failed to gatekeep</strong>. If the appearance of that term has riled some nerves consider that it might be because linguistic spellcasting had been done on <em>gatekeeping</em>. Somehow it attained a negative connotation. Accusations of gatekeeping are used by crybullies in order to shame communities into lowering their guard for entry.</p> <p>The first failure came to pass when socialization became a fixture of the web (2.0). And I don&rsquo;t mean socialization as in commingling with others, but the glossy faux corporate <em><a href="https://web.archive.org/web/20221210222345/https://www.bbc.com/news/business-18013662">social</a></em> which managed to infect also gaming around that same time. The idea that one must maintain a &ldquo;presense&rdquo;. Features that would always be online, and inform others when you were on and what you were up to. It arrived in the trojan horse of MySpace, which was innocent enough in its intentions, and later FBIbook. The whole thing has since devolved into an entire sphere which normies have since dubbed &ldquo;social media&rdquo;.</p> <figure><img src="https://wrongthink.link/tech-normie.png"><figcaption> <h4>A tech normie, hard at work making technology worse for everyone. Note the thousand mile stare from watching hours of subscription amusement media.</h4> </figcaption> </figure> <p>This made the once scary web palatable to those with more fragile sensibilities. Once they had everyone trained up using the same identity across different sites (or even their real identity), then came the like buttons, the cannibalization of feeds and feed readers, and the salivating corporate interests seeking to tend their new flocks.</p> <p>The second failure occurred when the web began getting turned into television 2.0 as the new place to consume video media. The popularization of video streaming increased accessibility of theatrical distractions to passive audiences, with <a href="https://archive.ph/di2fG">Netflix accounting for a significant share of all internet traffic not too long after</a> (and it&rsquo;s much worse today!). It got to the point where there were even ruminations about ISPs prioritizing certain paid corporate client traffic as bundled packages, much like the cable television model.</p> <p>The third and probably most significant gate to fall was in the introduction of the little tykes shiney buttoned brainlet slabs we call phones crystalizing at their &ldquo;smart&rdquo; formfactor. Now, any fool who has only <em><a href="https://wrongthink.link/posts/refuting-computer-literacy/">platform literacy</a></em> can sadly inhabit the once great spaces of the internet. I would pin this downfall at around the time <a href="https://archive.ph/p4awa">mobile browser share first eclipsed major desktop browsers</a>, so somewhere no later than 2013.</p> <audio controls> <source src="https://wrongthink.link/main-users-of-phones.ogg"> </audio> <br /><br /> <p>Now, as the dominant group, everything has bent to cater to the tech cattle. And this is why attempting to shame people over gatekeeping misses the whole point of filtering who can participate in something which requires as much careful consideration as do computers and the internet. People who gatekeep foresee the strain on resources or even their way of life that <a href="https://web.archive.org/web/20221110172015/https://www.gwern.net/Holy-wars">occurs when herd mentality gets to decide the standard for everyone</a>.</p> <p>It might only be a pipedream today, but I maintain that the only demographics that should be allowed anywhere near the internet are those who; can install, repair &amp; upgrade computer software and hardware, who have at least a basic understanding of terminal and scripting, can distinguish between local processing and remote processing, and who are generally capable of configuring their own devices and networks - basically what &ldquo;power users&rdquo; should have been had the 1980s-1990s timeline of home computer use been allowed to flourish unabated.</p> Quality Access to Information https://wrongthink.link/posts/quality-access-to-information/ Mon, 02 Jan 2023 17:12:57 -0500 https://wrongthink.link/posts/quality-access-to-information/ <p>A scary thing is happening. Everyone is beginning to talk about it. It&rsquo;s plastered all over the media. Discussions in your friend circles and familiar online spaces are being dominated by the new topic. You&rsquo;ve seen it all before. Another media blitz. But how can you persevere through this new hysteria with your perception of reality intact? Here&rsquo;s a look at ways one can ensure their access to information remains as <strong>uncorrupted as possible</strong> through the next big <a href="https://infogalactic.com/info/Psyop">psyop</a>.</p> <p>Prefer <a href="https://infogalactic.com/info/Primary_source">primary sources</a> always. Articles citing (or aping) other&rsquo;s claims place them downstream from reality. Follow the information up the chain until you cannot go any further. You&rsquo;ll find that many normie outlets simply rephrase or completely parrot upstream publications or witness accounts. And that&rsquo;s not even taking into consideration scrapers and AI generated writings.</p> <p><img src="https://wrongthink.link/news.png" alt="Typical boomer news"></p> <p>Avoid passively accepting aggregated news off of a feed, <strong>even if</strong> it is from your own crafted selection such as RSS feeds. Remain critical even of personalities you trust who gather and share topics. Their newsletters or video reports are no substitute for verifying claims through primary sources. For the real zombies out there, particularly avoid news &ldquo;apps&rdquo;, and commercial news outlets.</p> <p>Be prepared to dig back with archive sites like <a href="https://web.archive.org/">web.archive.org</a>, <a href="https://archive.today">archive.today</a> and <a href="https://hozon.site/">hozon.site</a>. Liars and psychopaths like to <a href="https://infogalactic.com/info/Gaslighting">gaslight</a> the public by changing their stories after publication. Prefer the oldest or original captures of articles as they were first written. If the article isn&rsquo;t archived, pay attention to the most recent indicators. Did comments cut off after a certain date? Where is the oldest external hyperlink that points to the article?</p> <p>Some other pertinent questions which any media literate person should be asking:</p> <ul> <li>Does the writing provide a date of publication or authorship/source information at all?</li> <li>Does it come through from a <a href="https://www.corbettreport.com/newscontrol/">press network like AP</a>?</li> <li>Why are you (the public) being allowed to learn of this thing?</li> <li>Does it seek to outrage or instill fear?</li> <li>Are catchphrases being pushed? (There is a <a href="https://vernoncoleman.com/brainwashed.htm">classical three syllable cadence used in slogan crafting</a>)</li> </ul> <p>Actual real world events, since the dawn of the internet, have tended to be identified and discussed in online spaces, preempting the dinosaur media and, in turn, real world discourse as the information bubbles its way up through the normiesphere. I personally have noticed a lag time of about two weeks between first hearing about something online to overhearing people around me begin to drop it in conversation. <strong>Conversely</strong>, <em>psyops</em> have a tendency to follow this inversely, with IRL Karens shrieking about a new topic in unison before it generally had a chance to circulate organically among (non-corporatized) online spaces.</p> <p>There is no magic rule that can universally be applied to determine whether a news piece is bullshit, but they can generally be sussed out by asking basic critical questions. I suppose this is braindead information to most anyone already reading this. But maybe the odd normie or somebody only just now waking up to things can find it useful. Basic media literacy <a href="https://wrongthink.link/posts/how-not-to-digest-information/">is sorely lacking today</a>.</p> Terminal Telephony https://wrongthink.link/posts/terminal-telephony/ Sat, 31 Dec 2022 23:10:20 -0500 https://wrongthink.link/posts/terminal-telephony/ <p>Phones suck, and so does the new expectation to have one or otherwise be excluded from family, work or increasingly from everywhere. But it doesn&rsquo;t mean that you really need a physical phone. I&rsquo;ve <a href="https://wrongthink.link/posts/you-dont-need-a-phone">written about this before</a>, but feel it pertinent to expand on the advice. Any little bit of info that can help people get away from satanphones and building the new world slavery grid, right?</p> <p>I will remain vague in my recommendation of SIP hosts because I don&rsquo;t believe there is a <em>best one™</em>, but there are choices of those who accept cryptocurrency payment, do not require javascript on their web portal and support SMS for those who want or need texting functionality. Or if you&rsquo;d just like to dip your toes into softphones as a test, I suppose one of the free hosts are fine.</p> <p>You should be given an option to choose your phone number when you sign up. And even numbers from legitimate nearby area codes might still get marked as &ldquo;spam risk&rdquo; by your friend&rsquo;s or family&rsquo;s carriers.</p> <h1 id="guide-for-those-okay-with-guis-and-gtk-libraries">Guide, for those okay with GUIs and GTK libraries</h1> <p>Install <a href="http://www.linphone.org/">Linphone</a> from your repository and run the preferences dialogue. In the <em>SIP accounts</em> tab, add an account and enter the sip address using the account number provided by your SIP provider. It should be formatted like:</p> <blockquote> <p>sip:[email protected]</p> </blockquote> <p>Make sure that <em>register</em> is enabled and open ports on your firewall for 5061 as well as for audio RTP 7078-7079. Consider setting encryption as mandatory in the <em>Calls and Chat</em> tab. Any settings will be written to ~.config/linphone/linphonerc by default.</p> <p>If everything was able to reach the provider and register, you should see the icon near your account turn green. Try calling out by entering a number (+ full area code) in the top bar. Linphone-desktop automatically enters the complete dialing information in the background (the terminal version needs manual entry, more on this below).</p> <p>The resource over at <a href="https://web.archive.org/web/20220927133232/https://www.callcentric.com/support/device/linphone/desktop">callcentric have a fairly good runthrough of the whole process</a>.</p> <h1 id="guide-for-command-line-purists">Guide, for command line purists</h1> <p>Install the <em>linphone-cli</em> package. Other distributions may go by different names. Debian once had it under <em>linphone-nogtk</em>. The first time you run the console linphone, a new configuration file will be created at .linphonerc. Note that this is in a different location from the GTK version.</p> <p>I&rsquo;ve found that it is very important that the linphonerc has information given for the proxy section for some reason.</p> <p>Add default_proxy=0 under [sip]:</p> <pre tabindex="0"><code>[sip] root_ca=/usr/share/linphone/rootca.pem verify_server_certs=1 verify_server_cn=1 contact=sip:[email protected] media_encryption=none default_proxy=0 guess_hostname=1 inc_timeout=30 in_call_timeout=0 delayed_timeout=4 register_only_when_network_is_up=1 register_only_when_upnp_is_ok=1 </code></pre><p>And account authentication info:</p> <pre tabindex="0"><code>[auth_info_0] username=0123456 realm=sip.mysiphost.com domain=sip.mysiphost.com algorithm=MD5 </code></pre><p>Supply <a href="https://archive.ph/huq9W">configuration for proxy</a> even if you don&rsquo;t find that you&rsquo;ll be using one and disable reporting:</p> <pre tabindex="0"><code>[proxy_0] reg_proxy=&lt;sip:sip.mysiphost.com;transport=udp&gt; reg_identity=sip:[email protected] realm=sip.linphone.org contact_parameters=message-expires=604800 quality_reporting_collector=sip:[email protected];transport=tls quality_reporting_enabled=0 quality_reporting_interval=0 reg_expires=3600 reg_sendregister=1 publish=1 avpf=-1 avpf_rr_interval=1 dial_escape_plus=0 privacy=32768 push_notification_allowed=0 idkey=proxy_config_5CpZ4jeMwtMmBi6 publish_expires=3600 nat_policy_ref=yYm95Uxki2OTCRx </code></pre><p>Point linphone at your default sound device, if it isn&rsquo;t already:</p> <pre tabindex="0"><code>[sound] ec_filter=MSWebRTCAEC ringer_dev_id=ALSA: default playback_dev_id=ALSA: default capture_dev_id=ALSA: default echocancellation=1 remote_ring=/usr/share/sounds/linphone/ringback.wav playback_gain_db=0.000000 mic_gain_db=0.000000 </code></pre><p>Now, when you run <strong>linphonec</strong>, it should connect to your provider and await any incoming calls or user input. Type <em>answer</em> to pick up an incoming call or call out with:</p> <pre tabindex="0"><code>call sip:[email protected] </code></pre><p>End the call with <em>terminate</em>. Also consider using <strong>linphonecsh</strong> which sets up a linphone daemon (<em>linphoncsh init</em>) and then just place calls through that if you would prefer not to have a dedicated terminal window open for linphone or if you want to work telephony into your scripts.</p> <p>For now, it seems that softphones with VoIP/SIP calling are accepted to interface with the gears of society although, like mentioned above, normie phones are now marking phone numbers originating from these services as spam risk. Who knows how long before the psychopaths catch on and try to start banning SIP from personal use or outright blocking the numbers from interacting with their <a href="https://archive.ph/7MctF">NWO compliant</a> companies. If calling was the last remaining functionality keeping you from ditching your zombie phone, then better to switch now than later.</p> Civic Infrastructure Is Being Monopolized https://wrongthink.link/posts/civic-infrastructure-monopolization/ Tue, 20 Dec 2022 08:25:26 -0500 https://wrongthink.link/posts/civic-infrastructure-monopolization/ <p>Civic infrastructure is rapidly coalescing around centralized disservices as towns, cities and states foolishly move away from in-person and pen &amp; paper solutions. I have personally seen motor vehicle departments refuse the acceptance of cash or scheduling anywhere outside of their shitty web portals in the wake of the panic induced shutdowns. Grocers are now more comfortable than ever refusing cash at self checkouts (human checkouts to follow soon?). Several problems arise as the usual FAANGs eagerly gobble up the new human capital, cheif among them:</p> <ul> <li>The exclusion of those who refuse to or cannot use proprietary technology</li> <li>An incestuous relationship fostered between big business and the state</li> <li>The trampling of user rights and privacy</li> <li>Totally missing the original intention of the web</li> <li>Crystalization of brand monopolies</li> <li>Exponentially increased risks from corruption, downtime, breaches, etc.</li> </ul> <p>Things which are currently falling victim:</p> <ul> <li>State functions (trial by jury, meetings/minutes)</li> <li>Businesses (<a href="https://archive.vn/Mm3wR">foregoing proper websites</a>) &ldquo;download our app in order to X!&rdquo;</li> <li>Classifieds (FBI marketplace displacing craigslist and others)</li> <li>Family collaboration (FBIbook for <em>everything</em>) And certainly much more to come.</li> </ul> <p><strong>Update 2024 (day 1!):</strong> The Japan Meteorological Agency, in entrusting TXitter to relay disaster information to citizens, proves the folly of pushing critical functions through big tech when <a href="https://www.dexerto.com/tech/japanese-disaster-prevention-x-account-cant-post-anymore-after-hitting-api-limit-2451266/">the Gehirn account ran up against arbitrary API limits</a>. The company with which the JMA codeveloped the mobile application even has <a href="https://github.com/GehirnInc">their own in-house developed web tooling</a> to do everything they relied on TXitter to do. Why gimp themselves out to another party?</p> <p>This is a multi-faceted problem.</p> <ul> <li>Failure of educating users and the public</li> <li>Blitz by big tech interests</li> <li>Laziness/lack of resources of small municipalities &amp; small businesses</li> </ul> <p>Can one resist this inertia? Favor using protocols instead of platforms. Self host as much as possible. Prefer independent and alternative vendors where digital services are unavoidable. Don&rsquo;t give your time, effort, money or vote of confidence to the beast tech by participating, further contributing to the network effect.</p> <p>However, this becomes a stumbling block when garbage tech is mandated under threat of penalty or force. If a state requires all present for a court hearing connect over <a href="https://www.gnu.org/proprietary/malware-in-online-conferencing.html">Zoom</a> (zooming us all straight into the dystopian hellscape) or for extortion payers to file over a <a href="https://www.fsfla.org/svnwiki/anuncio/2012-10-Acesso-SoftImp.en">government ordained proprietary program</a>, then that state is also mandating the usage of nonfree client software along with any of the prerequisite nonfree platforms required to run it.</p> <p>If the future of avoiding proprietary trash means acts of civil disobedience as protest, then myself and others are going to be in for one hell of a ride.</p> <video width=50% controls> <source src="https://wrongthink.link/brace_yourself.mp4" type="video/mp4"> </video> tcpdump, a Stethoscope for Network Activity https://wrongthink.link/posts/tcpdump-the-stethoscope/ Wed, 14 Dec 2022 19:46:25 -0500 https://wrongthink.link/posts/tcpdump-the-stethoscope/ <p>When I was devising my DNS solution (DNS as a standard is still so broken for privacy as of 2022, shame on root name server operators for <a href="https://root-servers.org/media/news/Statement_on_DNS_Encryption.pdf">brushing away cryptography efforts!</a>) and some other traffic concealment solutions, I found myself relying on the traffic capture tool <a href="https://www.tcpdump.org/">tcpdump</a>. Prior to cutting my teeth with tcpdump, I had only experience with Wireshark. And I don&rsquo;t think I&rsquo;ll be using Wireshark very much anymore.</p> <p>Here&rsquo;s a <a href="https://cdn.comparitech.com/wp-content/uploads/2019/06/tcpdump-cheat-sheet.webp">decent cheat sheet</a>.</p> <p>Since network interfaces will be different across different machines, they can be checked with:</p> <pre tabindex="0"><code>tcpdump -D </code></pre><p>If we want to watch for traffic bound to a certain port:</p> <pre tabindex="0"><code>tcpdump -n -i enp1s0 port 5061 </code></pre><p>Which reveals, on a test environment with a SIP client open, a check every few seconds over SIP service.</p> <blockquote> <p>tcpdump: verbose output suppressed, use -v[v]&hellip; for full protocol decode listening on enp1s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes 17:51:08.294212 IP 192.168.1.2.5061 &gt; 64.71.158.4.5061: SIP 17:51:18.294091 IP 192.168.1.2.5061 &gt; 64.71.158.4.5061: SIP 17:51:24.249671 IP 64.71.158.4.5061 &gt; 192.168.1.2.5061: SIP 17:51:28.313744 IP 192.168.1.2.5061 &gt; 64.71.158.4.5061: SIP 17:51:38.313755 IP 192.168.1.2.5061 &gt; 64.71.158.4.5061: SIP</p> </blockquote> <pre tabindex="0"><code>tcpdump -n -i interface port 9001 </code></pre><p>For example, can show us how talkative Tor is.</p> <p>Or if you have daemons pointing to servers on the local host, specify loopback:</p> <pre tabindex="0"><code>tcpdump -i lo port 443 </code></pre><p>It&rsquo;s a good way to catch configurations which might be leaking requests, and stand as a call to revisit the .conf file. What it&rsquo;s not so good at is looking holistically at an individual application&rsquo;s network requests. For that, one might want to investigate <a href="https://digdeeper.club/articles/liftingtheveil.xhtml">mitmproxy</a> with which many programs, after a bit of work, can be monitored for network requests.</p> <p>tcpdump is sort of like oldschool non-application aware firewalls in this respect. It just looks at <em>everything</em> passing through a given port or protocol or otherwise, without any correlation made to the program from which it originates. Which can be desireable in scenarios where we simply want to find any unsolicited traffic among the wider system configuration.</p> mpv, ffmpeg and yt-dl - The Ultimate Team https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/ Thu, 08 Dec 2022 18:44:03 -0500 https://wrongthink.link/posts/mpv-ffmpeg-yt-dl-ultimate-team/ <p><a href="https://mpv.io/">mpv</a>, <a href="https://ffmpeg.org/">ffmpeg</a> and <a href="https://ytdl-org.github.io/youtube-dl/">youtube-dl</a>/<a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a>. With this trifecta, almost any media can be accessible to view in any way you want. To download, manipulate and view anywhere, any time. It grants you complete control and totally outclasses the more widely known VLC. Some capabilities I have already covered in command line <a href="https://wrongthink.link/posts/command-line-video-editing">video</a>/<a href="https://wrongthink.link/posts/command-line-audio-editing">audio</a> editing guides. * <em>Note: I use yt-dl to refer to both youtube-dl and yt-dlp interchangeably, courtesy of the <a href="https://wrongthink.link/posts/free-software-consolidation">endless forking found in high profile projects</a>.</em></p> <p><img src="https://wrongthink.link/giving-chase.png" alt="The hunt"></p> <p>Some of the programs make calls to one another, such as with mpv&rsquo;s yt-dl calls. Either through &ndash;ytdl-raw-options, &ndash;ytdl-format=, and/or prefixing ytdl:// to a target download address. For example, playing back only the best quality version of a video file from ThemTube:</p> <pre tabindex="0"><code>mpv --ytdl-format=best https://www.youtube.com/watch?v=GoqBKlRrIv8 </code></pre><p>yt-dl, in turn, can pass off to ffmpeg. In fact, many things yt-dl does behind the scenes uses ffmpeg (or avconv depending on which is present and which is best suited). But you can manually call ffmpeg functions with &ndash;postprocessor-args. The following would download only the video portion between 00:03 seconds and 01:03 minutes:</p> <pre tabindex="0"><code>youtube-dl --postprocessor-args &#34;-ss 00:00:03 -t 00:01:00&#34; https://www.youtube.com/watch?v=GoqBKlRrIv8 </code></pre><p>Or if you would like to capture all videos posted from a certain channel within the last three weeks:</p> <pre tabindex="0"><code>yt-dlp --extractor-args youtubetab:approximate_date --break-on-reject --dateafter now-3weeks -o &#34;/path/to/storage/%(title)s.%(ext)s&#34; https://youtube.com/watch?v=... </code></pre><p>If a particular video is region locked or IP blocked, we can further mix in other programs (Using format selection for the lowest quality in respect of Tor network capacity):</p> <pre tabindex="0"><code>torsocks yt-dlp -f 18 https://www.youtube.com/watch?v=GoqBKlRrIv8 </code></pre><p>mpv is its own beast. Some common shortcuts you might find useful include:</p> <table> <thead> <tr> <th>Shortcut</th> <th>Function</th> </tr> </thead> <tbody> <tr> <td>9 / 0</td> <td>Decrease/increase volume</td> </tr> <tr> <td>Shift + #</td> <td>Enable/disable audio</td> </tr> <tr> <td>Shift + J</td> <td>Cycle subtitles</td> </tr> <tr> <td>[ / ]</td> <td>Decrease/increase playback speed</td> </tr> <tr> <td>Shift + L</td> <td>Loop file</td> </tr> <tr> <td>i / I</td> <td>Display video file information</td> </tr> </tbody> </table> <p>Start or end playback at a specific timestamp:</p> <pre tabindex="0"><code>mpv --start=00:00:50 https://www.youtube.com/watch?v=GoqBKlRrIv8 </code></pre><p>Remember, content tyrants <em>do not</em> want you saving content locally for a reason. They would much prefer everyone be cattlechuted into DRM encumbered proprietary web stream players or mobile applications with restrictions on when, where, on what and by whom any piece of media can be accessed. It would be awful for them if you were to save and share any of it on massive external drives.</p> <p>This tag team of software is pretty much unrivaled. Although VLC has <a href="https://archive.vn/LPj1w">Santa hats</a> &hellip;I guess.</p> Site Moved to wrongthink.link https://wrongthink.link/posts/site-moved/ Sat, 03 Dec 2022 11:52:25 -0500 https://wrongthink.link/posts/site-moved/ <p>It is time for this site to practice what it preaches and claim a space on the web through more independent infrastructure. NeoCities is a good space for those just starting out but there are technical limitations (such as no media files) as well as the looming albatross of censorship. This NeoCities mirror will remain in place, but I <em>will not</em> be posting further updates here. If you subscribe via RSS or link to any of my works, please consider pointing it to the new address at <a href="https://wrongthink.link/">https://wrongthink.link/</a>.</p> <p>I may still expand to hosting a darknet mirror, seeing how broken the clearnet has become. But I&rsquo;m not yet giving up on the clearnet like I had <a href="https://wrongthink.link/posts/bitcoin-is-a-tale-of-tragedy">given up on Bitcoin</a>. The new site should enable me to expand the type of content I share, including how openly I cover various topics. It is said in engineering that <em>two is one, one is none</em>, so hosting one&rsquo;s work in multiple places becomes an insurance policy against deplatforming.</p> My Video Game Music Favorites https://wrongthink.link/posts/video-game-music/ Sat, 26 Nov 2022 11:17:23 -0500 https://wrongthink.link/posts/video-game-music/ <p>It is true that back in the day, I used to play all manner of video games, even including console games. They played a formative role in my musical tastes and still occupy a significant portion of my music library to this day. A <a href="https://digdeeper.club/articles/soundtracks.xhtml">page</a> over at digdeeper inspired me to share some of what I consider to be the absolute favorites among the collection. If we can put aside for a moment the laughable fact that a self admitted free software extremist has a soft spot for game soundtracks of one&rsquo;s youth, then let&rsquo;s dive in!</p> <h1 id="in-the-thick-of-it-high-intensity-pieces">&ldquo;In the thick of it&rdquo; high intensity pieces</h1> <ul> <li><a href="https://yewtu.be/watch?v=TlY-C8ssPt8">Goldeneye 007 - Runway</a>. Rare, pre-Macrosuck aqcuisition, actually had a ton of great works. Perfect Dark&rsquo;s OST also among them.</li> <li><a href="https://yewtu.be/watch?v=x6hsdWGF0no">Goldeneye 007 - Cradle</a>. Goldeneye on the N64 was an unusual instance in which the soundtrack may very well have actually been better than the source film.</li> <li><a href="https://yewtu.be/watch?v=RY0ycuYGwuU">Empire Earth - Shadows</a>. An early epoch track from <strong>the best</strong> version of Empire Earth. II and III both sucked.</li> <li><a href="https://yewtu.be/watch?v=dEXftQiTCHc">Megabyte Punch - Hyper Boss Battle</a>. The high energy piece that plays during Megabyte Punch&rsquo;s &ldquo;Master Hand&rdquo; style battle. Very climactic.</li> <li><a href="https://yewtu.be/watch?v=NRkXNenR6Ps">Need For Speed Most Wanted - The Mann</a>. Set the scene perfectly for fleeing from squadrons of police vehicles. This one definitely succeeded at making one feel like a badass carrying out a mission.</li> <li><a href="https://yewtu.be/watch?v=ge44ZlG8OHE">Need For Speed Most Wanted - Kick It Up A Notch</a>. More of the above, but with added intensity. Written for the final boss cop chase. (Starting at 07:10, why can&rsquo;t this be it&rsquo;s own genre?&hellip; That mixture of tech, brass &amp; symphony, wow.)</li> <li><a href="https://yewtu.be/watch?v=Me6oA4D5iEs">Resident Evil 5 - Wind of Madness</a>. Boss fight against some flying creature. Really good at conveying a struggle.</li> <li><a href="https://yewtu.be/watch?v=dBnBBeBOh7U">Sanctum 2 - Ruins of Brightholme</a>. Only loses points for lack of variation throughout the duration.</li> <li><a href="https://yewtu.be/watch?v=WpDLccBpgJI">Dungeon Defenders - Castle Combat Phase</a>. Even though the score to Dungeon Defenders is &ldquo;cutified&rdquo; to match the rest of the game&rsquo;s stylization, Castle Combat really punctuates the heat of the moment.</li> <li><a href="https://yewtu.be/watch?v=WXOJxCnER2k">Planetside 2 - Terran Republic Combat 4</a>. There&rsquo;s nothing like storming a heavily defended base while this score rages on in the background.</li> <li><a href="https://yewtu.be/watch?v=DmmnV_oY9SI">Planetside 2 - Vanu Sovereignty Combat 1</a>. The Vanu Sovereignty of course had their own. The New Conglomerate faction&rsquo;s OST was kind of stupid IMO.</li> <li><a href="https://yewtu.be/watch?v=leqnLAAx9jg">Tom Clancy&rsquo;s H.A.W.X. - Tally On Multiple Contacts</a>. Another badass theme. Perfect for high stakes business going down.</li> <li><a href="https://www.youtube.com/watch?v=pf-SrSiu7jM">Tom Clancy&rsquo;s H.A.W.X. - Ending Credits</a>. Same as the above, extended and also applicable to lists &ldquo;Building up to something big&rdquo; and &ldquo;Met with success, mission accomplished&rdquo;.</li> <li><a href="https://yewtu.be/watch?v=ZLdeWCLb2i4">Starfox 64 - Boss B</a>. Something about media from the 1990s carried a more hopeful tone. Everything went so dark and gritty the following decade.</li> <li><a href="https://yewtu.be/watch?v=o5ZBu3nHJkM">Starfox 64 - Starwolf Theme</a>. Very anime in it&rsquo;s &ldquo;clash of rivals&rdquo; scripted usage. The N64 MIDI(?) versions suffer enough quality that a live orchestra version may outclass the original Starfox 64 themes.</li> <li><a href="https://yewtu.be/watch?v=_tuzpm0NZ3E">Tribes Ascend - Katabatic III</a>. Also any of the &ldquo;flag holder&rdquo; pieces are also very fraught with intensity.</li> <li><a href="https://deadcore-ost.bandcamp.com/track/scape-mind">Deadcore - Scape Mind</a>. Deadcore was the first game I ever played on a Linux installation. But the music is memorable all its own. Scape Mind&rsquo;s buildup to 01:52 is just awesome.</li> <li><a href="https://yewtu.be/watch?v=moiTaZmdOcE">Far Cry 3 Blood Dragon - Sloan&rsquo;s Assault</a>.</li> <li><a href="https://yewtu.be/watch?v=6DCcCBOmOo0">Metroid Prime - Parasite Queen Battle</a>. I was very pleased when this piece made it&rsquo;s way into Super Smash Bros. Brawl.</li> <li><a href="https://yewtu.be/watch?v=PPlGOm9TE40">Super Mario Galaxy - Final Bowser Battle</a>. There is a both choral version and a full piece.</li> </ul> <h1 id="building-up-to-something-big">Building up to something big</h1> <ul> <li><a href="https://yewtu.be/watch?v=I-dKirKwHUY">Barony - Twisting Passages</a>. This piece plays early on in the levels, accentuating the &ldquo;lost in the dark&rdquo; feeling that permeates early Barony.</li> <li><a href="https://yewtu.be/watch?v=T5y85cPw_2E">Barony - Automation</a>. The scoring to the final levels just before Barony&rsquo;s (<em>very difficult</em>) final bosses.</li> <li><a href="https://chriskukla.bandcamp.com/track/braving-the-unknown">Barony - Braving The Unknown</a>. Especially ominous around 02:03.</li> <li><a href="https://yewtu.be/watch?v=E-6BPoLVTwU">Starcraft Brood War - Intro</a>. Starcraft always had very punching cinimatics. Mostly the last 40 seconds of this piece really let you know that you were getting into something huge.</li> <li><a href="https://yewtu.be/watch?v=s5QZFaCF17c">Megabyte Punch - Ventu&rsquo;s Lost</a>. Accompanies a moment in the game where the homeworld succumbs just before a climactic battle.</li> <li><a href="https://yewtu.be/watch?v=P2qWT3XfJFs">The Legend of Zelda - Deku Tree</a>. Alright, this link is a remastered version, but the original definitely carries it&rsquo;s own foreboding mood.</li> <li><a href="https://yewtu.be/watch?v=sslj06K-Nlw">The Legend of Zelda A Link To The Past - Dark World Theme</a>. By the time you reached this point in the game, you accrued most of the cool gear all the while the world you knew has been transformed. <a href="https://yewtu.be/watch?v=Ye5TV9pa_4Y">This version</a> is just so awesome.</li> <li><a href="https://yewtu.be/watch?v=no12ubHqR1E">Tom Clancy&rsquo;s H.A.W.X. 2 - Over the Caucasus</a>. The vocals make for a very ominous build up.</li> <li><a href="https://yewtu.be/watch?v=EUqyC14QVmo">Tom Clancy&rsquo;s H.A.W.X. - Ghost Rider</a>. Also strong.</li> <li><a href="https://yewtu.be/watch?v=xG5_lVvrUuI">Tom Clancy&rsquo;s H.A.W.X. 2 - Last Stand</a>. Probably my favorite of all Tom Salta&rsquo;s works. It opens in a kind of somber way before cascading into a bit that just screams high stakes final struggle.</li> <li><a href="https://yewtu.be/watch?v=6bFojDENj4Q">Starfox 64 - Sector X</a>. A creeping and haunting piece that went well with being out in open space.</li> <li><a href="https://yewtu.be/watch?v=Ho9aeymM6rs">Tribes Ascend - Temple Ruins I</a>. The use of big brass and heavy percussion make for a very ancient sounding theme. It builds until climaxing at about 01:44.</li> <li><a href="https://yewtu.be/watch?v=MosxvMDLfOQ">Tribes Ascend - Sunstar I</a>. Similarly with the Sunstar world map.</li> <li><a href="https://yewtu.be/watch?v=DqMmZywAXzI">Crysis 2 - SOS New York</a>. This track was used in the waiting lobby of Crysis 2&rsquo;s original multiplayer. I forget where it was used in the campaign but set the scene excellently for an up and coming battle.</li> <li><a href="https://yewtu.be/watch?v=tICEodKM5yM">Planetside 2 - Vanu Sovereignty Combat 3</a>. This piece is a little more chill than the other combat scores so it actually played when completing a capture or some less intense feat.</li> <li><a href="https://deadcore-ost.bandcamp.com/track/jaws">Deadcore - Jaws</a>. Deadcore has some of my absolute favorite works. The heavy dark tech trance can hardly be found in any &ldquo;legitimate&rdquo; music genre.</li> <li><a href="https://deadcore-ost.bandcamp.com/track/negative-wave">Deadcore - Negative Wave</a>. A little more lively. The piece is meant to work up as the player picks up pace in the speedrun game. Big drop at 01:45.</li> <li><a href="https://deadcore-ost.bandcamp.com/track/cubik">Deadcore - Cubik</a>. More tech heavy.</li> <li><a href="https://yewtu.be/watch?v=yhtEJh9su20">F-Zero X - Car Select</a>. How to say death race without saying death race.</li> <li><a href="https://yewtu.be/watch?v=wcBNo6K5vpo">F-Zero GX - Lightning</a>.</li> <li><a href="https://yewtu.be/watch?v=e3mUT-aijEg">Far Cry 3 Blood Dragon - Power Core</a>. A modern take on 80s synth and it works out very well.</li> <li><a href="https://yewtu.be/watch?v=aX2CcrsxLcQ">Civilization V - Pedro II War</a>. When you start conflict with Pedro II in Civ V it sounds like you&rsquo;ve just made a very bad decision.</li> <li><a href="https://yewtu.be/watch?v=42u0KB6f5eU">Metroid Prime - Title Screen Intro</a>. In addition to setting the scene, it has that dark psy sound that I enjoy so much.</li> <li><a href="https://yewtu.be/watch?v=6LdR9yqmMmw">Soul Calibur II - Under The Star Of Destiny</a>.</li> </ul> <h1 id="moving-or-just-distinguished-in-their-beauty">Moving or just distinguished in their beauty</h1> <ul> <li><a href="https://yewtu.be/watch?v=HKwsw1cFWj4">Dreamfall The Longest Journey - The Hospital Room</a>. Dreamfall does a really good job of making one care about the characters in the story. This track perfectly evokes that during a playthrough.</li> <li><a href="https://yewtu.be/watch?v=stQWdCKDK4A">Planet Explorers - Main Theme</a>. Such high production value for a game that ultimately failed.</li> <li><a href="https://yewtu.be/watch?v=4-pq3uRuN9c">Halo 3 - Never Forget</a>. The piano in particular is very strong.</li> <li><a href="https://yewtu.be/watch?v=PAb74twuW58">The Talos Principle - Trials</a>. Very calming piano starting at 02:05. Excellent focus music. This also could have gone into the &ldquo;Building up to something big&rdquo; list.</li> <li><a href="https://yewtu.be/watch?v=LudFV61zsaw">Metroid Prime - Inside the Crashed Space Pirate Frigate</a>. As a nice repreive from the rest of the hostile environment (although there are still encounters in this area IIRC).</li> </ul> <h1 id="met-with-success-mission-accomplished">Met with success, mission accomplished</h1> <ul> <li><a href="https://yewtu.be/watch?v=eBqm9PSiKkw">Barony - Hero&rsquo;s Lament</a>. It captures well the return to peace that the game&rsquo;s story tries to convey, and is just very peaceful overall, especially after 01:04.</li> <li><a href="https://yewtu.be/watch?v=hYhIOtgqhGA">Tom Clancy&rsquo;s H.A.W.X - Artemis Ascendance</a>.</li> <li><a href="https://yewtu.be/watch?v=GuB1S_avUWw">Starfox 64 - Mission Accomplished</a>. Aptly named.</li> <li><a href="https://yewtu.be/watch?v=S9NQetcM02c">F-Zero X - Goal</a>. You kind of have to experience shooting through the finish gate, your craft smoking and nearly destroyed, into first place as the score rolls. It&rsquo;s a damn shame that F-Zero GX decided to drop the sound theming in favor of a more techno-y OST.</li> <li><a href="https://yewtu.be/watch?v=ZCDAszFV-7U">The Talos Principle - False God</a>. When the last bit of the story slots in and it all begins to click what exactly the game is depicting.</li> </ul> <h1 id="just-fun-i-guess">Just fun I guess</h1> <ul> <li><a href="https://yewtu.be/watch?v=9x8jiy_My8Q">Animal Crossing - Main Theme</a>. This set the mood much better than the later guitar renditions.</li> <li><a href="https://yewtu.be/watch?v=acsNAGWYQLs">Crypt of the Necrodancer - Dance of the Decorous</a>.</li> <li><a href="https://yewtu.be/channel/UCydDGv2CizSsS0uDG9IEARA">Crypt of the Necrodancer - Tombtorial</a>. Excellent crescendos and drops.</li> </ul> The Broadest Collection Of Global Telemetry https://wrongthink.link/posts/the-broadest-collection-global-telemetry/ Sat, 19 Nov 2022 12:04:33 -0500 https://wrongthink.link/posts/the-broadest-collection-global-telemetry/ <p>In addition to the fact that the [clown] world relies on <a href="https://yewtu.be/watch?v=U1UtRnGn5hc">certificate authorities remaining honest</a> for <a href="https://infogalactic.com/info/Http_secure">HTTP Secure</a> to do what it actually advertises, there is another standing issue that erodes my zeal to keep scrapping together workarounds.</p> <p>One might argue that having many sites hosted behind the same server and IP might paradoxically help to obfuscate the sites one visits from snooping ISPs, such as those which might reversely resolve domains associated to server IPs. Even the average Joe can do this with something like:</p> <pre tabindex="0"><code>dig @&lt;some LARGE resolver&gt; -x &lt;ip address&gt; +short </code></pre><p>However, such obfuscation gets foiled by a shortcoming in <a href="https://infogalactic.com/info/Server_Name_Indication">Server Name Indication</a>. SNI introduces an opportunity during any TLS handshake for an observer to obtain which site is being requested. The indicated hostname is not encrypted within the Client Hello of TLS handshakes and, at first glance, apparently <em>cannot</em> be out of design necessity.</p> <p>There have been attempts to extend the standard for certificate request encryption, first with eSNI and later <a href="https://archive.ph/S8U00">ECH</a>. But these standards have run up against obstacles with big tech, <a href="https://www.esnicheck.com/faq">namely Goolag, FBIbook and Amazog</a>, failing to support eSNI. I&rsquo;ve been informed that this is deliberate as the likes of big tech are afraid of being excluded from the massive Chinese market. If unencrypted TLS hello is adequately naked for China to spy on their subjects, then what does that mean for everyone else who must use it?</p> <p>This compounds the issue of global adversaries with visibility into large swaths of internet traffic. A colleague and I were discussing recent light shed on the new commercial market surrounding <a href="https://www.vice.com/en/article/jg84yy/data-brokers-netflow-data-team-cymru">netflow data</a> which raised the question as to how badly this compromises even the privacy-consious techies. Some expressed concern that this could be used to &ldquo;tag&rdquo; and foil traffic concealed in the likes of Tor or in VPN connections.</p> <p>One of the concerns long held by Tor developers is that the size of data transmitted can itself be used to correlate traffic. This is why they recommend against large file transfer over the Tor network. It may be adequately encrypted, but a global passive observer (using something like netflow data) might be able to look at the total size of upload bandwidth entering a Guard node, and associate it to an identical usage leaving an exit node to a clearnet server at the same time.</p> <p>Maybe this could be addressed by padding all Tor traffic to a common size using junk data but would also massively decrease effeciency and throughput of the already constrained network. <a href="https://github.com/v2fly/v2ray-core/issues/2054">Such a padding method</a> is actually used in <a href="https://www.v2ray.com/en/">v2ray-core</a>, a derivative of shadowsocks common at one point for circumventing the aggressive Chinese firewall. This is only to illustrate that said &ldquo;tagging&rdquo; doesn&rsquo;t have to be done within the &ldquo;tunnel&rdquo; of a VPN, but only by taking and comparing notes from either end.</p> <p>And data brokers are well positioned to exploit this. Team Cymru, a netflow aggregator, <a href="https://www.team-cymru.com/pure-signal-recon-threat-hunting-and-threat-reconnaissance">make some extraordinary claims</a> in their promotional material.</p> <blockquote> <p>&ldquo;Team Cymru&rsquo;s product letting users trace the activity of servers linked to an Iranian hacking group further than other datasets, such as DNS lookups.&rdquo;</p> </blockquote> <p>I would be very interested to see if that group was doing anything at all to protect their DNS queries, or if they were just foolishly using plain old naked 1970s DNS resolution.</p> <blockquote> <p>&ldquo;&ldquo;Are any DoD components buying and using without a court order internet metadata, including &rsquo;netflow&rsquo; and Domain Name System (DNS) records,&rdquo; the question read.&rdquo;</p> </blockquote> <p>The fact that senator Wyden&rsquo;s office felt it necessary to specifically mention DNS records in this question is fairly telling as to how much they probably lean on that old and yet to be fixed standard in order to amass their &ldquo;broadest collection of global telemetry&rdquo;. So encrypting one&rsquo;s DNS requests (and <strong>not</strong> through the lazy and poorly implemented <a href="https://infogalactic.com/info/DNS_over_HTTPS">DoH</a>!) should mitigate some of this collection method.</p> <blockquote> <p>&ldquo;Through these relationships, Cortex Xpanse has access to a sample of approximately 80% of global flows,&rdquo;</p> </blockquote> <p>A textbook global adversary. Just in case anyone thought the aforementioned techies were just being paranoid in the extent of our countermeasures.</p> Whole-of-System VPN And The Clark Kent Dilemma https://wrongthink.link/posts/whole-of-system-vpn-clark-kent/ Tue, 15 Nov 2022 15:57:47 -0500 https://wrongthink.link/posts/whole-of-system-vpn-clark-kent/ <p>Despite the terms &lsquo;privacy&rsquo; and &lsquo;anonymity&rsquo; being used interchangeably by many, and particularly by VPN marketing, I want to first highlight the key difference being that VPN connections are not <em>anonymous</em> but only <em>private</em>. Even if no payment transaction trail leads back to you. This is because the same entity connecting you to your destinations also knows your external IP. And both privacy layers (VPN) <em>and</em> anonymity layers (Tor, etc.) offer only <a href="https://www.defensivecomputingchecklist.com/index.php#dohdot">end-to-middle</a> encryption, except perhaps for accessing .onion addresses. These limitations, among <a href="https://wrongthink.link/posts/vpns-misunderstood-by-many">others</a>, are reason enough for me to remain weary of <a href="https://12bytes.org/new-content-navigating-the-vpn-hellscape/">whole-of-system VPN</a> solutions.</p> <h2 id="the-clark-kent-dilemma">The Clark Kent Dilemma</h2> <p>It can be said that Superman and Clark Kent are never seen in the same place at the same time, casually exposing his secret identity. A similar observation can be drawn to VPN users: Let&rsquo;s say that every time your device is on you typically run an email client, IRC client, web browser and cryptocurrency node. Each of these reaching out to servers in a pattern wholly unique to your device. When you establish a VPN connection all of that traffic disappears at once on your WAN IP and reappears around the exact same time in, say, Dubai. It is obvious to any sufficiently large observer as to what has just occurred.</p> <p>Unless one exhaustively tracks and remembers to close down such email, IRC clients and crypto node each time, it is possible to correlate when somebody &ldquo;jumped&rdquo; to a new VPN exit. Those who configure firewalls to disallow any non-VPN traffic may not expose themselves to this issue, but what when they need to change VPN exit locations (or when the VPN host decides to), when they require direct connectivity such as for navigating around known VPN IP blocks or for low latency applications? Some VPNs block various ports, such as those for <a href="https://infogalactic.com/info/Softphone">VoIP telephony</a>. Some granularity could be desirable.</p> <h2 id="what-can-be-done-about-this">What can be done about this?</h2> <p><em>Disclaimer: this is not gospel.</em></p> <p>I would suggest a system of prioritization based on the type of traffic you need to send and receive. Then route your network traffic across a mix of the following accordingly.</p> <ul> <li><span style="background-color:maroon;">Plain network traffic</span> Avoid if usual TLS/HTTPS/Cryptography in general cannot be deployed</li> <li><span style="background-color:red;">Conventional proxy</span> Avoid if usual TLS/HTTPS/Cryptography in general cannot be deployed</li> <li><span style="color:black;background-color:pink;">Privacy layer (VPN)</span> </li> <li><span style="background-color:teal;">Anonymity layer (Tor, etc.)</span> Anything this level upward ^ <strong>automate requests if at all possible</strong></li> <li><span style="background-color:green;">Local host</span> No network requests even necessary :)</li> </ul> <p>The rationale for automating any network requests is that it conceals the human element, when you viewed a resource, when you might start and end your day, what times your system is in use versus not in use, your timezone. All of which gets stuffed behind an obfuscating and less interesting wall of automation. Let your computer do your web browsing for you.</p> <p>Proxied (of any variety) traffic can be dealt with in a more fractured way. Try to visualize the traffic on a per request basis. The nature of the traffic should determine which snake hole it pops out of to an outside observer&rsquo;s perspective. Tor is already really useful for this with running different applications through different SocksPorts ala <a href="https://manpages.org/tor">Tor stream isolation</a>. If you didn&rsquo;t already know, something similar can be done with VPNs via <a href="https://github.com/fahmidur/vpnh">split-tunneling</a>. Further mix things up with some oldschool proxies and <a href="http://proxychains.sourceforge.net">proxychains</a>.</p> <p>But look at what sits at the base of that priority chart: the local host! Ideally, cache locally, host locally, process locally! As much as practically possible. To build on an old analogy, if using the internet is like broadcasting your whereabouts over a megaphone, then using a whole-of-system VPN is like broadcasting your whereabouts over a megaphone&hellip; from the next room over.</p> <p>The issue is not with VPNs per se. I guess I&rsquo;m just an advocate for split-tunneling individual applications over VPN, in opposition of absentmindedly tossing all <a href="https://infogalactic.com/info/Data-in-Transit">data-in-motion</a> entirely over a VPN. Or through any single proxy layer. Don&rsquo;t put all your eggs in one basket. The whole end-to-end situation is treacherous (more on that in <a href="https://wrongthink.link/posts/the-broadest-collection-global-telemetry/">The Broadest Collection Of Global Telemetry</a>) so do what you can to encrypt as much as possible. And if that means a VPN, then great. Just respect that a VPN is not the set-and-forget solution that some make it out to be.</p> The Goldilocks UI Zone https://wrongthink.link/posts/the-goldilocks-ui-zone/ Wed, 09 Nov 2022 12:28:22 -0500 https://wrongthink.link/posts/the-goldilocks-ui-zone/ <p>A while ago I tried out the <a href="http://swaywm.org">Sway window manager</a>. While it is very fast, very minimal and purist in it&rsquo;s design, a few nails stood out which I couldn&rsquo;t quite hammer down. A caveat to the following is that I grew up on graphical desktops with only a brief stint on DOS command line which I can barely recall from childhood memories. I may not be as hell bent on getting stacking windows out of the way as some WM diehards. The Sway experience was great overall except&hellip;</p> <p>Despite going out of the way to use TUI and terminal programs, there where still some which necessitate the usage of a graphical window. And some of these programs failed to obey the conventions of a WM like Sway, either by way of some dirty gtk_window_set_type_hint() trickery or by hardcoded settings panels which act as a child window that cannot be moved separately. These also pulled in a combination of QT and GTK libraries, so would take a lot more planning and diligence to avoid one or the other to keep a lean system.</p> <p>The scriptability of WMs, as I experienced with Sway, is fantastic. But it can also become burdensome. Sway uses a program <em>Swaylock</em> to lock the session. There is no default configuration provided as users are expected to write their own. After some trial and error, I had gotten a solution running which aggressively blanked the display after locking. It was hackish and I didn&rsquo;t trust what I wrote to actually reliably do it&rsquo;s job. Even the big name desktop&rsquo;s screen lockers <a href="https://securityaffairs.co/wordpress/113518/hacking/screensaver-bypass-linux-mint.html">occasionally have slip ups</a>, and those are written in collaboration by people more experienced than myself. Add in the other <strong>some-assembly-required</strong> Sway components along with it&rsquo;s grand .config, and one quickly discovers how much maintenance burden they incur.</p> <p>Constant tinkering with the visuals ended up consuming more time at the device than I had to give. This is not an issue with Sway, per se, but there are so many little things down to the pixel width of individual window dressings. I found myself longing for a boring old DE with some basic GTK theme. Those with a different sense of aesthetics than myself can probably live with the unrefined Sway defaults or rapidly whip something up that looks outstanding on some <a href="https://unixporn.github.io/">Unixporn</a> gallery.</p> <p>So what is the <a href="https://infogalactic.com/info/Goldilocks_zone">goldilocks zone</a> for Wrongthink? I do not want anything to do with the hugely bloated software suites like Gnome. They even gobble up <em>other</em> programs to assimilate into the DE borg. Just ask <a href="https://www.phoronix.com/news/QupZilla-Becomes-Falkon">Falkon</a> or <a href="https://infogalactic.com/info/Geary_(software)#History">Geary</a>. Meanwhile WMs are a little too barebones for me. Sure, one could opt for the *-core packages (at least on Debian family distros) but that&rsquo;s just a workaround to a malignant problem.</p> <p>The perfect environment for me may just be a lightweight minimalist DE, <strong>without</strong> all of it&rsquo;s own in-house reinventions of the wheel, paired with a really comfy terminal emulator and all of my cozy TUI applications.</p> Centralization Also A Failure In War https://wrongthink.link/posts/centralization-also-failure-war/ Sun, 06 Nov 2022 13:19:13 -0500 https://wrongthink.link/posts/centralization-also-failure-war/ <p>Many credit the miscalculation of entry into Russia during the winter, along with the waging of war on two fronts, as the downfall of Nazi Germany&rsquo;s efforts in the second world war. Although Adolf Hitler may have made another, less obvious fault. And that was to so intensely centralize his control over war operations. In <a href="https://www.goodreads.com/book/show/55203.The_Mask_of_Command">The Mask Of Command</a>, John Keegan touches on the histories, successes and failures of several of history&rsquo;s prominent generals. A passing remark is left that those who seek to command over others may, out of necessity, be insane.</p> <p>Hitler&rsquo;s micromanagerial control went beyond what was typically anticipated from a position of command. He had centralized decision making far from the front and took it upon himself to coordinate operations in the most minute detail. Through this, he missed critical but minute information, not at the forefront of planning, affecting the ebb-and-flow of battle. In contrast to Ulysses S Grant, who afforded his men a high degree of autonomy, Hitler can be viewed as having monopolized operations. While history also confirms a greater success in Grant&rsquo;s overall generalship.</p> <p>Parts of The Mask Of Command linger in my thoughts, among them a bit cited from Hitler&rsquo;s <em>Mein Kampf</em>:</p> <blockquote> <p>&lsquo;The stain of cowardly submission can never be effaced . . . This drop of poison in the blood of a people is passed on to posterity and will paralyse and undermine the strongest of later generations.&rsquo;</p> </blockquote> <p>A lesson that many of us today are beginning to [re]learn in the most regretful fashion.</p> <p>Keegan also pontificates on the justification behind state violence:</p> <blockquote> <p>There can, however, be nothing mechanistic about the excercise of power through force, whether naked or implicit, long though the power-holding and power-hungry have sought such a secret. Force finds out those who lack the virtue to wield it. Such virtue, in theocratic societies, is deemed to descend from God or the gods, and rulers by divine right may in consequence despatch their subjects to the battlefield without thought or the imputation of need to lead them there. Secular rulers enjoy no such moral exemption, in their worlds the virtues that attach to force are those by which it is resisted - therefore either go in person or else find the means of delegating the obligation without thereby invalidating their right to exercise authority outside the battlefield and in times of peace.</p> </blockquote> <p>Where religion has given way as the motivator and grand justification for power and conquest, new systems have been devised and perfected to take up its place. If anyone reading follows the work of the <a href="https://www.corbettreport.com">Corbett Report</a>, one might make connections as to how well a new technocratic security state may fit into that brief vacancy.</p> <p>Keegan goes on:</p> <blockquote> <p>Government is complex; its practice requires and endless and suble manipulation of the skills of inducement, persuasion, coercion, compromise, threat and bluff. Command, by contrast, is ultimately quite straightforward; its exercise turns on the recognition that those who are asked to die must not be left to feel that they die alone. But the relief of the warrior&rsquo;s ultimate loneliness is achieved by means quite as complex as those that attach to government.</p> </blockquote> <p>To that list, I might add robbery, narrative shaping, information control, the ceaseless suppression of discourse and, most of all, the erosion of choice.</p> <p>The book is not, however, a commentary on government or on human free will. It is not about centralization versus decentralization. But it does cover some fascinating balances that must be made during large scale coordinated efforts, whether to lead boldly from in front, or safely from the rear, and the kinds of personality archetypes who find themselves forging decisive battles.</p> Retailers: How to Music https://wrongthink.link/posts/retailers-how-to-music/ Sat, 29 Oct 2022 16:24:03 -0400 https://wrongthink.link/posts/retailers-how-to-music/ <p>Your department store seeks to set a unique atmosphere while shoppers browse about. What do you play for them? Classical? Jazz? Maybe your establishment is themed. A bait &amp; tackle shop might opt for some country. Perhaps some classic rock at the auto parts store. But reality is not so. Unfortunately, retailers now seem to take satisfaction in assailing their shoppers with <a href="https://stallman.org/spotify.html">Spotispy</a>.</p> <p>The following must be their guidebook on playing background music for customers in $CURRENT_YEAR:</p> <ol> <li> <p>The wall &amp; ceiling speakers built into the establishment are not good enough. Instead, select a personal assistant with a single 5 watt mono speaker for a delightfully tinny sound.</p> </li> <li> <p>Don&rsquo;t use your own library. Just blast any channel from Spotispy. If you can&rsquo;t decide, then allow your employees to supply their excellent personal tastes. Make sure that it&rsquo;s a non-subscriber account so that ads wail every few minutes at +50% volume.</p> </li> <li> <p>Position the personal assistant adjacent to the registers so that normal human conversation becomes incomprehensible.</p> </li> <li> <p>Ensure that the device is immediately on the outer range of your wireless network so that the buffer (Yay, streaming!) empties every few seconds causing choppy playback.</p> </li> <li> <p>If that doesn&rsquo;t work, you can always fall back to broadcast radio using the dusty boom box found in the stock room.</p> </li> </ol> <p>That is not to say I think there is a <em>right</em> way to do it either. In an ideal world, shopping would not be something that has to be an &ldquo;experience&rdquo;. Dead silence is fine. Just go in, get your things and get out. But if you do own an establishment, it might be worth looking into something lighter weight like <a href="https://moc.daper.net">MOC</a>.</p> <p>Music On Console is an ncurses console audio player that supplies a fully featured music &amp; playlist server without necessitating the complexities involved in <a href="https://www.musicpd.org/">MPD</a>. Simply point it to a directory containing your desired music and let it handle the rest. Some common key bindings that you will probably find useful include:</p> <table> <thead> <tr> <th>Key</th> <th style="text-align:left">Command</th> </tr> </thead> <tbody> <tr> <td>a</td> <td style="text-align:left">Add highlighted song/folder to playlist</td> </tr> <tr> <td>C</td> <td style="text-align:left">Clear playlist</td> </tr> <tr> <td>n</td> <td style="text-align:left">Play next song</td> </tr> <tr> <td>b</td> <td style="text-align:left">Go back one song</td> </tr> <tr> <td>S</td> <td style="text-align:left">Toggle shuffle</td> </tr> <tr> <td>R</td> <td style="text-align:left">Toggle repeat</td> </tr> <tr> <td>&lt;/&gt;</td> <td style="text-align:left">Increase/decrease volume</td> </tr> <tr> <td>Space</td> <td style="text-align:left">Pause</td> </tr> <tr> <td>q</td> <td style="text-align:left">Quit player, leaving audio server running in background</td> </tr> <tr> <td>Q</td> <td style="text-align:left">Quit player and server</td> </tr> </tbody> </table> Brian Rose's Digital "Freedom" Platform https://wrongthink.link/posts/brian-roses-digital-freedom-platform/ Tue, 25 Oct 2022 13:25:23 -0400 https://wrongthink.link/posts/brian-roses-digital-freedom-platform/ <p>Amidst the waves of sweeping away voices critical of the 2020 health scare deception was Brian Rose, podcaster turned video interviewer. His April 6th interview with David Icke <a href="https://reclaimthenet.org/london-real-banned-linkedin/">prompted Goolag to ban him</a> from Youtube, shocking Rose into the realization that <em>if you don&rsquo;t host your own files, they&rsquo;re not your files</em>. So he set out to do the most reasonable thing any unpersoned individual should do: to establish his own platform. The &ldquo;Freedom Platform&rdquo;.</p> <p>But, like with many NeoBoomers, he and his team have made some perplexing decisions in the construction of a platform bearing the word &ldquo;Freedom&rdquo; in its title. Rose was quick to run a crowdfunding campaign, capitalizing on the public&rsquo;s general disorientation through the rapid life disruption brought about by the scamdemic. It turns out that <a href="https://archive.ph/k52xU">donating twenty dollars to an entrepenuer during the early stages of an information war</a> really <strong>doesn&rsquo;t</strong> help to resolve an information blockade. Let&rsquo;s take a look at what donors can proudly say they&rsquo;ve helped build.</p> <h2 id="the-freedom-platform">The Freedom Platform</h2> <p>Despite being billed, in his shameless crowdfunding pitches, as a place for everyone to have a voice, the platform really only hosts his own work. The site does not offer up raw video in a standardized way, but requires a javascript web player. Only samples can be played, with the site demanding viewers sign up or become subscribers to watch a full video.</p> <p>Visitors are assaulted with connections to cloudflare, FBIbook (How nice of Brian to partner with the same cadre he found himself banned by), googleslavemanager along with onesignal and several other CDNs. Not really hosting your own content then, are you?</p> <p>Viewers are offered an option to download clips although the linking is mediated through a third party, <a href="https://archive.ph/ucxyG">WeTransfer</a>, a file sharing host who ostensibly derives revenue from harvesting data. Again, not hosting your own work on your own infrastructure, Brian? I thought you wanted to insulate yourself against the possibility of being censored. WeTransfer pages do not function at all without js.</p> <p>Video comments are provided by Disqus, a Goolag partner and <a href="https://thebosh.com/disqus-censors-internet-comments/">known censorious bad actor</a>. Also, good job centralizing your discussion section into yet another third party. A very <a href="https://wrongthink.link/posts/the-alt-media-are-masochists/">typical maneuver found among the technologically impaired rightist boomers</a>. And since freedomplatform.tv tries to force users to login to even view the meatier parts, there is not bound to be much discourse anyway.</p> <p>Thier centralized big tech mess also bears both a <a href="https://freedomplatform.tv/terms/">TOS</a> and <a href="https://freedomplatform.tv/privacy/">privacy policy</a> in which we find:</p> <blockquote> <p>By logging-in to our site you are also giving your explicit permission for us to correspond with your via email.</p> </blockquote> <p>email harvesting</p> <blockquote> <p>You are free to Unsubscribe from any and all emails at any time.</p> </blockquote> <p>If I had to hazard a guess, the unsubscribe link is probably <em>also</em> to a third party data harvester.</p> <blockquote> <p>We have the right to disclose your identity to any third party who is claiming that any content posted or uploaded by you to our site constitutes a violation of their intellectual property rights</p> </blockquote> <p>Slaves to the DMCA.</p> <blockquote> <p>We have the right to remove any posting you make on our site if, in our opinion, your post does not comply with the content standards set out in our Acceptable Use Policy.</p> </blockquote> <p>Of course they have a Communist Guidelines, if only by another name.</p> <p>The freedomplatform.tv boilerplate reads &ldquo;We take your privacy seriously. We will never sell your information.&rdquo; But upon further inspection:</p> <blockquote> <p>The data we collect about you</p> </blockquote> <blockquote> <p><strong>Personal data, or personal information</strong>, means any information about an individual from which that person can be identified. It does not include data where the identity has been removed (anonymous data). We may collect, use, store and transfer different kinds of personal data about you which we have grouped together follows: <strong>Usage Data</strong> includes information about how you use our website Technical Data includes internet protocol (IP) address, your login data, browser type and version, time zone setting and location, browser plug-in types and versions, operating system and platform and other technology on the devices you use to access this website. <strong>Marketing Data</strong> includes your preferences in receiving marketing. <strong>We also collect, use and share Aggregated Data such as statistical or demographic data for any purpose.</strong> <strong>We may receive Technical and Usage Data about you from third party analytics providers</strong> like Google and GoSquared, third party advertising networks and search information providers.</p> </blockquote> <p>They go on to blatantly admit that visitor data is shared out to advertisers which comes as no surprise to anyone who takes the time to look at the third party site requests. And anyone still using cookies (for some reason) will find freedomplatform.tv plants tracking cookies.</p> <h2 id="how-one-might-go-about-freeing-the-freedom-platform">How one might go about freeing the Freedom Platform</h2> <ol> <li> <p>Ditch the third parties and CDNs. All of them.</p> </li> <li> <p>If you&rsquo;re going to require javascript programs, at least post up their source on some git repo.</p> </li> <li> <p>Serve video directly as a file. They&rsquo;re just interviews, they don&rsquo;t need to be 4K lossless spectacles.</p> </li> <li> <p>Drop <a href="https://web.archive.org/web/20221014010829/https://blog.cloudflare.com/why-we-terminated-daily-stormer/">cloudflare</a>.</p> </li> <li> <p>Don&rsquo;t outsource your comments section. Did getting banned in multiple places not teach you anything?</p> </li> </ol> <p><strong>Or</strong></p> <p>Just deploy a <a href="https://joinpeertube.org/">peertube</a> instance and allow federation to expand your discovery as well as increase your resiliency against censorship. It would also simultaneously resolve points 1, 2, 3 and 5 in a single pass. But I guess nobody has ever raised a million dollars in crowdfunding over a peertube instance. As it is right now, there is nothing free about freedomplatform.tv, not even for Brian himself as he has shackled his own service to many of the very parties involved in his banning to begin with.</p> Your Freedom Is Contingent on Others https://wrongthink.link/posts/your-freedom-is-contingent-on-others/ Thu, 20 Oct 2022 18:25:26 -0400 https://wrongthink.link/posts/your-freedom-is-contingent-on-others/ <p>You have just come into great wealth and find that you no longer need to work. You secure yourself with a ranch that runs on solar and wind power, raise and butcher your own meat, pull your own water from the ground and generally live with almost no dependence on others. I do not conjure this image to lambast some hypothetical prepper supreme, but to follow in question: Is this exceptionally independent person now truly free?</p> <p>The sad truth of the matter is that no, they are not. Your freedom, my freedom and the freedom of any individual is intrinsically tied to the perceptions and attitudes of those around them. You, hypothetically, can rid yourself of all malicious influence and live strictly according to your principles but if Joe shopkeep is still fast asleep it could mean you don&rsquo;t get to walk out with purchased goods simply because you didn&rsquo;t submit to some arbitrary medical apparatus, or <a href="https://www.thedrum.com/news/2021/08/20/the-amazon-go-cashierless-store-concept-the-future-retail-or-just-another-fad">for using the wrong type of currency</a> e.g. not using mark of the beast trackable digital payments.</p> <p>And since we live in a world where most believe in the validity of &ldquo;passports&rdquo; (which didn&rsquo;t exist until historic recency), centralized currency, borders, compulsory taxation, and a whole host of other dreadful fabrications, we are priviliged with being at the whims of the great narratives of the public opinion moulders. Perception precedes action.</p> <p>Best for now is to gradually, selectively build the network of people around you so that it is comprised of those who possess greater awareness. Continually maneuvering around the sensibilities of the zombies is not worth the effort when it can be so much easier just to cut contact. YMMV</p> Moving Out to the Woods, Anticipate a Period of Silence https://wrongthink.link/posts/moving-out-to-the-woods/ Wed, 24 Aug 2022 01:46:53 -0400 https://wrongthink.link/posts/moving-out-to-the-woods/ <p>I am relocating away from clown town USA to a more natural setting. It is off-grid except for the electrical, for the time being. I do not know what the connectivity is going to be like there, and I do not know when I will next be online with my full workstation. <span style="background-color:darkorange;">Expect a few weeks of inactivity on this site.</span> My apologies to anyone who has been enjoying frequent writings. I&rsquo;m just continuing to architect my life around autonomy, self-determination and to fulfill some design goals I&rsquo;d been planning for a long time.</p> Disingenuous Claims Around Support Availability https://wrongthink.link/posts/disingenuous-claims-support-availability/ Sun, 21 Aug 2022 13:55:39 -0400 https://wrongthink.link/posts/disingenuous-claims-support-availability/ <p>Windows junkies often toss around the rhetoric that Window$ has support available, therefore it is more fitting for the individual user. Assuming that can be taken at face value, is it not indicitave that Window$ shortcomings demand a massive support network? But that may not be a fair assessment as any sufficiently complicated system can require such assistance. I think the real confusion arises from the failure to distinguish between different types of support presence.</p> <p>Proponents of this argument erroneously use this definition interchangeably to describe both enterprise support and end user support. I wonder if they know that they&rsquo;re being disingenuous or if they really just fail to see that they&rsquo;re ascribing two different meanings. <a href="https://develux.com/blog/linux-vs-windows">This description, for example</a>:</p> <blockquote> <h2 id="support">Support</h2> <p>Comparing Windows vs. Linux support is hard. Windows offers paid professional support as well as access to clear documentation and tutorials. Its popularity also drives the market of third-party support vendors and result in many tutorials and answered questions on the forums. On the controversy, Linux relies on community support, where regular users help each other out through forums and issue trackers. Results are often confusing - but from a broader perspective, the Linux community usually provides more detailed and “designed for humans” information.</p> </blockquote> <p>How many home users of Windows have been able to receive human assistance from MS with a phone call? No, they end up dredging the depths of Goolag search or finding their way to the MS <a href="https://archive.ph/2nlQw">community support forum</a>. The paid support that they speak of is actually pertaining to enterprise solutions, <em>not</em> Joe Sixpack. And support contracts are not unique to Window$, by any means, as similar can be had <a href="https://www.redhat.com/en/store/linux-platforms">among the various Linux vendors</a>. So if the author above wanted to make an <em>honest</em> comparison it should either be between home user support vs home user support or between enterprise vs enterprise.</p> Content as a Hostage https://wrongthink.link/posts/content-as-a-hostage/ Fri, 19 Aug 2022 13:13:26 -0400 https://wrongthink.link/posts/content-as-a-hostage/ <p>Joining <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.html">SaaSS</a> and <a href="https://game-enthusiast.com/2022/07/09/games-as-a-service-needs-to-go-away-permanently/">GaaS</a>, I propose CaaH. Content as a Hostage, also known as the exclusivity model. Present something that a user wants and make sure that the only place they can obtain it is through your own delivery platform. This has lead to the fracturing of streaming disservices into a million individual copycats who essentially host only their own internal works. CaaH was really perfected on gaming consoles which each held ransom some games to entice suckers into buying dedicated hardware. A strategy which has <a href="https://i1.kym-cdn.com/photos/images/original/000/508/644/9eb.jpg">worked brilliantly against some demographics</a>.</p> <p>It is most prevalent right now in movies and games distribution. Some studio does not want another publisher to take a cut of their sales so they setup their own storefront and revoke all copies of their media from any other source. While this fixes the author&rsquo;s revenue problem, it abuses the freedom of choice of their clientele. Those who watch runs of shows often complain of having to subscribe to dozens of various streaming toll roads.</p> <h2 id="freeing-the-hostage">Freeing The Hostage</h2> <p>There are two ways to address the issue. First, would be for the author/publisher to make their work available again through other sources. If they wish to keep the prices cheaper on their home turf, that&rsquo;s understandable. Ideally, this would accompany the removal of DRM, although that remains <a href="https://wrongthink.link/posts/lets-go-on-a-safari">a seperate issue</a>.</p> <p>Second, is for individuals to turn to file sharing (which industry erroneously refers to as <em>piracy</em>) as <a href="https://torrentfreak.com/eu-piracy-rates-are-the-highest-among-well-educated-youth-220609/">many have decided to do</a>. Think of it as a <a href="https://wrongthink.link/posts/digital-piracy-morally-justified">just punishment</a> for publishers who seek to put up blockades restricting where people can and cannot reach their content. It is the only assured way to be able to watch what you want, when you want, where you want and however you want.</p> <p>There was only one storefront that I know of which did things right by serving their movies as DRM-free raw files for a one-time purchase. <a href="https://www.gog.com/en/movies?sort=popularity&amp;page=1">GOG</a> unfortunately only carry movies oriented to video gaming and the site does require javascript, but their model serves as the only example of content delivery that I would be willing to pay for.</p> Bitcoin Is a Tale of Tragedy https://wrongthink.link/posts/bitcoin-is-a-tale-of-tragedy/ Thu, 18 Aug 2022 00:47:14 -0400 https://wrongthink.link/posts/bitcoin-is-a-tale-of-tragedy/ <p>Bitcoin is a tragedy. And I say this knowing full well that my <a href="https://wrongthink.link/about">donation section</a> lists only a Bitcoin option. The cons outweigh the benefits and since I&rsquo;m not paying for site hosting right now anyway, that section will be removed for the time being. Because I only like to run full nodes for any cryptocurrency and building from source + familiarizing myself with each one&rsquo;s terminal commands all while taking precaution to do everything properly is mentally taxing. So I&rsquo;d rather just use one cryptocoin and not have to deal with others. I&rsquo;m still watching the crypto space to assess which would be best to spin up as the sole successor.</p> <p>Why didn&rsquo;t Satoshi &amp; friends trial things out of public view while awaiting something like ring signatures to be devised? It&rsquo;s really such a shame that the transparent chain took off and that there&rsquo;s no backtracking to fix its flaws ever. In terms of privacy, Bitcoin is even <em><a href="https://yewtu.be/watch?v=qGpx3BR_DY8">worse</a></em> than credit/debit cards since everyone can see all transactions forever, as opposed to just your bank and their partners. This creates a <a href="https://infogalactic.com/info/Chilling_effect">chilling effect</a> where every transaction you make has to be carefully calculated out ahead of time to identify points of leakage and avoid exposing any paper trails that could correlate it to your real identity. I&rsquo;m not even comfortable recommending it to people who are casually interested in cryptocurrency because of this.</p> <p>Even if you do everything &ldquo;right&rdquo;; obtaining coin through cash payment outside of <a href="https://infogalactic.com/info/Know_your_customer">KYC</a>, running your own node over Tor, creating new addresses for each receiving input and generally trying (and failing) to replicate the opsec of Jason Bourne, Bitcoin still operates totally in the open where even a single screwup can compromise your whole transaction history. Not to mention the other issues with slow transactions (<a href="https://web.archive.org/web/20220809065235/https://lightning.network/">lightning network</a> doesn&rsquo;t count, I&rsquo;m not running <strong>another</strong> node with an entirely new chain just to fix this idiotic oversight), unnecessary transaction costs and mining which is completely out of reach from common users.</p> <p>The only positive outcome I can see would be if institutions ended up adopting Bitcoin while average folks took up Monero or some other thoughtfully designed cryptocoin. That way movements of money between large organizations and even governments could be more transparent to the public. And they can eat the high cost of transactions since it would seldom be used to settle any small transfers.</p> <p>I hate to say it but: Don&rsquo;t use Bitcoin! It&rsquo;s a treacherous hazard.</p> You Might Be a Zombie If... https://wrongthink.link/posts/you-might-be-a-zombie-if/ Tue, 16 Aug 2022 15:57:46 -0400 https://wrongthink.link/posts/you-might-be-a-zombie-if/ <p>You might be a zombie if&hellip;</p> <ul> <li>You believe that the winners of all historic conflicts have always been the good guys.</li> <li>Most of your understanding of the world comes from legacy media.</li> <li>There is hardly any deviation between your views and those of the opinion molding class.</li> <li>There exist organizations who censor anything which runs contrary to your beliefs.</li> <li>You accept token rewards from authority for changing your own behavior.</li> <li>Your personal devices still run the stock big tech software which came pre-installed.</li> <li>Your outspokenness on issues only lasts for as long as they remain in the news cycle.</li> <li>The beliefs you inherited lead you to aggress upon others.</li> <li>You spend most of your day thinking about entertainment media and/or your next fix of it.</li> <li>You&rsquo;ve consumed your way into a state of physical obesity.</li> <li>You unironically use Goolag search, Gfail, GooTube or information mediated through any other tech giants.</li> <li>You think you have nothing to hide.</li> <li>A shartphone is your primary or only device.</li> <li>Questions are never a part of your informational hygiene, only passive acceptance.</li> <li>You legitimately believe that humanity faced the <a href="https://yewtu.be/watch?v=m2s0nB2VPvs">deadliest pathogen in known history</a> through the early 2020s.</li> <li>You are willing (or even eager) to impoverish your standard of living to mitigate the <a href="https://12bytes.org/articles/environment/global-warming-global-warming-global-warming/">perceived threat of climate change</a>.</li> <li>Nothing is ever your decision, you were just following orders from above.</li> <li>You&rsquo;ve never read a single book of your own volition.</li> <li>You ragequit before reaching this line.</li> </ul> I Often Feel Like a Time Traveler From The '90s https://wrongthink.link/posts/i-feel-like-a-time-traveler/ Mon, 15 Aug 2022 13:14:25 -0400 https://wrongthink.link/posts/i-feel-like-a-time-traveler/ <p>A recent fediverse discussion had me ruminating on how the face of the internet, and tech in general, has changed drastically as it gets molded by powerful interests. For any generation Z who might not have been around to experience the web as it was in the 90s or aughts, I wanted to share a few key changes I have witnessed not only as time flows on but also since I&rsquo;ve remained well insulated from the larger shifts unlike so many others. The change just in the last few years has been atrocious, but in cumulation with the previous decade or so there has been a remarkable decay. And that&rsquo;s exactly how they get us, with a slow boil.</p> <p>First, I should explain where I&rsquo;m coming from. I refrained from participating in many of the web2.0 developments like Twitter and other things which have now fallen under the umbrella of <em>social media</em>. I grew up without cable television and so never took interest in keeping up with shows that dominated the culture of my peers. Circumstances left me without a phone when those around me all were <a href="https://web.archive.org/web/20150629121916/http://www.housebeautiful.com/shopping/home-gadgets/a36/technophobia-text-messaging-0607/">learning to structure their lives</a> around mobile connectivity. So I never really used a shartphone (the one that was eventually given to me remained mostly unused and ended up with a drill bit going through its ICs once I decided to ditch it). I share all this to illustrate that I&rsquo;ve never followed the curve with the rest of millennials. I&rsquo;ve lived on a technological island for the last twenty something years.</p> <p>Here are some developments which bewilder me.</p> <ol> <li> <p>Everyone now uses their real names and images. Whatever happened to that old wisdom of <em>never share your real name with anyone online</em>?</p> </li> <li> <p>The infantilization of communication through emojis and reactions. And video format has now been <a href="https://wrongthink.link/posts/mobile-scourge-online-video/">reduced to minute-long clips</a>, courtesy of mobile zombie applications.</p> </li> <li> <p>The default expectation to use other people&rsquo;s computers instead of your own. People don&rsquo;t even store their own files on their own hardware anymore, apparently?</p> </li> <li> <p>The term &ldquo;social media&rdquo; itself. I&rsquo;d first heard it in 2015 and found it eery how everyone else just knew and that it propagated so rapidly. My time in gaming taught me that anything using the term <em>social</em> was always a harbinger of the coming destruction of said thing.</p> </li> <li> <p>Overmoderation and the extreme sensitivity of contemporary web users. Web culture now seems to <a href="https://wrongthink.link/posts/the-purpose-of-safe-spaces/">care more about protecting feelings</a> at the expense of truth.</p> </li> <li> <p>Television 2.0. The web was supposed to be the world&rsquo;s virtual library. But, for many, it is just the <a href="https://wrongthink.link/posts/lets-go-on-a-safari/">latest incarnation of television</a>. How many just churn through videos on their scrying mirrors day in and day out?</p> </li> </ol> <p>With only a few exceptions, each new web technology is increasingly more decadent than the last. I can only imagine how bad things are going to be five or ten years from now. Please take me to the time machine. I want to go back.</p> What The Web Looks Like Without Any Blocking Measures https://wrongthink.link/posts/what-web-looks-like-without-blockers/ Fri, 12 Aug 2022 14:34:17 -0400 https://wrongthink.link/posts/what-web-looks-like-without-blockers/ <p>Anyone reading this probably has measures in place to cleanse their web experience of invasive garbage. But maybe it&rsquo;s been a while since those protections were lowered, and maybe you haven&rsquo;t seen what the modern web <em>really</em> looks like today. What <em>do</em> normies see when they open a browser? Well, it <a href="https://web.archive.org/web/20210723193418/https://www.confiant.com/resources/news/1-out-of-every-100-online-advertisements-is-infected-with-malvertising">isn&rsquo;t good</a>. And things have only decayed since the last time I ran a naked browser.</p> <p>I configured a stock Linux environment with a standard Firefox (non-ESR) without any addons and no blocking measures beside Firefox&rsquo;s built in Enhanced Tracking Protection defaults. To the best of my knowledge, the system did not have any other filters configured. I then took it through a gauntlet of common sites visited by the cattle. It reveals to us how their access to information can be so poor.</p> <p><img src="https://wrongthink.link/Begging-bars.png" alt="Bars vying for attention"></p> <p>One of the first things you will notice are the hovering bars that follow visitors as they scroll, harassing them about paywalls and subscription offers. Sometimes they&rsquo;re tracking cookie notifications, and sometimes they&rsquo;re just the site navigation menu. It crunches screen space and obnoxiously remains in your face until you actively respond to the prompt.</p> <p>Another assault on the senses comes in the form of embedded autoplay content. I got part way down an article before identifying where the sound was coming from. Imagine trying to fight with that every time you wanted to focus on a few paragraphs.</p> <p><img src="https://wrongthink.link/Autoplay.png" alt="Autoplay antifeatures"></p> <p>Plebbit is atrocious with the redesigned layout. Apparently it is now too much to ask visitors to open a thread in order to view content. Now they just throw it right in the cattle&rsquo;s faces in the overview. Anything to keep them scrolling I suppose.</p> <p>Also there are the promotionals which take up a significant portion of screen real estate. Sites have no problem with crowding out the main content (the bait) with their own pleas to join various disservices and loyalty programs. And just look at how oversized everything is. I am convinced this is bleeding over from conventions established on mobile prisons.</p> <p><img src="https://wrongthink.link/Significant-screen-area.png" alt="Screen hogging promotionals"></p> <p>When taking up most of your browser window isn&rsquo;t good enough for them, they&rsquo;ll just as soon throw a full popup in the way. The sneakier sites will even wait until a visitor has reached a certain section of the page to assault them with a digital billboard. Note that the CNBC example was begging about allowing ads. Again, I had nothing setup so either Firefox default ETP tripped something up or CNBC have now resorted to assuming visitors guilty of adblocking until proven innocent.</p> <p><img src="https://wrongthink.link/Fullscreen-popups.png" alt="Popups in 2022"></p> <p>The New York Times took things even a step further by baiting the readership with only the first few paragraphs of an article before blurring the remaining text and demanding a subscription to access the rest. The funny thing is that the article text is all present in the plain HTML file, so those of us stripping out javascript and stylesheets don&rsquo;t even notice this impediment.</p> <p><img src="https://wrongthink.link/Hold-article-hostage.png" alt="The content as a hostage model"></p> <p>NY Times are blatantly trying to hold their articles hostage. Anyone foolish enough to pay the ransom probably doesn&rsquo;t realize they&rsquo;re paying for something their computer has already completely downloaded in the background all along.</p> <p>This last one was an interesting example of completely unnecessary features of the gigabloated sites of today. IGN have stuffed their pages with so much garbage that they actually implemented a &ldquo;loading bar&rdquo; to indicate the preparedness of a link you just clicked before displaying the new page. It stopped at about 80% and just hanged. It was my first and only click of the site. Good job, guys lol.</p> <p><img src="https://wrongthink.link/Unnecessary-loading-bar.png" alt="Website loading bar"></p> <p>Maybe they were just trying to replicate the console gaming experience.</p> <p>The web has become a virtual times square with resources fighting for visitor attention. When you hear laypersons lament how much they just hate computers, try to remember that this is what the average person is contending with. And it doesn&rsquo;t have to be this way. My list at <a href="https://wrongthink.link/posts/web-content-blocker-tier-list">Web Content Blocker Tier List</a> contains a breakdown of several addons, which I will try to keep updated.</p> Creating Graphs From Terminal https://wrongthink.link/posts/creating-graphs-from-terminal/ Thu, 11 Aug 2022 19:19:40 -0400 https://wrongthink.link/posts/creating-graphs-from-terminal/ <p>In the post about <a href="https://wrongthink.link/posts/visualizing-dependencies">Visualizing Dependencies</a> I shared a graphic relating some APIs. In the past, I would have painstakingly used something like GIMP or LibreOffice Draw to produce that. But recently I discovered <a href="https://www.graphviz.org/">graphviz</a>, a brilliant command line tool to whip up complex relational graphs programatically. The more items you have to plot, the more sense it makes to use such a tool.</p> <p>Let&rsquo;s say you want to graph out a small social network. Create a graphviz file (.gv) and populate it as:</p> <pre tabindex="0"><code>graph { Alice - {Bob,Carlos,Dan,Eve,Frank,Grace} Bob - {Alice,Carlos,Dan,Eve} Carlos - {Victor,Wendy,Walter} } </code></pre><p>Then pass the graphviz file to a plotter like dot:</p> <pre tabindex="0"><code>dot -Tpng social_network.gv -o graph.png </code></pre><p>An image file will be created in which the relationships will automatically get drawn in the most optimal pattern according to <em>dot</em>. There are other layouts as well. <em>circo</em> for circular layouts, <em>patchwork</em> for squarified layouts, and so on.</p> <p>Also helpful is the directional graph functionality to indicate flow which can be declared like:</p> <pre tabindex="0"><code>digraph { Dog -&gt; Cat Cat -&gt; Mouse } </code></pre><p>And if you want to export that as a scalable vector graphic it can be done with the <em>-Tsvg</em> switch:</p> <pre tabindex="0"><code>twopi -Tsvg animals.gv -o graph.svg </code></pre><p>I wish I had known about graphviz sooner, and I definitely wish I had known about it while going through school or when I had family trying to map out genealogy. It can also be used for flowcharts, block diagrams, lineages and is highly customizable. Just have a look at the man pages or the always fantastic <a href="https://wiki.archlinux.org/title/Graphviz">Arch wiki</a>. Whatever the appilcation, it is another good non-networked tool that can be used wherever you have access to a shell.</p> Reaching a Sound State of Mind https://wrongthink.link/posts/reaching-a-sound-state-of-mind/ Wed, 10 Aug 2022 12:05:12 -0400 https://wrongthink.link/posts/reaching-a-sound-state-of-mind/ <p>A major catalyst which has propelled our society into the perpetually rising <a href="https://infogalactic.com/info/Shepard_tone">shepard tone</a> cycle of new hysterias is undoubtedly the crowded mental state which most people operate in. The human mind has never had to process as much incoming information as is demanded of it today. In a way, it is hard to blame the masses for outsourcing their thinking to others in a desperate effort to free up some thinking capacity for the things immediately present in life. But this has come at a great cost.</p> <p>Do I say any of this as though I am immaculate of such behavior? Of course not. We have all, at some point or another, relinquished our guard when it has been convenient or demands have been too great. It is incredibly exhausting to be at constant alertness, hyperanalyzing the things you are being told about. And so people are unsurprisingly lulled into a sense that they are adequately informed by trusting the group consensus. Queue manufactured panics. Luckily, there are measures which can be taken to keep oneself out of this trap.</p> <p>My own recovery to mental equilibrium began when I stopped watching broadcast television in my highschool years. It wasn&rsquo;t some principled decision, I just grew sick of the commercials. And it was just a terrible delivery medium for entertainment anyway, where there was no control over what came through other than to change the channel. At that time, I was also an avid consumer of video game entertainment, mass media news sites such as cnn.com, popsci.com as well as other <a href="https://infogalactic.com/info/Reddit">normie outlets</a>, and of commercial non-free computer software.</p> <p>A year later, I had started using adblockers on my browsers. Gootube and other sites suddenly became so much more spartan. I was better able to focus on what was being read and explored without autoplay garbage and interactive prompts getting in the way. I&rsquo;d also made maneuvers to part ways with the early social sites that the public had only just begun to flirt with. Which was easy for me to do since I made little use of them to begin with.</p> <p>Some sour experiences lead me to drop REEddit and the news of Snowden&rsquo;s leaks had me migrating away from mainstream sites, engines, and other tech as I describe in my <a href="https://wrongthink.link/posts/my-own-journey-free-technology">parallel journey of technological awakening</a>. My hatred of all things advertising compelled me to ditch any clothing that bore branded logos. And, certainly by then, my trust in anything corporate news plummeted, though not being lofty to begin with. I had at least seen what manipulations Faux News had been able to exert on my family members.</p> <p>I&rsquo;d become more selective about what documentaries I watched and, in the process, came across works such as <a href="https://www.corbettreport.com/how-big-oil-conquered-the-world/">How Big Oil Conquered the World</a> and Loose Change 9/11. I found myself actually taking the time to explore things more critically. I also deemphasized video and got more into reading, picking up books including; Manufacturing Consent: The Political Economy Of The Mass Media, George Orwell&rsquo;s 1984, Four Arguments for the Elimination of Television, and some science fiction series.</p> <p>By the time the scamdemic rolled around, I was already far outside the mass media bubble. I had only heard about its events through proxy and overhearing conversations. I naively thought it would be just another normie media health scare that would pass in a matter of weeks. The voices and communities I was already engaging had largely already migrated away from centralized platforms so I didn&rsquo;t even notice the onslaught of bannings so many voices experienced so early amidst that hysteria. To my clean baseline perspective, it looked so bizarre to see people robotically reanacting &ldquo;social distancing&rdquo; platitudes all at once.</p> <p>I had done such an effective job at cleansing media propaganda from my mental space that it has truly been, and continues to be, an experience akin to looking into a zoo exhibit from the outside. Like a space alien observing the antics of the dominant bipedal ape species of Earth. And that is the point one should strive for. To be able to look on with little stake in the ongoings of a demonstrably insane world. Make sure that your thoughts can operate in an enclave secure from the wailing of outside scaremongering and unattached, to the extent possible, from your own biases. The truth can be uncomfortable. And you can only realize certain truths once you become comfortable exploring the uncomfortable.</p> Your ISP Modem-router Is Hostile Territory https://wrongthink.link/posts/your-isp-modem-router-is-hostile/ Tue, 09 Aug 2022 17:03:42 -0400 https://wrongthink.link/posts/your-isp-modem-router-is-hostile/ <p>Even though most ISPs supply a &ldquo;<a href="https://www.techspot.com/community/topics/isps-continue-to-charge-unfair-router-rental-fees-potentially-breaking-us-laws.274274/">free</a>&rdquo; router, they should always be considered as external infrastructure not to be trusted. The line of demarcation in one&rsquo;s local network should end at a device which is completely owned and controlled by oneself. There is just too much opportunity for underhanded abuse of the remotely managed ISP router-modem. And it certainly doesn&rsquo;t help that many providers whitelist a strict set of approved third party devices for direct lease, if at all.</p> <p>Providers are all too willing to change settings remotely and the settings exposed to end users are often inadequate. They also have a hard on for imposing firmware when it suits some new antifeature, like removing the local web administration functionality and <a href="https://amazingdiy.wordpress.com/2011/06/06/zxdsl-931wii-hacking/">moving it to their centrally managed cloud web panel</a>. Or to use &ldquo;your&rdquo; router to <a href="https://www.maketecheasier.com/use-router-as-hotspot/">supply wifi coverage to anyone</a> out on the street, without your knowledge. Have fun trying to disable that malfeature. And, once they&rsquo;ve decided that the router has been milked for all it&rsquo;s worth, providers can <a href="https://community.netgear.com/t5/Cable-Modems-Routers/ISP-refuses-to-update-frimware/td-p/2131367">refuse ever updating it again</a> leaving the average user with no recourse but to obtain a new model.</p> <p>All this in addition to the horrendous track record that SOHO router manufactures have in privacy and security. Some have been caught <a href="https://www.computerworld.com/article/3194843/asus-router-warnings-on-privacy-and-security.html">forwarding router traffic to partner organizations</a>. Some exposed <a href="https://sekurak.pl/tp-link-httptftp-backdoor/">WAN exploitable backdoors</a>. Many have been found with backdoor functionality implemented in such a way as to suggest plausible deniability <a href="https://cybernews.com/security/walmart-exclusive-routers-others-made-in-china-contain-backdoors-to-control-devices/">[1]</a> <a href="https://github.com/elvanderb/TCP-32764">[2]</a>. So even if an off the shelf router is still receiving updates, it cannot be assumed that the manufacturer themselves are acting in good faith.</p> <p>Instead of staying on the hamster wheel, one should consider replacing the hostile equipment if possible. And if not, set it up in &ldquo;bridge mode&rdquo; or &ldquo;modem mode&rdquo; over to a trusted, user controlled router at the edge of the LAN. Consider placing the remaining ISP equipment inside a farady bag. Disable and opt out of as many antifeatures as you can on the provider&rsquo;s modem-router and make sure the only attached device is your own router. It is not difficult to find a superior replacement.</p> <p>Some possible options include:</p> <ul> <li>LibreCMC - a fully free derivative of OpenWRT which is <a href="https://librecmc.org/fossil/librecmc/wiki?name=Supported_Hardware">compatible with a few SOHO routers</a>.</li> <li>OpenWRT - a derivative of DD-WRT which rejects proprietary device drivers, <a href="https://openwrt.org/toh/start">compatible with several models</a>.</li> <li>DD-WRT - an open source effort that makes proprietary concessions to support the <a href="https://dd-wrt.com/support/router-database/">widest array of devices</a>.</li> <li>Roll your own with <a href="https://www.pfsense.org/">PfSense</a>, perfect for installing to old desktops. Just get a fast ethernet expansion card.</li> </ul> <p>Or something with any of the above preinstalled. The default configurations tend to be reasonable but could benefit from some customized DNS and firewalling rules. These options won&rsquo;t stop your provider from intercepting traffic, but at least it denies them and others direct access to the heart of your local network.</p> The Last Time I Used Reddit https://wrongthink.link/posts/the-last-time-i-used-reddit/ Mon, 08 Aug 2022 15:30:53 -0400 https://wrongthink.link/posts/the-last-time-i-used-reddit/ <p>The last time I ever used reddit was to truthbomb r/linuxmasterrace with scathing comics I made in GIMP. At first it was all well received, but as I dug deeper with the anti-proprietary messaging, the fence sitters and resident proprietary authoritarians quickly grew to resent my u/EnjoyYourCensorship puppet. It was several years ago now and I forget if they kicked me (<a href="https://hozon.site/archive/1659991073/www.healthline.com/health/womens-health/loose-vagina.html">Redditors</a> so probably) or if I just burned the account. The *masterrace groups tend to harbor the biggest hypocrites but that doesn&rsquo;t mean there weren&rsquo;t some cool folks along the way.</p> <p><img src="https://wrongthink.link/EnjoyYourCensorship-a-legend.png" alt="EnjoyYourCensorship &hellip; a legend"> <img src="https://wrongthink.link/EnjoyYourCensorship-hated.png" alt="EnjoyYourCensorship &hellip; hated"> <img src="https://wrongthink.link/EnjoyYourCensorship-interesting-PM.png" alt="EnjoyYourCensorship interesting PM"> <img src="https://wrongthink.link/EnjoyYourCensorship-beginning-to-get-through.png" alt="EnjoyYourCensorship &hellip; beggining to get through"></p> <h2 id="the-run-of-comics-archived-here">The run of comics archived here:</h2> <ul> <li><a href="https://wrongthink.link/Conflictions-of-Privacy.png">Conflictions of Privacy</a></li> <li><a href="https://wrongthink.link/Divine-Intervention.png">Divine Intervention</a></li> <li><a href="https://wrongthink.link/Good-Housekeeping.png">Good Housekeeping</a></li> <li><a href="https://wrongthink.link/I'll-explain-this-spectacular-operation-only-once.png">I&rsquo;ll explain this spectacular operation only once</a></li> <li><a href="https://wrongthink.link/I'll-Start-My-Diet-Tomorrow-I-Swear.png">I&rsquo;ll Start My Diet Tomorrow I Swear</a></li> <li><a href="https://wrongthink.link/I-Tried-Linux-Once-Starter-Pack-Dumbed-Down-For-Plebbit.png">I Tried Linux Once Starter Pack (Dumbed down for Plebbit)</a></li> <li><a href="https://wrongthink.link/May-I-Have-More-MS.png">May I Have More? (Microsoft version)</a></li> <li><a href="https://wrongthink.link/Once-we-accept-our-limits,-we-go-beyond-them.png">Once we accept our limits, we go beyond them</a></li> <li><a href="https://wrongthink.link/Painless-operating-system-installation.png">Painless operating system installation</a></li> <li><a href="https://wrongthink.link/Software-Zoos.png">Software Zoos</a></li> <li><a href="https://wrongthink.link/Software-Zoos-Followup.png">Software Zoos (Followup)</a></li> <li><a href="https://wrongthink.link/That-Boy-Aint-Right.png">That Boy Ain&rsquo;t Right</a></li> <li><a href="https://wrongthink.link/Why-Not-Linux.png">Why Not Linux?</a></li> </ul> <p>I would go back to turn up the heat again but I don&rsquo;t think I could stomach using contemporary REEddit. That doesn&rsquo;t mean that I&rsquo;m no longer doing my dirty work. Maybe in a few years I can share the highlights from some of my current stakeouts.</p> Visualizing Dependencies https://wrongthink.link/posts/visualizing-dependencies/ Sun, 07 Aug 2022 14:56:25 -0400 https://wrongthink.link/posts/visualizing-dependencies/ <p>To better visualize how middleware can lock projects to specific platforms, one can generally create a flowchart of supported targets. A very prominent example being 3D rendering APIs and the battle that has been playing out to capture developer share. When looking at the following graph, ask yourself which starting point (red nodes) is going to offer the widest interoperability.</p> <figure><img src="https://wrongthink.link/dependencies.png" alt="Dependency chart"> </figure> <p>Any developer building their project atop DirectX or any DirectX reliant tools is effectively placing their software on a ball and chain to Window$. Even if the source code is available, the project would largely need to be rewritten or substantially modified in order to port it properly to other platforms. That is <a href="https://infogalactic.com/info/Technical_debt">one of the goals</a> of vendors who artificially restrict their APIs to certain platforms. I&rsquo;ve seen it occur on a number of occasions, especially following Steam&rsquo;s expansion into Linux, where a game developer pledges to support Mac and Linuxes but ultimately burns out trying to support builds on different APIs and ends up scrapping the effort. It is this developer <a href="https://infogalactic.com/info/Escalation_of_commitment">tax</a> which makes the exclusionary strategy so effective for monopolizing platforms.</p> <p>And note how CrApple has completely avoided compatibility with open and industry standardized Khronos APIs Vulkan and OpenGL. They liked what Macrosuck did with their DirectX strategy so much that they decided to replicate it when they devised the Metal API. <a href="https://github.com/KhronosGroup/MoltenVK">MoltenVK</a> bridges this gap but it was made through no effort of CrApple. Gotta make sure those 3D programs don&rsquo;t get freely built for your competitors&hellip; OpenGL techincally still works on Mac OS and iOS but <a href="https://www.anandtech.com/show/12894/apple-deprecates-opengl-across-all-oses">it has been left to rot</a> intentionally to keep development away from this interoperable solution.</p> Why Software Freedom Advocates Can Seem Obnoxious At Times https://wrongthink.link/posts/why-software-freedom-advocates-obnoxious/ Sat, 06 Aug 2022 12:18:22 -0400 https://wrongthink.link/posts/why-software-freedom-advocates-obnoxious/ <p>It&rsquo;s happened just about everywhere. That guy who wants to interject for a moment, or those who attempt to put down any suggestion of your favorite software. It is a behavior not unique to free software proponents as this kind of chronic interposition is a product of <em>anyone</em> passionate about a topic they believe to be of high consequence. If you want the tl;dr then it is this: Malware affects others, even those who don&rsquo;t use it.</p> <p>The objection is similar to the rationale behind non-smoking sections. Others do not wish to be forced to smoke along with you. But if you use proprietary software, how is that forcing others in any way? Most directly is by friends or family who expect one to share or recieve media, join video chat sessions, or generally communicate online in any meaningful capacity through restrictive programs. They most often select solutions which deliberately force all parties involved to use one specific proprietary client. Such clients often only run on select proprietary operating systems. The message implicitly becomes &ldquo;Use X if you want to be allowed to participate&rdquo;, whether they know it or not.</p> <p>Through the inertia that this creates, as a given <a href="https://www.fsfla.org/ikiwiki/anuncio/2023-03-TRApps">crapware becomes more widely adopted</a>, institutions begin to implement such restricted software as their primary (or only!) means of interaction. What happens once a certain technology ceases to be optional? In 2020 it became impossible in certain states to obtain or renew drivers licensing without running non-free software. Schools began imposing restrictive proprietary video chat clients as a requirement to participate. They forced students to <a href="https://www.eff.org/deeplinks/2020/08/proctoring-apps-subject-students-unnecessary-surveillance">infect their personal devices with spyware</a>. In certain countries it even became impossible to enter stores and other public spaces without a smartphone. In come cases, citizens were even <a href="https://www.bitchute.com/video/uL626tGYAbj9/">denied entry into their home country simply because they didn&rsquo;t have a state-imposed phone application</a>. Welcome to the world that you have built, proprietary software enthusiasts. Are you enjoying it?</p> <p>The digital second-hand smoke also includes data collection. If you share a network with anyone running a Windows device, metrics about your network topology and available SSIDs are being <a href="https://www.ghacks.net/2017/04/06/windows-10-full-and-basic-telemetry-data-collection-information/">gathered and sent to Macrosuck</a>. Any conversations you hold around shartphones and personal assistants get catalogued. Email you send to Goolag gfail users (so basically everyone you know) is profiled and datamined. The same population who embraced a militant psychosis over not spreading perceived pathogens to others around them surely don&rsquo;t seem to give a shit about the digital cancer they are subjecting others around them to.</p> <p><strong>Q1 2025:</strong> The age of machine learning is ushering in yet new forms of digital &lsquo;second-hand smoke&rsquo; with automated profiling. <a href="https://arstechnica.com/security/2025/04/microsoft-is-putting-privacy-endangering-recall-back-into-windows-11/">ArsTechnicha makes a succinct observation</a>:</p> <blockquote> <p>even if User A never opts in to [Windows] Recall, they have no control over the setting on the machines of Users B through Z. That means anything User A sends them will be screenshotted, processed with optical character recognition and Copilot AI, and then stored in an indexed database on the other users’ devices. That would indiscriminately hoover up all kinds of User A&rsquo;s sensitive material</p> </blockquote> <p>Which leads into the long term effects felt by everyone. &ldquo;So what if my data gets collected?&rdquo; they might say, although it does affect you eventually&hellip; for example, when institutions begin modeling how populations will respond to draconian measures. Proprietary systems designed to catalogue your every action help to construct apparatus such as <a href="https://www.corbettreport.com/how-the-government-predicts-the-future-inside-the-sentient-world-simulation/">world similuation predictive models</a>. It is an incredible power to have, to be able to know the thoughts of all individuals at all times, and to be able to craft narratives around that with immaculate precision. <a href="https://yewtu.be/watch?v=tIclPS1zwak">Rob Braxman summarizes the issue</a>:</p> <blockquote> <p>I&rsquo;ve heard my own relatives say that people don&rsquo;t mind that big tech can capture their thoughts because &ldquo;it means that big tech can suggest what products to buy&rdquo;. <em>Surprisingly naive</em> because big tech can also tell you what to think. Big tech can change society. Big tech can dictate what political views are seen and what are hidden.</p> </blockquote> <p>The opinion molding class loves when you use proprietary surveillance platforms. Monopolists love when you become their deputized brand ambassadors, bullying your friends and family into using their products. One of the best ways to control populations, in macro, and individuals, in micro, is to get them hooked on technology which can control what they can or cannot do. Hooked into networks which control what they can or cannot see. Technocrats want for those who refuse participation in centralized proprietary slave tech to succumb to the harrassment and outcasting perpetuated by <a href="https://archive.ph/Hk8C4">those who blindly obey</a>.</p> <p>So it should come as no surprise that some individuals advocating for the avoidance of proprietary traps can come across as obnoxious. They are fighting for their own freedom and for the freedom of others. They correctly recognize that they do not want to live in a totalitarian society enforced by digital mediators standing in the way of life itself. They will understandably get a bit loud at times and so consider that this might be why your suggestion to use $BIGTECH software got attacked so vehemently by those irritating software freedom advocates.</p> Advertising is a Cancer on Society https://wrongthink.link/posts/advertising-cancer-on-society/ Fri, 05 Aug 2022 14:57:08 -0400 https://wrongthink.link/posts/advertising-cancer-on-society/ <p>Advertisements are an adversarial affair. They seek to assault the minds of target populations and inculcate anxieties over what one <em>might not</em> have. Promotion of business has almost always existed in society, <a href="https://www.thevintagenews.com/2019/03/05/oldest-advert-in-history/">in some form</a>, but it wasn&rsquo;t until recent history that marketers were able to latch onto the coattails of printed media and later electronic media. It was those developments which spurred the monstrosity that today seeks to disrupt lives and even human thought itself.</p> <p>The fact that titles such as &ldquo;brand ambassadors&rdquo; or &ldquo;influencers&rdquo; exists is a symptom of a parasitic force on society. Monopolists are not satisfied with just regulatory capture, they also want to capture ones own thought. They want to curate what people think about and the known ways to approach problems. And where they cannot succeed at <em>influencing</em> their way into people&rsquo;s minds, they seek to <em>force</em> their way in.</p> <p><img src="https://wrongthink.link/marketing-psychopathy.png" alt="The level of psychopathy in marketing"></p> <p>This strategy is a bit like the <a href="https://infogalactic.com/info/Rent-seeking">rent-seeking</a> of contrived subscription extortion. The goal is to get in your way somehow, usually by holding hostage something of desire, and then demanding your responsive action to advance beyond the barrier. Normsheep think they are &ldquo;skipping&rdquo; the ad when their javascript-ridden GooTube player mercifully allows them to click a button to stop an auto-playing ad. But by playing for any duration at all it has already succeeded in exposing their mind to the desired concept. As I explain in <a href="https://wrongthink.link/posts/advertising-should-now-be-relic-of-past">Advertising Should Now Be a Relic of The Past</a>, they don&rsquo;t need the viewer to actually <em>like</em> what they&rsquo;re seeing or even to be consciously paying attention to it, they just need the message to get into the viewer&rsquo;s conciousness.</p> <p>In the age of interactive media where everything is becoming computerized with pervasive connectivity, anticipate that ads will become increasingly overtly in-your-face. They won&rsquo;t just be a sound byte or displayed on a screen somewhere. They will be <a href="https://wrongthink.link/posts/human-life-siphoned-create-markets">lived experiences</a>, they will be your employer, they will be your friend (or <a href="https://infogalactic.com/info/Intelligent_personal_assistant">become your friend</a>), they will be toll collectors blocking your passage to a destination. If the advertising industry can parasitize an aspect of everyday life, they will.</p> <p>We are dealing with an industry measuring in the hundred billions that doesn&rsquo;t produce anything of value nor does it improve livelihood for anybody, rather, it reduces quality of life globally. We can fight it by minimizing as many vectors of entry as possible and by avoiding any electronic means of accomplishing things wherever possible. It is helpful if one has the resolve to achieve freedom from fear, living a self-sufficient life surrounded by friends, or what is known as <em>ataraxia</em> as proposed by <a href="https://infogalactic.com/info/Epicurus">Epicurus</a>. Because pretty soon we will all need an &ldquo;adblock&rdquo; for life itself.</p> Learning Human Languages https://wrongthink.link/posts/learning-human-languages/ Thu, 04 Aug 2022 00:16:34 -0400 https://wrongthink.link/posts/learning-human-languages/ <p>Some may struggle to learn new languages because they take a top-down approach. They jump right into the larger overarching concepts and then anticipate tacking on the building blocks afterward. I am of the mind that one needs to begin with the mundane little things before moving on to formulate sentences. A bottom-up approach. It is what has worked for me anyway.</p> <p>A few years ago I spent up to an hour each day while on break studying Japanese, beginning with the written characters and pronunciation and moving on through basic vocabulary and grammar. In the span of several months I had reached a basic transactional level in spoken comprehension and enough in reading signage (non-kanji) to be able to navigate comfortably. The writing system may be a non-issue depending on your native and target languages but it is the best place to start so you don&rsquo;t end up accruing &ldquo;technical debt&rdquo; that needs to be revisited later on.</p> <p>While there <a href="https://bookclub.japantimes.co.jp/en/book/b497763.html">are a lot</a> of <a href="https://www.fromzero.com/">great materials for learning Japanese</a>, intermediate sentence clauses are not organized into one clean place so I wanted to share my own quick-reference for any other aspiring learners of the language. My idea was to place like and opposite structures adjacent one another, which for some reason a lot of resources seem not to do. This assumes one already knows basic どうし and い/な けいようし conjugation.</p> <p><span style="color:gold;">Sentence enders</span> :</p> <p>~てもいいです may do<br> ~なくてもいいです don&rsquo;t have to do</p> <p>~なければなりません must do<br> ~なければいけません must do<br> ~なくてはいけません must do (lit. must not go without doing)<br> ~てはいけません must <strong>not</strong> do</p> <p>~てよかったです glad I had done/it was so<br> ~ばよかったです wish I had done</p> <p>~ほがいいです would be good to (advice)<br> ~たらどうですか why don&rsquo;t you&hellip; (strong advice)</p> <p>~てほしいです want you to<br> ~ないでほしいです don&rsquo;t want you to </p> <p>~そうです it seems (drop the い/な in adj.)<br> ~なさそうです it does not seem (drop the い/な in adj.)a</p> <p>~でしょう it is probably so<br> ~かもしれません it is probably so</p> <p>~てくれてありがとう thanks for doing<br> ~てすみませんでした sorry for doing<br> ~てくれてください please do for me<br> ~てもらいました was done (by someone else) for me</p> <p><span style="color:gold;">Sentence connectors</span> :</p> <p><del>のために</del> in order to/to the benefit of<br> <del>のせいで</del> by the fault of</p> <p><del>x ながら</del> while doing x<br> <del>x あいだに y</del> y took place during x</p> <p><del>たら、x</del> if, then x<br> <del>x のに</del> even though x, despite x&hellip;<br> <del>かどうか</del> whether or not<br> <del>ようになる</del> became able to do<br> <del>によると</del> according to<br> <del>おかげで</del> thanks to</p> <p><span style="color:gold;">Sentence openers</span> :</p> <p>ところで、 by the way,<br> しかし、 however,<br> たとえば、 for example,<br> たしかに、 certainly,/surely,<br> そういえば、 that reminds me,<br> とにかく、 anyway,<br> とりあえず、 first of all,<br> まずは first of all<br> いつもどりに、 as always, つまり、 in other words, だいたい、   generally,</p> <p>And if <strong>grammar</strong> is the scaffolding holding your sentence formulation together, then <strong>vocabulary</strong> makes up the plates forming the gangways. I found that <a href="https://apps.ankiweb.net/">Anki</a>, as good as it is, was not readily available for ppc64el when I first began learning. So I took it upon myself to write a more portable flashcard program in bash.</p> <image src="https://wrongthink.link/flashcardsh.png" style="width:600px;height:329px;"> <br/> <br/> <p><a href="https://gitler.moe/Wrongthink/flashcard.sh/src/branch/main">flashcard.sh</a> accepts text files with tab-separated list columns for the foreign word, its meaning, and optionally a middle column for its native script, if not studying in romanized characters.</p> <pre tabindex="0"><code>flashcard.sh /path/to/cardset </code></pre><p>After you begin a session, flashcard.sh will iterate through all the cards in the deck, while saving the cards you haven&rsquo;t memorized yet into the next rotation. This continues until all the cards have been memorized. The first column vocabulary is presented alone before revealing its meaning. I recommend deck sizes of only one or two dozen vocabulary that share a common topic. <a href="https://wrongthink.link/exampledeck.tar">Example deck</a>.</p> <p><em>Hopefully, this page can act as what I think can be a decent fast reference for learners who are no longer just starting out</em>.</p> <p>Last updated: June 14, 2024</p> The Alt Media Are Masochists https://wrongthink.link/posts/the-alt-media-are-masochists/ Wed, 03 Aug 2022 12:41:16 -0400 https://wrongthink.link/posts/the-alt-media-are-masochists/ <p>It has been amusing to watch, from a safe distance, the progressive stasi and the neoboomers clash over control of information flow on the web. It has almost always ended with the Qoomers getting kicked to the curb as institutions pick their favorite side. One would think that they would examine the situation and conclude that it is time to build their own infrastructure with blackjack and hookers. But instead they consistently run back into the arms of their abuser like a desperate lover.</p> <p>Take, for instance, Parler when their choice to run with AWS lead to lots of bawwing when Amazon predictably <a href="https://www.newsweek.com/parler-ceo-says-app-could-go-offline-week-sunday-after-amazon-suspension-1560272">suspended their web hosting</a> on political grounds. They also had mobile applications pulled from walled garden Goolag Play and AppHell App stores. And, like any good subordinate, they went and <a href="https://www.makeuseof.com/parler-iphone-app-store-relaunch/">submitted to all the demands necessary</a> to get back into the controlled thought box. The same thing happened to Gab when their phone drone application was removed, <strong><a href="https://reclaimthenet.org/f-droid-bans-gab-app/">even by F-Droid</a></strong> (How&rsquo;s that &ldquo;free&rdquo; software repository working you for ya?). These moves prompted their founder to go off on a tirade:</p> <blockquote> <p>Come Monday, it&rsquo;s on with Apple. We are done playing games with their double standards. It&rsquo;s about to rain free speech.</p> </blockquote> <p>As though it were possible to bully supranational technocrats into accommodating you on their own turf. Like the others, Gab <a href="https://archive.ph/QW3I8">got in bed with big tech</a> to earn a place eating table scraps. You can never truly be free as long as your adversary continues to also be your landlord. And why are they still using platforms capable of dictating what you can and cannot install?</p> <p>Alt media, particularly those on the right, decry censorship while at the same time salivating at the prospect of being &ldquo;reinstated&rdquo; on tyrannical platforms. And when they return to the cell block, they make sure to <a href="https://wrongthink.link/posts/self-censorship-among-freedom-movement/">self censor</a> so as not to anger their masters again. They can be found using infantalising code words and outright stating &ldquo;We can&rsquo;t talk about that&rdquo;. And yet being allowed back is cause for celebration? Even being unpersoned does not seem to motivate these people to setup their own online spaces.</p> <p>And the safe havens they pick can hardly be called champions of freedom.</p> <table> <thead> <tr> <th>Alt Video Host</th> <th style="text-align:center">Brighteon</th> <th style="text-align:center">Rumble</th> <th style="text-align:center">Bitchute</th> <th style="text-align:center">BrandNewTube</th> <th style="text-align:center">Odyssee</th> </tr> </thead> <tbody> <tr> <td>Censors content</td> <td style="text-align:center"><a href="https://seemorerocks.is/censorship-on-brighteon/"><span style="color:black;background-color:yellow;">Effectively</span> </a></td> <td style="text-align:center"><a href="https://cdn.frankspeech.com/SocialMediaCensorshipOnRumber/mp4/SocialMediaCensorshipOnRumber_audio.mp3"><span style="color:black;background-color:yellow;">Effectively</span> </a></td> <td style="text-align:center"><a href="https://cairnsnews.org/2022/02/14/here-we-go-again-bitchute-joins-the-infamous-censorship-of-facebook-and-youtube/"><span style="color:black;background-color:red;">Yes</span> </a></td> <td style="text-align:center"><a href="https://archive.ph/zZTes"><span style="color:black;background-color:red;">Yes</span> </a></td> <td style="text-align:center"><a href="https://odysee.com/@OdyseeHelp:b/Community-Guidelines:c"><span style="color:black;background-color:yellow;">Effectively</span> </a></td> </tr> <tr> <td>Uses Cuckflare</td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:green;">No</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:green;">No</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> </tr> <tr> <td>Requires javascript</td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:green;">No</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> </tr> <tr> <td>Centralized</td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:yellow;">Effectively</span> </td> </tr> <tr> <td>Big tech 3rd party resources</td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> <td style="text-align:center"><span style="color:black;background-color:red;">Yes</span> </td> </tr> </tbody> </table> <p>Often the platforms they deem as saviors will even turn against their own kind the <a href="https://newsone.com/4275035/black-conservative-jon-miller-banned-from-gettr-for-n-word-use/">moment anything &ldquo;offensive&rdquo; arises on a &ldquo;free speech&rdquo; platform like Gettr</a>. AuthRight pleaser Truth Social has <a href="https://www.businessinsider.com/truth-social-is-shadow-banning-posts-despite-promise-of-free-speech-2022-8?op=1">also demonstrated such double standards</a>. How many times are Alt/Lib-Right going to need to experience getting bitch slapped before they realize that the only way to self sovereignty on the web is through <a href="https://blog.alexgleason.me/run-your-own-server/">self hosting</a>, decentralization and libre technologies?</p> VPNs are Misunderstood by Many https://wrongthink.link/posts/vpns-misunderstood-by-many/ Tue, 02 Aug 2022 12:21:39 -0400 https://wrongthink.link/posts/vpns-misunderstood-by-many/ <p>VPN services are being shilled everywhere, on privacy sites, in just about every techtuber channel and by the masses on forums. It <a href="https://archive.ph/eGUpZ">has gotten so loud</a> that even the boomers in my life are openly inquiring whether a VPN is worth their effort. I think it often gets missed that VPNs are just a tool which can in only bring benefit in some applicable situations. It seems that those who have just begun exploring internet privacy and security treat VPN services as a magical cloak, and when your only tool is a hammer then every problem looks like a nail.</p> <p>It doesn&rsquo;t matter what the marketing says (In fact, <em>never</em> listen to marketing), VPNs only address two aspects of your online signature:</p> <ol> <li>Conceal your WAN IP address from the destination servers or peers.</li> <li>Obfuscate traffic from network observers such as your ISP or other devices on the LAN.</li> </ol> <p>One is essentially only rotating ISPs through the use of VPNs. When you connect over one, you are only shifting the trust over from your real ISP to the VPN service. And that&rsquo;s the thing; its model is <a href="https://blogs.bu.edu/tylercaz/2021/03/17/trust-and-trustless-systems/">trusted, not trustless</a>. VPN services can only ever be used for privacy, but never anonymity. It doesn&rsquo;t matter if you&rsquo;ve paid in privacy coin or use a free service, they still see you connecting from your real WAN IP address. Anyone seeking anonymity should consider something like <a href="https://www.torproject.org/">Tor</a> or <a href="https://i2pd.website">I2P</a> instead.</p> <p>While this limits the scope of useful applications, that is not to say that VPNs are useless either. They are a perfectly valid means of:</p> <ul> <li>Circumnavigating geographical IP blockades.</li> <li>Accessing sites which have blocked your real IP address.</li> <li>Concealing file sharing activity from ISPs subject to tyrannical copywrong jurisdiction.</li> <li>Interacting with P2P peers who may abuse knowledge of your real IP address.</li> <li>Protecting traffic while on potentially hostile (W)LANs.</li> </ul> <p>It may be inadvisable to constantly remain on a VPN connection. Giving your holistic fingerprint of network activity over to some exit point can serve to correlate it with where it appears elsewhere. I would recommend shutting down any email or IM clients and logging out of any web services before enabling a host-wide VPN to conduct any of the above activities. Or use <a href="https://github.com/slingamn/namespaced-openvpn">application isolated VPN routing</a>. And consider only using the VPN connection for the duration of the necessary activity. If you have any networked applications that you want to conceal 24/7 it is much better to Torrify them through socks proxy.</p> <p>Contrary to popular belief, VPNs do not make you anonymous. They do not make you untracable. Use appropriately and be realistic about the use cases before diving in to sign up for the flashiest, slickest marketed, hardest shilled, hot new VPN service.</p> What I Learned From Running Minecraft and Minetest Servers https://wrongthink.link/posts/what-i-learned-running-servers/ Mon, 01 Aug 2022 15:51:58 -0400 https://wrongthink.link/posts/what-i-learned-running-servers/ <p>Starting in 2010, I began running my own Minecraft servers haphazardly until about 2015. Between 2015 and 2018, I also dabbled in hosting Minetest servers. It imparted some insights about people as well as the technicalities of running such a service. Things may be different now but I wanted to share some findings. These are in no particular order.</p> <h2 id="1-dont-waste-your-time-vetting-players">1. Don&rsquo;t waste your time vetting players</h2> <p>If you put new users through some kind of purity test, it is only going to bottleneck active user growth. Reserve whitelists only for those instances intended for your IRL friend group. If the security model of your server world is so inadequate that you have to <em>trust</em> people not to be malicious, then you really need to reexamine your protection measures. At least borrow this bit of philosophy from the software development field: Always assume that the user is an idiot. And then build around that.</p> <h2 id="2-expect-players-from-everywhere">2. Expect players from <em>everywhere</em></h2> <p>Open servers will see connections from many different countries. Some players do not view &gt;200ms ping as any sort of impediment. You may think &ldquo;Great, I&rsquo;ll just <a href="https://apertium.org/">machine translate</a> the guide book into Spanish as well&rdquo; and before you know it, players will be asking questions in languages you have no capacity to understand. A substantial Malaysian population accrued on one of my Minetest servers, so I even went the extra mile and tried to learn some very rudimentary Malay. It was not a casual endeavor so I had to give up and resign myself to the fact that the server world would have these isolated communities behind a language barrier.</p> <h2 id="3-dont-waste-your-time-creating-an-elaborate-spawn-town">3. Don&rsquo;t waste your time creating an elaborate spawn town</h2> <p>Players seldom visit spawn and they pretty much never read the rules. Just place some basic amenities and some signage pointing to areas of interest. Literally just a basic shack will even suffice.</p> <h2 id="4-never-base-the-economy-on-any-non-scarce-material">4. Never base the economy on any non-scarce material</h2> <p>I once set up a world bank that would take gold in exchange for credits, the standard currency. I felt like giving newer players a fair chance as well by allowing players to receive a very small sum of credits in exchange for beans and soups. We ended up with players who produced and deposited absurd amounts of beans and inflated the entire economy. Actually, this might be a good way to introduce people to <a href="https://infogalactic.com/info/Austrian_Economics">Austrian economics</a>.</p> <h2 id="5-never-start-any-big-projects-with-anyone-but-yourself">5. Never start any big projects with anyone but yourself</h2> <p>Others <em>will</em> always lose interest and move on to something else halfway through your collaboration. It doesn&rsquo;t matter how grand or how modest the scale. People generally have the attention span of a goldfish.</p> <h2 id="6-be-prepared-to-clean-up-the-following-things">6. Be prepared to clean up the following things</h2> <p>Have administrative tools ready to remove the inevitable defacements; dirt/cobblestone towers, water &amp; lava griefs, giant cobblestone swastikas, giant cobblestone penises, mesecon/redstone &ldquo;lag machines&rdquo; &amp; &ldquo;noise machines&rdquo;, obsidian blockades and arson. Don&rsquo;t delude yourself into expecting to do so by hand.</p> <h2 id="7-treat-it-like-an-ant-farm">7. Treat it like an ant farm</h2> <p>Don&rsquo;t try to control what anyone can or cannot do, don&rsquo;t intervene in anything other than outright defacement. Check in from time to time to see the progress your visitors have made but <a href="https://infogalactic.com/info/The_Prime_Directive">don&rsquo;t let yourself become involved</a>.</p> <h2 id="8-maintain-a-normal-player-account-secretly-in-separation-from-your-admin-account">8. Maintain a &ldquo;normal&rdquo; player account secretly in separation from your admin account</h2> <p>Don&rsquo;t allow players to ever make an association between your privileged account and normal account. This will help to dodge all those needy Dutch/Spanish/Tagalog speakers that always want something from you for some goddamn reason.</p> <h2 id="9-phone-drones">9. Phone drones</h2> <p>Minetest <a href="https://crossplaygames.com/games/minetest">allows mobile users to play on the same servers</a> as everyone else, which is good in theory. They will complain about the mods being too strenuous to participate (as if expecting you to turn around and say <em>&ldquo;Oh, let me fix that right up for you! Right away sir!&rdquo;</em>). That&rsquo;s <em>their</em> problem. Their builds generally suck anyway.</p> <p>I sometimes think about spinning up another Minetest server. But then I remember all the litterbox shoveling it entails. Maybe if I can automate all the routine upkeep. Or maybe just give them an anarchy map and say &ldquo;Here you go guys, the map resets itself every two weeks. Enjoy.&rdquo;</p> My Own Journey to Free Technology https://wrongthink.link/posts/my-own-journey-free-technology/ Sun, 31 Jul 2022 12:24:44 -0400 https://wrongthink.link/posts/my-own-journey-free-technology/ <p>Despite the staunch views I now hold, I have not always been immersed in libre technology. In fact, I grew up in a family with IT roots under parents and grandparents who worked, in some capacity, in tech. The home of course was placed entirely on Macrosuck products which, in the course of this journey, I had to work to break away from. And perhaps that is why today I have such an intense perception to platform lock-in. <em>WARNING: Long post ahead</em>.</p> <h1 id="1993-1995">1993-1995</h1> <p>The earliest system I remember using was some MS-DOS (don&rsquo;t ping me for details, I was literally a toddler) Dell media center desktop. It had the first text to speech synthesis I&rsquo;d ever encountered, some flip book animation program, and a couple of games. I would later research to discover these games were Cosmo&rsquo;s Cosmic Adventure and some other <a href="https://infogalactic.com/info/Apogee_Software,_Ltd.">Apogee Software</a> titles. And, being a DOS system, that Dell provided me my first contact with any command line interface.</p> <h1 id="1995-2002">1995-2002</h1> <p>Later we had gotten a family desktop running Windows 95 (or 98, again, I was just a kid) as our first internet connected machine running over dialup. Around that time I began experimenting with writing &ldquo;books&rdquo; in Office and tried, while failing miserably, at creating animations in Dreamweaver. I didn&rsquo;t actually use the internet much except for Starcraft battlenet. Among the other games were Lego Island, which is now something of a <a href="https://yewtu.be/watch?v=YbtGWRyJ7OI">cherished relic in PC gaming</a>.</p> <h1 id="2002-2009">2002-2009</h1> <p>That desktop was eventually retired in favor of a Windows XP laptop, but by then I had gotten my own personal Dell Dimension series desktop. That was the first place I began digging around in the internals such as replacing the mouse cursor with an animated cursor (I templated it from the racoon character in the Gameboy title Links Awakening) and system sounds. Issues with games drove me to do my first operating system reinstallation and driver setup, from disks. Years later I ended up installing a graphics card, a new hard drive, additional memory, and a wireless adapter. It was then that I realized it is even possible to <em>build</em> a computer entirely from individual components.</p> <p>But before I had any chance to explore computer building, I brushed paths with Linux. There was a Popular Mechanics article around 2003 or 2004 that detailed turning an Xbox into a full PC by installing some distro. I ended up researching what this outlandish &ldquo;Linux&rdquo; thing was only to fall in love with the flexible animated GUI (<a href="http://www.compiz.org/">compiz</a>) videos and people showing off Ubuntu with a rotating desktop cube workspace. Without a second thought, I went ahead and burned an Ubuntu download to a disk and tried to install it on my Dell Dimension. It failed because my BIOS didn&rsquo;t recognize the disk. I also tried installing it on the family laptop only to reach the same issue. In retrospect, my noobish self probably just incorrectly burned the disk as a non-bootable or incorrectly formatted media.</p> <p>So I gave up for a while on pursuing Ubuntu and refocused my effort on finally building my own PC. I drew up some plans around a cube case chassis but never had the money to go through with it until I was old enough to work.</p> <h1 id="2009-2013">2009-2013</h1> <p>It was in 2009/2010 that Minecraft had finally pushed me over the edge. Trying to run such an intensive game on a single core Pentium 4 proved a woeful experience. And when I investigated upgrading the motherboard, I discovered that Dell underhandedly uses their own fastener layouts to prevent standardized motherboard form factors from being installed. That&rsquo;s where I first encountered the term &ldquo;proprietary&rdquo;. So instead, I took up a temp job to save up for parts and, by then, the Intel Core i series had been introduced. I ended up building my dream system consisting of:</p> <ul> <li>Intel Core i7-2600</li> <li>16GB DDR3</li> <li>Nvidia Geforce GTX 560 TI</li> <li>Some cheap Biostar motherboard</li> <li>A 1TB 7200 RPM hard drive</li> </ul> <p>All stuffed into a compact micro ATX case and installed Windows 7. As far as gaming goes, it was a breath of fresh air. I did what any young guy who just built a computer would do and put it through the gamut of <a href="https://infogalactic.com/info/Crysis_(series)">high end games</a>. That year, a movement was beginning to take off in the form of REEddit&rsquo;s r/pcmasterrace. I was keen to hop on the bandwagon immediately and shit all over <em>console peasants</em>. Somebody made an edit to the master race hierarchy meme, placing &ldquo;glorious Linux master race&rdquo; over the king&rsquo;s throne. I didn&rsquo;t understand his criticism at the time. As r/pcmasterrace grew, it became painfully obvious that many there only cared about access to games.</p> <p>PCMR got flooded with members who constantly made exceptions for consoles, especially Nintendo, ignoring the whole point that exclusivity and artifical barrier building is responsible for all the pointless restrictions we were fighting to begin with. I made a breakaway group which maintained a focus on choice and freedom against things like DRM which accrued a paltry following. But that exercize only made clear to me just how few people actually were into PC for the choice and freedom. It had become obvious that PCMR wasn&rsquo;t and couldn&rsquo;t really be my tribe.</p> <p>In the meantime, the Minecraft experience had me finally dive back into Linux to host a server. A friend of mine had donated his old desktop to me, a dual core Pentium D Dell Dimension, which was perfectly capable for a small server of 2-6 players. I took a very brief crash course in <a href="https://wiki.codeemo.com/">MineOS</a> (My appeciation to Wil Dizon &ldquo;Hex Parrot&rdquo;, all these years later) which is where I first cut my teeth in Bash terminal. It gave me a familiarity with SSH remote management, changing and moving files in terminal and setting up <a href="https://wrongthink.link/posts/tragedy-of-the-communications-commons">services such as Mumble</a>. By then there were several spare computers available to me to play around with finally installing Ubuntu on, but I was perturbed by the Unity interface and once again wrote off the idea of running Linux on my main desktop.</p> <h1 id="2013-2015">2013-2015</h1> <p>That first build gave way to a smaller ITX system since small form factors are a favorite of mine. It was built with the intention to use the up and coming Window$ 10 and I had already been using 8.1 for some time. There wasn&rsquo;t much thought of Linux until somebody rather close to me found themselves stuck with a Chromebook, keeping them from participating in games with the rest of my group. I thought &ldquo;simple enough, I&rsquo;ve heard Chromebooks can be freed with &lsquo;Linux Mint&rsquo;&rdquo;, offered to take the laptop and liberate it. An install guide suggested dropping into developer mode after removing a write-protect screw from the motherboard, and overwriting everything with the Linux Mint installer. <a href="http://cinnamon.linuxmint.com">The interface</a> was so intuitive (unlike Ubuntu at the time) that it left a very good impression on me.</p> <p>It was shortly before that Chromebook liberation that Edward Snowden brought the world&rsquo;s attention to the massive spying ring being run by the US and other governments. Already, I was uneasy with the prospect of Window$ 10 introducing a <a href="https://blog.emsisoft.com/en/18770/the-truth-about-windows-10-spying-on-almost-everything-you-do/">cloud assistant</a>, Sky Drive (One Drive) and connected <a href="https://www.anandtech.com/show/9543/the-windows-10-review/16">Microsoft Accounts</a>. In retrospect, I was a fool to even have willingly used 7 or 8. I then committed fully to ridding myself of all things Microsoft, Google and whatever other crap I&rsquo;d been using. But there was a problem: I still had projects tied up in Window$-only software.</p> <p>I had a game project in Unity, which I ended up conceding to the abyss of vendor lock-in. But I also had home movie projects that were tied up with Window$ Movie Maker (XP version) that never rendered out due to Movie Maker&rsquo;s crash prone nature. The rescue consisted of installing <a href="https://archive.org/details/windows-vista-movie-maker-with-dvd-maker">Window$ Vista Movie Maker</a> which was still compatible with XP&rsquo;s .WSWMM format. From there, the projects were saved to a newer format accepted by Window$ Live Movie Maker which could finally render the pieces without crashing. Once that was freed, I could finally install Linux Mint.</p> <p>Linux Mint was still packed with proprietary soyware but my main goal at the time was to maintain as much compatibility as possible with the things I had extricated from Window$. This was during the transition period that AMD had going between <a href="https://www.phoronix.com/review/amdgpu-radeonsi-fglrx">fglrx proprietary graphics drivers to amdgpu open source drivers</a>. I still made sure to keep proprietary wireless firmware, Steam, Minecraft &amp; MCEdit, 7Zip, and even a period of time with other crapware like Goolag Earth since I hadn&rsquo;t yet discovered <a href="https://marble.kde.org/">Marble</a>. My backup scripts, originally written in Batch, needed to be adapted to Bash which taught me a whole lot about the right and wrong ways to do things in shell scripting.</p> <p>Next, I began converting my files into free formats. MP3s became OGG Vorbis, .rtf/.doc(x) turned to .odt, and Minecraft worlds <a href="https://github.com/minetest-tools/mcimport">converted into Minetest worlds</a>. Tools needed replacing; Sony Vegas was replaced with Openshot and Kdenlive, Bandicam replaced with OBS Studio, among others. It forced me to reevaluate how I did everything with computers. And, often, the libre solutions were more minimalistic. A trend which delighted me.</p> <h1 id="2015-2017">2015-2017</h1> <p>Eventually, it became obvious that Linux Mint was too cluttered for me. I didn&rsquo;t want to have to deal with opting out of proprietary defaults. Debian became the clear choice, being upstream, and being possible to install via <em>netinst</em> as a blank slate. And my time at some FOSS conferences made me aware to the issues of proprietary BIOS firmware and the hardware rootkits that were being built into CPUs. So on the systems I had at the time, I was disabling AMD PSP where possible and building up my fleet of pre-ME/PSP boards. I even reached out to an engineering firm who had been doing Coreboot ports and they qouted me $10,000 for one of the Opteron boards I had. A price that was prohibitive which wasn&rsquo;t too much of an issue since that same firm went on to produce <a href="https://raptorcs.com/">their own motherboards</a> a few years later, much more affordably.</p> <p>The system was rebuilt, minimalistically with Debian, around using libre wireless firmware and without proprietary packages outside of firmware-amd-graphics. It served well for two years while I made excellent ground in my security &amp; privacy goals. This was the first time I hadn&rsquo;t really played games as the device took on more the role of a tool than a toy. It is also where I graduated from scripting to programming. I was dipping my toes in writing game mods. I developed a front end suite for orchestrating the monitoring of system security tools. And those older scripts that handled <a href="https://wrongthink.link/posts/hardened-backup-routine">my backups</a> became overengineered in the midst of my enthusiasm.</p> <h1 id="2017-2019">2017-2019</h1> <p>By now, I was using almost entirely self hosted solutions and my dependence on external resources were reduced to a minimum. I finally <em>got</em> the <a href="https://infogalactic.com/info/The_Unix_philosophy">Unix philosophy</a> and building solutions for only one&rsquo;s own needs. The findings and guides that I have been distributing really took off around this time. I cut all things wireless out of my setup. My work in the professional field opened me up to just how great ethernet really is.</p> <h1 id="2019-today">2019-Today</h1> <p>My latest computer was built around one of the motherboards produced by that aforementioned engineering firm. I finally have a system which does not try to manipulate, force or spy on users in any discernable capacity. Something which I trust and, through a long road of experiences, now understand many of the internal components both hardware and software. It&rsquo;s been so successful that I haven&rsquo;t had to even consider any new build since. I think I&rsquo;ve finally found a fitting tribe, and they are <em>not</em> gamers, <em>not</em> enthusiasts of shiney new tech, and <em>not</em> permissive open source updoooters. They are those who can see the dilineation between technological freedom and technocratic tyranny.</p> <p>I was also introduced to the suckless philosophy. And, while I have yet to adapt all my tooling over to suckless solutions, many are now minimalistic <a href="https://infogalactic.com/info/Text-based_user_interface">TUI</a> or command line programs. In fact, losing the display server on my system wouldn&rsquo;t be too much of an impediment, albeit quite inconvenient. In an odd way, I have come full circle all the way back to that kid in the 90s who was just messing around with command line on a minimal, simple desktop. I do wonder how much more advanced my knowledge would be today if only I persisted in trying to get that Ubuntu disc to work 17 years ago, or if Canonical&rsquo;s <a href="https://www.zdnet.com/article/i-hate-unity-i-hate-gnome-i-hate-windows-8-the-ultimate-desktop-search-continues/">Unity desktop</a> hadn&rsquo;t been so repulsive. It&rsquo;s a <a href="https://12bytes.org/articles/tech/from-windows-to-linux/">journey</a> and, if you&rsquo;re anything like my former self, start exploring liberated tech now rather than later.</p> The Lie That Phones are More Secure than Desktops https://wrongthink.link/posts/the-lie-that-phones-more-secure/ Sat, 30 Jul 2022 13:12:02 -0400 https://wrongthink.link/posts/the-lie-that-phones-more-secure/ <p>The Hated One has recently pivoted into doing mobile phone content. I actually respect most of his work, although his recent video <a href="https://www.bitchute.com/video/Wd4Pa03LvLk/">Why phones are more secure than desktops</a> has me wondering if a brain parasite has taken over his mind. He goes on to argue how anyone concerned with privacy and security should be using phones instead of desktops, making some contradictions along the way. I&rsquo;ll try to keep my interjections to a minimum.</p> <blockquote> <p>If you want to maximize your digital privacy and security you should use your phone. &hellip; The modern phone security model allow for a much greater protection of your sensitive data than any desktop offers today. &hellip; Any issue you can criticize a modern phone for is several times worse on a desktop equivalent of it so let&rsquo;s tackle some of these myths real quick.</p> </blockquote> <p>Hmm, interesting. Let&rsquo;s explore some of these <em>myths</em>.</p> <blockquote> <p>You might have heard plenty of times how these mobile devices were designed to track all of our movements and activities and that&rsquo;s all they do but this is a factually wrong assumption because the exact opposite is true. If you believe this notion you probably don&rsquo;t know that android apps have no access to your phone&rsquo;s hardware identifier since android 10. You can revoke background location access or even foreground location access if you haven&rsquo;t noticed any of these ubiquitous ad permissions prompts you see in the pop-up dialogues in your phone all the time are virtually non-existent on any desktop. If you go to your phone&rsquo;s privacy settings you will find plenty of toggles that allow you to harden your security and limit what data apps can access. It&rsquo;s amusing and tragic at the same time how many people suggest linux as a privacy alternative to phones when no such extensive privacy settings exist on pretty much any linux distro. Even windows has implemented more permission toggles and that system is a data collection hub.</p> </blockquote> <p>From this we can glean that he definitely <em>is</em> talking specifically about desktops running Linux. Here&rsquo;s the thing about privacy permission toggles: they only need to exist on platforms which actually collect your data. Since the vast majority of Linux distros don&rsquo;t, there is little reason to present the user with a privacy settings panel. And those who are interested in battening down the hatches will dive into the internals for things like sysctl, custom kernels, mandatory access control and so on.</p> <p>Also, just because individual mobile applications can be cutoff from location data (assuming one can even trust those software toggles) does not mean that the phone itself isn&rsquo;t tracking location in realtime. And good luck preventing that as long as the <a href="https://archive.ph/TeqP9">baseband processor</a> is present. It is disingenuous to claim that phones don&rsquo;t track movement activity. False claim, dubious supporting info. Next.</p> <blockquote> <p>Both android and ios were designed with a thorough threat model in mind. For example android&rsquo;s threat model assumes your device could be stolen or the police might want to unlock it against your consent. To mitigate this threat, android developed a secure keystore implementation that generates and stores your undevised encryption keys in a tamper resistant hardware. This hardware bound key implementation was designed so that it is impossible to extract your cryptographic keys without your lock screen passcode so not even a full kernel exploit or system compromise can access your secret keys. All modern phones are encrypted by default most desktops don&rsquo;t even offer it as an option and those that do have no or limited mitigation against brute force or cold boot attacks. Full disk encryption has been abandoned since android 7 due to its limitation of not being able to protect the encryption keys. There is virtually no protection of your desktop encryption once someone has physical access to it.</p> </blockquote> <p>The Hated One hasn&rsquo;t heard of LUKS? It is available on pretty much all distros and offered at install-time in many. He conveniently switches the focus from &ldquo;Linux desktops&rdquo; to &ldquo;most desktops&rdquo; to make this point. And what happens when somebody has physical access to the phone, like those police in the android threat model? They clone its image and then effectivly gain unlimited unlock attempts at the phone&rsquo;s lock screen passcode. Physical access compromise is not unique to desktops. In fact, it is <em>more likely</em> that a mobile phone will come into the physical possession of an adversary.</p> <blockquote> <p>Modern mobile operating systems implement defense in depth mechanisms that eliminate the ability of malicious software to access your sensitive data much of this is done via exploit mitigation, attack surface reduction and isolation. Isolation and containment is where the differences between desktop and mobile security models are most visible to the end user. For instance when I install a password manager app on my phone I can reasonably assume no other app is going to be able to access this data or log the keystrokes during password prompts. This is ensured with the application sandbox that strictly limits how apps can communicate and share data with each other and the system. If my password manager doesn&rsquo;t allow a certain ipc mechanism no other app can reach it. This straight permission model enforces this consent. If I use the same password manager on my desktop machine, the only defense mechanism I have is the encryption of the password database. It&rsquo;s easy for malicious apps on my desktop to steal my password database and brute force it locally. There is no permission model that would restrict other apps access to my password manager database.</p> </blockquote> <p>He&rsquo;s pretty much insinuating that exploit mitigation, attack surface reduction and isolation are not a thing on Linux, which is also completely false. Attack surface reduction is best achieved by installing only what you need, which is nearly an impossible feat on mobile OSes. Try uninstalling that <a href="https://sensorstechforum.com/unable-uninstall-facebook-samsung-phones/">facebook app</a>. Go on, I&rsquo;ll wait lol. And isolation is one of Linux&rsquo;s fortés with tools like AppArmor, which can be made to <a href="https://www.kicksecure.com/wiki/Apparmor-profile-everything">confine all userspace programs in the same way that mobile OSes</a> do, SELinux (which Android quietly uses for sandboxing, but The Hated One doesn&rsquo;t tell you that) and Firejail. Users seeking even more extreme software isolation can even look to implementations like <a href="https://www.qubes-os.org/">Qubes</a>. Lastly, libre desktop operating systems seldom deploy software which tries to snoop on user input so there historically hasn&rsquo;t been as much need for Linux desktop users to worry about this.</p> <blockquote> <p>Privacy oftentimes balances between anonymity and security and sometimes trade-offs have to be made. For example the most secure way to install apps is through an official app repository. This is due to multiple reasons, mainly because of the app sign-in requirement which makes sure the app is coming from the developer and not an untrusted party. Various repositories have submission checks or a vetting process that eliminates the presence of malicious knockoffs. For instance the problem is that the only way google and apple allow you to use their app stores is after you sign in with a real phone number. At best, this is going to be pseudonymous because it&rsquo;s hard or impossible to obtain an anonymous sim card and phone numbers will always be tied to an approximate location. This allows app stores to collect your app usage data or by the very least your app list which can be used to fingerprint you. On linux, on the other hand, you can also install apps from a repository but you&rsquo;re not required to create an account. This is beneficial because the only identifier left pretty much is your ip address which can be obfuscated with a vpn or tor but that&rsquo;s where the benefits end because linux app stores have no permission manifests and all linux apps you install are immediately granted access to all user data based on your logged in account. So while you can&rsquo;t expect to be anonymous on a stock mobile app store you&rsquo;re at least reasonably secure and private. On a desktop repository you could maintain anonymous to a limited extent but everything else is subject to a huge amount of trust in every single app you install.</p> </blockquote> <p>The video transcription originally had &ldquo;app repository&rdquo; as &ldquo;ad repository&rdquo; which I found rather fitting. So he pretty much admits that mobile software stores are a panopticon but it&rsquo;s somehow okay because &ldquo;at least they&rsquo;re vetted so you can trust them&rdquo;. O rly? <a href="https://www.tomsguide.com/news/malware-hits-10-million-android-users-delete-these-apps-right-now">1</a> <a href="https://arstechnica.com/gadgets/2021/06/even-creepier-covid-tracking-google-silently-pushed-app-to-users-phones/">2</a> <a href="https://techcrunch.com/2021/06/03/tiktok-just-gave-itself-permission-to-collect-biometric-data-on-u-s-users-including-faceprints-and-voiceprints/">3</a> <a href="https://web.archive.org/web/20210418052600/https://www.androidauthority.com/apps-uninstall-trackers-917539/amp/">4</a>. Most distro repositories do have uploader and maintainer guidelines, with signatures made to mitigate against tampering on it&rsquo;s way to the end user. And this whole notion that privacy and security are somehow at odds is complete misdirection. It is often impossible to achieve one without the other.</p> <blockquote> <p>Many zealots in the privacy community, if such a thing even exists, do not make a distinction between services and platforms.</p> </blockquote> <p>Services and platforms are often one in the same. The real distinction is between platforms and protocols, about which <a href="https://wrongthink.link/posts/protocols-not-platforms">I made an entire writeup contrasting the two</a>.</p> <blockquote> <p>Android means a lot of completely unrelated things to a lot of different people but in reality android is just a free and open source mobile operating system. It has no google apps or services, no pre-installed bundles or bloatware it is a very clean and user-friendly operating system that&rsquo;s available for everyone for free. It&rsquo;s important to make this distinction because it&rsquo;s possible to use an android device without any privacy invasive apps and services. The android&rsquo;s model allows for it. Android is private and safe by default. It&rsquo;s best if you can use it without privacy invasive services such as the google play store. This is best achieved on graphene os. But even if you can&rsquo;t use your phone without them, it&rsquo;s not all lost. You should still go through the privacy settings of each of these services and disable all the location you&rsquo;re not comfortable with. What&rsquo;s neat is that that even stock android allows you to create multiple user profiles. You can use these profiles to compartmentalize your online identities and have separate profiles for work, personal life and online banking, for instance. Much of your privacy depends on how you use the tools at your disposal.</p> </blockquote> <p>“Android is great, guys, really but use graphene OS instead” *hand rubbing*. This is admission that he knows he’s peddling bullshit. The stock Android build is pretty much never what you get as an end product. Vendors load their images up with all <a href="https://web.archive.org/web/20190326145122/https://elpais.com/elpais/2019/03/22/inenglish/1553244778_819882.html">kinds of crap</a>.</p> <blockquote> <p>Another common misconception that&rsquo;s extremely damaging, yet too popular, is that iphones are just inherently more private and secure than any and all android phones. But this, again, is not true. There is nothing that iphones do fundamentally differently than android phones when it comes to protecting your private data on your phone. Especially protecting them from third-party data collection. The &ldquo;what happens on your iphone stays in your iphone&rdquo; is a disgustingly misleading campaign. Android protects their data just as well as ios. Where iphones generally trade better security updates, which are important but more and more android vendors are starting to catch up, especially pixel phones, that in many cases beat iphones in hardware security. If you&rsquo;re buying a phone for privacy, pixel phones from google or the latest generation iphones are going to be your best bet. Pixel phones will let you go miles further than iphones if you decide to flash graphene os on them. That way your phone will be significantly protected against even unknown vulnerabilities and zero-day exploits and it will completely anonymize your device. But, other than that, this whole myth that ios is just infinitely more secure or private than android is just a gross lack of understanding of the security models of these systems.</p> </blockquote> <p>I had to recompose myself from a bout of laughter after reading the phone recommendation. “Protected against even unknown vulnerabilities” that’s an interesting hypothesis. “Completely anonymize your device” even though you just admitted it’s a surviellance panopticon in the software repository argument? We don’t get any eloboration on those.</p> <blockquote> <p>Mobile operating systems are constantly improving their security with every new release</p> </blockquote> <p>And desktop distributions aren&rsquo;t?</p> <blockquote> <p>Their ultimate goal is to make individual vulnerabilities impossible to exploit</p> </blockquote> <p>Good luck with that, also their ultimate goal is to track and advertise. Where are you getting this ridiculous delusion?</p> <blockquote> <p>and increase the number of vulnerabilities required to bypass the security model. And, to a large extent, they have already achieved this goal. It usually takes a chain of exploits to hack a mobile device, both with physical access or remote code execution. The market prices for zero day exploits illustrates vividly how much ahead phones are as opposed to desktops.</p> </blockquote> <p><em>Or</em> it just reflects just how many more targets are now using mobile&hellip;</p> <blockquote> <p>Android exploits are currently the most expensive ones followed by ios exploits both costing millions of dollars. Compare that to desktop exploits and you&rsquo;ll immediately see the difference. It&rsquo;s night and day. More privacy shouldn&rsquo;t come at a cost of security. Phones aren&rsquo;t going to be perfectly private out of the box. There is still plenty of room for hardening to do</p> </blockquote> <p>So he&rsquo;s arguing about the theoretical ceiling, not the defaults, making the whole premise even more dubious.</p> <blockquote> <p>but the base features of mobile security are years if not decades ahead of desktop os&rsquo;s. It&rsquo;s easier to take advantage of mobile security while understanding where you need to take steps to safeguard your privacy than blindly trust much more inferior desktop systems that offer no substantial defenses. This channel has an extensive library of videos that will teach you a lot about online privacy, anonymity and security and I will be updating them with new videos that go even further on my patreon page. I dedicate two weekly episodes to discussing these issues even further and going even more in depth with my research. All of my work is free from corporate influence</p> </blockquote> <p>Everything I just read above suggests otherwise.</p> <p>&ldquo;Just get a backdoored scrying mirror to be safe from hackers, bro!&rdquo; I even went back through his videos to check whether he&rsquo;s talked about mandatory access control before, so he cannot claim ignorance. Almost all of The Hated One&rsquo;s videos since this upload have been shilling for phones in some way. Smartphones, in their current form, simply <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/stop-shilling-smarttech-for-privacy/">cannot be taken seriously as a privacy/security platform</a>. His conclusion is basically telling people to get a Goolag phone, which cannot be trusted at the hardware or firmware level, and praying that replacing the OS and applications will somehow fix this. Let me share some insight:</p> <p>The &ldquo;stack&rdquo;:</p> <ul> <li>Programs</li> <li>Operating system</li> <li>Firmware</li> <li>Hardware</li> </ul> <p>Any compromise in the stack below a given component automatically invalidates any trust those resting above might have had. Tell me, which phones are running auditable, open, user controlled hardware and firmware?</p> <p>And, in this mythical threat model, he keeps coming back to privacy and security somehow standing in opposition to one another. This couldn&rsquo;t be further from the truth. Hardening a system is going to unavoidably increase privacy as well. The only other places I see security and privacy being billed as a &ldquo;trade-off&rdquo; are mainstream tech publications and REEddit-tier discussions. Something isn&rsquo;t right here.</p> <p>I can&rsquo;t help feeling that The Hated One has begun falling off and I can no longer confidently point interested learners to his channel out of concern that they encounter such misdirection. Maybe it would be different if the works were presented more honestly like &ldquo;Hey guys, phones are terrible and should be avoided, but <strong>if you absolutely must use one</strong> here are <a href="https://teddit.net/r/privatelife/comments/rohq46/100_foss_smartphone_hardening_nonroot_guide_40/">some bandaid solutions</a> that might make them a little less tyrannical&rdquo;. I speculate whether he might only be pivoting to phones in an effort to increase viewership. Hopefully he comes around on the issue since it would be a shame for one of the stronger voices in privacy and security to become just another big tech shill.</p> Idea Pool and Roadmap https://wrongthink.link/posts/idea-pool-and-roadmap/ Fri, 29 Jul 2022 08:51:29 -0400 https://wrongthink.link/posts/idea-pool-and-roadmap/ <p>I have been working through a backlog of topics that accumulated during a period of downtime starting in 2021. Which is what has facilitated daily postings as of late, but I will eventually exhaust this buffer. Once that happens, I will make an effort to keep sharing original ideas between one to three times a week. This will also help to prevent drowning the older writings out of sight. Looking at my notes, there are roughly two weeks worth of subject matter to catch up on. Just FYI.</p> <p>I also want to share a bit of a roadmap. These are some things I would like to eventually implement:</p> <ul> <li>Contact form</li> <li>Comments</li> <li>A proper webring / web constellation</li> <li>A better tip jar</li> <li>Migration to a proper web host</li> </ul> <p>An email contact would be nice to have but I don&rsquo;t want to put it up in plain text. Maybe it can be one of those cryptic visual links to obfuscate from spam bots. Both a contact form and comments would be very difficult to implement without using some kind of third party resource which I would absolutely detest. A colleague and I are currently exploring the feasibility of different webrings, or even a hyperlinked map of connections between the various peer sites.</p> <p>It is <a href="https://archive.ph/ST1cj">probably unavoidable</a> that Wrongthink will eventually outgrow Neocities. When that time comes, I&rsquo;ll be sure to post notice clearly in advance of any major changes.</p> Fixing Comparison Memes https://wrongthink.link/posts/fixing-comparison-memes/ Thu, 28 Jul 2022 14:22:30 -0400 https://wrongthink.link/posts/fixing-comparison-memes/ <p>One trend I notice among all the <em>Windows vs Mac vs Linux</em> memes that have been made over the years is that most try to paint Windows as though it were some reasonable middle ground. I think a lot of it has to do with the authors trying to rationalize their own continued use of such a treacherous system. Microsoft is just as guilty as Apple, as explained in <a href="https://wrongthink.link/posts/the-hypocrisy-of-decrying-mac-lauding-windows">The Hypocrisy of Decrying Mac While Lauding Windows</a>. You have probably seen one which makes analogy through vehicles:</p> <p><img src="https://wrongthink.link/analogy-cars.png" alt="Broken analogy"></p> <p>Let&rsquo;s make some corrections:</p> <p><img src="https://wrongthink.link/analogy-cars-fixed.png" alt="Corrected analogy"></p> <p>Or how about the one using dogs as comparison?</p> <p><img src="https://wrongthink.link/analogy-dogs.jpeg" alt="Broken analogy"></p> <p>Windows&hellip; <em>strong and fast</em>? <a href="https://yewtu.be/watch?v=zOu_QpbQgjk">Riiight</a>. Let&rsquo;s fix this:</p> <p><img src="https://wrongthink.link/analogy-dogs-corrected.png" alt="Corrected analogy"></p> <p>Also the sled dog team is in peak physical condition while the leashed pets are sickly and untrusting.</p> Picking Your Allies https://wrongthink.link/posts/picking-your-allies/ Wed, 27 Jul 2022 00:46:19 -0400 https://wrongthink.link/posts/picking-your-allies/ <p>The fragmentation of an already small ideological alignment can be devestating for those trying to set and achieve even modest goals for the wider group. It is even likely that the divisive flames are fanned by common enemies all too eager to see it induce infighting. When one finds oneself being viciously baited into despising another group for not being ideologically <em>similar enough</em>, one must contemplate <em>why</em> this might be. At what point do the smaller differences get shelved, at least temporarily, in order for like groups to secure ground in their own figurative <a href="https://www.goodreads.com/book/show/15843097-the-last-battle">Battle of Castle Itter</a>?</p> <p>In my article <a href="https://wrongthink.link/posts/asymmetry-of-literacy-political-divide">Asymmetry of Digital Literacy Between the Political Divide</a> I highlight some things that the LibLeft and LibRight might benefit from cross pollination between one another&rsquo;s strengths. In fact, I would argue that ancoms/LibLeft, ancaps/LibRight, minarchists, constitutionalists and even the Alt-Left/Right share more common ground than otherwise thought. Stripped down to its essence, the demarcation line forms between those who seek power to wield over others, and those who simply wish to go about their lives unmolested.</p> <p>Parallels can be drawn through the same fracturing found between open source, free software, public domain and the various other instantiations of source-available software. If you&rsquo;re an organization or institution looking to deploy or sell a software, then it might matter which type of licensing is at play. But at the individual scale all that really matters is whether you, and/or others, have access to view and modify the code. In this way, I would consider leaked, stolen and reverse engineered code under the same umbrella of other liberated software even though one cannot legally sell such software. You either have the code, or you don&rsquo;t.</p> <p>Even Richard Stallman concedes that there is significant overlap between what counts as <em>free/libre</em> and what counts as <em>open source</em> in <a href="https://www.gnu.org/philosophy/open-source-misses-the-point.html">Why Open Source Software Misses the Point of Free Software</a>:</p> <blockquote> <p>Another misunderstanding of “open source” is the idea that it means “not using the GNU GPL.” This tends to accompany another misunderstanding that “free software” means “GPL-covered software.” These are both mistaken, since the GNU GPL qualifies as an open source license and most of the open source licenses qualify as free software licenses. There are many free software licenses aside from the GNU GPL.</p> </blockquote> <p>Cory Doctorow painted it clearly with the wisdom that one should care both about the motives and outcomes of software freedom efforts and to <a href="https://media.libreplanet.org/u/libreplanet/m/beyond-unfree-the-software-you-can-go-to-jail-for-talking-about/">take allies wherever one can get them</a>. If another group would overlap even partially on an ideological Venn diagram, it is time to consider building some bridges. Let&rsquo;s try to make a conscious effort not to allow much larger adversaries, be they software monopolies or <a href="https://infogalactic.com/info/Government">violence monopolies</a>, to sow division among our already diminutive communities.</p> <video width=50% controls> <source src="https://wrongthink.link/Joined Forces.mp4" type="video/mp4"> </video> A Blueprint to Divorce From the Beast System https://wrongthink.link/posts/divorce-from-the-beast-system/ Tue, 26 Jul 2022 14:44:43 -0400 https://wrongthink.link/posts/divorce-from-the-beast-system/ <p>Anyone looking on in horror as a totalitarian technocratic global police state gets erected in the name of public safety™ has probably been ruminating on ways of avoiding it all. There may be no perfect one-size-fits-all strategy to follow, but there are tools and concepts that can get one well on their way to divorce with the system. Some of which may only be tenable for those living outside of densely crowded nations, so your mileage may vary.</p> <h1 id="cheap-rural-land">Cheap Rural Land</h1> <p>Getting away from urban centers may be obvious. There is acreage of <a href="https://ruralvacantland.com/">rural land to be had for cheap</a> (<em>Note: even though ruralvacantland&rsquo;s owner shares the same name as Luke Smith, this is not the same Luke Smith who also <a href="https://videos.lukesmith.xyz/w/j4sJL69HAJUmoMoHf1SdKi">advocates moving out to the country</a>, it is just a funny coincidence</em>). Such land can be purchased on just a few months of savings as one should always strive to avoid entering into a <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/real-meaning-of-mortgage/">death pledge</a>. And rural property has relaxed building codes with lower overall taxes. I&rsquo;m told that some demographics even get to enjoy <a href="https://www.veteransunited.com/futurehomeowners/veteran-property-tax-exemptions-by-state/">reduced or no property tax</a>. Most importantly, you will have distance between yourself and whichever next crazy witch hunt hysteria surges through the oversocialized masses.</p> <span style="color:lightgreen">What I&#39;ve learned since starting:</span> <blockquote> <p>Many US states have some variation of a homestead exemption which can be used to further lower one&rsquo;s property taxes.</p> </blockquote> <h1 id="reasonable-shelter">Reasonable Shelter</h1> <p>With a bit of luck and planning, the land probably also includes some kind of structure. Ideally, one should get the least square footage required since every extra bit of house also brings burden in cleaning, repairs, heating and furnishing. This is also a great way to further minimize property tax incurrence. Homes with metal roofs are common in rural areas, as well as other stronger design considerations. And if it didn&rsquo;t have any preexisting structure, that&rsquo;s no problem! A manufactured home can be dropped into place.</p> <figure><img src="https://wrongthink.link/no-rent.png"> </figure> <h1 id="well-water--septic">Well Water &amp; Septic</h1> <p>Having an on site well means no ongoing water bills and no water fluoridation. In combination with a septic system gets you fully off-grid. You might also be able to get away with rain water catchment to cisterns and the inclusion of a <a href="https://infogalactic.com/info/Grey_water">grey water</a> system. Shallow wells are probably the cheapest to install, if the water table is favorable on your land, and require only a basic electric pump.</p> <span style="color:lightgreen">What I&#39;ve learned since starting:</span> <blockquote> <p>The quality of water drawn up from a well is a lottery. If you&rsquo;re lucky you won&rsquo;t need any filtration. Get a water test kit and periodically check that contaminants are within safe limits. And even if your well water is clean, consider placing at least a sediment filter somewhere in the line. The contaminant levels can change over time.<br> Drain pipes that don&rsquo;t enjoy the protection of a heated basement can be kept from freezing with line wrapping that has electric heating elements woven inside. There is also an environmentally safe antifreeze made for RVs that can be used to help clear frozen blockages.</p> </blockquote> <h1 id="grow-your-own-food">Grow Your Own Food</h1> <p>Grow your own fruits and vegetables. Even a modest garden can yield so much at peak growing season that you might find yourself giving away excess vegetable. It only needs to supplement your other sources, but of course <a href="https://yewtu.be/watch?v=5dHwx_-gSuE">some go out of their way to build elaborate garden systems</a>. Those more ambitious may even see fit to keep small domestic animals like ducks.</p> <h1 id="generate-your-own-power">Generate Your Own Power</h1> <p>Off-grid solar carries a high initial investment but, once in place, is basically free energy. It might be a good idea to integrate additional power sources such as wind turbines (for which kits can be found online), managed through a charge control unit. A backup generator that can kick in automatically is probably a must.</p> <span style="color:lightgreen">What I&#39;ve learned since starting:</span> <blockquote> <p>Generators have different kinds of hookups. Some are three-pronged RV style connectors, others four-pronged. You do <em>not</em> want to attempt adapting between these types. I&rsquo;ve also heard that it can be possible to use 240V dryer hookups with the three-pronged connectors in case one does not have a dedicated generator outlet installed, but I cannot attest to whether this works.<br> Gasoline should be stabilzed with an additive so that it lasts longer when sitting in a generator tank. An electrician has advised me to avoid using standard 87 octane as that can leave particulate accumulation within the engine lines. But I like to use the same fuel grade that my vehicle takes so that I can dump the unused generator fuel into my gas tank after a storm has subsided.<br> <strong>You are going to want</strong> to have <strong>blackout lights</strong> which can remain powered by a battery after a power loss. You don&rsquo;t want to be cooking food or showering and suddenly be plunged into pitch blackness to stumble around for a battery lantern. <strong>Battery lanterns</strong>: also keep these in every critical room of your house. It&rsquo;s a good way to keep things illuminated in the event that you cannot or wish not to run your generator. Lastly, <strong>uninterruptible power supplies</strong>. Keep your primary digital electronics connected to a UPS at all times. I&rsquo;ve even been able to power up my desktop and networking equipment to run and send important correspondence during power outages. The most expensive consumer UPS will generally get you at least an hour of operating time on a full desktop and computer monitor.<br> <strong>Battery powered clocks</strong> so that you don&rsquo;t need to reference the time from your vehicle or computers every time the digital stove clocks need to be reset after a power loss.</p> </blockquote> <h1 id="produce-your-own-heating">Produce Your Own Heating</h1> <p>The simplest method for heat, especially if your property is wooded, is a wood burning stove. It cannot be left unattended and so one will probably want to have complimentary heating options like gas or oil. The best would be geothermal which simply requires only the power needed to pump refridgerant through the loop. It acts as heating in the winter and cooling in the summer by bringing in the relatively constant temperature from deep underground. Unfortunately, geothermal is currently more expensive to install than the entire cost of the aforementioned properties, so that is something to be installed sometime later.</p> <span style="color:lightgreen">What I&#39;ve learned since starting:</span> <blockquote> <p>Unfortunately, almost every heating option except for wood burning requires electricity in order to operate. A power outage most often also means a heating outage. I have discovered that, in a pinch, the heat output of just two gas stove range burners is enough to maintain a &lt;1000 sq.ft. home above freezing. Although this is apparently hazardous. Refer to the <em>Generate Your Own Power</em> section above.</p> </blockquote> <h1 id="data-connectivity">Data Connectivity</h1> <p>Consider checking out the FCC <a href="https://www.fcc.gov/BroadbandData/MobileMaps">mobile broadband data coverage map</a>. No coverage? Perfect! Ditch all wireless junk. That is because your new property will probably have dialup or DSL. Or satellite if you&rsquo;re really unfortunate. All low bandwidth optons, which is fine if you actually know how to use computers. See my article <a href="https://wrongthink.link/posts/make-computing-local-again">Make Computing Local Again</a>.</p> <span style="color:lightgreen">What I&#39;ve learned since starting:</span> <blockquote> <p>Satellite connectivity has some perks. 1: Your IP address does not reflect your geography. This might be a problem for normies but is a boon to those of us who despise adtech tracking. 2: Satellite connectivity isn&rsquo;t subject to falling trees. As long as you can power the modem, you have internet access. 3: The bandwidth isn&rsquo;t actually all that bad. I had preconceived notions that satellite internet would be horribly constrained which have proven to be wrong. Only the latency is a point of pain.<br> Rural areas are rushing to build out fast internet options. Even if you don&rsquo;t have fast internet available to your property today, you likely will in the near to mid-term future. I only had to resort to satellite service for a few months before finally getting hooked up to a terrestrial option.</p> </blockquote> <h1 id="transportation">Transportation</h1> <p>First, the obvious: have a privately owned vehicle. Where a car needs to be maintained in an urban or suburban environment, that same car will definitely need special attention payed to it in a rural or remote environment. I have had a vehicle break down before way out in small town USA and it&rsquo;s no fun. Of particular note, you&rsquo;ll want to:<br> Change out any petrolium based parts that are old enough to have begun deteriorating. Belts, pulleys, tubes, bushings, cowlings. Change fluids that haven&rsquo;t been touched in years. Engine coolant, for example, can actually begin to go bad, believe it or not.<br> Keep in your vehicle: A basic tool kit, a basic survival/first aid kit, a mechanic&rsquo;s flashlight, additional fluids (coolant, engine oil, transmission oil) along with funnels, gloves and rags. Consider keeping a fuel canister (see <em>Generating Your Own Power</em>) and shovel. Spare bulbs, spare tire (check that it is still good), spare fuses and maybe hose clamps.<br> <strong>Type of vehicle</strong>: If you&rsquo;re going off-grid below the geographic fall line and somewhere flat like Florida, maybe this won&rsquo;t matter. But up North in the mountains where it gets frigid, roads aren&rsquo;t all paved and even your own property might be a mud pool during times of the year, it might be worth considering an all wheel drive or four wheel drive vehicle. Something with good ground clearance and carrying capacity. Had I tried to embark on this living arrangement with my first vehicle (a low, two wheel drive sedan), I would have surely given up after probably getting stuck (or wrecked) on my way to get generator fuel in the middle of a blizzard at night.<br> Wash your vehicle regularly. Flush out the wheel wells and undercarriage, especially in the winter months when salt and calcium are being applied to roads. Even in the depths of January, there are days above 32℉ where a quick rinse is feasible. If you take care of your things, they&rsquo;ll take care of you.</p> <p>None of these solutions needs to be used in absolute. For example, a solar array is still helpful even if you find yourself remaining on grid connected power. If you&rsquo;re escaping from deep within clowntown, it may take quite a while to get everything in place anyway. So the plan should be to just tackle each area gradually and thoughtfully.</p> <p>*<em>Article last revised on 08/06/25</em></p> Let's Go on a Safari https://wrongthink.link/posts/lets-go-on-a-safari/ Mon, 25 Jul 2022 15:22:31 -0400 https://wrongthink.link/posts/lets-go-on-a-safari/ <p>Users of computerized televisions seem willing to tolerate just about anything. For the record, I have not seen or interacted with any computerized television &ldquo;Smart TV&rdquo; so every detail I learn about them is new and hilarious to me. Apparently, one can erect a blatantly obvious walled ghetto around Shart TV users and they seem to remain oblivious to any of it. My IRL reaction to learning some of these facts has unironically looked a lot <a href="https://yewtu.be/watch?v=U1UtRnGn5hc">like this</a>.</p> <p>It is no longer good enough to have a general purpose remote bearing universally recognized buttons. Instead, Shart TV makers have begun embedding dedicated buttons that correlate to various streaming [dis]services. So when any of these companies inevitably changes their branding, gets bought out or otherwise disappears, you&rsquo;ll be left with a remote whose very buttons are no longer usable. How&rsquo;s that for planned obsolescence? Not enough? Then how about <a href="https://archive.ph/YTWhE">chaining content availability per TV model</a>?</p> <img src="https://wrongthink.link/remote.png" style="width:600px;height:373px;"> <p>Next, there is the embedded advertizing. The industry has taken things to a whole new level by subjecting normcattle to creative new punishments such as 15 second <a href="https://yewtu.be/watch?v=_SHjhvtKjwU">commercials every time the television is powered on</a>, <a href="https://www.theverge.com/tldr/2021/3/10/22323790/lg-oled-tv-commercials-content-store">menu-embedded advertisements</a>, overlaying ads onto external video sources such as game consoles, and <a href="https://archive.ph/ZhXLi">ads displayed in remote companion apps</a> trailing every five button presses. Many of whom payed hundreds or thousands for the privilege of having ads stuffed in their faces. The industry loves how malleable TV zombies are, stating that &ldquo;We almost train the users&hellip;&rdquo; in an <a href="https://digiday.com/future-of-tv/samsung-pitches-advertisers-and-streamers-on-ads-that-take-over-its-smart-tv-platform/">ad strategy pitch</a>. <em>Their words</em>, not mine.</p> <p>The television industry also saw the opportunity to create the perfect instantiation of DRM. The first step is to get everyone to connect their hostageware TVs to the internet. And <a href="https://old.reddit.com/r/assholedesign/comments/9j87tw/this_light_on_my_tv_flashes_continuously_until/">harrass them</a> if they <a href="https://archive.ph/kDAfu">fail to do so</a>. You now have the perfect environment for phone-home DRM enforement. The user&rsquo;s power to do anything about it has already been usurped by the closed OS and it&rsquo;s walled garden software store, so saddling them with all of the <strong>latest</strong> and <strong>exciting</strong> digital restirictions is a piece of pie. Normslaves, your gods have made an infographic to make it simple to understand which parts of the garden are forbidden:</p> <p><img src="https://wrongthink.link/drm-table.png" alt="Streaming Protocol DRM Table"></p> <p>Shart TVs harvest colossal amounts of data and even watch users via <a href="https://www.familyhandyman.com/article/do-smart-tvs-have-cameras/">integrated cameras</a>. It is not hyperbole to say that they are the <em>telescreens</em> depicted in Orwell&rsquo;s 1984. They betray information about what <a href="https://www.theguardian.com/technology/2022/jan/29/what-your-smart-tv-knows-about-you-and-how-to-stop-it-harvesting-data">other devices are present</a>. They catalogue every second of <a href="https://www.zdnet.com/article/fbi-warns-about-snoopy-smart-tvs-spying-on-you/">everything you watch</a>. To the industry, everything said or done in front of one is fair game. And they&rsquo;re fully aware that most of their soul slaves will likely <a href="https://www.theverge.com/2019/1/7/18172397/airplay-2-homekit-vizio-tv-bill-baxter-interview-vergecast-ces-2019">never opt out</a>.</p> <p>Smart TVs assume, perhaps correctly, that their users are too stupid to simply connect a real computer over HDMI. They&rsquo;re basically giant smartphones running some Android spin. When one actually examines what they&rsquo;re able to get away with, one is left only to wonder how anyone with an IQ above 80 would ever consider using such a device. HTPCs will likely remain the choice solution for anyone with even basic knowledge although respectable displays are becoming increasingly <a href="https://frame.work/blog/in-defense-of-dumb-tvs">difficult to find</a>.</p> Practical Home Robots Will Not Serve You https://wrongthink.link/posts/robots-will-not-serve-you/ Sun, 24 Jul 2022 14:46:53 -0400 https://wrongthink.link/posts/robots-will-not-serve-you/ <p>Most consumer robotics of the near future will probably function a whole lot more like Aibo, the <a href="https://archive.ph/UyUbj">subscription hostage robot</a>, than like the Jetson&rsquo;s robotic butler. This is because, like with all consumer technology, these robots will be designed and sold by <a href="https://infogalactic.com/info/Rent_seeking">rent-seeking</a> psychopaths. Before accepting a practical robot into your home, there are some basic questions to be asked; Is the processing being done onboard the robot? Or is it connecting out to a master server? Does the robot include anti-features, anti-tampering, DRM, subscriptions and just generally attempt to control what you can and cannot do with it? Here are some things to consider.</p> <p>For robots to interact with an environment, they must map (or at least sense) their environment. So whole scans of your home will probably be taken by the robot which <a href="https://www.nytimes.com/2017/07/25/technology/roomba-irobot-data-privacy.html">gets sent to a master server</a> and datamined (because why do things locally when there&rsquo;s <strong>money</strong> to be made?!). They will likely query a remote server for natural <a href="https://www.jdsupra.com/legalnews/tiny-personal-assistant-poses-big-risk-86465/">language processing and intelligent response</a>. And, at first, the robot might seem like your personal caretaker. But give it enough time and authorities will surely find utility in turning domestic robots into agent Smith whenever it&rsquo;s convenient. I hope you&rsquo;re all caught up on those taxes, criminal!</p> <p>And if you think that sounds like pure lunacy, that&rsquo;s because it is. Allowing the tech that takes up such an intimate and trusting role in your life to be black boxed, proprietary and non-user controlled in design is just asking for trouble. One may retort &ldquo;Surely, nobody will accept this.&rdquo; but just look at <a href="https://electrek.co/2019/12/20/tesla-dlc-for-cars-beginning/">what people are willing to tolerate today</a>. Most people already carry Stalin&rsquo;s dream around in their pockets. So just as with computers today, if you want a robot that is going to respect you, <em>you&rsquo;re going to have to DIY</em>.</p> <p>There are some excellent books on personal robot hacking such as Robot Builder&rsquo;s Bonanza, though dated, along with it&rsquo;s companion book Robot Builder&rsquo;s Sourcebook. I&rsquo;m sure that with all the single board computers becoming prominent that there are many newer robotics material as well. Anyone looking to start such an endeavor isn&rsquo;t left to invent the wheel either. I am, myself, evaluating the options available through <a href="https://www.ros.org/">Robot Operating System (ROS)</a>, of which you just might find metapackages already in your distro repository.</p> You're Not Distro Hopping https://wrongthink.link/posts/youre-not-distro-hopping/ Sat, 23 Jul 2022 14:02:38 -0400 https://wrongthink.link/posts/youre-not-distro-hopping/ <p>The things which differentiate distributions of Linux from one another are less numerous today but still an important factor in many user&rsquo;s decisions. There can be differences such as installation methods, the target CPU architectures, and what governs the entry of software into a distro&rsquo;s repository. But some are felt much more immediately by the user. Distinctions which will affect the day to day usage of the system. Here are the most notable, in my opinion, ranked from most impactful to least:</p> <ol> <li>Default Desktop Environment</li> <li>Package manager and software repository</li> <li>Init system</li> </ol> <p>There <em>has</em> been some homogenization in the area of init systems, leaving a divide in distros which have built atop the understandably maligned systemd and those whose distinguising mark is the fact that they don&rsquo;t. Package managers still dictate how users acquire and install their software, and the landscape has only expanded now with the addition of universalized software packaging with things like <a href="https://www.omgubuntu.co.uk/2021/09/ubuntu-makes-firefox-snap-default">Ubuntu&rsquo;s Snaps</a>. Desktop environments, as well as window managers, command the largest position in the way users interact with their system.</p> <p>The catch is that any of these things can <em>technically</em> be changed by the end user, but this is not always obvious or easy. Most will accept whatever is the current default. And so we end up with people who, in order to sample the different options, will jump between the different available distros. An activity they refer to as &ldquo;<a href="https://unixsheikh.com/articles/the-flaws-of-distro-hopping-and-asking-other-people-about-their-os-of-choice.html">distro hopping</a>&rdquo;. But consider that most of them are just trying out the various desktop environments all while oblivious to the fact that many distros, like Arch or Debian, allow and even <strong>encourage</strong> their users to select their own DE/WM from a <a href="https://wiki.archlinux.org/title/Desktop_Environment#List_of_desktop_environments">wide range of options</a>. All contained within a single distro.</p> <p>Those who reformat and reinstall distros in order to try out the available GUI environments are not <em>distro</em> hopping&hellip; they are <em>desktop environment</em> hopping. To anyone who may be in the grips of such an activity, I suggest instead identifying a distro which has your preferred init system and package manager. This is because those are usually more laborious to replace. Then simply install and add your favorite DE or WM through your package management.</p> Command Line Audio Editing https://wrongthink.link/posts/command-line-audio-editing/ Fri, 22 Jul 2022 02:34:54 -0400 https://wrongthink.link/posts/command-line-audio-editing/ <p>We covered some quick video editing commands with <a href="https://ffmpeg.org/">ffmpeg</a> over in <a href="https://wrongthink.link/posts/command-line-video-editing">Command Line Video Editing</a>. Now let&rsquo;s take a look at some useful audio editing options. Most of the same switches used in video editing will apply to audio with few or no differences. For example cropping by time with <em>-ss</em> and <em>-t</em>, and avoiding reencoding with <em>-c copy</em>. Or reencoding to a different file format by simply appending the desired file extension to the output file. Just watch out for <a href="https://infogalactic.com/info/Lossy_compression">lossy</a> changes.</p> <h1 id="change-audio-pitch">Change audio pitch</h1> <pre tabindex="0"><code>ffmpeg -i audio.mp3 -af &#39;asetrate=44100*0.8,atempo=1/0.8&#39; output.mp3 </code></pre><p>The value (0.8 in this example) represents the desired percentage change in pitch, so 0.8 would reduce pitch by 80%. Both values need to be the same at the end of the asetrate= and atempo= arguments, respectively. The sample rate (44100) should also match the source file, otherwise the speed of the audio will change.</p> <h1 id="merge-audio-layers">Merge audio layers</h1> <pre tabindex="0"><code>ffmpeg -i audio1.mp3 -i audio2.mp3 -filter_complex amerge=inputs=2 -c:a copy -c:a mp3 output.mp3 </code></pre><p>The longer audio file should be the first input.</p> <h1 id="add-audio-reverb">Add audio reverb</h1> <pre tabindex="0"><code>ffmpeg -i input.ogg -map 0 -af &#39;aecho=1:0.8:120:0.5&#39; output.ogg </code></pre><p>The first two paramters in aecho= set the gain while the last two control for delay. A more distant sounding echo should have higher values.</p> <h1 id="change-volume">Change volume</h1> <pre tabindex="0"><code>ffmpeg -i input.mp3 -filter:a &#34;volume=0.6&#34; output.mp3 </code></pre><p>A volume value of 0.6 would reduce the volume by 60%. This command has saved me quite a few headaches with overly loud or quiet podcasts.</p> <p>These are just the one-liners I find myself using occasionally. It has enabled me to quickly throw together sound library game mods, interview archives and to fix issues within my personal music directories. As always, ffmpeg can handle a ton of different tasks from the <a href="https://www.howtoforge.com/tutorial/ffmpeg-audio-conversion/">mundane</a> to the <a href="https://github.com/sourcepirate/L-voice-changer">eccentric</a>. Just have a read through the ffmpeg manpages.</p> The Attitude that Free Software is *Just* a Substitute https://wrongthink.link/posts/attitude-free-software-just-substitute/ Thu, 21 Jul 2022 13:46:06 -0400 https://wrongthink.link/posts/attitude-free-software-just-substitute/ <p>A prevailing perspective among tech enthusiasts paints liberated software as some secondary, afterthought solution that remains perpetually &ldquo;not ready for prime time&rdquo;. I have even witnessed this mentality among those who have started primarily using free programs. They often cite things like interfaces that don&rsquo;t appear <em>modern</em> or the incomplete handling of certain proprietary file formats as deal breakers. Others swear that they would never touch anything which hasn&rsquo;t seen an update in over a few months.</p> <p>And they&rsquo;re not entirely wrong considering that quite a few libre projects tend to be clones trying to keep pace with some commercial software. But quality really needs to be judged on a case by case basis. It&rsquo;s actually only those that fall short on expectations which foster this negative perception that wider libre software is just cheap knock-offs. I think there are a few misunderstandings that fuel it.</p> <p>In the last decade or so users have been conditioned, especially by proprietary platforms, to believe that constant updates are necessary for a program to be usable. When they look at the date of some latest release build to find a six month gap or more, an assumption takes hold that the program is &ldquo;dead&rdquo; and will no longer receive any updates. The reality is that many free software programs have simply reached feature maturity. Unless some security issue or breakage is discovered, there may not be any need to declare a new release. They even tend to have fewer problems, as I describe at <a href="https://wrongthink.link/posts/in-support-of-withered-technology">In Support of Withered Technology</a>.</p> <p>There is also a very real psychological phenomenon that leads people to subconsciously associate no-cost gratis goods with poorer quality. It is sales industry wisdom that sometimes, even contrary to logic, it is <a href="https://www.sciencedaily.com/releases/2019/09/190906104111.htm">better to maintain a disproportionately high price since it will instill a sense of quality</a> to the buyer. And these same dynamics are at play between proprietary systems that demand a price, and libre systems distributed at no cost. People simply tend <a href="https://www.businessinsider.com/people-dont-value-free-stuff-2017-6?op=1">not to value things they can get for free</a>.</p> <p>Modern graphical user interfaces are an ever moving target. Libre projects which seek to replicate modern GUIs quickly find themselves out of vogue when the paradigm inevitably shifts with the GUI tides. And moving over to the next great thing isn&rsquo;t always a simple matter of swapping out some skin. The philosophy that &ldquo;if it works, why change it?&rdquo;, while reasonable, stands at odds with <a href="https://news.ycombinator.com/item?id=15243971">the expectations of those who quickly dismiss</a> any application that doesn&rsquo;t bear the sleekest, newest, shiniest layout.</p> <p>Change can be hard for users, making familiarity one of the biggest drivers of decision. Individuals who had spent years under the workflow of a given software begrudgingly adapt even to changes made <em>within that application</em>. For a user to migrate to something else entirely can be a bit like relearning how to ride a bike. But does this mean that the new solution&rsquo;s interface is crap? Not necessarily. These challenges also appear for those switching between Mac and Windows along with their associated software. Most understandably want to avoid sacrificing their <a href="https://infogalactic.com/info/Sunk_cost">sunk costs</a> to protect what they already know.</p> <p>So once one is able to get past the fact that things will <em>look unfamiliar</em> and <em>work differently</em>, one finds that most free software is very much a first class citizen in its own right. If you&rsquo;re constantly dipping your toes in and never committing, of course it&rsquo;s always going to look daunting. That is true of anything. Sounding off about a new tool not being completely identical to one&rsquo;s current tool is largely internal justification to avoid unfamiliarity or growing one&rsquo;s knowledge.</p> Easy Health Policy for the Hard of Thinking https://wrongthink.link/posts/health-policy-hard-of-thinking/ Wed, 20 Jul 2022 13:21:26 -0400 https://wrongthink.link/posts/health-policy-hard-of-thinking/ <p>I have devised a simple and effected public health strategy that even mental midgets can comprehend. It is very simple: People who live in fear voluntarily lock themselves indoors, while people who can think continue to move about freely. I know, it&rsquo;s mind blowing stuff. Let&rsquo;s take a look at how this might play out over a traditional holiday.</p> <p><img src="https://wrongthink.link/new-health-policy.png" alt="Sane Health Policy"><br> <em>Figure 01</em> free choice as it applies to holiday gatherings</p> <p>Wow, look at that! And anybody who wanted to avoid the remote possibility of catching the sniffles avoided it all without even trampling over any human rights. The important factor here is that <strong>neither party try to force their way of life on the other party</strong>. This simple free choice strategy is something more people should have used in 2020 and 2021. Hopefully they can give it a try going forward.</p> Pick Up the Gamepad https://wrongthink.link/posts/pick-up-the-gamepad/ Tue, 19 Jul 2022 14:23:03 -0400 https://wrongthink.link/posts/pick-up-the-gamepad/ <p>Do you enjoy video games? Make every last bit of it count. In fact, pick up that controller and play your heart out. No, really, actually clobber your free time with game time. Play games so much that you get sick of them. Use cheats if you must. Tear it all apart and see how things work under the hood. Strive to get it out of your system and don&rsquo;t forget to enjoy it while it lasts.</p> <p>I hypothesize that video game fixation is a function of time. Once you have clocked enough time under your belt, you begin to see games for the digital hamster wheels that they are. Your desire to play is just your brain yearning to map out all of the structural limits of games. The total cumulitive hours needed before reaching this outlook will be different for everyone, but the point is that you want to get there as early in life as possible. Especially considering the way games have become ever since teams of pscyhologists have joined the ranks among game development.</p> <p>Psychological tailoring is why players find themselves in elaborately decorated <a href="https://web.archive.org/web/20170606110615/http://www.gamasutra.com/view/feature/3085/behavioral_game_design.php?page=1">skinner&rsquo;s boxes</a> and why modern games <a href="https://www.sportskeeda.com/esports/why-fortnite-reboot-a-friend-program-sets-dangerous-precedent">shamelessly beg for your attention</a>. It is why outrage media tactically finds its way into news cycles just before new releases. Engineered <a href="https://web.archive.org/web/20210924163319/http://www.nickyee.com/hub/addiction/attraction.html">artificial ladders of progression</a> are laid out to keep suckers on the virtual treadmill. And, sadly, it works on most people.</p> <p>Perhaps one of the best insights into industry manipulation of gamers comes from an <a href="https://web.archive.org/web/20220519054935/https://www.techpowerup.com/240655/leaked-ai-powered-game-revenue-model-paper-foretells-a-dystopian-nightmare">Online Game Revenue Models leak a few years go</a>. They detail methods to maintain player frustration at just the right level to herd players toward in-game purchases. Another page depicts a funneled user retention model that steps through getting them hooked and ultimately bringing other victims into the fold. The amount of personal data harvesting involved is both unsurprising and diabolical. As though modern commercial game design is <em>trying</em> to prove itself to be <a href="https://www.gnu.org/proprietary/proprietary-addictions.html#addictiveness">maximally evil</a>.</p> <p>I know this sounds like a complete boomer platitude, and I don&rsquo;t intend it for anyone who might only startup a game once every few weeks. It&rsquo;s really just for those like my former self who perhaps feel a bit stuck. Pick up the gamepad&hellip; <em>so that you can finally put it down</em>.</p> Free Software Could Use Some Consolidation https://wrongthink.link/posts/free-software-consolidation/ Mon, 18 Jul 2022 00:30:54 -0400 https://wrongthink.link/posts/free-software-consolidation/ <p>I get why forks happen. And I get that disagreements occur in development direction. But fracturing efforts into halves, thirds or worse comes at the expense of slowly reinventing the wheel. Sometimes the technical debt becomes too great to walk back on, just look at Palemoon effectively building on a vestigial branch of Firefox snapshotted somewhere around Firefox 24. It is maintained by a <a href="https://web.archive.org/web/20220322140510/https://forum.palemoon.org/viewtopic.php?f=1&amp;t=28044">small and struggling team</a> who likely do not have the resources to build a browser independently from top to bottom.</p> <p>Other notable mentions include youtube-dl splitting off into <a href="https://www.linuxlinks.com/yt-dlp-fork-youtube-dl/">yt-dlp</a> over complaints of development stagnation and searx splitting off into <a href="https://archive.ph/NM9M1">searx-ng</a> due to differences in development ideology. Users are left out like childen in a divorce; do you stay with mommy or go with daddy? Well, you go with whatever works best. The only constant is the unending churn.</p> <p>But it&rsquo;s not all splitting, fracturing and talent walking away from team efforts. There are actually instances of software projects who share similar goals which decide to merge. That&rsquo;s exactly what happened between Razor-Qt and LXDE-Qt when both small teams realized they were doing the same work in parallel. They write about it in an <a href="https://blog.lxde.org/2013/07/22/the-future-of-razor-and-lxde-qt/">LXDE blog post</a>:</p> <blockquote> <p>“…we have decided that the best course of action for both projects is to focus on a single desktop environment, instead of two. There have been talks of ‘merging’ ever since LXDE-Qt was announced. Having taken the decision to collaborate, we’ve all had the pleasure of working together already. Our plan is to cherry-pick the best parts of Razor and LXDE and include or port those to LXDE-Qt. Other components will be ported straight from GTK code or rewritten from scratch. In the end, we want to offer the best possible experience while reusing as much code as possible.”</p> </blockquote> <p>Hong Jen-Yee &lsquo;PCMan&rsquo;, developer behind LXDE/LXQt, has shared some insights in <a href="https://debconf18.debconf.org/talks/139-lxde-lxqt-the-classic-desktop-environments-after-12-years/">conference talks</a>. He found attracting new developers to desktop environment projects is becoming an increasingly difficult task as promising rookies seek to focus on flashier mobile projects. And that&rsquo;s before even taking into consideration how niche lightweight desktop environments like LXDE are, in comparison. And so merging with projects of similar scope and vision might make sense.</p> <p>So let&rsquo;s bring this back around to browsers. It is no secret that <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/all-browsers-suck-your-fault/">web browsers suck</a>. Especially those <a href="https://digdeeper.club/articles/browsers.xhtml">forked indie outfits</a>. As of this writing, Mozilla has about 750 employees. For comparison, GNU Icecat is maintained by 4 individuals, Palemoon references 20 notable developers, 10-18 significant contributors to Brave, 6 core contributors to LibreWolf, Iridium has 1 maintainer (that I can see) and so on for all of the many indie browsers that have anywhere between one developer to a few dozen. Imagine if this talent could be aggregated into one truly independent web browser effort (with it&rsquo;s own engine, no Gecko or anything). The world might finally have a <em>sane browser</em> that can actually keep ahead on web security and standards without sugar daddy Google and without succumbing to feature creep.</p> <p><strong>Q3 2024 Update:</strong> <a href="https://blog.torproject.org/tor-tails-join-forces/">Tor and Tails have joined the ranks of projects to consolidate resources</a>. I&rsquo;d say it came a decade late, but that&rsquo;s okay.</p> How to (More) Easily Source Hardware Locally https://wrongthink.link/posts/how-to-easily-source-hardware/ Sun, 17 Jul 2022 14:57:18 -0400 https://wrongthink.link/posts/how-to-easily-source-hardware/ <p>One thing to bolster your independence is being able to source goods locally. And while that is generally easier to do with things like food or furniture, digital electronics can be exceedingly difficult to find manufactured nearer to home. So much has been centralized around eastern/southeastern Asia, and specifically China. And even if you don&rsquo;t care about geopolitical implications, I want to share how one can (more) easily find things made outside of China.</p> <p>I&rsquo;m no fan of government regulation, but sometimes they produce something useful. For the purposes of equipment procurement within institutions, they have devised the TAA (<a href="https://infogalactic.com/info/Trade_Agreements_Act_of_1979">Trade Agreements Act</a>) designation which restricts the conditions under which a good can be manufactured. <em>(Go ahead and get your laughter out of the way, I know, I know&hellip; an anarchist that actually promotes something governmental. Hey, I can also appreciate <a href="https://www.nrcm.org/nrcm-success-stories/billboard-ban/">when they ban billboards</a> too)</em>. Generally, this means a product must be entirely made, or at least &ldquo;substantially transformed&rdquo;, within the US or a US designated country. Naturally, this excludes non-alinged countries like China. Despite being designed for institutional use, TAA compliance can also be useful to individuals looking for electronic goods.</p> <p>Some online storefronts allow you to <a href="https://www.provantage.com/service/searchsvcs/Q-P?QUERY=taa">search by TAA compliance</a>. It will skew things toward enterprise class hardware, but I actually find enterprise to be of better quality anyway. I have been able to source peripherals, power delivery equipment, storage, motherboards and more in this way. Many are made in Mexico, the US itself, or some other country which sits a bit closer to home. Obviously, this only really works for anyone residing in the West. Non-westerners, YMMV.</p> <p>Or, if one can&rsquo;t find something new made *locally, one can always turn to electronics recycling. I have always advocated for rescuing hold hardware from landfills, see <a href="https://wrongthink.link/posts/the-myth-of-obsolete-hardware">The Myth of Obsolete Hardware</a>. The monetary value of such a purchase does not find it&rsquo;s way directly to China, and there are more resellers to be found nearby than with even the newly made parts. Reconditioned computers also benefit from survivor bias, the tendency for well made hardware to withstand use and abuse, so you know what you&rsquo;re getting ahead of time.</p> <p>Maybe one day it will become cheap enough to feasibly make computer components in one&rsquo;s own home with advancements in 3D printing, or perhaps even DIY basement lithography. Until then, I&rsquo;ll be leveraging the above options.</p> <p><em>*locally, as in the extent possible considering the high costs and effort involved in semiconductor &amp; PCB manufacture</em></p> Go Get Yourself a Search Engine https://wrongthink.link/posts/go-get-yourself-search-engine/ Sat, 16 Jul 2022 12:07:50 -0400 https://wrongthink.link/posts/go-get-yourself-search-engine/ <p>The independent search engines which promised netizens that they would honor their word not to track, censor or advertise have continually been caught doing just that. DuckDuckGo has proven time and again that it should <a href="https://archive.ph/ODdsR">never be trusted</a>. Qwant has pledged their allegiance to the cause of <a href="https://archive.ph/klrVI">censorship</a>. Startpage has <a href="https://www.ghacks.net/2019/11/16/startpage-search-owner-changes-raise-serious-questions/">sold out to an advertising firm</a>. The list goes on and, if you&rsquo;re reading this, I&rsquo;m sure you&rsquo;ve experienced your own share of backstabbings by <em>trusted</em> search engines.</p> <p>One way that others have dealt with this is to migrate to metasearch engines which liaison your search queries to a plethora of different commercial engines. This helps to obfuscate search requests as well as mitigating some censorship. But it is still incomplete. The remainder of alternate search users continue to island hop from each new <em>privacy friendly</em> search engine to the next, as they fall like dominoes to the temptation of betraying their users.</p> <p>The truth is that web search suffers from the same problem as DNS. No matter how you configure and use it, you are always in the precarious position of relying on and trusting a third party not to betray you. The root cause of these web search woes is that people <em>do not have their own web indexes</em>. And keeping a searchable <a href="https://infogalactic.com/info/Web_indexing">web index</a> is not as daunting as it may seem.</p> <p><img src="https://wrongthink.link/search-comparison.png" alt="Result descripancy between tailored DDG and YaCy"></p> <p>There are a few software out there that can be self-hosted such as <a href="https://github.com/gigablast/open-source-search-engine/">Gigablast</a> and <a href="https://github.com/yacy/yacy_search_server">YaCy</a> which both <a href="https://infogalactic.com/info/Web_crawler">crawl the web</a> and provide web frontends for searching the resulting index. The great thing is that you can give them a <a href="https://github.com/tb0hdan/domains">generic starting domain list</a> for impartiality and privacy (remember, your ISP can see all the addresses the crawler connects to) so it&rsquo;s like hiding in a crowd. You get a search portal that works even if you later lose internet connectivity. It cannot be censored, nobody knows what queries you make and you are in total control.</p> <p>I may eventually post a guide on setting up such a soluton. They typically need a few days to crawl before you have a viable index, but that&rsquo;s a small price to pay for ultimate freedom from hidden hand search manipulation. And regardless of whether a DIY search engine is practical for everyone, it might be a good idea to also revisit the concept of <a href="https://infogalactic.com/info/Webring">webrings</a>, considering the way things are headed right now.</p> 15 Billion Years of Human Life Siphoned to Create Markets https://wrongthink.link/posts/human-life-siphoned-create-markets/ Fri, 15 Jul 2022 00:53:27 -0400 https://wrongthink.link/posts/human-life-siphoned-create-markets/ <p>If you lived through the zombie media craze of the late aughts, you&rsquo;ve probably enjoyed a debate or two among peers detailing how you might survive an apocalypse. Perhaps you envisioned that <em>you</em> would be part of a ragtag roving gang of survivors fending off the undead hordes, against all odds. Just fun banter. But imagine how isolating it must have been to find yourself as one of the few people in 1690s Massachusetts, in the midst of witchcraft executions, who had to hold silent while knowing the falsity of it all. Or just maybe, you&rsquo;ve had the very real misfortune of experiencing for yourself the absolute vertigo which accompanies the realization that the whole world has gone mad around you.</p> <p>If you find yourself among <a href="https://itsusagainstthem.com/what-i-learned-from-mattias-desmet-mass-formation-psychosis/">a certain 30% or less</a> of the population, then you probably know exactly what I&rsquo;m talking about. That being watching nearly everyone around you, both the well studied and intelligent as well as those with <em>different</em> strengths, fall to a propaganda fear campaign that, <em>this time</em>, reached escape velocity. Their [over]reactions collectively plunged the world into a destruction of human dignity, autonomy and along with it the global economic engine over the perception of a disease with characteristics nearly <a href="https://newsrescue.com/bill-gates-admits-covid-kind-of-like-flu-our-mrna-vaccines-failed-to-reduce-infections-also-lasted-so-short-time-applauds-australias-quarantine-camps-says-americans-arent-great-at-maki/">indistinguishable from the common flu</a>.</p> <p>They enabled the theft of a cumulative 15 billion years of human life, two years stolen from each of our roughly 7.5 billion Earthly neighbors, to unknowingly enrich and empower a network of parasites. One of whom <a href="https://archive.ph/oMjcK">was particularly excited for 2020</a> because he and others knew what they would be creating. A &ldquo;healthy new <a href="https://web.archive.org/web/20200115221352/https://www.gavi.org/our-alliance/strategy/phase-4-2016-2020/market-shaping-goal">market for vaccines</a>&rdquo;. A goal they had been racing toward through the &ldquo;<a href="https://www.howestreet.com/2020/05/bill-gates-decade-of-vaccines/">decade of vaccines</a>&rdquo; and earlier pushes to realign the global perception of health.</p> <video width=50% controls> <source src="https://wrongthink.link/blowthesystemup.mp4" type="video/mp4"> </video> <p>The movement that has grown around investigating uncomfortable questions has become so preoccupied with exposing the wilder agendas, that they sometimes forget to communicate the parasite&rsquo;s more mundane motivations. I wanted to highlight the unexciting and perhaps not so obvious agenda of <a href="https://www.bitchute.com/video/a4pQnFwwDvQH/">disaster capitalism</a>. Having a familiarity with this will help us understand what these same monopolizing think tanks are concocting in the way of healthy <a href="https://www.preparedness.news/2022-06-16-mass-cattle-deaths-send-shockwaves-through-food-supply.html">new markets for food monopolies</a>, or any other manufactured <a href="https://www.globalresearch.ca/own-nothing-happy-being-human-2030/5728960">reorientation of the global economy</a> that they&rsquo;re dreaming up.</p> <p>So if you&rsquo;ve been cognizant to any of this over the last few years, you might have felt like one of those unfortunate few in Salem who couldn&rsquo;t speak out, perhaps not even amongst your own family, lest you be outcasted as a <em>witch denier</em>. What, you don&rsquo;t trust the science? Just know that you are not alone, but there isn&rsquo;t a whole lot of company either.</p> Web Content Blocker Tier List https://wrongthink.link/posts/web-content-blocker-tier-list/ Thu, 14 Jul 2022 15:20:53 -0400 https://wrongthink.link/posts/web-content-blocker-tier-list/ <p>Many insist that the <a href="https://web.archive.org/web/20221017135908/https://github.com/uBlockOrigin/uBlock-issues/issues/338#issuecomment-456134855">modern web has become unusable</a> without the aid of powerful content blocking tools. Everybody, technical or otherwise, should install some such addon for their browsers.</p> <p><img src="https://wrongthink.link/stopping-bullets.jpg" alt="You&rsquo;re trying to tell me I can stop bullets?"></p> <p>Few are great, most not so much. I rate them here based on their effectiveness in their default-deny capacity to strip pages down to plain HTML, their granularity and how well they convey information about web requests/page elements.</p> <table> <thead> <tr> <th style="text-align:center">Tier</th> <th style="text-align:center">Addon</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td style="text-align:center"><span style="color:black;background-color:mediumspringgreen;">S</span> </td> <td style="text-align:center">uMatrix, xiMatrix</td> <td>Unrivaled web page firewalling.</td> </tr> <tr> <td style="text-align:center"><span style="color:black;background-color:gold;">A</span> </td> <td style="text-align:center">Policy Control</td> <td>Excellent and contains advanced features, but makes unfortunate design concessions. Would handily enter S tier if minor shortcomings addressed.</td> </tr> <tr> <td style="text-align:center"><span style="color:black;background-color:goldenrod;">B</span> </td> <td style="text-align:center">uBlock Origin (Advanced User Mode), NoScript Security Suite</td> <td>Highly granular and informative but unable to completely block certain classes of requests. Interface is suboptimal.</td> </tr> <tr> <td style="text-align:center"><span style="color:black;background-color:orangered;">C</span> </td> <td style="text-align:center">HTML Content Blocker, Javascript Firewall</td> <td>Reasonably capable of de-fanging sites but rather limited in scope.</td> </tr> <tr> <td style="text-align:center"><span style="color:black;background-color:firebrick;">D</span> </td> <td style="text-align:center">uBlock Origin (Basic User Mode), Adblocker Ultimate, Adguard AdBlocker</td> <td>Low capability. Heavily blocklist oriented rather than by class of request. Default deny infeasible.</td> </tr> <tr> <td style="text-align:center"><span style="color:black;background-color:maroon;">F</span> </td> <td style="text-align:center">Adblock Plus, Privacy Badger, Ghostery, Firefox Enhanced Tracking Protection (Strict)</td> <td>Garbage tier. Major shortcomings.</td> </tr> </tbody> </table> <h1 id="detailed-rationale">Detailed Rationale</h1> <p><strong><a href="https://github.com/gorhill/uMatrix">uMatrix</a>:</strong><br> Despite being in maintenance mode, uMatrix maintains exceptional effectiveness against a wide class of web requests. It is basically a full browser firewall which can discriminate requests globally or per-domain/subdomain and each request class can be blocked individually from one another. Unfortunately, if uMatrix ever <a href="https://digdeeper.club/articles/mozilla.xhtml#mv3">falls out of viability</a>, we would lose an almost irreplaceable line of defense.</p> <p><strong><a href="https://add0n.com/policy-control.html">Policy Control</a>:</strong><br> Policy Control is one gem that left me impressed. It can block many request types including WebSockets, Ping and Fonts. There is an included logger to monitor requests <em>and</em> can whitelist <strong>per script</strong> within the same domain, making Policy Control unique among extensions in its granularity. Just make sure to check &ldquo;enabled&rdquo; for rules to apply globally. This isn&rsquo;t made quite clear as that field normally says &ldquo;disabled&rdquo; and flips when you toggle it. Unfortunately, it automatically opens add0n.com (cuckflared + googleslavemanager) after installation. Some marks against it being that there&rsquo;s currently no way to distinguish between third party domains and no interception is offered for cookies. Somehow only known about and used by only 791 people at the time of this writing.</p> <image src="https://wrongthink.link/policy-control.jpg" style="height:242px;width:258px;" > <image src="https://wrongthink.link/policy-control-logger.jpg" style="height:242px;width:525px;" > <br /><br /> <p><strong><a href="https://github.com/gorhill/uBlock">uBlock Origin</a> (Advanced User Mode):</strong><br> <span style="color:cyan;">Demoted to B tier.</span> Not as capable as uMatrix in whole-site default deny, and fails miserably when tasked with any finer granularity such as blocking javascript from one third party domain exclusively. Its inadequate toggle grid poorly conveys information about web requests. uBlock Origin is supposedly capable of higher precision by manually writing noop rules in textual custom rulesets but this is a completely impractical and unrealistic way to try and compete with uMatrix&rsquo;s brilliant switchboard grid. There <em>are</em> unique capabilities it has such as cname uncloaking and the element zapper. Recently, I found that once an asset has been allowed to load, subsequently blocking it again fails to block that asset&hellip; what&rsquo;s going on uBlock Origin? Is this a regression?<br> <strong>(Basic User Mode):</strong><br> <span style="color:cyan;">Demoted to D tier.</span> Aside from doing some clever tricks under the hood (that make it a great second-line of defense behind real blockers), uBlock Origin in basic user mode is only made noteworthy by it&rsquo;s element picker, fonts blocking and infamously extensive blocklists. Otherwise, it&rsquo;s not actually all that much better than Adguard Adblocker or Adblocker Ultimate.</p> <image src="https://wrongthink.link/ublock-possible-regression.jpg" style="height:330px;width:557px;" > <br /><i>There should be no styling or images after having reloaded that page...</i><br /><br /> <p><strong><a href="https://github.com/xi/xiMatrix">xiMatrix</a>:</strong><br> One of the few holistic, grid-based addons. It can block by request type, domain and subdomain while global scope very wisely adheres to default deny behavior. It can also handle remote fonts. Rules are written neatly in XML, making for easy textual rule making as well. xiMatrix has recently <a href="https://github.com/xi/xiMatrix/commit/d06aa9866bf9942853e7bb7b677599e38839cf16">added a column for cookie blocking</a>, completing the grid of common tracking requests. However, it does not distinguish between image and video content (which compelled me to extend it into <a href="https://wrongthink.link/posts/paramatrix">paraMatrix</a>). xiMatrix has really begun to realize its potential. <span style="color:mediumspringgreen">S-tier status achieved.</span> <br /><audio controls> <source src="https://wrongthink.link/your-work-is-appreciated.ogg"> </audio> </p> <image src="https://wrongthink.link/ximatrix.png" style="height:232px;width:394px;" > <image src="https://wrongthink.link/ximatrix-rules.jpg" style="height:151px;width:142px;"> <br /><br /> <p><strong><a href="https://noscript.net/">NoScript Security Suite</a>:</strong><br> Capable of discriminating globally and per-domain/subdomain. It is also capable of blocking elements not individually covered by uMatrix such as <em>webgl</em>. Unfortunately, it doesn&rsquo;t seem to be able to strip all requests from a domain as it maintains rather permissive <em>css</em> rules. NoScript also defaults to very permissive site templates (probably for normies) which need to be removed or overridden before global default deny can be enabled. Custom rules default to &ldquo;ANY SITE&rdquo; scope. I also want to mention a long time has passed since the author was found <a href="https://archive.ph/Ld2Oa">whitelisting ads</a>. I think <em>he has turned around and become a force for good</em> among addon development, contributing the <a href="https://noscript.net/commons-library">NSCL</a> and also being one of the developers behind the respectable JShelter.</p> <p><strong><a href="https://github.com/billdoor1/javascript_firewall">Javascript Firewall</a>:</strong><br> Definitely took inspiration for its toggle grid. Actually quite robust with similar layout options. Just that it only has js, xhr and frames in scope. There is a global scope setting (wildcard in dropdown) which rightfully defaults to deny. The toggle grid controls are more like an old cellphone keypad with clicks cycling through default(light green/red) / allow(dark green) / block(dark red). Javascript Firewall just doesn&rsquo;t go far enough. It could relatively easily be expanded into a more powerful tool. Somehow only has 17 users at the time of this writing.</p> <image src="https://wrongthink.link/javascript-firewall.jpg" style="height:174px;width:232px;"> <br /><br /> <p><strong><a href="https://mybrowseraddon.com/html-content-blocker.html">HTML Content Blocker</a>:</strong><br> I was pleasantly surprised at the simplicity of HTML Content Blocker relative to how effective can be. It is hampered by being only global in scope and only capable of dealing with just five request types; js, css, img, obj, media. The default is to allow all categories so toggle each category off before loading any pages (to set global deny). HTML Content Blocker is fast and dead simple.</p> <p><strong><a href="https://adblockultimate.net">Adblocker Ultimate</a>:</strong><br> Very blocklist oriented but at least has an element picker. Default allow with no possibility to default deny. Low tier.</p> <p><strong><a href="https://adguard.com">Adguard AdBlocker</a>:</strong><br> One redeeming quality of Adguard is its dedicated logger window which shows requests by category and can be filtered by all, tab, etc. It may be possible, albiet clunky, to write custom rules based off logger information. Filters are automatically downloaded on first run. Otherwise it&rsquo;s like Adblocker Ultimate.</p> <p><strong><a href="https://adblockplus.org">Adblock Plus</a>:</strong><br> Adblock Plus is still up to their old antics with whitelisting &ldquo;acceptable&rdquo; partner ads, which has now been made <em>opt-out</em>. Can be configured in the global settings to block social icons, cookies and push notifications. Barely helpful for anyone who knows how to configure their browser.</p> <p><strong><a href="https://www.eff.org/pages/privacy-badger">Privacy Badger</a>:</strong><br> Can block by domain, but idiotically forces users to wait until the third party domain has been recognized on other sites or for the user to manually block after the damage has already been done. <em>&ldquo;The domain does not appear to be tracking you: \www.googletagservices.com&rdquo;</em> lol. Even though it is possible to block things manually (and clumsily), I think this addon is just meant to be a set-and-forget helper for grandmas.</p> <p><strong><a href="https://www.ghostery.com">Ghostery</a>:</strong><br> Advertises a &ldquo;block by default&rdquo; option but still fails massively by letting various resources through. You can restrict things on a per-site basis and Ghostery does a moderate job at informing what has been blocked vs allowed in the detail view. But new domains cannot be manually blocked until after they have been encountered in the wild. Has a setting &ldquo;A/B tests&rdquo; which is opt-out data collection. Oh man, it gets worse. Ghostery now also requires users to <a href="https://wrongthink.link/posts/eulas-fealty-to-the-overlords/">agree to terms and conditions</a> before enabling blocking functionality. I would never expect anyone to rely on Ghostery.</p> <image src="https://wrongthink.link/ghostery-terms.jpg" style="height:275px;width:324px;"> <image src="https://wrongthink.link/ghostery-blocking.jpg" style="height:285;width:294px;"> <br /><br /> <p><strong><a href="https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop">Firefox Enhanced Tracking Protection</a> (Stict settings, built-in):</strong><br> Per-site toggle and enabled by default. Although it is list based with no interactive way of discriminating by web request type. You can only look at the block statistics history. It&rsquo;s probably supposed to be overly simple but ETP is pretty pathetic on its own as a content blocker.</p> <p><em>*Evaluated within a fresh Firefox-ESR base with suggested Arkenfox hardening applied and anonymized DNS routing (at host).</em></p> <h1 id="other-noteworthy-addons">Other Noteworthy Addons</h1> <p><strong><a href="https://jshelter.org">JShelter</a>:</strong><br> <span style="color:cyan">REMOVED FROM LIST</span> as JShelter falls outside the scope of content <em>blocking</em>. It instead aims to mask/falsify data to javascript. One goal is to generate unique fingerprints, <em>per session</em> and <em>per domain</em> so that fingerprinters cannot build up a persistent identifier. <a href="https://jshelter.org/faq/">From their FAQ: Does JShelter replace a tracker blocker?</a></p> <blockquote> <p>No, many extensions specialize in list-based tracking. We consider list-based tracking out-of-scope of the JShelter mission. You should <strong>keep using a tracker blocker like uBlock Origin in parallel with JShelter</strong>. We believe that web extensions like <strong>NoScript Security Suite and uMatrix origin are good but do not protect the user from accidentally allowing malicious code</strong>.</p> </blockquote> <p>So it is therefore preferable to run JShelter behind an existing whitelist firewall like uMatrix, while allowing JShelter to act as a second-line of defense sanitizer for those scripts that you <em>do</em> allow.</p> <p><strong><a href="https://absolutedouble.co.uk/trace/">Trace</a>:</strong><br> <span style="color:cyan;">REMOVED FROM LIST</span> because, like JShelter, it is an anti-fingerprinting tool. It could be considered a rather glorified browser settings tweaker with blocklists stuffed in. Trace modifies requests and spoofs information. Some additional marks against it are the site being cuckflared (and, by extension, the blocklist updates) and the code being marked &ldquo;All Rights Reserved&rdquo;, despite being <a href="https://github.com/jake-cryptic/AbsoluteDoubleTrace/">posted on a git repository</a>. Just use JShelter instead.</p> Thoughts After Three Years With a Raptor Blackbird https://wrongthink.link/posts/thoughts-after-years-raptor-blackbird/ Wed, 13 Jul 2022 12:22:39 -0400 https://wrongthink.link/posts/thoughts-after-years-raptor-blackbird/ <p>The ultimate hacker computer? Overpriced prototype passed off as product? This is a sort of belated review after having spent nearly three years almost exclusively on a Raptor Computing Systems&rsquo; Blackbird motherboard. It&rsquo;s not all sugar plums and happy thoughts but I couldn&rsquo;t imagine a more appropriate device for my design mission. It really is the most user respecting system I&rsquo;ve ever had the pleasure to work with.</p> <p>First, let&rsquo;s get the obvious out of the way, the boards are very expensive right now. The price was on a downward trend before the manufactured crisis shutdown the world economy and it hasn&rsquo;t recovered since. But for those who demand free and secure design, the cost may be justified. No other system on the market currently checks all the boxes for being both performant and open while enjoying a lineage of established software availability. Their closest RISC-V based competition are still launguishing in the territory of low-power single board computers.</p> <h2 id="the-good">The Good</h2> <ol> <li><strong>The most thoroughly open source/open schematic hardware available.</strong> Full schematics are provided on physical media with the purchase. IBM even share the processor blueprints <a href="https://web.archive.org/web/20160909231043/http://asmarterplanet.com/blog/2013/08/open-and-collaborative-development-is-the-future-of-cloud-computing.html">through their OpenPOWER initiative</a>. The firmware can be compiled from Raptor&rsquo;s git.</li> <li><strong>Can be purchased with cryptocurrency.</strong></li> <li><strong>Does not require thermal paste.</strong> The higher core count CPUs (&gt;18) are recommended indium pads for thermal transfer.</li> <li><strong>4-way SMT.</strong> That&rsquo;s four threads per core, for the neophytes out there.</li> <li><strong>Most well secured design I have ever worked with.</strong> The remote management apparatus is network isolated. Each IC chip is selected for openess or lack of firmware blobs. Full ECC and IOMMU provide resilience against things like <a href="https://infogalactic.com/info/Rowhammer">Rowhammer</a> and malicious DMA devices, respectively. The BIOS-equivalent and <a href="https://wiki.raptorcs.com/wiki/BMC">BMC</a> are on separate ROM chips (There <em>is no</em> pulling the CMOS battery to reset credentials). Secure boot is possible with fully user managed keys and hardware enable/disable jumpers are used liberally.</li> <li><strong>Obscurity precludes common antifeatures from software builds.</strong> For example, <a href="https://wiki.mozilla.org/Media/EME">Firefox&rsquo;s EME DRM module</a> does not exist at all in the ppc64le package.</li> <li><strong>Mostly manufactured in the USA.</strong> The boards are <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Raptor-Blackbird-Shipping">assembled in Texas</a> IIRC, while the CPUs are <a href="https://en.wikichip.org/wiki/ibm/microarchitectures/power9">manufactured in New York</a>.</li> <li><strong>Server class hardware that fits in a tiny microATX case.</strong></li> </ol> <h2 id="the-bad">The Bad</h2> <ol> <li><strong>Incomplete repository package coverage.</strong> For example, Void&rsquo;s repository is only <a href="https://repo.voidlinux-ppc.org/stats.html">96% buildable for ppc64le</a> as of this writing.</li> <li><strong>No video output on add-in graphics during boot</strong> unless you write gpu firmware to <a href="https://wiki.raptorcs.com/wiki/PNOR">PNOR</a>, disrupting Raptor&rsquo;s IOMMU security model.</li> <li><strong>If you hit a snag, you&rsquo;re (sort of) on your own.</strong> Some very knowledgeable people frequent the forum and IRC but it&rsquo;s a small crowd. And Raptor&rsquo;s official support can have a <a href="https://forums.raptorcs.com/index.php/topic,279.0.html">long turnaround time</a>.</li> <li><strong>Slow to boot up.</strong> The Blackbird needs about two minutes to <a href="https://wiki.raptorcs.com/wiki/IPL">IPL</a> after receiving mains power. Once the BMC has fully started, chassis power can then be applied, initiating a Hostboot-Skiboot-Petitboot chain which takes another few minutes. Raptor claim their upcoming Kestral add-in daughterboard, which entirely replaces the BMC, can cut this time significantly.</li> <li><strong>No suspend functionality supported.</strong></li> <li><strong>Limited I/O.</strong> There are only four USB ports and only two PCIe slots.</li> <li><strong>Limited heatsink+fan assembly options.</strong> Myself and others have had to devise our own <a href="https://infogalactic.com/info/Rack_unit">2U</a> cooling solutions.</li> <li><strong>Some firmware management requires a separate computer.</strong> Upgrading the firmware is done either through SSH or by the web server interface to the BMC. You <em>need</em> to be able to trust the secondary computer as it will be handling your BMC credentials and other highly sensitive data.</li> </ol> <p>The result of all this trouble is that you end up with a system which harbors no malfeatures lurking beneath some opaque veil. Unlike x86 platforms which all have <a href="https://libreboot.org/faq.html#intelme">CPU backdoors</a> since at least 2013, if you find you don&rsquo;t need remote administrative functionality on the Blackbird (or Talos II), simply do not connect to the NCSI bridged ethernet port 3. And if you do, it is all exclusively under your contol anyway.</p> <p>Running an uncommon ISA forces one to broaden their knowledge about software and computing. I had found myself tweaking and compiling more programs from source than ever previously justified. Familiarizing oneself with chips on the PCB to manage their respective roles imparts a respect for the segmentation involved. And what becomes blindingly clear is that access to source code essentially dictates whether or not a software may be available on the platform. Even within Linux projects, there is such a pervasive expectation that end users will be running x86_64 that documentation gets tailored around it. Precompiled packages are often posted only in x86_64 with a side helping of aarch64. Libraries and dependencies used by other applications <a href="https://www.talospace.com/2020/01/dosbox-jit-on-ppc64le-and-how-you-can.html">fail to account for minority achitectures</a>. If you fly the POWER flag, you <em>will</em> end up employing some workarounds.</p> <p>It comes with the added benefit of keeping everything on your device well within the freely licensed paradigm. Technocrat OSes like <a href="https://12bytes.org/linux-vs-windows-from-a-privacy-perspective/">Windows</a> literally cannot run on Raptor hardware because they simply aren&rsquo;t compiled for ppc64(le). So as nice as it would be to promote such a solution to everyone, I cannot say that these POWER9 boards are appropriate for those who aren&rsquo;t very proficient with Linux or with computers, more generally. But if you&rsquo;re up for the challange, factor the above into your migration strategy.</p> Television Displaced as Propagandist Wetdream https://wrongthink.link/posts/television-displaced-propagandist-wetdream/ Tue, 12 Jul 2022 00:27:54 -0400 https://wrongthink.link/posts/television-displaced-propagandist-wetdream/ <p>It sure is fun to beat up on television watchers. But when we cast that moniker upon a target of ridicule, is that to infer <em>broadcast television</em> as their source of ignorance? Increasingly not. It no longer stands alone as ruler over the minds of the masses. Before we get into the implications or causation, more needs to be understood about the wider class of malignant squawkboxing that conventional television belongs to.</p> <p>Is the device itself a problem? Possibly, according to Jerry Mander in his work <a href="https://www.goodreads.com/book/show/228250.Four_Arguments_for_the_Elimination_of_Television">Four Arguments for the Elimination of Television</a> where he argues that scanline CRT helped to lull passively sitting viewers into hypnotic trance. Display technology has since changed and state altering effects are hardly the most evil thing about it. The real issue lies in the <em>content</em> delivered through the television medium along with the <em>way</em> it is delivered.</p> <p>There is a dichotomy of mass media delivery between the old world &ldquo;<a href="https://www.tradepressservices.com/push-vs-pull-media/">push media</a>&rdquo; and the newer &ldquo;pull media&rdquo;. Any medium where information is shoved into the viewer&rsquo;s face with no possibility for them to provide input, such as radio or newspaper, falls under push media. Pull media has only recently come into prominence with the web along with all its interactive possibilities. No longer does Joe Public need to sit passively absorbing the <em>unquestionable truth</em> from <em>expert consensus</em>. Although, sadly, most still choose to do so.</p> <p>That is seen in the phenomenon of the many who <a href="https://www.bitchute.com/video/RG6atzzglrGA/">proudly proclaim &ldquo;I don&rsquo;t watch TV!&rdquo;</a> as if to ward off the ridicule of being an info zombie. Unbeknownst to them, many of their choice replacements are mostly run by <a href="https://archive.ph/0mE5U">the same people</a>, using <a href="https://archive.ph/HCGRh">both new and familiar tricks</a> and with the same motivations, only in a flashy new package. Narrative is still imparted to an audience in suspended thought who go on to spread the &ldquo;news&rdquo; to their peers. The cycle remains unbroken.</p> <p>And not only does the spirit of television remain, but it&rsquo;s metastasized beyond anything envisioned in Orwell&rsquo;s 1984. These new screens can do more than quietly probe feedback. <a href="https://www.intechopen.com/chapters/65647">They know what you looked at, how long you looked at it, what excited you and what upset you</a>. They coorelate it with where you consumed the media, at what time along with sites or searches conducted before and after. An entire profile is built which helps craft tomorrow&rsquo;s narrative and how best to enrapture the attention of all others. The propagandists of yesteryear would have killed to have such a complete arrangement.</p> What Language Reveals About User Mentality https://wrongthink.link/posts/what-language-reveals-mentality/ Mon, 11 Jul 2022 14:38:24 -0400 https://wrongthink.link/posts/what-language-reveals-mentality/ <p>You have probably overheard conversations between laypersons bemoaning their interactions with some shiny new tech. &ldquo;It&rsquo;s good but X forces you to Y&rdquo; is a common clause peppered throughout the dialogue. Perhaps also variations of &ldquo;B prevents you from C&rdquo; such as “<a href="https://www.theguardian.com/culture/2021/jul/19/idiocracy-a-disturbingly-prophetic-look-at-the-future-of-america-and-our-era-of-stupidity">Ow My Balls</a> Live™ prevents you from sharing passwords now”. This is their recognition of barriers they&rsquo;ve run up against. Constraints they may not even realize are artificial. And that is their best effort to articulate this recognition, <strong>force&hellip; prevent&hellip;</strong>, the language of the subjugated.</p> <p>I want to highlight some other anomalies found in tech language.</p> <h2 id="ecosystem">Ecosystem</h2> <p>This one is industry-induced. They&rsquo;ve popularized the term <em>ecosystem</em> to describe an entirely <a href="https://infogalactic.com/info/Walled_garden_(technology)">controlled collection of vendor-approved</a> software or [dis]services. But ecosystem, when used in it&rsquo;s original ecological context, describes natural systems that are <em>open</em>, <em>generative</em> and <em>self organizing</em>. None of which are found in practice among proprietary walled gardens. So I propose instead we describe those closed hellholes as <em>zoos</em>. It is a software zoo.</p> <image src="https://wrongthink.link/Software-Zoos-Followup.png" alt="That's not an ecosystem..." style="width:649px;height:291px"> <br /><br /> <h2 id="jailbreaking">Jailbreaking</h2> <p>Phone drones tacitly recognize just how confined phones truly are through this valid comparison to prisons. When one replaces the operating system on a laptop or desktop, it is not thought to be breaking free from confinement (<a href="https://www.tomshardware.com/news/security-measure-forces-windows-on-lenovo-laptops">at least not yet</a>). But phones, often requiring special exploits to even initiate such a procedure, can be credited for this very apt terminology. Somewhat related is <em>rooting</em> a phone.</p> <h2 id="google-it">Google It</h2> <p>When you advise a normie &ldquo;Don&rsquo;t use Google&rdquo;, what they actually hear is &ldquo;Don&rsquo;t search with Google&rdquo;, completely missing the point that Google encompasses so much more than just their search engine. But the fact that <em>Google it</em> has become part of everyday lexicon shows us just how far the situation has deteriorated. It&rsquo;s as if they <a href="https://yewtu.be/watch?v=dAzm4cVOIsw">struggle to conceptualize people who find information from anywhere else</a>. I always make a conscious effort to say &ldquo;look it up&rdquo; as a more abstract suggestion to explore information online.</p> <p>While I&rsquo;m on the subject, I would like to propose a new term: <strong>Software Sluts</strong>. Hedonists who will use literally any piece of software so long as it is convenient, gratifying or simply popular, regardless of how detrimental it may be for their autonomy, health and freedom, or to that of the people around them.</p> The Tech Industry is Grooming Children https://wrongthink.link/posts/tech-industry-grooming-children/ Sun, 10 Jul 2022 12:08:45 -0400 https://wrongthink.link/posts/tech-industry-grooming-children/ <p>Children everywhere are being groomed en masse, but not in the way that term might illicit imagery of. From the day they&rsquo;re born to adulthood and beyond, the population is being conditioned into a system of mental and digital confinement. It is underhanded and cannot be percieved by most of it&rsquo;s victims. And almost everyone is complicit, especially those in education.</p> <p>Predatory corpos <a href="https://www.apple.com/education/k12/apple-distinguished-schools/">masquerade as benevolent</a> charities who just want <a href="https://news.microsoft.com/2008/03/12/microsoft-in-education-fact-sheet/">so badly to help children</a> receive a &ldquo;proper&rdquo; technology education. What they are actually doing is racing to beat their competitors to the cradle in securing each individual&rsquo;s first contact with technology as through their respective brand. The victim&rsquo;s crucial formative experiences will ensure they learn only the the vendor&rsquo;s proprietary systems and go on to become lifelong customers. This is why schools receive such steep discounts to get <a href="https://apnews.com/article/41817339703440a49d8916c0f67d28a6">predatory hardware and software into classrooms</a>.</p> <p>Once familiarity with MS Orifice 365, Google D*cs and whatever other trashware is normalized as a tool, it becomes imprinted in those early minds. And, not unlike learning a second or third language, any contact those children later make with different solutions can never truly supplant their first. What is this obsession with being their first? Where have I seen this kind of strategy before?</p> <p>Let&rsquo;s consult Dr. Phil&rsquo;s <a href="https://www.drphil.com/advice/the-five-stages-of-grooming-by-a-pedophile/">Five Stages of Grooming By a Pedophile</a>:</p> <table> <thead> <tr> <th>Grooming Strategy</th> <th style="text-align:center">Pedophiles</th> <th style="text-align:center">The Tech Industry</th> </tr> </thead> <tbody> <tr> <td><strong>Stage 1: Identifying a Possible Victim</strong> - Although pedophiles differ in their “type” regarding age, appearance and gender, all pedophiles will look for a victim who seems in some way vulnerable.</td> <td style="text-align:center">🗹</td> <td style="text-align:center">🗹 And they&rsquo;re <em>even less discriminating</em></td> </tr> <tr> <td><strong>Stage 2: Collecting Information</strong> - The next step is for the pedophile to collect as much information on the targeted victim as possible. This is most commonly done through casual conversations with both the child and the parents or caretaker.</td> <td style="text-align:center">🗹</td> <td style="text-align:center">🗹 Oh boy, <a href="https://internetsafetylabs.org/blog/news-press/me2ba-product-testing-spotlight-report-published-data-sharing-in-primary-secondary-school-mobile-apps-2/">do they ever</a>!</td> </tr> <tr> <td><strong>Stage 3: Filling a Need</strong> - Once the individual has the information he needs, he then becomes part of the child’s life by filling a need. If the victim is poor, for example, the pedophile will provide him/her with expensive toys. If the victim is lonely, the pedophile will act as a friend.</td> <td style="text-align:center">🗹</td> <td style="text-align:center">🗹 <a href="https://www.channelfutures.com/cloud-2/google-synnex-partnership-more-chromebooks-in-schools">Yup</a></td> </tr> <tr> <td><strong>Stage 4: Lowering Inhibitions</strong> - The pedophile will then start to lower the child’s inhibitions concerning sexual matters. He may come up with games or activities that involve getting undressed, make sexual comments or show the child pornographic images or pictures.</td> <td style="text-align:center">🗹</td> <td style="text-align:center">🗹 <a href="https://www.theguardian.com/technology/2021/feb/19/maths-app-targeting-uk-schools-is-criticised-over-premium-model">Yes, to the surprise of nobody</a></td> </tr> <tr> <td><strong>Stage 5: Initiating the Abuse</strong> - At this final stage, the pedophile begins to sexually abuse the child.</td> <td style="text-align:center">🗹</td> <td style="text-align:center">🗹 Okay, it&rsquo;s not sexual, <a href="https://archive.ph/GwAma">but it&rsquo;s definitely abuse</a></td> </tr> </tbody> </table> <p>He goes on to emphasize their predation of those who are underfunded, which is certainly a reason compelling school administrations to seek out cheaper pathways to classroom tech.</p> <p>As they graduate to higher education, some students may find interest in working more closely with tech. Maybe they want to enter digital design, or to make games. Well, their slimy uncle is ever present, ready to funnel them through proprietary malware. That aspiring game maker will largely only be taught toolsets aimed at DirectX and other vendor-locked environments. The artist will be dragged through a course in Illustrator, Premiere and Adobe&rsquo;s other <a href="https://archive.ph/dT9ry">bait-n-switch</a> incontinence. All of this cattle herding is done to capture what is called <a href="https://infogalactic.com/info/Mindshare">mindshare</a>, a measure of how much of the public conciousness upholds your product or service as the de facto. And once the emerging professionals are hooked on your software, so too follows the rest of their industry.</p> <p>This is why it is so crucial that free software be used in education wherever possible. Otherwise students get straddled learning platform dependency, an issue that I touch on in my other article, <a href="https://wrongthink.link/posts/refuting-computer-literacy">Refuting Computer Literacy</a>. Or, if you can, just keep your kids out of these institutions altogether.</p> The Decay of Web Development https://wrongthink.link/posts/the-decay-of-web-development/ Sat, 09 Jul 2022 12:36:52 -0400 https://wrongthink.link/posts/the-decay-of-web-development/ <p>This was extracted from a chat before it disappeared down the IRC black hole. It is not my rant, I have only improved the formatting.</p> <blockquote> <p>I wish more websites improved their interface without taking a js-dump. It&rsquo;s hard to comprehend how deep the issue goes. Fundamentally, I think the problem is that the modern &lsquo;web developer&rsquo; wasn&rsquo;t around for the earlier days of the web and, moreover, doesn&rsquo;t actually understand what the web <em>is</em>. They don&rsquo;t know any better because they&rsquo;ve never seen any better. Just look at how &lsquo;server side rendering&rsquo; has become a trendy fad, like these people have never heard of such a mindblowing concept.</p> </blockquote> <blockquote> <p>As near as I can tell, &ldquo;understanding&rdquo; is not (generally) considered to be a prerequisite for being any sort of developer. If someone decides to make a website and looks up resources for it, the first thing they&rsquo;re probably going to discover is either something faddish and trendy but completely insane and misguided (SPAs) or something which should be decent but has obnoxious functionality added with JS (e.g. cookie banners, tracking, floating headers), possibly gratuitously broken without JS (let&rsquo;s hide the content with CSS and then show it with JS!) because whoever created it has no comprehension of their craft.</p> </blockquote> <blockquote> <p>What&rsquo;s sad about this is that I remember the culture in say, 2002, with things like alistapart.com, which is literally named after the use of &lt;ul&gt; to create navigation tabs, etc. via CSS, rather than trying to crudely use HTML tables for layout etc. You had an ethos of XHTML, progressive enhancement, not misusing semantic elements like table for layout, etc. At some point that flew out the window and the industry completely lost it.</p> </blockquote> <blockquote> <p>Much of the functionality in HTML5 is a good thing, but I guess HTML5 was sort of the warning sign for the changes, since part of it was literally &ldquo;We do not think it&rsquo;s reasonable to require us to close tags in the order they were opened.&rdquo; which, if you think about it, is hilarious. Imagine writing a code generator which generates C and complaining that it demands valid input.</p> </blockquote> <blockquote> <p>The more I&rsquo;ve thought about this, the more I&rsquo;ve come to conclude that all HTML templating based around string templating systems (as opposed to transforming and serializing an AST) are a horrible hack in the first place. The industry literally complained that having to generate valid XML was untenable because their practices in this regard were so poor in the first place, and objected to having to cleanup their act.</p> </blockquote> Digital Piracy is Morally Justified https://wrongthink.link/posts/digital-piracy-morally-justified/ Fri, 08 Jul 2022 11:21:47 -0400 https://wrongthink.link/posts/digital-piracy-morally-justified/ <p>Sharing and receiving copywrong encumbered digital games gratis is always morally correct and completely justified except under condition 1.</p> <ul> <li>Condition 1. When distributed as copies containing the precompiled binaries, packaged with the required assets, from the seller&rsquo;s source-available program natively for <em>your</em> platorm at a fair market price.</li> </ul> <p>And even then, nobody should stop you, except maybe your conscience.</p> <p>Hello, <a href="https://en.wikipedia.org/wiki/Shuntaro_Furukawa">古川 俊太郎</a>, everyone has been thoroughly enjoying not paying for your <a href="https://www.urbandictionary.com/define.php?term=hostageware">hostageware</a> Super Mario 64. Perhaps they would be buying it if only it were built and sold, good and proper, for their choice platform without going through the <a href="https://github.com/sm64-port/sm64-port.git">reverse engineered PC port</a>. How long are you going to milk a shriveled cow?</p> <p>Hello, <a href="https://en.wikipedia.org/wiki/Sam_Houser">Sam Houser</a>. Nobody really cares how they obtained GTA III &amp; GTA Vice City assets as long as they have enjoyed access via RE3. Perhaps they would be buying the remaster if only the software wasn&rsquo;t maliciously locked to a certain operating system. Oh, and a few of us may have saved the <a href="https://github.com/GTAmodding/re3.git">RE3 repo</a> before you cucked out with a DMCA.</p> <p>And so on and so forth with every other reverse engineered hostageware. That is all.</p> Advertising Should Now Be a Relic of The Past https://wrongthink.link/posts/advertising-should-now-be-relic-of-past/ Thu, 07 Jul 2022 14:26:18 -0400 https://wrongthink.link/posts/advertising-should-now-be-relic-of-past/ <p>It is now the information age. Advertising should be obsolete. If anybody finds that they need something, they can go seek it out in <a href="https://infogalactic.com/info/Internet">today&rsquo;s Library of Alexandria</a>. No longer should goods or services ever need to be dangled in front of faces everywhere in hopes that somebody somewhere will fall prey. Advertising is just an artifact from a world where it once wasn&rsquo;t feasible for individuals to query nearly the entirety of human knowledge.</p> <p>One of the main goals of advertising is to induce perceived inadequacy and leverage that pressure against targets to make purchases through the <a href="https://infogalactic.com/info/FOMO">fear of missing out</a>. By allowing this form of <a href="https://www.magellantv.com/articles/the-psychology-of-propaganda-war-tool-turned-marketing-tactic">pschological attack</a> into one&rsquo;s life, one is tacitly giving up a portion of their own autonomy. Call me crazy, but I&rsquo;d argue that this is a form of indirect mind control. Terms like “manipulative adverstising” are hilarious because they insinuate that there is some kind of advertising that <em>isn’t</em> manipulative.</p> <p>And to those who argue that they are immune to advertising because they&rsquo;re aware of it or &ldquo;It just makes me not want to buy the product!&rdquo;: <em>It isn&rsquo;t about making you like or dislike anything</em>. Marketers just want to get you <em>thinking about it at all</em>. Familiarity is what drives an idea into conversation. Familiarity is what subconciously tips the scales when deciding between otherwise identical options. Familiarity stays in the back of your mind until that day you forget you even saw some annoying commercial.</p> <p>So here&rsquo;s a better solution: block that shit. For anyone who isn&rsquo;t already aware, there are very powerful tools available to cleanse ads out of your online experience. <a href="https://github.com/gorhill/uBlock">uBlock Origin</a> is a fantastic set-and-forget addon which can also optionally block any page element you so desire. Or for a more proactive approach, <a href="https://github.com/gorhill/uMatrix">uMatrix</a> can be configured to block <strong>everything</strong> by default leaving you to decide which parts of a web page are allowed through the castle gates.</p> Asymmetry of Digital Literacy Between The Political Divide https://wrongthink.link/posts/asymmetry-of-literacy-political-divide/ Wed, 06 Jul 2022 11:04:21 -0400 https://wrongthink.link/posts/asymmetry-of-literacy-political-divide/ <p>Discussion arose recently around the disparity found in technical literacy between the Lib-Left and Lib-Right, after a <a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/too-bad-libright-sucks-with-computers/">writeup by 寮</a> sparked some contemplation. Why is it that right leaning libertarians are so frequently outnumbered and outclassed in technical aptitude by their left leaning counterparts? Why do those who constantly find themselves removed from centralized platforms <a href="https://web.archive.org/web/20220425122635/https://talkliberation.substack.com/p/gettr-app-report">neglect to explore digital independence</a>? Speculation has gone in several directions but before we look at any hypotheses, let&rsquo;s establish some simple observations.</p> <p><img src="https://wrongthink.link/UNIXtrannoidxNeoBoomer.png" alt="SNS Comparison"></p> <table> <thead> <tr> <th>Common Lib-Left</th> <th>Common Lib-Right</th> </tr> </thead> <tbody> <tr> <td>Keen on organizing over decentralized, liberated communication</td> <td>Coalesces into centralized &ldquo;alt&rdquo; <a href="https://archive.ph/9qmlW">surviellence platforms</a></td> </tr> <tr> <td>Strong overlap with Linux, BSD, free software userbase</td> <td>Remains on OS and software designed by the same FAANGs who keep banning them</td> </tr> <tr> <td>Often developers, build and host their own sites/services</td> <td>Creates replacement platforms using prepackaged big tech cloud infrastructure &amp; middleware</td> </tr> <tr> <td>Demonstrates <a href="https://infogalactic.com/info/Opsec">OPSEC</a> and awareness of security/privacy considerations</td> <td>Reliance on others for secure services, only a mild regard for data privacy</td> </tr> </tbody> </table> <p>First, why the trend in MtF UNIX types? I think there is an unspoken love triangle between aspergers, transexuals and tech. <a href="https://archive.ph/kOJE4">Gender dysphoria is positively coorelated with autism</a> <a href="https://www.spectrumnews.org/news/largest-study-to-date-confirms-overlap-between-autism-and-gender-diversity/">[1]</a>. At the same time, <a href="https://www.webmd.com/brain/autism/features/autism-technical-smarts">screening reveals an overlap between strong computer interest and autism</a> <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6832622/">[1]</a>. And their own self analyzing theories tend to <a href="https://www.siliconrepublic.com/people/trans-people-tech-gaming">cite technology being their earliest outlet for escapism</a> into worlds where they can masquerade as the opposite sex.</p> <p>FOSS hackers have always <del>cross-dressed</del> crossed paths with Lib-Left ideologies. A significant portion of FOSS organizers try to position themselves favorably with emerging culture in hopes of recruiting new faces. So the FSF, for example, regularly <a href="https://media.libreplanet.org/u/libreplanet/m/meet-them-where-they-are-free-software-and-social-justice-today/">panders to social justice</a> and inclusivity.</p> <blockquote> <p>&ldquo;At LibrePlanet, we often talk about how free software intersects with human rights and social justice issues.&rdquo;</p> </blockquote> <p>This leaves left ideologues with the clout and manpower to build their own systems when needed, and to do it well.</p> <p>These differences manifest in their choice haunts; in microblogging for example - the right have <a href="https://infogalactic.com/info/Gab.com">several</a> <a href="https://infogalactic.com/info/Truth_Social">Twitter clones</a> which just <del>borrow code</del> <a href="https://www.theverge.com/2021/10/22/22740354/trump-truth-social-network-spac-mastodon-license-software-freedom-conservancy">violated copyleft</a> code from <a href="https://infogalactic.com/info/Mastodon_(software)">Mastodon</a> and run unfederated, forgoing Mastodon&rsquo;s strongest feature. Meanwhile the left have taken well to organize on the fediverse. However they, too, make concerted efforts to erect walls around their communities by running <a href="https://rathersafe.space/fediblock">fediblock</a>, a collaboration between server operators to defederate instances of anyone who oppose their ideologies. But at least they try to integrate with the wider federated network.</p> <p>I took a sampling of personalized site links from both sides. It is true that rightists tend to stuff their pages with third party resources, ads and links to their big tech profiles, if they even have a site. So many just treat their Substack or Telegram groups as home. In contrast, the pages which were thoughtfully crafted and seemingly self hosted were those of the aforementioned UNIX trannies.</p> <p>So the consensus reached in the day-long conversation was that rightists tend to be boomers who are naturally averse to technical learning, while their younger cohort&rsquo;s exposure was largely only through gaming which limited the scope of any skills they would go on to develop. Left aligning people tended to be millennials who grew up tinkering with technology, where there was already a dominant progressive culture.</p> <p>That leaves young people who are both libertarian right <strong>and</strong> technically proficient in a very lonely place. Nowhere is this endangered species more apparent than in cryptocurrency circles where one can find self described anarcho-capitalists shilling for proprietary wallets, <a href="https://wrongthink.link/posts/rebuking-libertarians-who-use-nonfree">holding their keys on botnet operating systems</a> (if they even hold their own keys at all) and generally missing the whole point of decentralized cryptocurrency.</p> <p>It is said that the left can’t meme… well, it seems the right can’t computer.</p> You Don't Need a Cell Phone https://wrongthink.link/posts/you-dont-need-a-phone/ Tue, 05 Jul 2022 19:04:16 -0400 https://wrongthink.link/posts/you-dont-need-a-phone/ <p>So many privacy advocates get all twisted up trying to find <em>the best privacy respecting phone</em> that they lose sight of the core problem at hand. One just needs a way to make calls. And maybe also to text. But even that is only to maintain the ability to interface with normie society.</p> <p>So I think it may be wasteful to expend effort trying to <a href="https://f-droid.org/">replicate proprietary mobile applications</a> and OSes. Do you need a camera? Do you need navigation? Do you need a music player? Not only are there still dedicated devices which do these things in a way that is infinitely better in your pursuit of privacy, but it is quite possible that your day to day doesn&rsquo;t require them at all.</p> <p>The truth is, if you lock your phone away in the attic for a week, you just might find that you don&rsquo;t really even need one. &ldquo;But Wrongthink!&rdquo; I can hear you say, &ldquo;What if I need to make calls?&rdquo;, &ldquo;What about my work?&rsquo;. True, I did mention above the need to maintain contact with normie society. Let me share with you how I do things.</p> <p>Since about five years ago, I have used a <a href="https://infogalactic.com/info/VoIP">VoIP service</a>. It is more affordable than any mobile phone service. It can be prepaid in decentralized cryptocurrency. The number can be from any desired geographical region. And I can still <em>take it with me</em> on the road such as on a laptop.</p> <p>You simply connect to the VoIP service through a <a href="https://infogalactic.com/info/Softphone">softphone</a> program, like <a href="http://twinkle.dolezel.info/">Twinkle</a>, <a href="https://ekiga.org/">Egika</a>, <a href="http://www.linphone.org/">Linphone</a> or one of the many other softphone solutions. It can even be done <a href="https://wrongthink.link/posts/terminal-telephony">through a command line interface</a>. The device the softone resides on can supply all of your normal Linux applications to fulfill the role of &ldquo;phone apps&rdquo; if so needed.</p> <p>I have free software solutions for some of the other things like <a href="https://wrongthink.link/posts/libre-gps-and-mapping">GPS navigation</a> and it&rsquo;s very liberating not to be dependent on so many services. I&rsquo;d say give softphones an honest try.</p> The Wright Brothers Were Not First in Flight https://wrongthink.link/posts/wright-brothers-were-not-first/ Mon, 04 Jul 2022 13:58:52 -0400 https://wrongthink.link/posts/wright-brothers-were-not-first/ <p>Let&rsquo;s take a brief diversion to talk about aviation. One of the many lies you were taught in school was that the first powered, heavier-than-air human flight was by the Wright brothers. Their remarked flight was actually eclipsed by two years by a German immigrant, Gustave Whitehead, who flew his design in the summer of 1901.</p> <p>Not only had Gustave flown earlier but his aircraft, the No. 21 &ldquo;Condor&rdquo;, was more advanced than the Wright Flyer. It could take off and land under its own power on driven wheels unlike the Wright Flyer&rsquo;s skid launch track. The No. 21 was capable of manuevered turns and stable control. In contrast, the Wright Flyer was unstable in pitch leading to undulation during flight. The No. 21 flew higher, farther, more often and demonstrated greater flight control. Professor of physics and Director of Aeronautics Division, Library of Congress, Dr. Albert Zahm had <a href="https://gustavewhitehead.info/smithsonian-conspiracy-to-deny-whitehead-flew-first/">attested that it is credible</a> Whitehead flew as early as 1902.</p> <p><img src="https://wrongthink.link/whitehead.png" alt="No. 21"></p> <p>The Wright Flyer was given to the Smithsonian, for $1, under contract that they would recognize it as first and accept the Wright&rsquo;s self reported distances. <a href="https://web.archive.org/web/20211206074739/http://historybycontract.org/">FOIA requests helped to reveal the degree of collusion</a> that was involved in suppressing Whitehead&rsquo;s work, in favor of the Wrights. Wilbur had hired William J. Hammer to front as an &ldquo;independent expert&rdquo; to promote their own version of history through PR campaigns. It was through such efforts that the official story taught in schools credits the Wrights. Fun fact: William J. Hammer was <a href="https://infogalactic.com/info/William_Joseph_Hammer">assistant to another infamous historical fraud</a>, but that&rsquo;s a story for another time.</p> <p>There are <a href="http://www.fairfieldhistory.org/wp-content/uploads/ODwyer-Gustav-Whitehead-Research-Collection-Ms-B107.pdf">dozens of witnesses</a> from both Pittsburgh, PA and Connecticut, where Whitehead conducted several flights, who provided testimony that they observed his machine in flight. And, more recently, a reconstructed model of the No. 21 design <a href="https://yewtu.be/watch?v=Ucm80BYUXEE">has been test flown successfully</a>, further attesting to the soundness of Whitehead&rsquo;s design and the fact that it could indeed fly.</p> <p>So why do I bring this up? It serves as a good example of some of our hidden history. It is also a relatively benign, politically neutral illustration that can be safely used to share with others and to open them up to the idea that some long established history may not be true at all. And maybe from there we can lead into some of the more uncomfortable truths.</p> <p>The best research I can find on the first in flight controversy has been done by Susan Brinchman who published a voluminous work <em>Gustave Whitehead First in Flight</em> (ISBN 978 0-692 439-30-2). Her research can also be found at <a href="https://gustavewhitehead.info">her website</a>. Also check out the work by William J. O&rsquo;Dwyer, <a href="https://www.goodreads.com/book/show/22043786-history-by-contract">History by Contract The Beginning of Motorized Aviation</a>.</p> Command Line Video Editing https://wrongthink.link/posts/command-line-video-editing/ Sun, 03 Jul 2022 22:25:09 -0400 https://wrongthink.link/posts/command-line-video-editing/ <p>There was a period of time where I forced myself to learn video editing on terminal with <a href="https://ffmpeg.org/">ffmpeg</a>. No, it&rsquo;s not that I was some go-getter hotshot. It&rsquo;s just that when I switched to a niche CPU architecture, the non-linear graphical video editors that were in my distro&rsquo;s repository at the time didn&rsquo;t want to play nicely.</p> <p>But, even though the GUI editors are now working well on my system, I still often use ffmpeg to this day to edit moderately simple clips because it&rsquo;s just faster and cleaner. I want to share some of the more common edits that I find myself using. The learning curve really isn&rsquo;t so bad.</p> <h1 id="cutting-clips-instantly-no-rendering-time">Cutting clips instantly (no rendering time)</h1> <pre tabindex="0"><code>ffmpeg -i video.mp4 -ss 00:03:10 -t 00:00:15 -c copy output.mp4 </code></pre><p>-i specifies the source file. -ss specifies the start time. -t sets the duration (this example ending 15 seconds after the start time). -c copy instructs ffmpeg to write that segment of the file without rendering anything. It&rsquo;s incredibly fast but can leave some paused frames at the end of the clip.</p> <h1 id="converting-video-into-a-gif">Converting video into a gif</h1> <pre tabindex="0"><code>ffmpeg -i video.mp4 -ss 00:00:07 -t 00:00:03 -f gif output.gif </code></pre><p>This example will create a 3 second long gif from a source video starting 7 seconds in. It is simple but can be a bit grainy.</p> <h1 id="converting-video-to-gif-with-custom-framerate-and-resolution">Converting video to gif with custom framerate and resolution</h1> <pre tabindex="0"><code>ffmpeg -i video.mp4 -ss 00:00:42 -t 00:00:10 -filter_complex &#34;[0:v] fps=12,scale=480:-1&#34; -f gif output.gif </code></pre><p>-filter_complex allows us to add trailing parameters which, in this example, specify to edit only the video and set it to 12 fps at a width of 480 pixels. The trailing -1 just keeps the aspect ratio.</p> <p>You can also use -filter_complex to crop a region by passing parameters like crop=400:400:100:0,fps=15,scale=360:-1. The crop inputs are ordered as =width:height:pixels from left:pixels from top.</p> <h1 id="crop-a-region-of-video">Crop a region of video</h1> <p>Or to just crop video you can use the simpler -filter:v.</p> <pre tabindex="0"><code>ffmpeg -i video.mp4 -filter:v &#34;crop=360:240:70:200&#34; output.mp4 </code></pre><h1 id="change-video-resolution">Change video resolution</h1> <pre tabindex="0"><code>ffmpeg -i video.mp4 -vf scale=480:-2 output.mp4 </code></pre><p>Like with gif making, the trailing -2 maintains aspect ratio. Otherwise you can specify custom width:height.</p> <h1 id="join-several-clips-together-into-a-single-video">Join several clips together into a single video</h1> <p>Start by creating a control file and populate it with the names of the desired clips like so.</p> <pre tabindex="0"><code>file &#39;clip_1.mp4&#39; file &#39;clip_2.mp4&#39; file &#39;clip_3.mp4&#39; </code></pre><p>Then feed the file list like you normally would a video source.</p> <pre tabindex="0"><code>ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4 </code></pre><p>-f concat instructs ffmpeg to merge the files together. They generally need to be the same type of encoding, framerate and resolution as all the others so remember to adjust these ahead of time.</p> <h1 id="overlay-a-still-image-onto-a-video">Overlay a still image onto a video</h1> <p><img src="https://wrongthink.link/emblem-overlay.jpg" alt="Emblem overlay"> This could be useful if you want to present something on-screen momentarily or throughout the clip. I recommend images that have transparency if it&rsquo;s an irregular shape.</p> <pre tabindex="0"><code>ffmpeg -i video.mp4 -i image.png -filter_complex &#34;[0:v][1:v] overlay=35:35:enable=&#39;between(t,0,48.5)&#39;&#34; -pix_fmt yuv420p -c:a copy output.mp4 </code></pre><p>Stream [ :v] is passed twice, one for the source video and one for the image. overlay= positions the image by distance from left:top and between(t,<em>,</em>) declares the start and end time in seconds for the image to appear.</p> <h1 id="extract-audio-from-video">Extract audio from video</h1> <pre tabindex="0"><code>ffmpeg -i video.mp4 -vn output.ogg </code></pre><p>-vn blocks all video streams. Or to keep the raw audio without encoding (maybe you want to preserve song quality?).</p> <pre tabindex="0"><code>ffmpeg -i video.mp4 -vn -acodec copy output.mp3 </code></pre><p>-acodec instructs copy to only handle the audio.</p> <p>There are tons of other things ffmpeg can do. They refer to it as the <a href="https://archive.fosdem.org/2018/schedule/event/om_ffmpeg/attachments/slides/2044/export/events/attachments/om_ffmpeg/slides/2044/FFmpeg_FOSDEM2018.pdf">swiss army knife of media conversion</a>. It might be worth making some scripts out of these if there is some edit pass that you do a lot of. Maybe in a future post I&rsquo;ll share some audio handling one liners.</p> A New Look, RSS, and Articles Being Rewritten https://wrongthink.link/posts/a-new-look-rss-and-articles-being-rewritten/ Sat, 02 Jul 2022 15:09:40 -0400 https://wrongthink.link/posts/a-new-look-rss-and-articles-being-rewritten/ <p>I was orginally maintaining this site in raw HTML from master copies on my production system. This strategy hasn&rsquo;t scaled well so I decided to redo things in a <a href="https://gohugo.io">static site generator</a>. Not only does this improve the layout, but also allows me to focus more on actually writing instead of languishing around constantly formatting templates.</p> <p>The old writings haven&rsquo;t gone anywhere. I am just revising them and will repost them shortly, along with new topics. Lastly, I want to share that I will be expanding the scope of Wrongthink, to rightfully include musings on other topics of verboten thoughtcrime. Don&rsquo;t mind the construction barriers.</p> Weakness Observatory https://wrongthink.link/posts/weakness-observatory/ Sun, 17 Jan 2021 13:23:22 -0400 https://wrongthink.link/posts/weakness-observatory/ <p>I do a lot of chest beating here championing free software for its <em>successes</em> but let&rsquo;s take a look at some areas where free software has met with some <em>failure</em>.</p> <h1 id="gaming">Gaming</h1> <p>The trajectory of professionally developed computer games for Linux appeared to be on the upward back in 2013 when Valve announced their Steam Machines and had already been porting the Steam client and Valve titles natively to Linux. Initially, this had caused a number of studios and other distributors to also take on Linux efforts. But this quickly evaporated after Steam Machines failed to take off commercially, with Valve later capitulating and offically integrating WINE-wrapped games as &ldquo;Steam Play&rdquo; titles, further entrenching the Windows environment imposed on gamecraft.</p> <p>Since then, we&rsquo;ve seen a domino effect of developers dropping Linux support in favor of simply directing Linux players to WINE (Proton). Numerous other challenges plague Linux releases such as anticheat engines failing to support Linux as a target. A portion games that were &ldquo;ported&rdquo; in the short lived fury of the post-Steam Machine era were done so through commercial translation layers like Eon which come at a cost of performance and accuracy, leading to a false perception by uninformed players that the issues where somehow the fault of Linux. These porting houses have also largely thrown in the towel.</p> <p>But on the libre side of things, games just tend to be awful, to be blunt. They often visually look as though they were developed for a school project. If there is multiplayer functionality, the servers are often barren wastelands. One of the staple genres, first person shooters, is highly disproportionaly parkour twitch arena shooters, half of which are just some twist of the quake engine. If that&rsquo;s your kind of thing then maybe it&rsquo;s not a mark against libre FPSes, but their active player count tells a different kind of story.</p> <p>Over the years, I have arrived at the conclusion that gaming is fundamentally incompatible with the goals of free software. In order to make a compelling game, the author needs to set rules and boundaries. Otherwise there is no challenge to overcome. But in order to set these boundaries, it must first be possible to prevent the player from exercising some of the four basic freedoms on their device, <strong>especially</strong> in multiplayer settings. So it is no wonder that libre and open source games tend to be relegated to acedemic curiosities and dead projects.</p> <p>I&rsquo;m not hopeful that the situation is ever going to turn around. But if you&rsquo;re interested in tracking free and open source gaming, have a look at:</p> <ul> <li><a href="https://libregamewiki.org/Main_Page">Libre Game Wiki</a></li> <li><a href="https://osgameclones.com/">Open Source Game Clones</a></li> <li><a href="https://itch.io/games/tag-linux/tag-open-source">Itch</a></li> <li><a href="https://salsa.debian.org/games-team">Debian Games team</a></li> </ul> <p>Otherwise, one might settle for games which are just DRM-free, <strong>native</strong> Linux releases but <em>still proprietary</em>:</p> <ul> <li><a href="https://www.gog.com/en/games/linux">GOG</a></li> <li><a href="https://itch.io/games/platform-linux">Itch</a></li> </ul> <h1 id="application-aware-firewalling-resolved"><del>Application Aware Firewalling</del> <strong>Resolved</strong></h1> <p>The firewall situation on libre operating systems is developing. End users have been able to opt for tools such as firewalld or (g)ufw, or directly through iptables or nftables. But these are what I call whack-a-mole firewalls. They only care about allowing connections by port or address and are completely application blind. This leaves users constantly having to play whack-a-mole to find which connections are trying to go outbound and then constantly open these ports, all the while praying that it is the only application that will use this port. Desktop users will have a multitude of applications which may be reaching out over the network, sometimes unsolicited or through dynamic port ranges. Opening port 443 for web browsers will also facilitate any other application to connect on this port with no way to discriminate between individual applications.</p> <p>It has taken all too long for free and open OSes, often mired for their handling of security and privacy, to devise a proper application aware firewall solution. And we now seem to have a winner:</p> <p><a href="https://github.com/evilsocket/opensnitch">OpenSnitch</a>: Was a one-man-show for some time until development halted. It was eventually picked back up by another author and has begun to reach maturity. OpenSnitch is rapidly shaping up to become the <a href="https://github.com/gorhill/uMatrix">uMatrix</a> for your entire OS. <em>And</em> it is now widely <a href="https://archive.ph/r2HgJ">available in distro repositories</a>, beating the others to the punch!</p> <p>The prognosis: I will be covering OpenSnitch in greater depth at some point.</p> <h1 id="hidpi-scaling">HiDPI Scaling</h1> <p>Resolutions exceeding full HD are actually not in terribly bad shape, as most desktop environments seem to have implmented DPI scaling. In my experiences, this scaling extends itself to anything using qt and gtk. Problems remain however for individual programs. Any fixed icon in an interface will be roughly 1/4th the size of what it was designed for. Form boxes and text on fields can sometimes be cut off or shifted out of view.</p> <p>Games have also been slow on the uptake. In many free games it is possible to set the resolution to 2560x1440 or 3840x2560 but the actual FoV and in-game UI might remain below 1920x1080 scale. Despite the <a href="https://infogalactic.com/info/Desktop_Environment">DE</a>-wide scaling implementation, it is clear that the teams behind these individual projects would need to adjust their UI options for high resolution displays. This invariably means that some programs simply may never play nice on your new ultrawide 4K monitor.</p> <h1 id="video-calling">Video Calling</h1> <p>2020 has drawn a lot of attention to this shortcoming, which may end up being a positive thing, as video chat/video conferencing has traditionally been a weak area for free software. The best contendors we seem to have at the moment are;</p> <ol> <li> <p><a href="https://tox.readthedocs.io/">Tox</a>: Works well, I have actually not found any technical issues with it but good luck getting friends, acquaintances and family to try it. P2P may be a limiting factor in holding a video conference with many peers, depending on bandwidth.</p> </li> <li> <p><a href="https://jami.net">Jami</a>: Formerly Ring. All users must be on the same release version, I have run into forward/backward compatibility problems in my testing. Otherwise it is fine execpt for the same potentiality of P2P scaling limitations mentioned above for Tox. UPDATE 2023: Now implements swarm messaging so that offline users will still receive messages once they return.</p> </li> <li> <p><a href="https://desktop.telegram.org">Telegram</a>: As of September 2020, they have implemented one to one video chat as an alpha feature. I have not tried it, Telegram demands a phone number and relies on a third party man in the middle. Telegram cannot be self hosted.</p> </li> <li> <p><a href="https://jitsi.org/">Jitsi</a>: Worked well once when I tried it in the past, it seems to have been removed from distribution repositories (fell out of development?). The Jitsi site seems to indicate that it is now just a web application.</p> </li> <li> <p><a href="https://infogalactic.com/info/XMPP">XMPP (Protocol)</a>: Statuses and invitations where a bit slow to update, but I was pleasantly surprised at the call quality. The only drawbacks I see being that laypersons may struggle to conceptualize creating accounts with different servers and varying clients, and that not all servers fully comply with XMPP standards. I would be extra careful to introduce colleagues to this. Maybe use the analogy of email.</p> </li> </ol> <p>A scattered offering, but these as well as others I did not name have been receiving some much needed development attention in response to the events of 2020.</p> <h1 id="web-search">Web Search</h1> <p>It might be a bit harsh to call libre web search a weak area when the proprietary counterparts <a href="https://www.techradar.com/computing/search-engines/google-search-might-be-getting-worse-and-ai-threatens-to-ruin-it-entirely">are an absolute dumpster fire</a> that even normies have begun to deride. There are a few open source or copyleft engines that can be self hosted. The problems with each;</p> <ol> <li> <p><a href="">Yacy</a>: Written in Java. This causes massive issues once the index grows beyond a certain size. I have experienced Yacy silently crashing, screaming CPU fan due to out-of-memory JVM, the entire settings of my Yacy node being purged following a daemon restart, and other memory-induced issues. If you run Yacy, <strong>have lots of RAM</strong> and <strong>assign as much of it as possible to Yacy&rsquo;s JVM</strong>. How much RAM is enough for Yacy? Who knows? The point of a searchable index is to grow it. What was enough memory only a week ago is entirely consumed only a week later. And capping the size of your index is an incredibly limiting &ldquo;fix&rdquo;.</p> </li> <li> <p><a href="https://github.com/MarginaliaSearch/MarginaliaSearch">Marginalia</a>: Java. What is it with open source search projects and using <em>Java</em>? Programs that will be handling comparitively massive amounts of data&hellip; using a memory hungry interpreter with dubious garbage collection.</p> </li> <li> <p><a href="https://github.com/gigablast/open-source-search-engine">Gigablast</a>: <del>Dead project?</del> <a href="https://blog.mojeek.com/2023/05/farewell-gigablast.html">Yup, dead.</a> Gigablast&rsquo;s official instance had been shut down a while ago and it looks like the last <a href="https://github.com/gigablast/open-source-search-engine/commit/6474e32956384b042db14ee9177137483e7ea965">actual code contributed to the codebase was back in 2022</a>. Also only builds for x86 targets. So not very useful for me.</p> </li> <li> <p><a href="https://github.com/spyglass-search/spyglass">Spyglass</a> Has pivoted into more of a local index role. Indexing websites is still possible, but the crawler will probably never be developed into a robust web crawler as a result. From their REAME:</p> </li> </ol> <blockquote> <p>Not all websites &amp; not all data can be crawled by Spyglass.</p> </blockquote> <p>There are also the metasearch engines, not having their own local index;</p> <ol> <li>SearX/SearX-NG: Cell-division into two separate projects because of some lover&rsquo;s quarrel between developers (Actually, I don&rsquo;t really know why and don&rsquo;t really care. It&rsquo;s just more <a href="http://localhost:1313/posts/free-software-consolidation/">needless fracturing</a>.) Metasearch is good <em>in theory</em>. But, in practice, it leads to a lot of</li> </ol> <blockquote> <p>Engines cannot retrieve results:<br> engineA (unexpected crash), engineB (unexpected crash)<br> engineC (unexpected crash), engineD (unexpected crash)</p> </blockquote> <p>Commercial engines <em>really</em> don&rsquo;t like answering POST requests, and <em>especially</em> not requests originating from known Tor exit nodes. Search results in SearX/NG are so unreliable, in fact, that requesting a second page of results is a roll of the dice as to whether anything actually gets displayed or if you&rsquo;re met with more &ldquo;(unexpected crash)&rdquo; errors. And the longer and more complex a search query is, the less likely it is to successfully produce results. I find that searches have to be only one or two terms at a time.</p> <h1 id="foss-web-browsers">FOSS Web Browsers</h1> <p>Okay, not <em>weak</em>, but not doing well. There are very few options and I won&rsquo;t belabor the point as the situation has been <a href="https://digdeeper.club/articles/browsers.xhtml">written about extensively by others</a>. Just a quick overview of the battlefield:</p> <ol> <li> <p>Firefox<br> Is the <em>sole</em> independent, not-so-independent browser with its own rendering engine that is functionally complete and used by more than twelve people. Mozilla are constantly harrassing their users and have recently pivoted to <a href="https://archive.ph/tO0Cf">go hard as an advertising company</a>. &ldquo;We know that not everyone in our community will embrace our entrance into this market&rdquo;. To use Firefox first requires a <a href="https://wrongthink.link/posts/hardened-web-browser/">meticulous configuration procedure</a> in order to make it respect user privacy. An extra step that is almost unheard of in the world of free and open source software.</p> </li> <li> <p>Firefox derivatives<br> Some are actually quite good. But all suffer from being downstream from Firefox. Maintainership has lapses in activity, manpower is spread thin. Security patches will inevitably take longer to reach package distribution (If said browser even <em>gets</em> packaged for your distro). And, often, the changes these teams make to Firefox are simply things that you can do yourself through user.js, about:config and addons.</p> </li> <li> <p>Chromium<br> Ungoogled Chromium, which I haven&rsquo;t really used so I cannot speak on, is a reductive effort. Using it still contributes to a web browser monoculture, further entrenching the root of the problem. Using Chromium as-is might as well just be using Chrome, which is worst-case scenario.</p> </li> <li> <p>Chromium derivatives<br> Suffers from the same problems described both in sections 2. and 3.</p> </li> <li> <p>The indie guys<br> I am hopeful for projects like Servo Browser, Otter Browser and others who are trying to go their own way. They seem to perpetually be in a state of alpha testing and development so using them leaves one without the option to do anything advanced such as using granular web blockers.</p> </li> </ol> <p>Wouldn&rsquo;t it be nice if we could look back five or ten years from now and say &ldquo;Remember when there was just Google Chrome and Mozilla Firefox and almost everything else was just based on those?&rdquo;</p> <p>*<em>Article last revised on 10/10/24</em></p> How Not to Digest Information https://wrongthink.link/posts/how-not-to-digest-information/ Fri, 01 Jan 2021 12:54:38 -0400 https://wrongthink.link/posts/how-not-to-digest-information/ <p>Why is it that news believers are incapable of ingesting information unless it is presented to them through a talking head at a desk with a tickertape running below and <a href="https://yewtu.be/watch?v=VpcrmAja6bY">blaring synthetic trumpets</a>? All this accompanied by animated graphics flying accross the screen and constant corner popups reminding the cattle which flavor of boomer news they&rsquo;ve tuned into.</p> <p>I feel nauseated whenever I have the misfortune of encountering anything formatted in this way. They are incapable of taking raw clips, perhaps a recording from an individual&rsquo;s device, and splicing it up into the relevant bits. The audio almost always completely drowned out by the dialogue of the talking heads. You never actually see or hear what the subject matter of the source is. At least not with the clarity needed to be able to discern anything meaningful about it with your own eyes and ears. And watched beginning to end, the boomerized version always takes ten times longer to get through than the raw source due to all of the fluff mealy mouthed commentary and synthetic orchestra intros and outros.</p> <p>It is as though <a href="https://yewtu.be/watch?v=ZzVziB-e_eg">news believers</a> clamor to be spoon fed information and then imparted perspectives about it other than their own. And their sources always seem to pick up on things somewhere down the chain, days or even weeks after the subject matter has already made its rounds among individuals online. Perhaps this is a result of the time needed for elaborate editing, prepared speeches and set design before airing.</p> <p>And, maybe the most bizarre I&rsquo;ve found, is that they will actually run ads pitching the value of television formatted news as &ldquo;a friendly way to catch up with your local familiar faces&rdquo;. Does anybody with an IQ above 70 actually believe that this style of information distribution is anything other than localized branches receiving scripts from a national or global <a href="https://www.technipages.com/definition/push-media">push media</a> network?</p> <video width=50% controls> <source src="https://wrongthink.link/television-news-believer.mp4" type="video/mp4"> </video> Raising the Costs of Migrating https://wrongthink.link/posts/raising-the-costs-of-migrating/ Thu, 17 Dec 2020 12:41:43 -0400 https://wrongthink.link/posts/raising-the-costs-of-migrating/ <p>I hate to make pages just to state what is probably already obvious, but I feel this deserves being said. Secure Boot has little to do with securing the boot process. At least in the sense of the word as most people understand it.</p> <p>The industry push raised around Secure Boot has way more to do with <a href="https://www.omglinux.com/lenovos-new-amd-thinkpads-only-boot-windows-by-default/">securing their product from running non-vendor approved platforms</a> than anything to do with protecting you individually. Big tech always likes to paint things as though it is for safety when in reality it is almost always about control.</p> <p>Why is it that some mainboards allow user management of keys or that users are allowed to &ldquo;disable secure boot&rdquo;? Simply because it would be too obvious, and too much too soon. The trend is always towards more control and more centralization and so I think hardware designs over the coming years will only reflect this.</p> <p>And it is already good enough for powerful players that when the odd user takes up interest in running something other than Windows, they must now <a href="https://download.lenovo.com/pccbbs/mobiles_pdf/Enable_Secure_Boot_for_Linux_Secured-core_PCs.pdf">first disable</a> the big scary sounding <strong>Secure Boot</strong> before being allowed to proceed. Who wants to make their computer less <em>secure</em>, right? This also checks the box of making competitors, Linux, BSD and others acquire signed keys, special authorization to be allowed to boot while leaving the anti-feature enabled.</p> <p>Does all of this mean that securing the boot process, as specified through UEFI, has no merit? Of course not. I just do not buy that this was ever the <em>primary</em> intention. As mentioned earlier it can present an opportunity to further harden a device but only wherever users control their own keys. A realistic model of the threat must be noted and the boot process represents a very small window of time while those attacking the boot sequence generally need physical hardware access.</p> Make Computing Local Again https://wrongthink.link/posts/make-computing-local-again/ Thu, 17 Dec 2020 12:29:34 -0400 https://wrongthink.link/posts/make-computing-local-again/ <p>A great power that people do not even realize they have lost is the ability to do things on one&rsquo;s own system without a network connection. This may sound obvious and stupid to some, although there is an entire generation <a href="https://infogalactic.com/info/Child_grooming">being raised</a> to view The Cloud™ as the primary way to get anything done whilst seated in front of a screen.</p> <p>But even for those of us who have been around since before the normalization of <a href="https://www.gnu.org/philosophy/po/who-does-that-server-really-serve.nl-en.html">Services as a Software Substitute</a>, how many still use Google search as a form of spell check, or a calculator? Copying special characters into clipboard? Dictionary, thesaurus? A combination of convenience and laziness is what has manifested this situation. And this is dangerous not only because these things can be surprisingly revealing but also because it can lead to eventual dependence upon Google or whichever <a href="https://infogalactic.com/info/Big_Tech">FAANG</a> is supplying the disservice in question.</p> <p>It might also surprise some just how much can actually be done predominantly locally within one&rsquo;s own box. Admittedly, it had taken me way too long to discover that email clients weren&rsquo;t just a relic found in the boomer stratum, but an actual useful way to interact with email without the expectation of a constant network connection. Beyond caching scenarios, there is huge swath of now <a href="https://infogalactic.com/info/Web_Application">web applications</a> which can be taken totally offline including but not limited to; mapping and routing, language translation, weather monitoring, virtual assistants and more. <em>*Some assembly required.</em></p> <p>But regrettably, we are quickly entering into a world in which people will be increasingly shocked to discover that one can do such basic things without internet as <em>editing documents</em> or <em>listening to music</em>. And so whenever I make recommendations for any techical solution, I will try to always supply either an entirely offline or at least locally cacheable means of accomplishing it.</p> Privacy Absolutism https://wrongthink.link/posts/privacy-absolutism/ Thu, 17 Dec 2020 12:23:38 -0400 https://wrongthink.link/posts/privacy-absolutism/ <p>One rhetoric which often makes its way to the forefront of privacy discussions online is that which states &ldquo;The only way out is to just move out to the woods and live in a cabin off grid!&rdquo;. I think that this is shortsighted, unprincipled and generally seeks to preserve the justifications made by the its proponents toward their own usage of various centralized disservices. It is a way for them to distance themselves from having to take responsibility for securing their own computing.</p> <p>They will go on to argue that a myriad of individual countermeasures &ldquo;Will never work against an alphabet agency because if they want you, they&rsquo;ll get you!&rdquo;. Not only does this frame the argument as though most users will somehow have the same threat model as Edward Snowden (most don&rsquo;t), but it also paints the issue not as a gradient and instead as a binary in which the switch is either 100% on or 100% off.</p> <p>Digital privacy is analogous to designing a stealth jet. It is always going to have some radar signature no matter how many measures are implemented. At best, one can only reduce this signature and so the goal becomes to make it as small as possible. If a nation were to follow the <a href="https://infogalactic.com/info/Nirvana_fallacy">absolutist logic</a> concerning their aircraft inventory, it would have no stealth jets at all because &ldquo;There&rsquo;s just no point, so why bother trying?&rdquo;.</p> Quotes That Resonated With Me https://wrongthink.link/posts/quotes-that-resonated-with-me/ Sun, 06 Dec 2020 13:18:52 -0400 https://wrongthink.link/posts/quotes-that-resonated-with-me/ <blockquote> <p>&ldquo;We must resist the seductive notion that others can be trusted to guide our consciences for us. We must remain true to our instincts and remember that something can still be completely wrong even if no one is protesting, even if other people are going along with it, even if we are told by those in authority that everything is &lsquo;just fine.&rsquo; Listen to your instincts.&rdquo; - unattributed</p> </blockquote> <blockquote> <p>&ldquo;If your words don&rsquo;t reflect your knowledge, you don&rsquo;t teach others.&rdquo; - unattributed</p> </blockquote> <blockquote> <p>&ldquo;The secret of freedom lies in educating people whereas the secret of tyranny is in keeping them ignorant&rdquo; - Maximilien Robespierre</p> </blockquote> <blockquote> <p>&ldquo;Weakness provokes bullies, that is appeasement rewards those who act in coersive ways.&rdquo; - ghost writer for Mike Pompeo</p> </blockquote> <blockquote> <p>&ldquo;Never forget that the human race with technology is just like an alcoholic with a barrel of wine.&rdquo; - Theodore Kaczynski</p> </blockquote> <blockquote> <p>&ldquo;I am of the opinion that one should pity those who, at birth, arrive with the yoke upon their necks. We should exonerate and forgive them, since they have not seen even the shadow of liberty, and, being quite unaware of it, cannot perceive the evil endured through their own slavery.&rdquo; - Étienne De La Boétie</p> </blockquote> <blockquote> <p>&ldquo;An important part of freedom is not having to make sacrifices for people who don&rsquo;t have to make sacrifices for you.&rdquo; - Sebastian Junger</p> </blockquote> <blockquote> <p>&ldquo;The spirit of resistance to government is so valuable on certain occasions, that I wish it always to be kept alive&hellip; I like a little rebellion now and then. It is like a storm in the atmosphere.&rdquo; - Thomas Jefferson</p> </blockquote> <blockquote> <p>&ldquo;If you accomplish something good with hard work, the labor passes quickly, but the good endures; if you do something shameful in pursuit of pleasure, the pleasure passes quickly, but the shame endures.&rdquo; - Musonius Rufus</p> </blockquote> Normie Logic https://wrongthink.link/posts/normie-logic/ Wed, 25 Nov 2020 13:10:30 -0400 https://wrongthink.link/posts/normie-logic/ <p>Let&rsquo;s take a quick journey into the mind of a <a href="https://yewtu.be/watch?v=Mlyh-Af8dCw">tech normie</a>. Their suffering is both amusing and frustrating.</p> <image src="https://wrongthink.link/lightbuzzyear.jpg" alt="wat" style="width:150px;height:150px;"> <ul> <li>Refuses to install a game because Reddit (correctly) told them it includes a rootkit &ldquo;anticheat&rdquo;, meanwhile unknowingly playing other games which also install rootkits but never made Reddit headlines.</li> <li>Bases their decision to use Windows, for personal non-business matters, on the notion that Windows is commonly used in businesses.</li> <li>Mental gymnastics to reconcile the belief that the driver model used in Windows is somehow sane.</li> <li>Habitually decrying Apple&rsquo;s subjugation of users &ldquo;I would never use Apple because they try to lock you in.&rdquo; then proceeding to get locked in to Windows.</li> <li>Taking the meme that it is &ldquo;illegal&rdquo; to personally install Mac OS on non-Apple hardware literally.</li> <li>Claiming not to care at all about digital sovereignty and then later getting upset by some proprietary technology acting against their interests.</li> <li>&ldquo;Linux doesn&rsquo;t have games that anyone has ever heard of.&rdquo;</li> <li>Incapable of conceptually differentiating between a console emulator and a game ROM.</li> <li>Thinking that proprietary software is somehow more secure since only the author can see the source.</li> <li>Complaining about having to phone up daddy Microsoft to ask permission to be allowed to switch motherboards. If you hate it, why keep using Windows? &ldquo;Yeah but I need all my games&rdquo;.</li> </ul> Anticheat Without Trampling Digital Sovereignty https://wrongthink.link/posts/anticheat-without-trampling-sovereignty/ Sun, 15 Nov 2020 12:03:51 -0400 https://wrongthink.link/posts/anticheat-without-trampling-sovereignty/ <p>Many gamers have been in an uproar recently about an anti-user <a href="https://arstechnica.com/gaming/2020/04/ring-0-of-fire-does-riot-games-new-anti-cheat-measure-go-too-far/">anti-cheat technique</a> which has been in use for far longer than most of them even realize. That is, anti-cheat which considers its players as such enemies that it must commandeer their Ring 0, kernel level control of their own computers. Mind you, gamers only care about this in the first place because it has <a href="https://www.reddit.com/r/pcgaming/comments/g1bcmo/ring_0_of_fire_does_riot_games_new_anticheat/">bubbled up into the normie-sphere</a> while the vast pool of other tyrannical anti-cheat remain out of sight, out of mind as always.</p> <p>But let&rsquo;s focus on something positive for a moment. How can anti-cheat be handled in a responsible way which respects the player&rsquo;s autonomy? There are some time tested tactics which stand imperfect individually, but can make an effective and trustworthy strategy when rolled together.</p> <h1 id="the-authoritative-server-model">The authoritative server model</h1> <p>In multiplayer games, there is almost always a server the players must connect to if they wish to play. The host therefore has the capability and responsibility to run a parrallel game instance against which to check all gamestates. Player A wants to move distance X? Player B wants to modify the HP of entity Y? Run it against a local copy in real-time and either pass along a yay or nay to said request. An unscrupulous player can have made any number of modifications to their game client and if it does not agree with the model being run by the server, it does not much matter.</p> <p>Granted, there are P2P game network models where the players take turns being the host. There are also timing and latency limitations this can impose on faster paced genres. Concessions in an authoratitive server design need to be made accordingly, and nothing is perfect&hellip; on it&rsquo;s own.</p> <h1 id="community-run-servers-and-moderation">Community run servers and moderation</h1> <p>Community vetting is a model which has worked in the meatspace. Large welfare distribution networks cannot perfectly police against those trying to game the system for freebies, while localised efforts have a better grasp as to whom is applying and what their situation is. Enforcement can only scale so high. Likewise, an online game which has a single monolithic master pool of players will always have non-insignificant number of cheaters falling through the cracks.</p> <p>When servers can be player hosted, it allows those operators to handle their own checking. Players are more likely to frequent a server and build familiarity with others. While cheating is always possible, it can be identified and more quickly dealt with through conventional means. This does put the onus of trust on server operators, but relatively little stands in the way of unsatisfied players from simply participating on other servers or hosting their own.</p> <h1 id="investment-in-attributes-outside-the-client">Investment in attributes outside the client</h1> <p>Commercial games often take advantage of this in the form of monetary payment to acquire a game copy or player account. But money is by no means the only way. Depending on the game, players can be tasked with building up profiles, public stats, unlockables or in-world projects which in some way represent the time and effort they have put into the game. These must exist network-side rather than locally.</p> <p>The idea is to increase the cost for those seeking to do harm through throwaway accounts. And those who have little interest in expending effort on the game regardless of this tax will find themselves with only the same tools available to starting players, limiting their reach. Contrarily, those who do invest themselves in curating their global attributes may be less inclined to risk losing everything they&rsquo;ve achieved.</p> <h1 id="minimal-client-side-anticheat">Minimal client side anticheat</h1> <p>The barrier to cheating can be further raised by client side checking. It does not have to be intrusive. It does not have to take over control of a section of the player&rsquo;s computer. The goal is not to make cheating infeasible, only to address the low hanging fruit. We want to minimize exploiting of the client as it ships from the game project, as most players will only ever run the official builds. Check against the obvious unlikelyhoods and scenerios which shouldn&rsquo;t exist under normal circumstances; player moving too fast? player is inside of a no clip region? These can all also be handled by the authoritative server checking, and should, making it an ideal complement.</p> <p>There are others, I&rsquo;m sure. These are just the ones that I have seen implemented in <a href="https://www.minetest.net/">games</a> which appear to be effective without having to put the players inside a virtual prison. Most people are good. Most people are not going to try to break your game. Let&rsquo;s exploit <em>that</em>.</p> The Tragedy of the Communications Commons https://wrongthink.link/posts/tragedy-of-the-communications-commons/ Sun, 15 Nov 2020 11:44:47 -0400 https://wrongthink.link/posts/tragedy-of-the-communications-commons/ <p>Looking on in retrospect, the internet had been dominated by free and interoperable communications standards for an unexpectedly long time. But there has been a very powerful and very successful trend over recent years to destroy these commons. The opposing models at play, for clarification, are:</p> <ul> <li> <p>Free, open and standardized. A standard protocol is defined by which an application can interface to handle voice, text, video or other communication. Users select an application of their choice and, because it plays nicely with an interoperable standard, they can communicate with users of different applications without interference. See; email, irc, xmpp.</p> </li> <li> <p>Proprietary, closed and undocumented. The communication protocol is closed and/or restricted by licensing. Users are funneled into a proprietary application if they want to be allowed to communicate over this standard. Reverse engineered implementations sometimes crop up but are typically rendered useless by changes in the protocol standard or by legal takedowns.</p> </li> </ul> <p>What is currently happening to digital communications standards is akin to private interests plundering public resources to establish monopolies. Imagine the interstate highway system being phased out in a takeover by a private highway system. People begin to use it electively because it is flashier and perhaps more convenient, but at the end of the day, everybody is now forced to drive only Ford vehicles (for example) as no other brand is <em>allowed to be</em> <a href="https://www.eff.org/deeplinks/2019/06/adversarial-interoperability-reviving-elegant-weapon-more-civilized-age-slay">made compatible with</a> this new road system.</p> <p>A unique problem surrounding the hostile takeover of proprietary standards involves their leveraging of <a href="https://www.gnu.org/philosophy/social-inertia.html">social intertia</a> in order to softly enforce the usage of their [dis]services. The decision to use a communication tool, to a layuser, often takes the form of &ldquo;That is where all my friends are, so that is what I like to use.&rdquo;. The problem is therefore not necessarily technical in nature. It does not matter if a free and user-respecting solution is as featureful (or even more featureful), users will tend to coleasce around what is already established and dominant. And so the platform which is lucky enough to have won over the minds of normies will always win out no matter how malacious it may be.</p> <p>For a number of years, I had run a VoIP instance using Mumble in which all of my colleagues were happy to partake. But something changed sometime around 2016. A period of silence on the instance and when I next tried gathering on voicechat with my colleagues, they were no longer interested in using Mumble. Not only passively dissinterested, as one might imagine an indifferent party to be, but demonstrated a strong vitriolic hatred towards this thing that we once shared. They discovered the new [dis]service Discord.</p> <p>Online voice chat is now another once-free area of the internet that has been gobbled up by software which is designed to mistreat its users.</p> Refuting Computer Literacy https://wrongthink.link/posts/refuting-computer-literacy/ Sun, 15 Nov 2020 11:19:55 -0400 https://wrongthink.link/posts/refuting-computer-literacy/ <p>If you ask anyone who comes to mind when they think of computer literate users you will almost always get platitudes <a href="https://www.independent.co.uk/tech/are-children-naturally-better-with-computers-than-their-parents-8628034.html">lamenting how amazing the youth are</a>. &ldquo;My granddaughter taught me how to use the internet.&rdquo;, &ldquo;My son is a wizard, I would be lost without him.&rdquo;. But what does it mean to be savvy with digital technology? What happens to these prodigies when their own phones or computers breakdown or simply do not behave in a desired way?</p> <p>I would argue that this demographic is actually the most technologically dominated. Their expertise is measured only in memorizing the layout of graphical UI logic trees of whichever platform or [dis]service is currently dominant. These are conventions which shift periodically, rendering much of that surface level knowledge useless as soon as there is an inevitable reimagining of UI conventions.</p> <br /> <image src="https://wrongthink.link/zoomie-fail.png" alt="Gen Z falls for online scams more than their boomer grandparents do" style="width:957px;height:255px;"> <p><i>Lifted from the article at <a href="https://web.archive.org/web/20231004125138/https://www.vox.com/technology/23882304/gen-z-vs-boomers-scams-hacks">Gen Z falls for online scams more than their boomer grandparents do</a>.</i></p> <p>What constitutes computer literacy needs to be broken down into smaller parts. Most people have, in fact, only <em>platform</em> literacy. They know the ins and outs of software set about by the artificial limits of whichever walled garden ghetto they chose (or where born into). Users are allowed to know that a given piece of data can be changed, created or shared in X way, but they cannot know how to do so outside of a vendor&rsquo;s sacrosanct methods. And this is by design. If, for example, a user is <em>easily</em> allowed to convert their movie library to a platform agnostic file format, it would lower their <a href="https://wrongthink.link/posts/raising-the-costs-of-migrating">costs accociated with leaving the plantation</a>. Their masters simply cannot allow this.</p> <p>Schools are also complicit in teaching platform dependency, rather than imparting meaningful computer literacy. Students are instructed how to navigate a framework whose underlying functionality cannot be understood or studied because it has been intentionally sealed off. This is anti-education. In fact, it is even worse than that. The tech industry has done such an effective job abstracting basic functionalities that <a href="https://futurism.com/the-byte/gen-z-kids-file-systems">new generations struggle to grasp basics like file systems</a>. People&rsquo;s ability to be digitally independent is being deliberatly eroded.</p> EULAs as One's Oath of Fealty to the Overlords https://wrongthink.link/posts/eulas-fealty-to-the-overlords/ Sat, 24 Oct 2020 23:31:44 -0400 https://wrongthink.link/posts/eulas-fealty-to-the-overlords/ <p>The land of the internet and computing has been dotted with castles. Fortresses and castles for empires whose leaders so generously grant the use of their land out to users. Between these castles lay the open fields of barbarians and smaller powers. It is at the behest of users to decide whether they try to forge their own way in the open plains, or to cower within the walls of a lord&rsquo;s castle.</p> <p>But users may not simply enter a lord&rsquo;s land without stipulation. No, they must undergo an induction ceremony or, as it is more colloquially known, the <a href="https://infogalactic.com/info/EULA">EULA</a>. In this act of humiliation, a user relinquishes their own rights over to a lord through a ritualistic declaration of faithfulness by selecting &ldquo;<em>I Agree</em>&rdquo;, constituting the ultimate gesture of submission.</p> <p>It is through this process that a user becomes a vassal of their proprietary lord, earning them the ability to work the platform for their master. In exchange, lords offer promises to provide protection, <del>peace</del>, and safety to those vassals within their lands. And it is precisely because users seldom hold the means to establish their own land that they must choose safety under a lord, instead of self sufficiency out on the frightening plains of barbarians.</p> <figure><img src="https://wrongthink.link/EULAvassals.png"><figcaption> <h4>Figure 01. Facebook vassals working the pages granted to them by Lord Zuckerberg.</h4> </figcaption> </figure> Unevenly Applied Principles https://wrongthink.link/posts/unevenly-applied-principles/ Sat, 17 Oct 2020 23:17:11 -0400 https://wrongthink.link/posts/unevenly-applied-principles/ <p>Numerous individuals have vehemently refused to accept personal voice assistants into their homes (rightly so) on the grounds of <a href="https://www.aarp.org/home-family/personal-technology/info-2019/voice-assistants-privacy-settings.html">privacy concerns</a>. Also noteworthy is their lack of consistency in applying these concerns. Let&rsquo;s take an glance at what Amazon&rsquo;s spyware platform, Alexa, has been cited as doing wrong in the eyes of the aformentioned individuals:</p> <ol> <li>Microphone always listening</li> <li>Application of human contractors to analyse voice assistant recordings</li> <li>Collected information is stored indefinitely and forwarded to third parties</li> <li>Collects far more information than is necessary to carry out its basic function</li> <li>Integrated advertising</li> </ol> <p>Why then, are these same individuals so comfortable with the idea of running Microsoft&rsquo;s <a href="https://arstechnica.com/information-technology/2015/08/even-when-told-not-to-windows-10-just-cant-stop-talking-to-microsoft/">spyware extravaganza; Cortana</a>? Not only is it capable of all the same woes as Alexa, but additionally has direct access to the host computer&rsquo;s files as well as receiving a far broader range of input data with which to conduct stylometric and psychographic profiling.</p> <p>I believe sunk cost plays a role. People become so ensconced in relying on their existing devices and software that they simply accept the slow creep of new antifeatures as an inevitability. While they may make a concious effort not to acquire new devices or software which bring new antifeatures into their lives, they also feel helpless to do anything about the existing ones already present or silently being introduced into those which they already own.</p> <table> <thead> <tr> <th>-</th> <th>Alexa</th> <th>Cortana</th> </tr> </thead> <tbody> <tr> <td>Always listening</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Recording analytics</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Stores &amp; shares all information</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Collects more information than is justifiable</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Integrated advertising</td> <td>✔</td> <td>✔</td> </tr> <tr> <td>Direct access to user&rsquo;s PC files</td> <td>✘</td> <td>✔</td> </tr> <tr> <td>User input behavioral profiling</td> <td>✘</td> <td>✔</td> </tr> </tbody> </table> In Support of Withered Technology https://wrongthink.link/posts/in-support-of-withered-technology/ Sat, 19 Sep 2020 22:58:27 -0400 https://wrongthink.link/posts/in-support-of-withered-technology/ <p>While it is nice to be on the bleeding edge of some exciting new tech, there is something to be said for intentionally pursuing older standards, hardware and software. One might miss out on having the most efficient CPU decompression or latest rendering tech, for example, but dated or <em>withered</em> technology comes with its own perks. This is not a term of my making, in fact, we actually owe it to <a href="https://en.wikipedia.org/wiki/Gunpei_Yokoi#Lateral_Thinking_with_Withered_Technology">one of the enemies of digital freedom</a>.</p> <p>The idea is that a mature design will have had its kinks ironed out and the time to prove itself in the field. It is often cheap, well documented and well supported by existing infrastructure devised around it. To the benefit of computing hardware, this often manifests in the driver software. Completeness and major bugfixes are generally all addressed a few years into its lifecycle and users can anticipate that updates will not cause major breakages or new and unintended behavior.</p> <p>In software and protocols, a solution often reaches maturity once it has become feature complete. The project enters <a href="https://infogalactic.com/info/Software_maintenance">maintenance mode</a> to receive bug fixes, security patches or the occasional feature tweak. It has accomplished its mission of achieving what the authors orginally set out to do. Very often this software can be run on almost any platform, is compatible with a diverse range of software clients and typically has very low hardware requirements.</p> <video width=50% controls> <source src="https://wrongthink.link/bestways.mp4" type="video/mp4"> </video> <p>This little rant is my vote in favor of stepping back a bit from the technological rat race and appreciating that there is <a href="https://web.archive.org/web/20160812185104/http://www.engr.sjsu.edu/fayad/SoftwareStability/Andrsnw2.html">stability</a> to be found in the old ways. And I think that gamers in particular could use a dash of this perspective. Beautiful 3D games of yesteryear which once turned towers into jet turbines are no less beautiful today than when they were launched. And now even metaphorical toasters can run them with ease.</p> The Hypocrisy of Decrying Mac While Lauding Windows https://wrongthink.link/posts/the-hypocrisy-of-decrying-mac-lauding-windows/ Sat, 05 Sep 2020 22:47:44 -0400 https://wrongthink.link/posts/the-hypocrisy-of-decrying-mac-lauding-windows/ <p>There is a pervasive perspective among Windows users who recognize but live with its ills, which argue Windows as good and valid because at <em>least it isn&rsquo;t Mac</em>. While it is first and foremost a coping mechanism, it is also a fallacy akin to destroying your home with a growing hoarding habit while pointing at the long time hoarder next door and crying out &ldquo;At least I&rsquo;m not that bad!&rdquo;. Is one any less harmful than the other? Let&rsquo;s take a look:</p> <blockquote> <p>Mac OS has been found to <a href="https://www.theguardian.com/technology/2014/nov/04/apple-data-privacy-icloud">send user data back to Apple</a> without consent. Good thing Microsoft would never do such a thing with <a href="https://arstechnica.com/gadgets/2017/10/dutch-privacy-regulator-says-that-windows-10-breaks-the-law/">Windows</a>.</p> </blockquote> <blockquote> <p>Mac OS <a href="https://www.macworld.com/article/3230498/apple-file-system-apfs-faq.html">forces changes and updates on users</a> without even notifying them. Trusty old Windows <a href="https://www.theverge.com/21310611/microsoft-edge-browser-forced-update-chromium-editorial">has <em>never</em> done this</a>.</p> </blockquote> <blockquote> <p>Apple <a href="https://www.theguardian.com/technology/2017/jun/06/iphone-ipad-apps-games-apple-5-5c-obsolete">deliberately kill support for older products</a> with no valid technical reason to do so. Good thing Micrsoft <a href="https://arstechnica.com/information-technology/2017/04/new-processors-are-now-blocked-from-receiving-updates-on-old-windows/">never engage in this kind of abuse</a>.</p> </blockquote> <p>The determinant of whether a software treats its users as cattle is not which corporate flag they fly nor which branding the product bears. Ask yourself this, would any of the anti-features in the above descriptions even be possible to force on end users if the source code were available to the public to examine and modify?</p> Digitally Transforming an Industry https://wrongthink.link/posts/digitally-transforming-an-industry/ Sat, 05 Sep 2020 21:55:13 -0400 https://wrongthink.link/posts/digitally-transforming-an-industry/ <p>The medical industry could surely use a &ldquo;<a href="https://en.wikipedia.org/wiki/Digital_transformation">Digital Transformation</a>&rdquo;. Just think of all the lost profit because pace maker suppliers opted not to integrate microtransactions. Booster packs to keep your pace maker running? Why not? Pacemakers should always connect to a master server in order to monitor the client&rsquo;s safety. Don&rsquo;t worry about the public catching on to your antics, normies will always willingly embrace something as long as you tell them it is for their own safety.</p> <p>The whole of medicine should take inspiration from the IT industry and integrate subscriptions and licensing in everything from prosthetics to visits from relatives. Your surgery didn&rsquo;t succeed? What a shame, you should have joined the Medicine Live™ network so that we could have enabled the suture feature for your surgeons. Afterward, you could have bought a $150 founder&rsquo;s pass to enable your mobility scooter to exceed 2 mph for the next two days. What, you&rsquo;re not interested in fast, great service?</p> <p>Obviously, no sane society would accept any of these things (I would hope not!). So why does it get a free pass elsewhere? I suspect a few possible reasons:</p> <ol> <li>Consumer computing is relatively new at only ~40 years, depending on how you estimate it. Unlike long established facets of society, computers and the internet have not really had a long history yet for people to compare against. Whatever is rolled out today is simply accepted as standard fare, because it is all so new anyway.</li> <li>Our tolerance for blatant abuse and coercion are raised once health and safety are not directly involved. The electric car you just bought which has <a href="https://www.reuters.com/article/us-tesla-battery/tesla-owner-lawsuit-claims-software-update-fraudulently-cut-battery-capacity-idUSKCN1UY2TW">unlockable</a> DLC acceleration is not a life-or-death matter as would be with a heart valve, for example. The thought of artificially limiting such a component (and for profit, of all things) would be a terrifying prospect.</li> <li>In the purely digital arena everything is so relatively abstract, compared to real life, that the abuse is simply imperceptible to most people. This is a concept I touch on in my article <a href="https://wrongthink.link/posts/blindness-of-the-layperson-toward-digital-freedom">Blindness of the Layperson Toward Digital Freedom</a>.</li> </ol> Protocols, Not Platforms https://wrongthink.link/posts/protocols-not-platforms/ Sat, 22 Aug 2020 21:39:03 -0400 https://wrongthink.link/posts/protocols-not-platforms/ <p>Imagine for a moment the absurdity of an email service which only allowed emails to be sent or received among its own internal users. If somebody wanted to communicate with you, they would also need to create an account with the service instead of using their own existing email with another provider. This unfortunate scenario has sadly become the norm among online video chat as well as some other online communications solutions.</p> <p>I wouldn&rsquo;t advocate anyone to use these clients but, how nice it would be if users of Skype could seamlessly enter video sessions with users of Zoom, Whatsapp or any other video software, proprietary or otherwise. This could have been a reality if online video chat were built around protocols instead of platforms. Protocols facilitated things like IRC and email to flourish wherein each user chooses their own software client. This is the power of the protocol model.</p> <p>Conversely, the platform model has been pushed so hard by industry because it delivers such <a href="https://infogalactic.com/info/Closed_platform">granular control over users</a>. Victims of platforms are entirely dependent upon that platform&rsquo;s operator to continue to access it. These users can be uniquely tracked and, more importantly, monetized. The platform ensures that all users are stuck within the confines of a service with no way to escape. This is great for maintaining user retention. However, all of these things are anti-user and anti-freedom. How did we arrive at this hellscape?</p> <p>Here are some areas where I find that standardized, free protocols are badly needed (or already exist but, sadly, are not commonly used):</p> <ul> <li>Online games &amp; game services</li> <li>[Recent addition, courtesy of Discord] Online voice chat</li> <li>Video chat/conferencing</li> <li>Livestreaming</li> </ul> <p>And here are some areas where free protocols were once absent but have been created to address the issue:</p> <ul> <li>Video hosting - has gone protocol following the efforts of <a href="https://joinpeertube.org/">Peertube</a>.</li> </ul> The Digital Prime Directive https://wrongthink.link/posts/the-digital-prime-directive/ Sat, 22 Aug 2020 21:19:19 -0400 https://wrongthink.link/posts/the-digital-prime-directive/ <p>A popular science fiction television series introduced the concept of the <a href="https://infogalactic.com/info/Prime_directive">Prime Directive</a>. A directive which establishes that it is not only wrong, but harmful, to introduce advanced technology such as warp propulsion to developing civilizations which have not yet independently developed it on their own. The developing civilization invariably does not understand what has been given to them and ends up abusing it and bringing harm upon themselves or others.</p> <p>Not too unlike this observation, I have come to learn over the years that utilizing free software is a self-selective process. When an individual is simply given liberated technology without understanding why it has merit, they typically grow to resent it when it does not behave in a way that they expect it to. Or they become frustrated when finding that a particular tool or toy has failed to be made compatible with free software or open hardware.</p> <p>And so, I have committed to follow my own sort of prime directive. The only things regarding software or hardware freedom that I will share with normies, going forward, will be its surrounding ideas and values. There is no sense in endorsing a free technology on its capabilities or technical specifications, without first establishing why it is valuable on its own as an open and user-respecting tool.</p> Blindness of the Layperson Toward Digital Freedom https://wrongthink.link/posts/blindness-of-the-layperson-toward-digital-freedom/ Sat, 22 Aug 2020 21:13:06 -0400 https://wrongthink.link/posts/blindness-of-the-layperson-toward-digital-freedom/ <p>Software, firmware and hardware design is not conceptually tangible to the average user. The mass of functionality is packaged away neatly outside of view from users and so has been exploited to the fullest possible extent.</p> <p>Imagine for a moment that you were transported back to early 20th century America armed with today&rsquo;s knowledge of the damages associated with smoking. Good luck convincing any significant proportion of the population to reconsider their habit. &ldquo;What gives? Everyone does it!&rdquo; It had been normalized and so took decades of public efforts to turn the tides on the matter.</p> <p>We live today in the digital equivelant of 20th century American attitude toward smoking. It has become so normal to use proprietary technology designed to mistreat users that it is even expected. And like proprietary technology, tobacco can even bring pleasure or comfort to those who use it. This greatly complicates constructing a compelling case against it.</p> <p>But the effort to correct public perception toward smoking had a massive advantage, which arguments for digital freedom do not enjoy; the effects were ultimately measurable and tangible to the average person given enough time. Digital technology is so deeply abstracted and reaches into so many facets of life that I fear it truly asks far too much effort on behalf of the layperson to be able to percieve where one truly does and does not have freedom.</p> <p>How is a citizen expected to know that their entire computer runs unprivileged below a master processer which they cannot control and which exposes remote access capabilities? One cannot possibly seriously consider their position on the matter without first being capable of understanding what that entails, let alone being aware of it to begin with.</p> It All Boils Down to Encryption https://wrongthink.link/posts/it-all-boils-down-to-encryption/ Sat, 22 Aug 2020 21:05:00 -0400 https://wrongthink.link/posts/it-all-boils-down-to-encryption/ <p>When a program is compiled, the resulting binary is effectivly encrypted. It cannot be reconstructed without the source. This is the application-level version of deploying cryptography against its users.</p> <p>A vendor, or any other party, maintains full-spectrum power over their users when combining;</p> <ol> <li>Vendor-controlled network encryption - one cannot see what an application is passing through one&rsquo;s NIC, since you do not control the keys.</li> <li>Vendor-controlled content encryption - conventional DRM.</li> <li>Vendor-controlled storage encryption - see: Apple locking local user data to hardware cryptography.</li> <li>Vendor-controlled firmware encryption - UEFI &ldquo;secure&rdquo; boot, <a href="https://libreboot.org/faq.html#intelme">Intel ME</a>, <a href="https://libreboot.org/faq.html#amd-platform-security-processor-psp">AMD PSP</a>, <a href="https://www.servethehome.com/amd-psb-vendor-locks-epyc-cpus-for-enhanced-security-at-a-cost/">cryptographically signed</a> whitelisted hardware, etc.</li> <li>Vendor-controlled application/operating system encryption - textbook definition proprietary software, also necessary to facilitate the enforcement of items 1. through 4.</li> </ol> The Hypocrisy of PC Gamers https://wrongthink.link/posts/the-hypocrisy-of-pc-gamers/ Sat, 15 Aug 2020 20:39:50 -0400 https://wrongthink.link/posts/the-hypocrisy-of-pc-gamers/ <p>A rallying cry which began to take off around 2011-2013 set out to rectify the ills of the gaming landscape: &ldquo;Everyone should game on PC which is more free, powerful and accessible!&rdquo;. And while true, the movement proceeded to miss the point entirely. What has now become obvious is that gamers do not care about freedom or accessibility. In fact, they love the heel that is crushing their necks. They demonstrate incredible eagerness to install rootkits and other malware so long as it gives them access to their digital crack cocaine.</p> <image src="https://wrongthink.link/PCMRhypocrisy.png" alt="Hypocrisy in action" style="width:480px;height:900px;"> <p>Users who migrate from gaming consoles to Windows-based PC gaming proudly proclaim that they have <a href="https://web.archive.org/web/20171123161800/https://www.reddit.com/r/PCMasterRace/wiki/dictionary">ascended</a> when the reality is that they have simply escaped the cluches of one tyrant only to dash into the arms of another. It doesn&rsquo;t matter which form it takes, proprietary games are designed to artificially restrict users, enforce <a href="https://infogalactic.com/info/Vendor_lock-in">vendor lock-in</a> and hold games hostage in an effort to legitimize otherwise valueless platforms.</p> <p>The hypocricy escalates to new heights when you begin to scrutinize their arguments. &ldquo;PC can be more graphically powerful&rdquo; True, <em>but</em> they do not care for nor understand why that reality had been made possible. I suspect that if a hypothetical gaming console were released today which far outpaced the graphical capabilities of today&rsquo;s gaming computers and came with a wider selection of games, most PC gamers would convert in a heartbeat. This is because they are just chasing the end results and will lick any boot necessary to get there no matter how badly their freedoms get trampled.</p> <p>&ldquo;PC has more games&rdquo; One of the strongest fuels firing this hypocrisy is the &ldquo;have it all&rdquo; mentality. This can especially be observed in users who go out of their way to own every console and conceivable game laucher. Their measure of value is only in how much access they have and to as much quantity as possible. These are individuals who remain enslaved to the <a href="https://infogalactic.com/info/FOMO">fear of missing out</a>.</p> <p>&ldquo;PC is more free&rdquo; Just because a master affords one of his slaves more privileges does not make that slave a free man. Likewise, Windows exposes much more functionality to users than consoles (simply by virtue of consoles being so insanely locked down) such as access to the file system and to install and run unauthorized software (<a href="https://www.theguardian.com/technology/2017/may/03/windows-10-s-microsoft-faster-pc-comparison">for now</a>). This provides the illusion of user freedom but these are really just privilges which regularly get constrained. So long as only the author has access to a program&rsquo;s code, the user is completely at its mercy and, by extension, the author&rsquo;s.</p> <p>To add insult to injury, PC gamers today have capitulated to the numerous game launchers, most notably <a href="https://spyware.neocities.org/articles/steam.html">Steam</a>. These are, in and of themselves, closed platforms. Much like having tiny virtual gaming consoles demanding your compliance for reward in play time.</p> <h2 id="anti-faq">Anti-FAQ</h2> <p><em>&ldquo;Just get a console, bro&rdquo;</em></p> <p>This only serves to take a bad situation and make it even worse. It is non-advice to tell people to accept an even more draconion DRM machine which exerts vendor control in complete totality. Even Mac OS or Windows machines still provides some small measure of choice above anything a console has ever provided.</p> <p><em>&ldquo;Just dual boot&rdquo;</em></p> <p>So in order to run one or a handful of additional programs, whose authors refuse to allow to be built for all but a single platform, users must be expected to maintain an entire additional system? Don&rsquo;t be fooled by the fact that it is in the same chassis as another computer. Refer to: &ldquo;Just have a separate PC&rdquo;</p> <p><em>&ldquo;Just run a VM&rdquo;</em></p> <p>This only pushes the problem off to another layer. You are still running Windows. Next.</p> <p><em>&ldquo;Just use WINE&rdquo;</em></p> <p>WINE, Eon, Proton and other wrappers signal to the industry at large that proprietary standards are acceptable. You&rsquo;ve now just jumped through a set of hurdles like an obedient little dog in order to get to that precious treat at the end of the course, and you still have an owner.</p> <p><em>&ldquo;Just have a separate PC&rdquo;</em></p> <p>One already has a capable system which already works. The barriers to making a particular piece of software run on it are completely and intentionally artificial. Maintaining a completely separate system alongside it not only bows to the antagonists that gave rise to this situation but encourages their behavior to continue. Additionally, such a strategy also involves dropping hundreds, potentially thousands of dollars that wouldn&rsquo;t otherwise need to be wasted. Not a solution, pass.</p> The Myth of Obsolete Hardware https://wrongthink.link/posts/the-myth-of-obsolete-hardware/ Sat, 15 Aug 2020 20:26:21 -0400 https://wrongthink.link/posts/the-myth-of-obsolete-hardware/ <p>I have often observed individuals who are quick to blame the age of their computer for any number of the technical ills they encounter. Things ranging from sites being too slow to load or a piece of media that refuses to play. Informed users, by contrast, might readily attribute these things to constricted network bandwidth or some codecs that need to be installed. But for the common user, is it really their fault that they perceive any hiccup as a sign of that dreaded <em>obsolecense</em>?</p> <p>Just look at how the web has devolved. It is not uncommon for sites to load up dozens or hundreds of javascript programs, and mostly for the <a href="https://www.makeuseof.com/tag/3-ways-javascript-can-used-breach-privacy-security/">purposes of tracking and advertising</a>. When this invariably causes pages to hang, stutter or for one&rsquo;s laptop fan to spool up, it is not because the hardware components within have somehow become slower. With few exceptions, years old computer parts are still just as fast as the day they slid off the production line.</p> <p>Instead, I blame pursuits such as the <a href="https://wrongthink.link/posts/deadending-x86">constant churn of hardware media accelleration extensions</a>. I blame the unending scope creep of programs and entire operating systems as they increasingly consume more CPU cycles, memory and storage. And most of all, I blame the software that is today built lazily on top of libraries, which in turn rest on top of their own dependencies, making operations that were once streamlined into a mess of inefficient middleware <a href="https://www.bmc.com/blogs/spaghetti-code/">spaghetti</a>.</p> <p>This is all unfortunately invisible to those of lower technical aptitude that this writing begins on. They are kept on a treadmill which they cannot perceive, and perfectly operational hardware continues to find its way into garbage dumps. Encouraging your colleagues, friends and family towards blocking web content and using simplified software is not only a gesture to preserve their sanity but also to protect them from paying a tax incurred by lazy, inept, malicious or incompetent software authors.</p> <p><em>*Disclaimer: Yes, I recognize that there are actual limits as to what one can get by with. Though I assert that this boundary exists at hardware aged about 15 years, rather than the commonly assumed (or engineered?) 3-5 years.</em></p> Why Phones Have Become So Terrible https://wrongthink.link/posts/why-phones-have-become-so-terrible/ Sat, 15 Aug 2020 20:07:20 -0400 https://wrongthink.link/posts/why-phones-have-become-so-terrible/ <p>In the 1980s and following years, a fluke occurred in the electronics industry. It was largely due to the hobbyist culture at the time, devices which found their way into the workplace and the home exposed users (theoretically) to the entire system. Many of the characteristics which are still fairly common in *desktops today, such as the ability to boot non-vendor approved media, derive their heritage from this era. As laptops took off, they largely upheld these principles, only with the regrettable exception of never standardizing around a common motherboard form factor. On both the hardware and software fronts, users are arguably able to make their own decisions and apply their own changes.</p> <p>When the concept of the smartphone emerged around 2008, it gradually became clear that this new form factor would one day become the primary device for most computer users. The industry saw in this a new opportunity to do things over from a clean slate. From day one, they were sure to lock the form factor down as much as possible so as to prevent users from having any real freedoms of their own.</p> <p>Closedness is so widly accepted in mobiles phones today that terms like <a href="https://www.pcworld.com/article/474082/geek_101_what_is_jailbreaking_.html">jailbreaking</a> have entered normal lexicon. Among prior form factors, this was simply called &ldquo;installing your own software&rdquo;. Phone makers were also sure to remove all user freedoms with regards to hardware. Components are firmware locked and nothing gets installed without the vendor explicitly allowing it. This is, of course, if you are even able to access the internals of the device.</p> <p>The tragedy at hand is that the abuses pioneered for phones have begun making their way into the once-free desktop form factor. CPU vendors now lock down their chips and boards with cryptographically signed firmware, allegedly for security. For whom is the device being secured? Similarly, the freedom to boot any media is being eroded by the industry&rsquo;s meddling in EFI, implementing &ldquo;secure&rdquo; boot. Vendors do not actually care whether your system&rsquo;s boot process is resilient against malicious modification. The real value to them lies in handcuffing users to vendor controlled software and further raising the barrier for those who wish to explore outside of the walled garden.</p> How to Successfully Peddle Malware https://wrongthink.link/posts/how-to-successfully-peddle-malware/ Sat, 15 Aug 2020 19:55:37 -0400 https://wrongthink.link/posts/how-to-successfully-peddle-malware/ <p>How does one appeal to proprietary software enthusiasts? The recipe is very simple. Build a software of any variety, anything entertainment focused is an ideal place to begin. Remove from the final feature set some or many of the basic functionalities that this software would naturally possess. Inform the user that in order to access these &ldquo;extras&rdquo;, they must first submit to some demand. This can be anything from subscription payments to in-program status items for their peers to fawn over. Divide it up into many smaller parts, <a href="https://infogalactic.com/info/Mental_retardation">closed software supporters</a> <em>love</em> playing collect-&rsquo;em-all.</p> <p>And make sure that it must check in with your master server periodically for good measure. Many proprietary software advocates do not consider a program to be legitimate unless a sort of connected account must be created and signed in before being granted access to the program or its <em>extra features</em>. Tell them that this is a social feature which <em>enhances the experience</em>.</p> <p>Lastly, always make sure that all of the time and effort which your users will be sinking into this program will be saved into incompatible proprietary formats, ideally server-side, so that they can never leave lest they eat the sunk cost. Keep them ignorant to all of these practices and if they ask questions, always reassure the users that it has been setup this way <a href="https://www.truthandaction.org/greatest-tyrannies-always-perpetrated-name-noblest-causes-thomas-paine/">in order to protect them</a> or to provide better service.</p> <p>Bonus achievements:</p> <ul> <li>Install a rootkit on their computer. Tell them that it was a security measure.</li> <li>Display embedded adverisements.</li> <li>Make them use their real name and photo.</li> <li>Get them to pay for doing things that they could previously do without any restrictions.</li> </ul> The Manufactured Notion of Choice https://wrongthink.link/posts/the-manufactured-notion-of-choice/ Sat, 20 Jun 2020 19:47:07 -0400 https://wrongthink.link/posts/the-manufactured-notion-of-choice/ <p>You chose to use the software you run today&hellip; or did you?</p> <p>Individuals who adopted free operating systems, but later reverted back to proprietary operating systems due to the availability of particular software: it is false to say &ldquo;I chose to use Mac/Windows because I needed ______&rdquo;. In reality, you were bullied into returning to the plantation. That is the entire goal behind software and middleware <a href="https://en.wikipedia.org/wiki/Platform_exclusivity">exlusivity</a>. To raise the perceived costs of building for platforms other than the vendor&rsquo;s prescribed choice. And also to artificially raise the cost of using platforms which fundamentally reject vendor lock-in.</p> <p>If there is a game that you absolutely could not live without, and it has foolishly only been built under DirectX, your decision to return to Windows was not entirely your own. In this example, Microsoft has effectivly used DirectX as a yoke of power to direct you into their cage. The onus of support does not directly fall on operating system developers. Software developers need to have the foresight not to fall into traps such as graphics or networking libraries which are closed and, by nature, only compatible with nonfree environments.</p> <p>This trickery is the same trap which captures everyday normie users into believing that they need to use Adobe in order to view PDFs, purchase consoles in order to play games, or to intall Spotify (<a href="https://wrongthink.link/posts/spotispy-hostage-situation">Spotispy</a>) to listen to music.</p> <p>If you have ever fallen for this trap, it is much more intellectually honest to say &ldquo;I was strong armed into running Mac/Windows/Android/(pick your poison) against my will&rdquo;. Your own actions demonstrated this if you&rsquo;ve ever explored into free operating systems, on your own volition, but then doubled back under the pressure of <a href="https://infogalactic.com/info/FOMO">FOMO</a>.</p>