summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_.md101
-rw-r--r--abortion.html81
-rw-r--r--chinese-pronouns.html145
-rw-r--r--chroot-dev.html119
-rw-r--r--democracy-fundamentals.html56
-rw-r--r--democracy-us.html78
-rw-r--r--downs.html64
-rw-r--r--forge-workflows.html55
-rw-r--r--free-hardware.html143
-rw-r--r--free-software-education-in-china-and-covid-19.html105
-rw-r--r--journey-overcoming-rationalism.html79
-rw-r--r--lang.html224
-rw-r--r--llpath.txt92
-rw-r--r--math-science-and-philosophy.html297
-rw-r--r--pragmatic-use-of-nonfree-software.html142
-rw-r--r--purple-hibiscus.html29
-rw-r--r--really.html34
-rw-r--r--sway-keysym.html103
-rw-r--r--the-old-web-was-better.html49
19 files changed, 101 insertions, 1895 deletions
diff --git a/_.md b/_.md
new file mode 100644
index 0000000..3490df2
--- /dev/null
+++ b/_.md
@@ -0,0 +1,101 @@
+# Sway keysym
+
+Under the [Sway](https://swaywm.org/) Wayland compositor, we could set
+set `xkb_layout` and `xkb_options` for keyboards in order to do weird
+key mapping related things. Many people use `caps:ctrl_modifier` and
+`caps:escape` in `xkb_options` (see
+[xkeyboard-config(7)](https://man.openbsd.org/xkeyboard-config) for
+other options) to make Caps Lock function as an extra Ctrl or Esc key.
+
+If all you want to do is do a relatively common modification like that,
+chances are that `xkb_variant` and `xkb_options` already has what you
+want, and you should just set that.
+
+------------------------------------------------------------------------
+
+But if what you want isn't covered in the standard XKB files, hear my
+story. I personally wanted Caps Lock to function as an additional Shift
+key, which isn't covered in `xkb_options`. (`caps:shift` doesn't differ
+much from normal Caps Lock, make it confusingly documented and doesn't
+make the Caps Lock function as an extra Shift.)
+
+On X11, I would simply use `xmodmap -e "keysym Caps_Lock = Shift_L"`.
+Now my Caps Lock functions as an extra Left Shift. Works just alright.
+
+But now that I switched to Wayland, Sway in particular, `xmodmap` for
+X11 isn't going to work. What I ended up doing was the following:
+
+**`$HOME/.xkb/symbols/gbcustom`**
+
+ default partial alphanumeric_keys
+ xkb_symbols "basic" { // leave "basic" in-tact unless you know what you're doing
+ include "gb" // or whatever base layout you use, most likely "us"
+ name[Group1] = "English (UK) Customized";
+ key <CAPS> { [ Shift_L, Shift_L, Shift_L, Shift_L ] };
+ };
+
+Note that here, the "`key`" lines are in the form
+`key <X> { [ A, B, C, D ] } ;`, where "`X`" is the keycode symbolic name
+of the physical key you want to press. In my case, it is `CAPS`. Check
+`/usr/share/X11/xkb/symbols/pc` and `/usr/share/X11/xkb/symbols/latin`,
+or the relevant files for your keyboard configuration, to look up the
+keycode symbolic name from the name you're used to. (Looking up
+`Shift_L` in `symbols/pc` gets you to `LFSH`, which is what you would
+use in place of "`X`". `A` is triggered when `X` is pressed alone, `B`
+when it's pressd with Shift, `C` with AltGr, and `D` with both AltGr and
+Shift.
+
+**`$HOME/.config/sway/config`**
+
+ input "1:1:AT_Translated_Set_2_keyboard" {
+ xkb_layout "gbcustom"
+ }
+
+Of course, replace "`1:1:AT_Translated_Set_2_keyboard`" with your actual
+keyboard identifier listed in `swaymsg -t get_inputs`. And reload Sway.
+
+There might be better ways to do so, but I've got this to work. For
+these unusual setups, it is a bit complicated and not as straightforward
+as adding a `xmondmap` line to `.xinitrc`. Hopefully things would get
+better as Wayland matures.
+
+[This GitHub issue](https://github.com/swaywm/sway/issues/4250) and
+[jman's article on
+this](https://www.city17.xyz/keychron/#xkb-here-be-dragons) were
+extremely helpful. Thanks to [brocellous](https://sr.ht/~brocellous) for
+pointing out the solution involving custom options.
+
+------------------------------------------------------------------------
+
+Another, potentially better method involving defining custom
+`xkb_options`, propsed by brocellous:
+
+**`$HOME/.xkb/symbols/customsymbol`**
+
+ // Remap caps to Shift_L
+ partial modifier_keys
+ xkb_symbols "caps_lshift" {
+ replace key {
+ type[group1] = "ONE_LEVEL",
+ symbols[group1] = [ Shift_L ],
+ actions[group1] = [ SetMods(modifiers=Shift) ]
+ };
+ };
+
+**`$HOME/.xkb/rules/evdev`**
+
+ ! option = symbols
+ custom:caps_lshift = +customsymbol(caps_lshift)
+
+ ! include %S/evdev
+
+**`$HOME/.config/sway/config`**
+
+ input "1:1:AT_Translated_Set_2_keyboard" {
+ xkb_layout "gb"
+ xkb_options "custom:caps_lshift"
+ }
+
+- [Home](./)
+- Runxi Yu
+- <a href="./pubdom.html" rel="license">Public Domain</a>
diff --git a/abortion.html b/abortion.html
deleted file mode 100644
index 4075616..0000000
--- a/abortion.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Abortion</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Abortion</h1>
-</header>
-
-<article>
-<p>
-This was written quite a while ago and I should update it sometime...
-</p>
-
-<p>
-<a href="https://www.law.cornell.edu/supremecourt/text/410/113">In 1973 the Supreme Court of the United States of America ruled seven-to-two in favor of Roe's rights to abortion against a healthcare official of the state of Texas. Roe argued for abortion with "privacy", derived from the Fourth and Fourteenth Amendment of the US Constitution.</a> As the U.S. has a precedential judiciary system, this effectively legalizes abortion across the country.
-</p>
-
-<p>
-However, as Roe's case was argued for based on privacy rather than body autonomy or similar rights, it left a question into if abortion is indeed a right that women should have. After all, if someone is accused of murder, the suspect's privacy is not a reason to not investigate the case further. Those against abortion often believe that abortion is murder, and thus the privacy argument wouldn't stand long.
-</p>
-
-<p>
-<a href="https://www.supremecourt.gov/opinions/21pdf/19-1392_6j37.pdf">In 2022, the Supreme Court overturned this precedent</a>, and now the abortion rights of women in the united states are in a void. This memo focuses on discussing the notion of abortion itself, and briefly comments on the decision of the Court.
-</p>
-
-<p>
-Some people believe that because fetus is human life, and abortion is nonvoluntary (as in nonvoluntary by the life terminated) termination of human life, thus abortion is murder and is unacceptable.
-</p>
-
-<p>
-This reasoning is flawed&mdash;nonvoluntary termination of human life, even when the decision-maker understands the consequence of their action, may or not be murder.
-</p>
-
-<p>
-Involuntary termination of life isn't always murder. Consider yourself an average person in the United States. You live on paychecks and you're living an average life in a comfortable house. You noticed a poor person, without food, proper clothes, or shelter, sleeping in the street, almost frozen to death. You took them home, giving them food, clothes and shelter. But one day, out of whatever reason you decided to stop supporting that person and remove them from the house back onto the street. You understanded that they will have a hard time finding foot, shelter and clothes. They deceased because of the cold.
-</p>
-
-<p>
-The poor person was life, and your decision did cause their decession. But is this murder? Man-slaughter? Any kind of statutory offense? No, not really, it's merely termination of voluntary support that you provided for another person.
-</p>
-
-<p>
-There is a subtle, but eventually significant difference between helping a person down the street and voluntary pregnency. (Involuntary pregnency is basically "alright, here comes a person at your doorstep, you MUST help them and keep them alive", there's not much to discuss there in my opinion.)
-</p>
-
-<p>
-In the last example, the ethicalness of terminating support would be different if you and the person receiving help signed an explicit contract giving you the responsibility to help them but you terminate the support when the contract is still valid.
-</p>
-
-<p>
-Indeed, the fetus did not sign a contract with the mother that obligates the mother to carry to term. But similarly, children don't sign contracts with their parents to take care of them, but we consider parents who don't take care of their children and such to be child abuse. But they are different.
-</p>
-
-<p>
-A scientific definition of life which includes bacteria, fungi, parasites, plants, animals and many other forms of life doesn't seem inherently valuable to us&mdash;almost all of us don't feel bad killing bacteria with an ultraviolet lamp, don't feel bad killing plants for consumption, and don't feel bad stepping on a mosquito. Many of us don't feel bad consuming animals for food. We value human life because it allows us to pursue what we want and live a life. But a fetus cannot do that: though the fetus is biologically a human, it doesn't have the very characteristics that make the life valuable: It doesn't have meaningful brain activity and cannot pursue what it wants.
-</p>
-
-<p>
-Abortion is just okay before the cerebrum (the part of the brain responsible for thinking) develops, which is usually at the end of the second trimester. Abortion after meaningful cerebrum activity is detected should be considered with care because at that time the fetus's life would be considered valuable.
-</p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/chinese-pronouns.html b/chinese-pronouns.html
deleted file mode 100644
index 612f968..0000000
--- a/chinese-pronouns.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Reclaiming "他" as a gender-inclusive pronoun</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Reclaiming "他" as a gender-inclusive pronoun</h1>
-</header>
-
-<article>
- <p>
- <a href="#en">English</a> <a href="#zh">中文</a>
- </p>
- <section id="en">
-<p>tl;dr: "他" uses the "人" (person) radical, and should cover all
-people, because not all people are male.</p>
-<p>In contemporary English, the traditional plural pronoun "they" is
-often used as a gender-inclusive singular pronoun, alongside the
-feminine singular "she" and the masculine singular "he". However, there
-is no equivalent in Chinese. "他" is considered a masculine pronouns in
-contemporary Chinese, despite its "人" radical and its history of
-traditionally being a gender-inclusive pronoun until the 1920s. This
-article argues for the reclaiming of "他" as a gender-inclusive
-pronoun.</p>
-<p>Prior to the May Fourth Movement and the broader New Culture
-Movement, "他" was a generic pronoun for all entities, including people
-of any gender, and inanimate objects. In the movements’ efforts to
-"modernize" the Chinese language and culture, a separate feminine
-pronoun "她" was created by the poet and linguist 刘半农, becoming an
-established linguistic norm after the Chinese Civil War. (A separate
-"它" was created for inanimate objects; however this has little
-relevance to the arguments in this article.)</p>
-<p>A distinct feminine pronoun "她" along with "他" being a masculine
-pronoun poses three problems: (1) the annoyances caused by the lack of a
-inclusive placeholder pronoun, (2) the reinforcement of gender binary
-normatives and the lack of a neutral pronoun, and (3) the
-marginalization of the feminine from the concept of personhood.</p>
-<p>When referring to a placeholder of unknown gender in contemporary
-English, singular they pronouns are often used, such as in "someone left
-their laptop here". Such colloquial conversations are generally
-unproblematic as all normative third-person pronouns in Mandarin sound
-the same: tā. However, in written contexts, many use "他/她" resembling
-"he/she". Aside from how this reinforces gender binary and alienates
-women (see the next two paragraphs), it is visually unappealing (as
-half-width slashes look particularly distinct from full-width CJK
-ideographs and break typographical uniformity) and adds unnecessary
-syntactic sugar.</p>
-<p>Individuals who are not comfortable with any gendered pronoun
-often prefer singular they pronouns. (I do not wish to turn
-this article into a detailed discussion of non-binary gender, please
-read Leah Rowe’s article "<a
-href="https://vimuser.org/pronouns.html">Better respect for non-binary
-people, in defense of human rights</a>" if this concept seems
-unfamiliar.) The status quo of "她" being solely a feminine pronoun and
-"他" being solely a masculine pronoun reinforces gender binary and
-leaves no gender-neutral/inclusive pronoun for non-binary people who
-would prefer such pronouns.</p>
-<p>The more fundamental issue with "他" as a masculine pronoun lies in
-its character composition and etymology. "他" is a compound character
-consisting of a "人" (person) radical and "也", while "她" consists of a
-"女" (female) radical and "也". Limiting "他" as a male pronoun assumes
-the male gender as dominant in "people", and marginalizes other genders,
-most prominently the female gender, as groups distinct from "people".
-This aligns with the development of the "她" pronoun as a distinct
-subset of what used to be covered by "他". I believe that a character’s
-composition should not be deceptive to its meaning, and therefore, the
-"他" with the "人" radical should describe any person, not just any male
-person.</p>
-<p>While I believe that "他" should be truly gender inclusive, its current
-masculine standing does make it similar to
-<a href="https://en.wikipedia.org/wiki/Gender_neutrality_in_languages_with_gendered_third-person_pronouns#Generic_he">Generic he</a>
-to some extent. I dislike generic he as it reflects bias towards men, but
-an inclusive "他" does carry these risks. Therefore I propose that
-those who prefer a unique masculine pronoun may choose to use one
-with a "男" (male) radical instead. While "男也" (read that as one character) has not been given a
-Unicode code-point yet, I find this solution to be much more ideal than
-stereotypical generalizations with "他".</p>
-<p>
-Please share your thoughts.
-</p>
-
-</section>
-<section id="zh">
-<p>
-<b>
-将"他"恢复为性别包容性代词
-</b>
-</p>
-
-<p>
-一句话:"他"字的偏旁为单人旁,应该要涵盖所有人,因为并非所有人皆为男性。
-</p>
-
-<p>
-现代英语中,传统的复数代词 "they" 常用作性别包容的单数代词,伴以 "she" 作阴性单数代词及 "he" 作阳性单数代词。然而,汉语中却没有等效的词语。现代汉语将"他"视为阳性代词,尽管其偏旁为单人旁,且在二十世纪二十年代以前,其曾有过用作性别包容性代词的历史。本文的论点为,将"他"恢复为性别包容性代词。
-</p>
-
-<p>
-在五四运动及更为广泛的新文化运动以前,"他"曾通用作所有实体的代词,包括任何性别的人,及无生命的物体。这场运动为中国语言和文化的"现代化"做出了许多努力,其中之一就是单独创造了一个阴性代词 "她"。这个字由诗人、语言学家刘半农创造,并在国共内战后成为了公认的语言规范。(对无生命的物体,也创造了一个单独的"它";但这与本文的论点无关。)
-</p>
-
-<p>
-在"他"作阳性代词时,分立阴性代词"她",引发了三个问题:(1)因缺乏包容性占位代词而产生的困扰,(2)强化了性别二元规范,缺少了中性代词,及(3)将女性在人格概念中边缘化。
-</p>
-
-<p>
-现代英语中,常常使用单数 they 代词来充当未知性别的占位词,例如 "someone left their laptop here"。这种口头对话一般不会出现问题,因为普通话中所有规范的第三人称代词发音都相同:tā。然而,在书面语中,许多人会像 "he/she" 一样使用 "他/她"。除了强化了性别二元论、排斥了女性(见后两段)外,这在视觉上也不显美观(在全角 CJK 象形文字中插入半角斜杆尤显突兀,且破坏了排版的一致性),还添加了不必要的语法糖。
-</p>
-
-<p>
-有些人并不喜欢分性别代词(我在这个 commit 前亦是如此),所以他们常偏向使用单数 they 代词。(我无意图在本文详细讨论非二元性别,如果你不熟悉这个概念,请阅读 Leah Rowe 的文章 "Better respect for non-binary people, in defense of human rights")"她"单独用作阴性代词,同时"他"单独用作阳性代词,这种现状强化了性别二元论,并使得偏好性别中性或性别包容性代词的人无法使用这类代词。
-</p>
-
-<p>
-将"他"用作阳性代词,更为关键的问题在于这个字的组成及词源。"他"字由单人旁和"也"组成,而"她"字由女字旁和"也"组成。将"他"限定为男性代词,假定了男性在"人"中占了主导地位,同时还将其他性别(最明显的是女性)边缘化,将其视作有别于"人"的群体。自从原本被"他"涵盖的这个子集有了单独的代词"她",前述问题也随着这个代词的发展而发展。我认为,一个字的构成不应该欺骗它的含义,因此,单人旁的"他"应该用于描述任何人,而不仅仅是任何男性。
-</p>
-
-<p>
-虽然我认为"他"应该要具有真正的性别包容性,但这个词目前男性化的程度,使得它在某种程度上类似于将 he 通用化了。我并不喜欢通用化的"他",因为这体现了对男性的偏见,但包容性的"他"确实也有这些风险。因此,我提议,偏好使用单独的阳性代词的人,可以转而选择一个有男字旁的字。虽然"男也"(读成一个字)目前还没有 Unicode 码点,但比起刻板地将"他"字一般化,我认为这才是更加理想的解决方案。
-</p>
-
-<p>
-This Chinese translation was translated from the <a href="#en">English original</a> by <a href="https://peaksol.org/">Peaksol</a>. Thanks!
-</p>
-</section>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/chroot-dev.html b/chroot-dev.html
deleted file mode 100644
index e05cc47..0000000
--- a/chroot-dev.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Using chroots as simple "containers"</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
- <style>
-pre {
- border: 1px solid;
- border-radius: 0.5rem;
- padding: 0.5rem;
-}
- </style>
-</head>
-<body>
-<header>
- <h1>Using chroots as simple "containers"</h1>
-</header>
-
-<article>
- <p style="display: block; border: 1px solid; border-radius: 0.5rem; padding: 0.5rem;">
- Please note that what I am about to do isn't actually containerization or isolation. It merely separates <em>trusted</em> code such that it would generally not pollute the host system. Chroot is generally not a security measure; for example, processes inside the chroot could easily escape with <code>/proc/<i>x</i>/root</code> for a PID <i>x</i> that runs outside the chroot.
- </p>
- <p>
- Often times I want to install a program that is not available in my current distribution (e.g. the Soju IRC bouncer is not available on Debian Bookworm, but I want to use a distribution-packaged version instead of running <code>go build</code> myself because I want to receive updates), or perhaps I want to run something like <code>rustup</code> without the fear of polluting my system. But I don't want to use Docker or LXC because they feel too complicated.
- </p>
- <p>
- I ended up creating <a href="https://alpinelinux.org">Alpine Linux</a> chroots. Specifically, Alpine Linux Edge, because the <code>edge/testing</code> repository is huge and frequently updated. There's an article called <a href="https://wiki.alpinelinux.org/wiki/Alpine_Linux_in_a_chroot">Alpine Linux in a chroot</a> on the Alpine Linux wiki that provided the steps that I use in my scripts. (The official <a href="https://github.com/alpinelinux/alpine-chroot-install/">alpine-chroot-install</a> scripts exist but haven't been updated for quite a while.)
- </p>
- <h2><a href="https://git.sr.ht/~runxiyu/rxchroot">The rxchroot scripts</a></h2>
- <p>
- Check the Git repository linked above for the complete set of scripts; here is a short explanation from excerpts of the script.
- </p>
- <p>
- The first step, of course, is to create the chroot. Basically:
- </p>
- <pre>umask 022 # or something else that ensures unprivileged users could access the chroot
-curl -LO "https://dl-cdn.alpinelinux.org/alpine/edge/main/${arch}/APKINDEX.tar.gz"
-tar xvf APKINDEX.tar.gz
-curl -LO "https://dl-cdn.alpinelinux.org/alpine/edge/main/${arch}/apk-tools-static-$(sed -n '/P:apk-tools-static/{n;p;}' APKINDEX | cut -d ':' -f 2).apk"
-tar -xzf apk-tools-static-*.apk
-./sbin/apk.static -X https://dl-cdn.alpinelinux.org/alpine/edge/main -U --allow-untrusted -p "${chroot_dir}" --initdb add alpine-base
-cp -L /etc/resolv.conf ${chroot_dir}/etc/
-mkdir -p "${chroot_dir}"/etc/apk
-echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" > "${chroot_dir}"/etc/apk/repositories
-echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> "${chroot_dir}"/etc/apk/repositories
-echo "https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> "${chroot_dir}"/etc/apk/repositories</pre>
- <p>
- Every time the chroot needs to be used, some special directories must be mounted. Don't double-mount though as that often causes issues.
- </p>
- <pre>mount -o bind /dev "${chroot_dir}/dev"
-mount -t proc none "${chroot_dir}/proc"
-mount -o bind /sys "${chroot_dir}/sys"</pre>
- <p>
- Then just enter the chroot:
- </p>
- <pre>chroot "${chroot_dir}" /bin/ash -l</pre>
- <p>
- And perhaps install stuff:
- </p>
- <pre>apk add build-base soju vim</pre>
- <p>
- I'm running on a Debian host, and perhaps I want to start services in the Alpine chroot with systemd:
- </p>
- <pre># alpine.service ###############################################
-
-[Unit]
-Description=Alpine chroot mounts
-Wants=network-online.target
-After=network-online.target
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-User=root
-Group=root
-RuntimeDirectory=/alpine
-ExecStart=/root/rxchroot/alpine-chroot-activate /alpine
-ExecReload=/root/rxchroot/alpine-chroot-activate /alpine
-ExecStop=/root/rxchroot/alpine-chroot-deactivate /alpine
-
-[Install]
-WantedBy=multi-user.target
-
-# soju.service #################################################
-
-[Unit]
-Description=soju in an Alpine chroot
-Requires=alpine.service
-After=alpine.service
-
-[Service]
-Type=simple
-User=root
-Group=root
-# Fix the userspec to match the Alpine UID/GUID
-ExecStart=/sbin/chroot --userspec=101:102 /alpine /usr/bin/soju
-ExecReload=/bin/kill -HUP $MAINPID
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target</pre>
- <p>Since a chroot doesn't have its own kernel and all system calls pass through the host kernel, network services open ports as if they just run in the host system.</p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/democracy-fundamentals.html b/democracy-fundamentals.html
deleted file mode 100644
index e1afe06..0000000
--- a/democracy-fundamentals.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Democracy: Fundamentals</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Democracy: Fundamentals (Unfinished)</h1>
-</header>
-
-<article>
-
- <p><i>Unless otherwise specified, "democracy" in this article refers to representative democracy. "Country" can additionally refer to other regions that have people and its own policies, such as a state, provinces in some countries, etc.</i></p>
- <p>
- We usually think of "democracy" as people influencing the policies of the country by electing trustworthy experts that serve their interest to make actual decisions about running the country. This type of democracy, representative democracy, has evolved from direct democracy aging back two thousand years ago as created by Athens in Greece. Representative democracy is more scalable than direct democracy and also avoids some forms of populism and uninformed decisions as its the experts in the field that are making the actual policies.
- </p>
- <p>
- The Chinese term for democracy is "民主". The first character, "民", means "people"; the second, "主", ascin "主人" means "owner". You could understand it as saying "the people of the country own the country (and thus get to decide on its affairs)". But at the same time, "主" as in "自主" means "do things themselves", i.e. the right not to be interfered by others while doing their own business.
- </p>
- <p>
- This is, of course, not the proper definition for democracy; democracy is just saying that the general public ultimately runs the country. But we could take the time to appreciate how with democracy we usually end up with liberty and how we take personal liberty for granted.
- </p>
- <p>
- In any case, both democracy and liberty are important in a long-lasting prosperous system of society. Note my wording in the first paragraph, that the decisions of elected experts are for "running the country"&mdash;I specifically mean issues that deal with either the general public (such as public health and the environment) and things that would be otherwise hard to solve personally (such as enforcement of contracts and crimes). The "will of the people", represented by the government, have no business doing things like banning freedom of thought or mandating people not to smoke in their private property. Only when things affect others such as smoking in public should the government, or the will of the general public, have any say. And of course, people should take responsibility for their own private deeds. It is argued that a lung cancer patient who got lung cancer by smoking excessively doesn't deserve medical insurance from taxpayers; but for cases where an illness isn't caused by a identifiable private decision factor, medical insurance and support should be given. (In practice the distinction is subtle; this is also a very controversial topic.)
- </p>
- <p>
- People overemphasize the importance of democracy. In fact, democracy is in my opinion less important than liberty&mdash;though in practice indeed liberty wouldn't survive for long without democracy.
- </p>
- <p>
- Note that abortion and similar subjects may fall into the scope of government. Some opponents of abortion believe that fetus is human life and thus abortion is murder and shall be outlawed. The "privacy" and "personal liberty" arguments don't stand up well against this as it's no longer a personal matter when another human life is supposedly on the line. <a href="abortion.html">I oppose the abortion bans that Republicans in the US are placing in many states for a different reason.</a>
- </p>
- <p>
- Modern populism (which is a poorly-defined term but does have the following general scope) gives the power of deciding everything that happens in the country to the people. This is bad in two ways. (1) The general public often make uninformed and un-thought-through decisions and are easily influenced. (2) The government, in this case directly the collective decision of the people, is stepping its feet into the personal lives of people. While it is democratic, it doesn't give people liberty, creating a tyranny of the majority, and at the same time making uninformed decisions which are better made by experts which people elect.
- </p>
- <p>
- In future articles, I will discuss more practical issues in democracy and society, especially on corruption of representatives, issues with the modern voting system, etc.
- </p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/democracy-us.html b/democracy-us.html
deleted file mode 100644
index 71dc60e..0000000
--- a/democracy-us.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Democracy: The United States</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Democracy: The United States (Unfinished)</h1>
-</header>
-
-<article>
-
- <p>
- When people talk about democracies, it's common to think of the US Constitution as the "defining point of democracy". While the US is the first modern democracy, its laws is far from perfect. In fact, it may be one of the worst of modern time! I will briefly go through the following.
- </p>
-
- <ul>
- <li><a href="#corruption">Corruption</a></li>
- <li><a href="#electoral-college">The electoral college</a></li>
- <li><a href="#senate">The senate</a></li>
- </ul>
-
- <h2 id="#corruption">Corruption</h2>
-
- <p><a href="https://www.cambridge.org/core/services/aop-cambridge-core/content/view/62327F513959D0A304D4893B382B992B/S1537592714001595a.pdf/testing-theories-of-american-politics-elites-interest-groups-and-average-citizens.pdf">A study shows that "Multivariate analysis indicates that economic elites and organized groups representing business interests have substantial independent impacts on U.S. government policy, while average citizens and mass-based interest groups have little or no independent influence."</a></p>
-
- <p>
- A near-ideal democracy would have a roughly linear positive correlation between the fraction of voters who support a policy and the possibility of the policy being passed in the legislature. But in the US, the line is flat at about 30%. A representative democracy wouldn't have a perfect correlation, because the general public is unable to be informed on all topics; fluctuations are normal. But <em>a flat line</em> means that the opinions of the people don't matter at all. This does not make sense in any type of democracy.
- </p>
-
- <p>
- According to the study, the influence of economic elites and business interest groups on politics is rather high with a rough positive correlation as opposed to the flatline for the general public, making the US an oligarchy rather than a democracy. Mass-based interest groups have discernible impact on policies, but are still trivial compared with economic elites and businesses. About three billion dollars are spent yearly by large "politically active" businesses to bribe politicians to pass policies for their interest. While businesses should have a say in legislation, it is unacceptable that they have superior dominance over public opinion.
- </p>
-
- <h2 id="senate">The Senate</h2>
-
- <p>
- The Senate of the USA consists of 100 members, with 2 from each state. Two senators from California represent 39 million people while the two from Wyoming represent 500 thousand people. The founding fathers never could have imagined such a huge a difference between the population of states.
- </p>
- <p>
- Some people believe that the Senate helps against populism as opposed to the House. Although the number of Senators for each state do indeed not correspond to the population, this has no correlation whatsoever with preventing populism and doesn't serve an obvious purpose. It only "helps" by giving completely unproportional voting powers to people based on their location, period.
- </p>
- <p>
- The Senate also suffers from the fillibuster. Passing a bill in the Senate has a few steps: Firstly the Senators must <em>agree to vote</em>, passed at a supermajority. Then the Senators actually vote on the bill. Those who are against the bill will just disagree to vote altogether, effectively requiring all bills to have a supermajority support to pass which is nearly impossible as the two dominant political parties almost always oppose each others' bills and neither have a supermajority in the Senate.
- </p>
-
- <h2 id="electoral-college">The Electoral College</h2>
-
- <p>
- The electoral college makes it possible to win an federal election without winning the national popular vote. It also, similarly but not as badly as the Senate, represent the people of each state disproportionally as each state has two extra electoral votes regardless of their population.
- </p>
- <p>
- A subtle but serious problem with the electoral college is that electors' listening to the votes of the people is only a <em>tradition</em>. Legally, electors can vote however they want, meaning that the US is not theoretically a democracy. This hasn't happened before, but this is one more to the list of problems in the constitution, and is a potential for disaster.
- </p>
-
- <h2 id="plurality-voting">Plurality Voting</h2>
- <p>
- Single-winner elections in the US uses what's called "plurality voting", where each voter casts one vote to their favorite candidate and the candidate with the most votes win. This contributes to the partisan dualopoly (not an actual word, but it basically means "monopoly" but with two rather than one) as voters who support smaller parties will undergo the decision of choosing their honest favorite or one of the two big parties that most closely ressembles their favorite. As it's hard to gather votes for smaller parties, and thus there's a small chance of them actually winning the electron, many voters strategically vote for the big party in order to not be "taken over" by the big party that they oppose more.
- </p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/downs.html b/downs.html
deleted file mode 100644
index 3bedc27..0000000
--- a/downs.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Please stop mocking Down's Syndrome</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Please stop mocking Down's Syndrome</h1>
-</header>
-
-<p>
-(This page is unlisted&mdash;not linked from the site index&mdash;for obvious reasons.)
-</p>
-
-<article>
-<p>
-It has been a while since the onset of this rather unfortunate pattern, but the use of "唐" and its derivative "🍬" to address whatever day-to-day behavior that they seem to be used to refer to, is quite infuriating.
-</p>
-
-<p>
-<a href="https://en.wikipedia.org/wiki/Down_syndrome">Down's Syndrome</a> is a genetic disorder. <a href="https://books.google.com/books?id=0Y20AQAAQBAJ&pg=PA5">Patients nearly always have some type of disability.</a> Mockery and discrimination towards people with Down's Syndrome is therefore a type of <a href="https://en.wikipedia.org/wiki/Ableism">ableism</a>.</p>
-
-<p>
-Please stop clowning around with exlamations that create random and unsupported references to Down's Syndrome, or, in fact, any other condition that may correlate to disabilities. This behavior is disgusting, profoundly disrespectful, uneducated, rude, impudent, etc. It demonstrates a toxic and arrogant lack of empathy towards people with Down's Syndrome.
-</p>
-
-<details>
- <summary>But what about freedom of speech?</summary>
- <p>
- Interesting point, but mind the difference between what is <em>legal</em> and what is <em>right</em>.
- By the text of the statutes this may be legal, but note <a href="https://www.law.cornell.edu/constitution-conan/amendment-1/freedom-of-speech-historical-background">the historical background of the 1st amendment</a>&mdash;note that most clauses relating to freedom of speech intended to disallow limitations on political speech as to prevent a tyranny of government. I don't see how shouting "Down's Syndrome" at everything fits into any valid political purpose.
- </p>
-</details>
-
-</article>
-
-<section id="see-also">
-<p>
-See also:
-</p>
-<ul>
- <li>
- <a href="https://www.deannajsmith.com/www.deannajsmith.com//2018/01/it-is-never-okay-to-mock-someone-with.html">It Is Never Okay To Mock Someone With Down Syndrome</a>
- </li>
-</ul>
-</section>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/forge-workflows.html b/forge-workflows.html
deleted file mode 100644
index 91bdcc0..0000000
--- a/forge-workflows.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Force Worlflows</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Forge Workflows</h1>
-</header>
-
-<article>
-
- <p>I generally use <a href="https://git.runxiyu.org/">my own Git server</a> for my projects. I also use my <a href="https://sr.ht/~runxiyu">sr.ht account</a> for <a href="https://todo.sr.ht/~runxiyu">issue tracking</a> and <a href="https://lists.sr.ht/~runxiyu">mailing lists</a>, and <a href="https://git.sr.ht/~runxiyu">their Git</a> for some projects too.</p>
- <p>Regardless of whether I'm using my own infrastructure with plain Cgit and plain mailing lists (except that my mailing list manager is slightly broken for now), or the slightly better-integrated environment sourcehut provides, a contributor who wishes to submit some of their commits may simply do the following with <a href="https://git-send-email.io">git-send-email</a>:</p>
- <ol>
- <li>Configure git-send-email (only once!)</li>
- <li>Clone the repository to a local directory</li>
- <li>Make some changes and commit</li>
- <li><code>git send-email HEAD^ --to='~runxiyu/public-inbox@lists.sr.ht'</code> or something similar</li>
- </ol>
- <p>This is much easier, imo, than the pull-request workflow popularized by GitHub (which is proprietary by the way) and similar forges:</p>
- <ol>
- <li>Register an account on the forge (once per forge)</li>
- <li>Click &ldquo;fork&rdquo; on the repo's Web interface</li>
- <li>Clone the fork to a local directory</li>
- <li>Make some changes and commit</li>
- <li>Push</li>
- <li>Go back to the Web interface to create a PR (which often involves clicking at least three buttons)</li>
- <li>Delete your redundant fork once the PR is merged and your repo is not really useful anymore</li>
- </ol>
- <p>Why do certain people hate on sourcehut? Really convenient workflow IMO.</p>
- <div id="footer">
- <hr />
- <p><a href="/">Runxi Yu's Website</a></p>
-
- </div>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/free-hardware.html b/free-hardware.html
deleted file mode 100644
index 2b2c466..0000000
--- a/free-hardware.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Free Hardware</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Free Hardware</h1>
-</header>
-
-<article>
- <p>This article is unfinished, combined from all over the place, and is a big mess. Read if you want, I guess.</p>
- <p><strong>In "free software" and "free hardware", the "free" in "free computing" does not refer to price; it refers to freedom and liberty of users.</strong></p>
- <p>This section is mainly for posts on <em>hardware hardware designs</em>. Without which, <em>no computer user is free</em>.</p>
- <blockquote>
- <p>In fact, access to schematics, boardviews, datasheets and any other documentation is <em>critical</em> to software freedom.</p>
- <p>&mdash;Leah Rowe, founder and lead developer of <a href="https://libreboot.org">Libreboot</a></p>
- </blockquote>
- <p>We can't make free software, especially bootloaders and operating systems, if we don't have knowledge of how hardware works. In modern day computing we do understand how to design kernels for most architectures such as x86 and aarch64, but this is not enough&mdash;without extensive research into how components in a specific piece of hardware interact with each other, we may be able to accomplish simple tasks such as running an OS on it, but <a href="https://www.fsf.org/campaigns/fight-to-repair">the right to repair</a> is severely restricted, and we can't check if the <em>hardware</em> is doing nasty things, or replace parts of it should it be so.</p>
-</div>
-<div id="what-is-free-hardware">
- <h2>What are Free Hardware Designs?</h2>
- <p>Hardware designs that meets the following conditions are free hardware designs.</p>
- <ol>
- <li>The design files, for example 3D models and circuit diagrams, are available under a free license;</li>
- <li>All verilogs of FGPAs, if any (it is wise to use FGPAs for the sake of condition 5) are available under a free license;</li>
- <li>The documentations of interfaces of the hardware, such as data sheets, are available under a free license;</li>
- <li>The hardware is fully functional with no proprietary software;</li>
- <li>The hardware is designed to be easy to tinker around with (including improving and reparing, e.g. being modular) and contains no tivoization.</li>
- </ol>
- <p>Here, a free license means that the user may use, adapt and/or redistribute the work for any purpose, similar to the four essential freedoms of <a href="https://www.gnu.org/philosophy/free-sw.html">free software</a>. The design and documentation is like the equivalent of "source code" in software.</p>
- <p>We have found no hardware that have/meet all of these requirements (i.e. full certification) now.</p>
- <!--Either all hw manufacturers ignore the issue; or what we are seeking for is currently unrealistic.-->
-</div>
-<div id="benefits-of-free-hardware">
- <h2>What are the Benefits of Free Hardware?</h2>
- <ol>
- <li>You can be ensured that your hardware is not spying on you or doing anything nasty like that, because you and your technical friends can audit what's going on, reprogram the FPGAs, etc.;</li>
- <li>You can get fully free software operating systems on your hardware to work properly and use all the features that your hardware has, without ever running a nonfree program, so you more easily get the benefits of free software;</li>
- <li>You can easily create your own software or operating system that interacts with the hardware given enough expertise and good documentation;</li>
- <li>You can create your own version of the hardware as you wish, for example for friends who are in need of hardware but cannot afford commercial ones, since circuit diagrams, 3D models, and verilogs are available;</li>
- <li>You can upgrade the parts on your own, thus cutting down on e-waste, helping protecting our land from plastic, helping protecting our environment which we all live in and depend on;</li>
- <li>You can rely on 3D models and circuit diagrams when you're integrating hardware into a new project, for example your own computer case, without taking the trouble to measure everything and create your own model for an exact fit.</li>
- </ol>
-</div>
-<div id="how-can-i-help">
- <h2>How Can I Help?</h2>
- <h3>Users</h3>
- <p>If you're just a normal computer user, kindly ask the manufacturer of your hardware for design files and datasheets. Show manufacturer that you care about your freedom to hack the hardware.</p>
- <p>When considering purchasing new hardware, prioritize free hardware. At this stage it is extremely rare to find any, but still be on the lookout. Please, if you find any that seem to be trustworthy, tell the community about it.</p>
- <h3>Hardware manufacturers</h3>
- <p>When you create a hardware design, use the <a href="https://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public License, version 3</a> (please add "or later") or the <a href="https://ohwr.org/cern_ohl_s_v2.txt">CERN Open Hardware Licence Version 2 - Strongly Reciprocal</a> license! CERN 2.0 is a strong copyleft license for hardware designs, similar to the spirit of the GNU GPL, which is more widely used in free software. The GPL is not specifically designed for hardware designs, but it seems to be work for hardware designs, at least RMS's lawyers believe it's okay. CERN 2.0 is more complicated and has more legalese. However, since the GPL can achieve most of CERN, discussion is needed for which to use and whether letting yet another license proliferate is good. Using these licenses ensures that it is illegal to take your design and make proprietary hardware (or designs thereof) out of it.</p>
- <p>If you're wondering how you could profit, see <a href="#faq-profit">the FAQ on profits</a>.</p>
-</div>
-<div id="faq">
- <h2>Frequently Asked Questions</h2>
- <h3 id="faq-profit">What would be the incentive for hardware manufacturers to continue develop hardware and innovate?</h3>
- <p>You may profit from providing support to end users who don't know how to deal with hardware.</p>
- <p>However, profit isn't the goal, when you see people developing good hardware and software. When profit is the goal of a project or company, people often ignore the social consequences they bring about to people. </p>
- <h3 id="development-cost">How would developers gather the resources to develop hardware? Developing hardware is expensive.</h3>
- <p>This is an issue. However, people in the free software community&mdash;who probably also support free hardware&mdash;would probably be more than happy to support you.</p>
- <p>It should be noted that many or most of the expenses of developing hardware today comes from patents. <a href="https://endsoftwarepatents.org">Software patents make developing software exceptionally hard as developers cannot be passively (i.e. with no extra work) ensured that they're not infringing patents just by not copying others' work&mdash;they need to actively look for works similar to theirs and check if these are patented, leading to an exponential increase in development cost</a>, which we can already see with people patenting technologies to speed up the free RISC-V architecture, leaving others with slow versions of the architecture as the way to speed the processor up is patented. (This is yet another reason to use copyleft licenses.)</p>
- <h3 id="faq-collective-control">How would this affect me, a normal computer user who doesn't understand how my hardware works?</h3>
- <p>There are certainlly people who would understand how the hardware works, and possibly tinker with it, given free documentation, design files and datasheets. It is impossible for everyone to be a computer expert; however, free hardware and free software grant people collective control over their computing, with the freedom to redistribute modified version of the original work.</p>
-</div>
-<pre>
-Many markets, especially the computer hardware market down to the basics
-such as the architecture/chipset-like level, are Economics of Scale,
-meaning that the cost of production per unit decreases as the total
-number of production for one entity. This naturally gives rise to
-oligopolies, also known in the technology industry as companies like
-Intel and Microsoft.
-
-An oligopoly is a market structure in which a market or industry is
-dominated by a small number of large sellers or producers. People often
-confuse this with monopolies, for which the latter Francis Wayland
-defines as "an exclusive right granted to a [hu]man or a monopoly of
-[hu]man, to empoly their labor or capital in some particular manner",
-which cannot exist in a free market (i.e. free of government
-regulations). The technology industry in most countries is an
-oligopoly, not a monopoly.
-
-The harm of oligopolys (and monopolies, which are similar in this
-context) are commonly discussed in Economics, such as the lack of
-competition causing prices to be solely in control of one economic
-entity, who may set insane prices in seek of profits, which is
-especially harmful for products that serve basic human needs, such as
-food and water. And in modern times, technology is often a necessity
-for daily life, exacebating the harms of a relevant oligopoly market.
-
-There is yet another practical harm of a oligopoly technology market:
-about the rights of users. When CPUs are produced by almost solely
-Intel, AMD, and a few others, they are now free to add their backdoors
-and "management engines" into the CPUs that we users use daily, and
-their seek for profit pushes them to do so. We now have to work with
-spyware in our computer hardware, and we can't do anything about it,
-because the oligopoly nature of the market doesn't allow us common
-people to monitor, produce, develop, or otherwise deal with our own
-technology except for the "expected usages" that the oligopoly
-superimposes on us.
-
-One way out is to decentralize the development and production of CPUs
-and related goods. Individual cities and towns should be able to
-produce computers, from the very basics, for their own people.
-And I know this sounds like an anti-internationalisation self-sustaining
-propaganda chiche economic outcome, but if you think about it, such an
-essential part of life (like technology) would be better served by
-people who'd be less likely to massively implement spyware that would be
-of any use to them.
-
-Initiatives to decentralize development of CPUs and other computer
-components, such as LibreSilicon, have existed for a short time (in
-comparison to the time that Intel and AT&amp;T have existed). We're nowhere
-near what Intel could make, however, partly due to the insane patents
-around their technology. Patent trolls exist and often target free
-software and free hardware projects, and thus applying the idea of
-copyleft as it works for copyright, to patents, may aid practical
-development. And at this point, we can't really develop upon existing
-foundations, so we have to ignore pre-existing knowledge and develop our
-own architecture and CPU from the start, paying attention to copyleft
-licenses and copyleft-in-patents to hopefully prevent patent trolls from
-taking over the world again. (This is also what the Evosaur project is
-attempting to do.)
-</pre>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/free-software-education-in-china-and-covid-19.html b/free-software-education-in-china-and-covid-19.html
deleted file mode 100644
index 41c2ee3..0000000
--- a/free-software-education-in-china-and-covid-19.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>On Free Software, Education in China and the COVID-19 Pandemic</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>On Free Software, Education in China and the COVID-19 Pandemic</h1>
-</header>
-
-<article>
-
- <p><i>This was originally an email to the Libreplanet-discuss mailing list.</i></p>
-
- <p>
- I am a secondary school student from Shanghai, China. This email discusses the problems I discovered in the Chinese educational system, in terms of students' right to freedom in computing and options to control the COVID-19 pandemic from the standpoint of a person living in China.
- </p>
-
- <p>
- When COVID-19 broke out in 2020, students were required to watch lecture videos produced by the city's education department for twenty minutes, then join the Tencent Meetings room to discuss in their own class for 10--15 minutes.
- </p>
-
- <p>
- Watching the videos wasn't an issue for me. Our apartment has cable TV, where the videos are broadcast; there was also a website that played the livestream without JavaScript. However, Tencent Meetings presented a problem to me.
- </p>
-
- <p>
- At the time, I run Arch Linux. (Currently, I run Hyperbola GNU/Linux-libre, a Free Software-only distribution, which would have made this even harder.) Tencnet Meetings, claiming to support "all operating systems and platforms", only supports Windows and macOS. (I wonder how they passed the resolution to display that statement, I believe that they have many programmers who use GNU/Linux.) (As of October 2021, a classmate noted that there is a "Linux versuon".) School required Tencent Meetings, therefore I went through a hard process to setup QEMU running a Windows 7 virtual machine&mdash;I believed that 7 would be slightly better than 10 in terms of privacy, though as always with nonfree software, I can't really know for sure. It was slightly unstable, which is an annoyance, for example the connection from the Windows audio server to pulseaudio would stop working from time to time, but it was acceptable. Though my setup was okay (in the perspective of my school), it left me in a psycological crisis about education and freedom. More on that later.
- </p>
-
- <p>
- Offline classes resumed in May 2020, as most of China has minimal cases of COVID-19. This freed me from using a proprietary non-privacy-respecting bloated piece of software in a virtual machine, but it did not free me from teachers' requirement to use WeChat (think of it as the equiv of WhatsApp in China), Xiaoheiban (A proprietary classroom information distribution system), or other pieces of nonfree software.
- </p>
-
- <p>
- Similar to the beliefs stated in the GNU Education project, I believe that schools and educaion are a means of sharing information and knowledge. I understand that meeting software and lesson management software are used as means of distributing knowledge, rather than the knowledge being distributed themselves. However, I believe this doesn't lead to the argument that the mandate of proprietary software usage is just, for three reasons as below.
- </p>
-
- <ol>
- <li>There are always going to be curious students who wonder how the trchnology works. Proprietary software denies them this right. </li>
- <li>The usage of proprietary software when young may implant dependence on it in the future. </li>
- <li>Education is a right and a responsility. Mandating nonfree software in education adds unjust responsibilities on students.</li>
- </ol>
-
- <p>
- Point 1 and 2 are explained well in the Education section of the GNU website, therefore I am not going to focus on them. Focusing on the third point:
- </p>
-
- <p>
- Under laws of almost all countries, citizens have the right to an education. Traditionally, this involves going to school, meeting teachers and classmates, listening to classes, taking notes, passing exams (I have strong opinions that exam systems ought to change to better represent individual talents, but this is out of scope of this memo.) and finishing homework. Students loose a slight bit of their time and freedom of movement (as in, it's not easy to move to a house 100 miles away from school), in exchange for being educated.
- </p>
-
- <p>
- However, with schools requiring the use of nonfree software, in effect students are required to give up their privacy, and digital freedom, both crucial rights in modern society, as the effect of needing to use nonfree software. The right to education has effectively turned into an exchange for other basic rights. This is not acceptable.
- </p>
-
- <p>
- Furthermore, in countries like China, 9 years of education is mandatory for children. I understand this law as a means to the goal of creating a knowledgeble and educated society, which is good. However, when mandatory edication mandates nonfree software, it deduces to "children are required to use nonfree software". So, being a child here is pretty unlucky, because there goes your right to privacy, your independence, and your freedom, because of a law that's supposed to help society.
- </p>
-
- <p>
- We need to stop using nonfree software in education.
- </p>
-
- <p>
- In th beginning of this email, I mentioned COVID-19. You might be wondering how the Chinese government fully put the pandemic under control in just 5 months, which is seemingly impossible if all you know is how the US dealt with this situation.
- </p>
-
- <p>
- The answer is that the Chinese government is implementing strict contact tracing. This is extremely easy because of the prevaliance of survillance. Many would argue that this is a benefit of survillance, which I believe to be true. However, no comparisons were given between losing privacy and increasing the risk or infection. Briefly inspecting this idea in my head, it's really hard to think about&mdash;privacy and freedom is important in the long term, at the cost of many lives in the pandemic. The lives of these dead are gone&mdash;they lose not only privacy and computing freedom, they lose their lives, which costs them their opportunity to pursue their dreams in this world, and they have no freedom of choice, speech, etc as they aren't alive. Once again, this is hard to wrap my mind around, therefore I would especially like to invite the community to discuss this.
- </p>
-
- <p>
- The contact tracing system used is not Free Software. At first I didn't understand why (except for the explanation that they want to profit from harming citizens which is hopefully just a hypothetical "explanation"), but I noticed that the authenticity and accuracy of the system may be affected if users are allowed to modify their software. This seems to be the core of some problems with regards to software freedom&mdash;here, the user is not running software to complete their tasks. Rather, it's the government's way to maintain public safety, therefore I believe that whether users should be able to modify software in these conditions is up to discussion. Back to the point, since a green-code proof from the system is needed to get in a lot of places, a person basically needs to use proprietary software to live a normal life (to get into coffee shops, for example).
- </p>
-
- <p>
- In the US and other countries, things aren't that good either. For one, the pandemic isn't controlled well. As a consequence, a lot of places require negative COVID tests to do stuff. <a href="https://lists.gnu.org/archive/html/libreplanet-discuss/2021-08/msg00008.html">A thread on the LibrePlanet mailing list</a> discusses this issue, as a lot of these tests require nonfree software on users' phones. Note that this thread spans several months long, as it is a hot discussion, so look in the september and october archives too. The thread explains the implications clearly, thus I am not discussing it here.
- </p>
-
- <p>
- Additionally, I heard that some US courts require Zoom for online cases, therefore it seems that a person' right to judicial justice comes at the cost of digital freedom. I can't confirm this, but if that's true, I'm truly disappointed at the judicial system, even though I'm not a US citizen.
- </p>
-
- <p>I am looking forward to a freer society, or at least one where the above problems get solved.</p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
-
diff --git a/journey-overcoming-rationalism.html b/journey-overcoming-rationalism.html
deleted file mode 100644
index a3ba7b7..0000000
--- a/journey-overcoming-rationalism.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>A journey to overcome rationalism?</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>A journey to overcome rationalism?</h1>
-</header>
-
-<article>
-
- <details>
- <summary>Content warnings: Science mysticism, bigotry, etc.</summary>
- <br />
- <br />
- <details>
- <summary>Some preamble and background</summary>
- <p>
-y at my summer school we were watching a spiderman-related movie. I have no idea about how these works relate to each other, so that’d my best effort at describing it. I wasn’t paying full attention, but I heard a school teacher teaching that there are many parallel universes in a quantum physics class. This is likely a reference to the Many Worlds Interpretation. It’s an *interpretation* and teaching it as “the truth” bothers me a little, but I suppose that’s not too bad on its own. But later in the movie there was “time traveling through dimensions” where the “dimensions” are described as parallel universes under Many Worlds. I don’t understand quantum mechanics, but this is still utterly senseless in my basic understanding thereof, i.e. the non-communicating nature of “branches” (although I dislike this terminology I find it intuitive) and it breaks energy conservation laws (though arguably this is not really a law, prohibiting actions which may bring empirical evidence to falsity it). We also discussed, in the light of Dr. Davies’ lecture, on how most films prematurely depict characters into a structural binary opposition between the benevolent and malicious. We didn’t finish watching the movie, but it was an interesting discussion.
- </p>
-
- <p>
-content warning: Things are about to get much worse.
- </p>
-
- <p>
-ming out of the classroom, the other groups who went shopping or on tours came back at around the same time. I was going to the place where we check-in to being on-campus. Near the steps of the cafeteria I heard A saying to B, that A believes that B is a right-wing extremist. B is my roommate who holds relatively different political beliefs than I do, such as antifeminism. Without much context, I told A that saying people are “right-wing extremists” is ad hominem and should be avoided, even though I knew that I would probably disagree with whatever B was talking about.
- </p>
-
- <p>
-red of politics for the day. I already took four US Letter size pages of notes during the day, in two precepts, one seminar, and three lectures, most of which were about political philosophy. So I just listened in to what another group were talking about, which if I remember correctly had to do with their shopping trip and was not political. Then I heard B shout, loud enough to frighten me quite a bit, that “IF YOU WERE BORN MALE YOU ARE MALE, IF YOU WERE BORN FEMALE YOU ARE FEMALE, IT’S COMPLETELY INVALID TO CHANGE IT.” and “THERE ARE ONLY TWO GENDERS”.
- </p>
-
- <p>
-when talking peacefully, I was fine discussing about my opinions (clearly completely opposite from B’s), and considering B’s arguments on traditional family values, even if I consistently believe that these values have no merit in contemporary society and are inherently misogynistic, which was also encapsulated in his express support for patriarchy. But this time, when I heard it shouted out loud, I couldn’t take it anymore.
- </p>
-
- <p>
-ick. I almost threw up immediately; I went to a bathroom and vomited, not a lot, but I still did. It’s a weird feeling of bring completely alienated, worse than any normal dysphoria that I could conceive.
- </p>
- </details>
-
- <p>
-a random member of staff, if they had vomit medications. They said no, asked me if I knew why I was feeling sick, and offered to chat with me for a while after I explained the course of events. They are also nonbinary, and had similar experiences. We agreed on the argument that cisgender people who do not experience gender dysphoria or euphoria cannot soundly assume that the trans condition is fake and made up, as it is a personal experience, not a external trait.
- </p>
-
- <p>
-y the conversation shifted to whether it’s necessary to prove my own existence. (This deviates from the transgender-related discussion; proving my own existence in terms of my mind, is different from proving my, or the general concept of, transgender experiences, but it’s nevertheless a topic we landed on.) I mentioned Descartes’s Cogito Ergo Sum, and we discussed what “existence” means in this context. The conversation moved on to other parts of the Meditations. They interpreted the Third Meditation as not an argument for God in the religious sense, and described it as something resembling that, in my opinion, resembled my understanding, from today’s precept, of Hegel’s absolute spirit. He stipulated the existence of an entity that is the state of the world which could be interpreted as either ideal or current, rather than a conscious coherent person-like entity being the deity. I’ll probably have to re-read Meditations with this caveat in mind (or perhaps with a literal s/god/something/i and at least try to understand Hegel which would be challenging.
- </p>
-
- <p>
-, I explained my argument that in general I do not accept assertions that are unreasoned, and I suppress the “gut intuition”, even for seemingly basic assertions such as “I exist in a physical world”. The teacher explained why they believe that rationalism is an inconsistent theory, and importantly, that personal experiences cannot be rationally deconstructed and attested, nor do they have to be rationally proven beyond a reasonable doubt.
- </p>
-
- <p>
-aps this is when things start clicking for me. Perhaps I could, under my own conscious will and conscience, whether free or controlled, loosen my grip on rationality, logic, and proof.
- </p>
-
- </details>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/lang.html b/lang.html
deleted file mode 100644
index b7feb36..0000000
--- a/lang.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Programming languages</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-<style>
-span.pros {
- font-weight: bold;
-}
-span.cons {
- font-weight: bold;
-}
-</style>
-</head>
-<body>
-<header>
- <h1>Programming languages</h1>
-</header>
-
-<article>
- <p>
- I've recently read Drew DeVault's blog post, <a href="https://drewdevault.com/2019/09/08/Enough-to-decide.html">How I decide between many programming languages</a>. I figured that I should write my own.
- </p>
-
- <h2>C</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- <a href="https://drewdevault.com/2017/01/30/Lessons-to-learn-from-C.html">Simple</a>.
- </li>
- <li>
- Interoperable with almost all other languages.
- </li>
- <li>
- Direct access to system calls (well, for most system calls that I'd use, anyways).
- </li>
- <li>
- Good ecosystem, and most packages I'd use are in my system's repositories. Using the system package manager is the only way to sanely manage dynamically linked libraries.
- </li>
- <li>
- Flexible macro system. Yes, there are pitfalls, but it's flexible enough for my needs and it's not that hard to remember to add parenthesis.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- Null terminated strings are objectively bad
- </li>
- <li>
- Footguns do exist, and there isn't anything like borrow checking or automatic reference counting. These aren't strictly necessary, but are obviously helpful.
- </li>
- <li>
- <code>errno</code> is bad. (My opinion holds that the proper alternative is multiple return values, though I also believe that the langugage shouldn't make it easy to accidentally ignore errors, nor should error handling have too much boilerplate.)
- </li>
- </ul>
-
-
- <h2>Go</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- Easy concurrency to write quick and relatively-scalable network services in.
- </li>
- <li>
- Well-designed standard library, and a generally good ecosystem (with an non-insane language-specific package manager, which I find acceptable since Go libraries are statically linked).
- </li>
- <li>
- The best <a href="https://go.dev/blog/ismmkeynote">garbage collector</a> I've seen in garbage-collected languages.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- <a href="https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang#all-or-nothing-so-let-s-do-nothing">The way zero values are handled are really bad</a>.
- </li>
- <li>
- I'm not a fan of the automatic conversion between pointers and values.
- </li>
- <li>
- <a href="https://drewdevault.com/2014/06/07/Why-Go-error-handling-doesnt-sit-right-with-me.html">Go's error handling doesn't sit right with me</a>. (I am <em>not</em> for exceptions, just to be clear.)
- </li>
- </ul>
-
-
- <h2>Python</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- Code is easy to write.
- </li>
- <li>
- Good-ish ecosystem.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- Code is hard to maintain.
- </li>
- <li>
- Really slow.
- </li>
- <li>
- The global interpreter lock guarantees that threading is a pain. <code>asyncio</code> also sucks, and there aren't many libraries written for <code>trio</code>.
- </li>
- <li>
- Dynamically typed, and no, mypy doesn't magically solve everything.
- </li>
- </ul>
-
-
- <h2>Shell scripts</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- Good for gluing my desktop together, automating day-to-day tasks (both on the desktop and administering servers), and generating Makefiles.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- A lot of bad advice on the web, and many people write disgusting scripts.
- </li>
- <li>
- Arrays are not available in standard POSIX shell, and life is a pain without them.
- </li>
- <li>
- A sufficiently complex shell script that interacts with the network <em>is</em> going to have remote code execution vulnerabilities.
- </li>
- <li>
- I wanted to say "dynamic typing" here. "No typing" is probably more appropriate.
- </li>
- </ul>
-
-
- <h2>Common Lisp</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- Really flexible. Best for, well, list parsing.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- <code>#'i-still-dont-get-the-point-of-having-two-namespaces</code>.
- </li>
- <li>
- Dynamic typing.
- </li>
- <li>
- Quicklisp confuses me.
- </li>
- <li>
- <code>))))))))))))))))))))))</code>
- </li>
- </ul>
-
- <h2>Lua</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- Probably the best general-purpose scripting language.
- </li>
- <li>
- Easy to use as an extension language.
- </li>
- <li>
- Lua tables are really versatile.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- The lack of real threads is a huge pain. No, coroutines are not threads. (Though, no other scripting language has sane multithreading, so... fair enough.)
- </li>
- <li>
- Generally lacking ecosystem.
- </li>
- <li>
- 1-based indexing sucks.
- </li>
- <li>
- I still prefer curly braces over <code>end</code>.
- </li>
- </ul>
-
-
- <h2>JavaScript</h2>
- <p><span class="pros">Pros:</span></p>
- <ul>
- <li>
- None. I wouldn't use it if there are saner alternatives in browsers, e.g. if WASM could access the DOM.
- </li>
- </ul>
- <p><span class="cons">Cons:</span></p>
- <ul>
- <li>
- Quirks surrounding automatic type conversion and equality testing.
- </li>
- <li>
- I don't see any compelling reason for this language to exist outside web browsers, yet Node.JS exists.
- </li>
- <li>
- NPM.
- </li>
- </ul>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/llpath.txt b/llpath.txt
deleted file mode 100644
index b179b35..0000000
--- a/llpath.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-2024-05-28 20:26:26 ~runxiyu_ hax: also, imagine a world where paths are linked lists rather than strings
-2024-05-28 20:27:52 &hax linked lists nah just use dir reading all the way
-2024-05-28 20:28:07 ~runxiyu_ hax: ?
-2024-05-28 20:28:48 &hax next = opendir(this);
-2024-05-28 20:29:06 &hax *opendir(this, name)
-2024-05-28 20:29:28 ~runxiyu_ hax: no
-2024-05-28 20:29:47 &hax :D
-2024-05-28 20:29:52 ~runxiyu_ hax: Honestly though I think linked-list (or "slices" or whatever it's called nowadays) would be pretty good at preventing directory traversal attacks?
-2024-05-28 20:29:58 ~runxiyu_ i mean
-2024-05-28 20:30:04 ~runxiyu_ why interpret strings?
-2024-05-28 20:30:43 &hax not really, because directory path manipulation relies on hardlinks/symlinks in the path
-2024-05-28 20:30:58 &hax in that sense I mean
-2024-05-28 20:30:58 ~runxiyu_ hax: i mean, in an imaginary new system
-2024-05-28 20:31:16 &hax problem: .. is actually useful
-2024-05-28 20:31:17 ~runxiyu_ where symlinks don't exist. symlinks confuse the heck out of me
-2024-05-28 20:31:38 &hax symlinks are weird yes
-2024-05-28 20:31:46 &hax but still hardlink of .. and .
-2024-05-28 20:31:56 &f_ both "-1"'s are supposed to be EOF instead..
-2024-05-28 20:32:22 ~runxiyu_ hax: ?????
-2024-05-28 20:33:03 ~runxiyu_ I'm not sure how hardlinking directories work
-2024-05-28 20:33:07 ~runxiyu_ I don't think that's possible
-2024-05-28 20:33:14 &hax runxiyu_: it escapes via say "blahblah/whatever/../../../../../etc/passwd" or the likes
-2024-05-28 20:33:15 ~runxiyu_ how do the inodes even record those
-2024-05-28 20:33:30 ~runxiyu_ hax: oh, so it's not a hardlink issue, it's a .. issue
-2024-05-28 20:33:32 &hax the problem with fixing that is you still need a notation of "go back a dir"
-2024-05-28 20:33:49 ~runxiyu_ actually true
-2024-05-28 20:33:50 &hax well links that go to a different dir in a different path contain the same problem
-2024-05-28 20:34:02 ~runxiyu_ hax: .. = pop(pwd())
-2024-05-28 20:34:25 &hax hmmmmmmm
-2024-05-28 20:34:45 ~runxiyu_ well ok it's not fair to assume that everything is written in a "proper" programming language
-2024-05-28 20:34:49 &hax what if someone creates a literal `..`
-2024-05-28 20:34:52 ~runxiyu_ but sane shells should have sane vector manipulation
-2024-05-28 20:35:03 ~runxiyu_ hax: sounds fine to me (again in an imaginary new system)
-2024-05-28 20:35:21 &hax well, now you can only access it via "untrusted" input paths
-2024-05-28 20:35:28 &hax because "trusted" ones get evaluated
-2024-05-28 20:35:32 ~runxiyu_ ?
-2024-05-28 20:35:48 &hax if you impliment `.. = pop(pwd());` in the shell
-2024-05-28 20:35:56 ~runxiyu_ hax: I mean firstly I'm hypothesizing a system where all paths are linked lists / arrays / vectors / whatever, and "." and ".." mean nothing
-2024-05-28 20:36:15 ~runxiyu_ hax: oh, I meant, instead of using "..", use "$(pop $(pwd))"
-2024-05-28 20:36:20 &hax you need a way to designate "back", in a human-usable fashion
-2024-05-28 20:36:33 &hax and pop pwd isn't really good since there's many other contexts
-2024-05-28 20:36:34 ~runxiyu_ hax: that sounds like the task of the human-used program, not the operating system's structure
-2024-05-28 20:36:44 ~runxiyu_ filesystem's
-2024-05-28 20:36:48 ~runxiyu_ i mean
-2024-05-28 20:36:48 &hax yes, I mean conflicts are an issue
-2024-05-28 20:36:54 ~runxiyu_ well true
-2024-05-28 20:37:06 ~runxiyu_ but eeehhhhh
-2024-05-28 20:37:37 &hax I don't require that the OS uses even strings at all, but you still need human-usable ways of getting back a dir and such
-2024-05-28 20:37:37 ~runxiyu_ "conflicts with how shells might represent them" doesn't sound like a good reason to clutter up the operating system's path representation with string interpretation
-2024-05-28 20:37:47 ~runxiyu_ mhm
-2024-05-28 20:38:23 &hax "shells have no good way for humans to interact" does sound like a good reason to clutter up the operating system's path representation with a few exceptions or such
-2024-05-28 20:38:58 &hax main point being, changing the representation won't fix the exploits
-2024-05-28 20:39:07 &hax unless you also make it less useful
-2024-05-28 20:39:13 ~runxiyu_ hax: well, modern shells also interpret "~" specially
-2024-05-28 20:39:29 ~runxiyu_ and that seems... really useful
-2024-05-28 20:39:33 &hax yes
-2024-05-28 20:39:45 ~runxiyu_ "why not use $HOME?" -> "why not use $(pop $(pwd))"
-2024-05-28 20:40:05 &hax because /~/foo/bar isn't //home/user/foo/bar
-2024-05-28 20:40:21 &hax and you can't sanely require escaping ..
-2024-05-28 20:40:52 ~runxiyu_ hax: is there a time you actually need to specify /home/me/../another_user in a shell?
-2024-05-28 20:41:17 ~runxiyu_ i feel like .. is similarly not really useful other than in the beginning of a path
-2024-05-28 20:41:24 &hax runxiyu_: there are times where /path/to/something/../ is often used
-2024-05-28 20:41:40 ~runxiyu_ by scripts or by humans
-2024-05-28 20:41:48 &hax probably more the latter
-2024-05-28 20:41:55 ~runxiyu_ huh?
-2024-05-28 20:42:00 &hax er, former*
-2024-05-28 20:42:17 ~runxiyu_ sounds like a case for $(pop $(pwd))
-2024-05-28 20:42:33 ~runxiyu_ though perhaps humans would use ../../../testing/thing
-2024-05-28 20:42:45 &hax yes that I do use often
-2024-05-28 20:43:05 ~runxiyu_ but that's beginning-of-relative-ish-path
-2024-05-28 20:43:28 &hax but how do you access ../../literaldotdot/testing/thing
-2024-05-28 20:43:30 ~runxiyu_ hax: can i log this conversation and put it somewhere public
-2024-05-28 20:43:39 ~runxiyu_ hax: hmmmmmmm
-2024-05-28 20:43:52 ~runxiyu_ hax: good point
-2024-05-28 20:44:29 &hax and sure
-2024-05-28 20:44:38 ~runxiyu_ /save
-2024-05-28 20:45:44 &hax anyways, linked lists is fine, but trying to `not have ..` for `security purposes` won't really help anything
-2024-05-28 20:46:30 ~runxiyu_ mainly because of human shells though
-2024-05-28 20:46:31 ~runxiyu_ idk
-2024-05-28 20:46:44 ~runxiyu_ and i mean, why have special names at all?
-2024-05-28 20:47:17 &hax . and .. aren't special names, they're just a reference in the fs to the dir before them (as far as I know)
-2024-05-28 20:47:44 &hax probably not written on disk ofc, but in the kernel's mapping or whatever it's called of it
-2024-05-28 20:48:28 &hax *to the dir and the dir before it
-2024-05-28 20:48:50 ~runxiyu well if applications tell kernel to "check the path '..'" and the kernel sees that and treats it specially
-2024-05-28 20:48:58 &hax does it
-2024-05-28 20:49:10 ~runxiyu if it's "the kernel's mapping"?
-2024-05-28 20:49:21 ~runxiyu .. then in the perspective of anything above ring 0, it's essentially a special name
-2024-05-28 20:49:22 &hax I mean as in like the cache of the filesystem
-2024-05-28 20:49:35 ~runxiyu hax: ???
-2024-05-28 20:49:44 ~runxiyu why do filesystem caches have anything to do with this
-2024-05-28 20:49:44 &hax essentially a special name sure
-2024-05-28 20:50:09 &hax because kernel reads fs -> insert '.' and '..' dir into it with reference, carry on
diff --git a/math-science-and-philosophy.html b/math-science-and-philosophy.html
deleted file mode 100644
index 6855657..0000000
--- a/math-science-and-philosophy.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Math, Science, and Philosophy</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
-<h1>Math, Science, and Philosophy</h1>
-</header>
-
-<article>
-<p>This document is still in discussion and may be improved over time.</p>
-
-
-
-<p>Utilities developed in mathematics are often used to apply theories
-of the sciences, such as the use of basic arithmetic, calculus, complex
-analysis, and everything in between in empirical/experimental sciences
-such as physics. We often take for granted that mathematics as we know
-it today would work in the sciences. However, considering my impression
-of math as formally being a creation and natural sciences being mostly
-observant, it is worth questioning the linkage between these subjects,
-and whether our use of mathematics, especially in the prediction of
-theories of physics, is logically linked to the physics itself, or just
-so happens to a coincidence which we ought to explain.</p>
-<p>This article attempts to address these questions, but cannot provide
-a full answer, for which extensive research would be required which time
-does not allow for. Rather, this shall be treated as a brief
-brain-teaser, which discussions may evolve from the text itself, or from
-the various editorial footnotes and bugs. I would like to, afterwards,
-complete this article and make it comprehensive and structured, but I’ll
-need ideas from the discussion.</p>
-<h1 id="invented-or-discovered">Invented or discovered?<span
-id="invented-or-discovered" label="invented-or-discovered"></span></h1>
-<p>Initially, it feels like mathematics is a pure invention of the human
-mind. Formal definitions of mathematical systems (albeit unsuccessful in
-creating the complete and consistent system intended) such as that
-presented in <span class="smallcaps">Principia Mathematica</span> do not
-refer to any tangible objects and are purely conceptual. Deriving
-theorems from axioms and other theorems, applying general theorems to
-specific conditions, etc. are all, formally, abstract activities with
-little reference to the physical world.</p>
-<p>However, humans do not truly invent ideas out of pure thought. The
-basic building blocks of our analytical cognition, which may be in some
-sense considered "axioms" of our perspective of the world, result from
-us observing the world around us, finding patterns, which then evolve
-into abstract ideas. Consider the possibility that the formation of
-numbers as a concept in mathematics results from humans using primitive
-ideas that resemble numbers to count and record enumerations of discrete
-objects. Then as people had the need to express non-integer amounts,
-concepts such as fractions and decimals (or primitive ideas and
-representations thereof), were born. Previously <i>discrete</i>
-concepts, numbers, are now used to represent values on
-<i>continuous</i> spectrums, such as volume, mass, etc. But then
-consider an alternative world where we are jellyfish swimming through
-blank water: although this concept of volume is applicable to blank
-water, it is arguable whether the numeric representation and thus the
-concept of numerical volume would exist in the first place with the
-absence of discrete objects. This is an example on how human sense
-perception affects the process for which we invent concepts in
-mathematics, even if the formal definition thereof does not refer to
-tangible objects, not to mention how many mathematical constructs such
-as calculus were specifically created to solve physics problems but is
-defined in terms of pure math.</p>
-<p>Ultimately, even formally defined axiomatic systems have their axioms
-based on human intuition, which in turn is a result of empirical
-perspective observing of the natural, physical world.</p>
-<p>Additionally, let’s take the time to appreciate how well often
-mathematical concepts, formally defined by human intuition and logic,
-map to experimentally verifiable physical concepts. This further
-suggests how natural sciences has an effect on mathematics. (See
-Section <a href="#applicability-in-science" data-reference-type="ref"
-data-reference="applicability-in-science">[applicability-in-science]</a>
-for details.)</p>
-<p>The way I like to think about whether math is an invention or a
-discovery is: The system of mathematics is formally an invention, but
-the intuition that led to the axioms, and what theorems we think about
-and prove, are the result of human discovery. There are both elements to
-it, and a dichotomous classification would be inappropriate.</p>
-<h1 id="applicability-in-science">Applicability in Science<span
-id="applicability-in-science"
-label="applicability-in-science"></span></h1>
-<p>Despite how mathematics was likely inspired by tangible perception,
-the vast majority of modern formal mathematical constructs are defined
-theoretically. In fact, as seen with the use of complex Hilbert space in
-quantum mechanics, mathematical concepts are sometimes developed much
-earlier than a corresponding physics theory which utilizes it
-extensively. It is impressive how formal creations of humans’ intuition
-for beauty in pure math has such a mapping and reflection in the real
-world and how physics tends to formalize empirical information in a
-concise and rationalized manner.</p>
-<p>This naturally leads us to a question: How is math used in
-experimental/empirical sciences? Why? Is that use consistent and based
-logically, or would it possibly be buggy?</p>
-<p>I believe that mathematics has two main roles in physics. The first
-is calculations, often as an abstraction of experimental experience into
-a general formula, which is then applied to specific questions. With the
-knowledge that <span
-class="math inline"><i>F</i> = <i>m</i><i>a</i></span> and that
-<span
-class="math inline"><i>a</i> = 10 m/s<sup>2</sup>, <i>m</i> = 1 kg</span>,
-we conclude that <span class="math inline"><i>F</i> = 10 N</span>. But
-many times this involves or implies the second role of math in physics,
-because calculations depend on corresponding concepts, and sometimes the
-mathematical utilities themselves are developed from physics but are
-defined in terms of pure math (such as calculus): physicists analogize
-mathematical concepts with tangible physical objects and physics
-concepts, and think about the physical world in a mathematically
-abstract way. For example, the <span class="math inline">SU(3)</span>
-group which finds it origins in the beauties of pure math (group theory
-is inherently about symmetry), is used extensively in the physics of
-elementary particles to represent particle spin.<a href="#fn1"
-class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> But
-for the latter of these use-cases, I am skeptical. Mathematics as we
-know it is incomplete (Gödel’s first incompleteness theorem, in summary,
-proves that any system of mathematics with Peano Arithmetic cannot prove
-all true statements in its own system), possibly inconsistent (Gödel’s
-second incompleteness theorem, in summary, proves that any system of
-mathematics with Peano Arithmetic cannot prove its own consistency), and
-is somewhat unpredictable (Turing’s halting problem, basically saying
-that it is impossible to, without running the algorithm itself, predict
-whether a general algorithm would halt or would run forever, and thus
-there is no general algorithm to predict whether an algorithm will halt
-in finite time). We haven’t found major loopholes for inconsistency yet,
-but it is astonishing howmathematics, a system of such theoretical
-imperfection, is used in every part of physics, not just for its
-calculations but also for representation of ideas down to the basic
-level. I find this to be uncanny. What if the physics theories we derive
-are erroneous because of erroneous mathematical systems or concepts? I
-believe that part of the answer is "experiments", to return to the
-empirical nature of, well, empirical sciences, and see if the theories
-actually predict the results. But there are tons of logistical issues
-that prevent us from doing so, not to mention the inherent downside to
-experiments: a limited number of attempts cannot derive a general-case
-theory (take the Borwein integral as an example: a limited number of
-experiments may easily conclude that it’s always <span
-class="math inline"><i>π</i></span> while it’s actually less than
-<span class="math inline"><i>π</i></span> after the 15th
-iteration). So then, we turn to logical proof. But then because
-mathematical logic is incomplete, we are not guaranteed to be able to
-prove a given conjecture, which may be otherwise indicated by
-experiments, to be correct.</p>
-<p>Note that I am not arguing that physics derives its concepts from
-mathematics; I believe that physics has chosen the part of math that it
-believes to be helpful for use therein. However, these have strange and
-unforseeable implications.</p>
-<p>The addition of mathematical concepts into physics doesn’t only bring
-the maths we want to bring over, it brings all relevant definitions,
-axioms, logic, proofs, theorems, etc. all along with it. Once we
-"assign" that a physical entity is "represented" by a "corresponding
-concept" in mathematics, we can only abide by the development thereof.
-So although physics originally isn’t guided by mathematics, the act of
-choosing the part of math that’s useful in physics puts physics under
-the iron grip of mathematical logic, which is inconsistent and
-potentially incomplete, as contrary to the realistic and observable
-nature that physics is supposed to be.</p>
-<p>I had a brief chat with Mr. Coxon and he aclled how the existence of
-neutrinos were predicted "mathematically" before they were
-experimentally discovered physically. I do not know the history of all
-this, but Mr. Coxon said that physicists
-looked at a phenomenon (I believe that was beta decay) and went like:
-"where did that missing energy go"? and proposed that there was a
-particle called a neutrino that fills in the missing gap.
-(Alternatively, they could have challenged the conservation of energy,
-which leads us to the topic of "why do we find it so hard to challenge
-theories that seem beautiful, and why does conservation and symmetry
-seem beautiful", but let’s get back on topic...) Then twnety years later
-neutrinos were "discovered" physically by experiments. Mr. Coxon said
-that it looked like that mathematics predicted and in some resepct
-"guided" physics. Personally I believe that this isn’t a purely
-"mathematical" pre-discovery and it’s more of a "conservation of energy,
-a physics theory was applied, and math was used as a utility to find
-incompletenesses in our understanding of particles." I think that I’ve
-heard (but cannot recall at the moment) two cases where conceptual
-analysis in "pure math" perfectly corresponds to the phenomenon in
-physics discovered later which again makes me question whether math
-played some role in the experiment-phenomenon-discovery cycle of
-physics. I guess I need more examples.</p>
-<p>I remember that Kant argued that human knowledge is human perception
-and its leading into rational thought and reason. To me this sounds like
-the development of math, but in some sense this could also apply to
-physics, though I still believe that physics theories even if reasoned
-require experimental "testing" (not "verification") for it to be
-acceptable in terms of physics. THis leaves me in a situation where none
-of the ways of knowing that I can understand, even if used together,
-could bring about an absolutely correct[tm] theory of physics. See,
-reason is flawed because logic may fail, not to mention when we are
-literally trying to define/describe novel physics concepts/entities and
-there aren’t any definitions to begin with to even start with reasoning
-and all we could do is using intuition in discovery. (Pattern finding in
-intuitive concepts would require formalization to be somewhat
-acceptable, but not absolutely ground-standing, in the realm of reason.)
-And then, experiments are flawed because errors will always exist in the
-messey real world (and if we do simulations that’s just falling back to
-our existing understanding of logical analysis). So now we have no
-single way, or combination of methods, to accurately verify the
-correctness of a physics theory, which by definition of physical is
-representative of the real world, basically saying that "we will never
-know how things work in the real world". That feels uncanny. Also, how
-do I even make sense of a physics theory to be "correct"? It’s arguable
-whether any physics theory could be correct in the first place. If Kant
-is correct then all our theories of physics is ultimately perception and
-having biology in the form of human observations in the absolute and
-hard-core feeling of physics is so weird.</p>
-<h1 id="random-ideas">Random Ideas</h1>
-<p>Here are some of my random ideas that I haven’t sorted into
-fully-explained paragraphs due to the lack of time to do so. However, I
-believe that the general point is here, and I would appreciate a
-discussion about these topics.</p>
-<ul>
-<li><p>How is it possible to know <i>anything</i> in physics?
-Experiments can be inaccurate or conducted wrongly or can be affected by
-physical properties completely unknown to us, and mathematical proof can
-be erroneous because of systematic flaws and/or false assumptions about
-the representation of physical entities in math.</p></li>
-<li><p>Gödel’s theorems only tell us that there <i>are</i> true
-statements that we cannot prove, and there <i>may be</i>
-inconsistencies. My intuition suggests that these statements and
-inconsistencies would be in the highly theoretical realm of math, which
-if accurately identified and are avoided in physics, would not pose a
-threat to applied mathematics in physics.</p>
-<p>However, it shall be noted that any single inconsistency may be
-abused to prove any statement, if consistencies were to be found in
-math: Suppose that we know a statement <span
-class="math inline"><i>A</i></span> (i. e. physics is squishy) is both
-true and false. Thus, <span class="math inline"><i>A</i> = 1</span>
-and <span class="math inline"><i>A</i> = 0</span> are both true. Then,
-take a random statement <span class="math inline"><i>B</i></span>
-(let’s say "Z likes humanities"). Thus we have <span
-class="math inline"><i>A</i> + <i>B</i> = 1</span> where <span
-class="math inline">+</span> is a boolean "or" operator because <span
-class="math inline"><i>A</i> = 1</span> and <span
-class="math inline">1 + <i>x</i> = 1</span> (<span
-class="math inline"><i>x</i></span> is any statement). But then
-because <span class="math inline"><i>A</i> = 0</span>, thus <span
-class="math inline">0 + <i>B</i> = 1</span>, which means that <span
-class="math inline"><i>B</i></span> must be 1 (if <span
-class="math inline"><i>B</i></span> is zero, then <span
-class="math inline">0 + 0 = 0</span>). Thus, if we can prove that
-"physics is squishy" and "physics is not squishy" (without differences
-in definition), then we can literally prove that "Z likes
-humanities". Other from not defining subjective things like "squishy"
-and "is" (in terms of psychology), we can’t get around this easily, and
-everything would be provable, which would not be fun for
-physics.</p></li>
-</ul>
-<h1 class="unnumbered" id="bugs">Bugs</h1>
-<ul>
-<li><p>No citations present for referenced materials. Thus, this article
-is not fit for publication, and shall not be considered an authoritative
-resource. The addition of references will massively improve the status
-of this article.</p></li>
-<li><p>The ideas are a bit messy. The structure needs to be reorganized.
-Repetition is prevalent and must be reduced to a minimum.</p></li>
-</ul>
-<h1 class="unnumbered" id="acknowledgements">Acknowledgements</h1>
-<p>Multiple documents were consulted in the writing of this article,
-which sometimes simply summarizes ideas already expressed by others.
-Please see the attached reading materials for details. Works of Eugene
-Wigner were especially helpful.</p>
-<p>Contributors include many YK Pao School students and faculty.
-Insightful conversations with other students, such as MuonNeutrino_,
-have given me great inspiration in the ideas
-expressed in this article and discussions are still ongoing. For privacy
-reasons other names aren’t listed, but I would be happy to put names on
-here at request/suggestion.</p>
-<section id="footnotes" class="footnotes footnotes-end-of-document"
-role="doc-endnotes">
-<hr />
-<ol>
-<li id="fn1"><p>I’m not exactly sure about this, though, I can only
-comprehend it slightly superficially as I don't have much experience in
-particle physics or in special unitary groups, yet.
-<a
-href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
-</ol>
-</section>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
-
diff --git a/pragmatic-use-of-nonfree-software.html b/pragmatic-use-of-nonfree-software.html
deleted file mode 100644
index 3b850a4..0000000
--- a/pragmatic-use-of-nonfree-software.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Pragmatic Use of Nonfree Software</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Pragmatic Use of Nonfree Software</h1>
-</header>
-
-<article>
-
- <h2>Abstract</h2>
-
- <p>
- Free Software is undoubtably a good thing for society. However, modern computer users are stuck in the proprietary "ecosystem" for historical reasons. This document describes the justification and best current practices of using proprietary platforms to spread the ideas of Free Software.
- </p>
-
- <h2>Status of This Memo</h2>
-
- <p>
- This document describes the author's viewpoint. This does not represent the ideas of the Free Software Foundation or any other entity. Distribution of this memo is unlimited.
- </p>
-
- <h2>Introduction</h2>
-
- <p>
- Readers of this memo probably understand the ideals of the Free Software Movement, and avoid proprietary software when possible. However, as most outsiders are unaware and are deeply buried inside the proprietary dystopia created by mostly multibillion-dollar technology corporations, our methods of communicating with the masses are ineffective.
- </p>
-
- <p>
- In February 2022, the author decided to permit limited usage of nonfree chat platforms to hopefully spread our ideas to the general public. This was attempted by registering a Discord account, creating a Guild called "Free Software Introductions", and setting up a basic Discord-to-IRC relay to #fsi on both irc.andrewyu.org (now irc.runxiyu.org) and irc.libera.chat.
- </p>
-
- <p>
- One of the communities that he knows about, the VF-Technic Minetest community, primarily uses Discord as a means of communication by players not in-game. As the users inside are Minetest players, a Free Software voxel sandbox game, similar to but much more flexible and freedom-respecting than Minecraft, it is believed that the users have some contact with Free Software, although they might not understand the freedom part of the issue, i.e. they might be thinking in terms of "open source" instead, and do not understand the harms of nonfree JavaScript and services like Discord. After sharing the invite link in the VF-Technic Guild, some people joined, and we've partially converted two users.
- </p>
-
- <h2>Justification</h2>
-
- <p>
- There are numerous free replacements to proprietary services such as Discord, such as Internet Relay Chat, the Extensible Messaging and Presence Protocol, the Matrix protocol, and email. As Free Software activists, we generally prefer these protocols over nonfree services. This section explains the reasons to consider nonfree services and protocols.
- </p>
-
- <p>
- Generally, users on IRC and XMPP have a fair understanding of the Free Software Movement, and it is quick and easy to inform them what we mean by "free", "the four freedoms", and similar ideas. For users on the Libera Chat IRC network, which by far has the most users of any network, it is exceptionally easy to introduce a user into the #fsf channel for discussions with people supporting Free Software. Introducing ignorant users on these protocols and platforms are a day-to-day simple task. Furthermore, the amount of users we can reach on these protocols are rather limiting. Libera has around forty thousand users according to the `LUSERS` command, and considering the fact that around 90% of these people aren't ignorant, there isn't much we can do.
- </p>
-
- <p>
- Matrix users, in particular users of the matrix.org homeserver, typically know but don't completely understand Free Software. Rather than using Matrix IDs to identify users, the Matrix specification specifies that third-party platform identities, such as email and GitHub, are how users should be referenced both internally by servers and shown to other users. This is obviously an increadibly foolish idea, especially considering the use of centralized identity servers (similar to X509 certificate authorities) for 3PIDs. These are our first targets, but these should also be easy to get the idea across.
- </p>
-
- <p>
- It is true that Libera Chat and similar IRC networks, though multi-centered in a technical way (i.e. multiple IRC servers form an IRC network), the network is politically centralized, controlled by one entity, Libera. The Internet Relay Chat server-to-server protocol implies that servers fully trust each other and are expected to not send damaging commands, which in turn implies full trust between server operators, no federation, and political centralization. The privacy policy and network policy of Libera Chat are non-intrusive, therefore the use of which is acceptable and is promoted by the FSF. (Obviously, most methods of using IRC do not involve nonfree software.)
- </p>
-
- <p>
- We currently find it hard to continue spreading basic knowledge among the masses through free communication protocols.
- </p>
-
- <p>
- Those that have never touched Free Software are often on giant proprietary platforms, and take these as universal methods of communication. Many people go months before checking their mailbox (physical or electronic), refuse to use XMPP or IRC for its age.
- </p>
-
- <p>
- There is one special case where using some nonfree software, and even urging others to use it, can be a positive thing. That's when the use of the nonfree software aims directly at putting an end to the use of that very same nonfree software. The author believes that the following fall within this scope:
- </p>
-
- <ul>
- <li>Developing a free project that requires nonfree environments to bootstrap.</li>
- <li>To spread awareness of software freedom issues to users in nonfree environments.</li>
- </ul>
-
- <p>
- As almost all types of development can be done on most types of BSD and GNU operating systems, the author hasn't found any software that fit this category. Extending the interpretation allows for using nonfree software's behavior as a reference in Free Software development, though an arguable programming practice, may help the community to progress by understanding common features that users of nonfree services use.
- </p>
-
- <p>
- The latter is more interesting, as explained above our methods of spreading awareness is limited. Conservative usage of nonfree platforms may bring us more users, and chances for more of the general public to be enlightened.
- </p>
-
- <h2>Current Practices</h2>
-
- <p>
- Activists <b>MUST NOT</b> list such nonfree services in "Contact Information" pages on their website or similar sources, unless followed by a explanation that the purpose of the nonfree platform is to introduce users thereof onto free protocols and to eventually exterminate the nonfree platform. Whenever these references to nonfree platforms appear, the author <b>MUST</b> present free methods of communication. Activists <b>SHOULD</b> pragmatically use as many of the popular free protocols as possible, to ensure that opportunities of introductions are not lost. In cases involving competition between free and nonfree protocols and platforms, ethical concerns (i.e. enabling talking to a new user on any ethical platform) <b>MUST</b> take precedence over technical concerns (such as disliking the XMPP protocol for its inefficient use of XML).
- </p>
-
- <p>
- Communities for introducing users to Free Software on nonfree platforms <b>MUST</b> be bridged to a free protocol in some obvious way, in order to minimize the usage of nonfree platforms even for the purpose of communicating ideology to new users and allow members of the Free Software community refusing to use nonfree platforms in any way to participate. Usages of nonfree platforms, besides part of the user-introduction process that must happen on the nonfree platform, <b>SHOULD</b> be avoided. Free clients, if available, <b>SHOULD</b> be used, although many times usage is technically cumbersome.
- </p>
-
- <p>
- When both (all) sides of the communication are happy using a free protocol, proprietary platforms <b>MUST NOT</b> be used.
- </p>
-
- <p>
- During communications with users of nonfree platforms, activists <b>SHOULD</b> ask them what features of the nonfree platforms are attractive to the user, besides having more users. This allows the community to take usage by the general population into account when developing new software or specifications.
- </p>
-
- <p>
- For example, the author created a Discord Guild called Free Software Introductions, which is one-way-puppeted to #fsi on irc.andrewyu.org (currently dormant), which is then one-way-puppeted to Libera. The relay system is sort-of messed up, but it's working. Inviting new users to such Guilds (https://discord.gg/7CYp7ntww7) when perse refuses to or is ignorant on how to use IRC helps conveying our ideas to users, but as the author has made their own "sacrifice" already, there exists less of a need for other existing Free Software activists to join and use it instead of free protocols.
- </p>
-
- <h2>Technical Limitations</h2>
-
- <p>
- The old and centralized nature of IRC, the insane 3PID recommendation of Matrix, the bad routing and efficiency of XMPP, and the lack of documentation on PSYC, has led us to develop a new protocol, Internet Delay Chat, which aims to be free, modern (i.e. support for channel groups and shared permission sets, non-text data with MIME types), sane (i.e. TCP, UDP and SCTP-based, instead of HTTP POST APIs) and simple.
- </p>
-
- <p>
- Outsiders may point at these actions as cringeworthy because we are depending on things we are against to achieve our goals. In this situation, showing them this article should suffice.
- </p>
-
- <h2>Conclusion</h2>
-
- <p>
- The Free Software Community is constantly evolving; the majority of computer users haven't heard of us. While we improve our software, it is important that our ideology and philosophy is sent out of our internal circle. This demonstrates the necessity for momentarily sacrificing our own principle for the greater good while minimizing the harms of such pragmatic usage of nonfree software.
- </p>
-
- <h2>Informative Links</h2>
- <ul>
- <li><a href="https://gnu.org/philosophy/is-ever-good-use-nonfree-program.en.html">Richard Stallman on this issue</a></li>
- </ul>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/purple-hibiscus.html b/purple-hibiscus.html
deleted file mode 100644
index a95bdff..0000000
--- a/purple-hibiscus.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
- <head>
- <title>Random Thoughts on Purple Hibiscus</title>
- <link rel="stylesheet" href="/oldstyle.css" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
- <meta charset="utf-8" />
- </head>
- <body class="indent">
- <h1>Random Thoughts on Purple Hibiscus</h1>
-
-
- <p>These are some random, unorganized thoughts on Purple Hibiscus, particularly around the bildungsroman of Mama.</p>
-
- <p>Adiche wrote in chapter one that Mama polishes the figurines often, especially after episodes of family violence, suggesting that the figurines were of symbolic importance to Mama. After they were shattered as Papa flung his missal at Jaja and missed, "it was not just the figurines that came tumbling down, it was everything", suggesting that the figurines symbolizes family unity. This indicates a critical change in Mama—from someone that views herself as a "wife" and a "woman" and truly believes that Papa is correct in violence and punishment and that such violence is justified, to a person who understands the importance of independence and freedom and opposes tyranny.</p>
-
- <p>I believe that this sudden change is uncanny when considered from a relatively logical perspective. The figurines merely symbolize the family environment, and logically it makes little sense that Mama would perceive "the figures broke" as a fundamental change in the family environment—in real life it's hard to imagine someone being so sensitive to symbolism. I will need to look through the novel again, but I do not currently recall prominent foreshadows of Mama's perception of the family environment falling apart in the story's timeline before Palm Sunday. These might just be subtly hiding somewhere waiting to be picked up by the cautious reader, but if such foreshadows are actually present, Adiche may be hinting at the tendency for people to not consciously realize or to intentionally hide subtle feelings until a point where the pressure could not be held any more, and emotional, irrational acts of desperation inevitably commence, reflecting on the futile nature of humans trying to approach rationality but failing to do so. Alternatively, a simpler explanation would be that Adiche is trying to highlight the sensitivity to seemingly irrelevant symbols of emotional and irrational side of people. I believe that both of these are possible interpretations of the novel on first read, but some close analysis in the future or further knowledge of context, such as Adiche's family and cultural background, may be in favor of one particular explanation. I'll see when I get to reviewing the whole novel, and I believe I shall take extra care on the part after Mama comes to Aunty Ifeoma's after Papa breaks the bible table on her and causes another miscarriage and her exact actions on Palm Sunday.</p>
-
- <p>Further on in the novel, Mama then commits the "desperate act" of poisoning Papa to death, after which she experiences another change in personality. She becomes fairly robotic and rarely displays emotions, which in and of itself could be considered an unnatural emotional state. This reflects how constant emotional pressure, and likely her own guilt of killing a supposed "loved one" tends to make people numb and hyposensitive to emotional stimuli, creating depressive dissonance. Kambili's anger for Mama, but ultimate understanding, the former of which hasn't really occurred before in the entire novel suggests how even after turmoil in constant domestic violence and unhealthy family relationships, death is ultimately empty in its very nature. This in turn reflects that Kambili, who may be considered to be in the most healthy mental state in the her inner family, is able to understand and perceive emotions from the perspective of others and appreciate how there is a sensitive and kind part of everybody. However, I'm not sure how this interpretation could extend to political violence, which is routinely compared with against domestic violence and religion throughout the novel. It could be argued that Adiche wants to present the inevitability of power dynamics in modern society, but I doubt that that's the actual point of the novel.</p>
-
- <p>(Then there's Jaja getting into prison and the weeks before he gets out of prison and such, which gets messier. I don't have the time and energy to write about that today, so I guess that comes later.)</p>
- <div id="footer">
- <hr />
- <p><a href="/">Runxi Yu's Website</a></p>
-
- </div>
- </body>
-</html>
diff --git a/really.html b/really.html
deleted file mode 100644
index e49ad38..0000000
--- a/really.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>"Really" is a really confusing word!</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>"Really" is a really confusing word!</h1>
-</header>
-
-<article>
- <p>
- Often times when the word "really" is used in as an adverb in an assertion or proposition after a word that expresses negation, it may be useful to replace it with "in some sense", and seek to ask or clarify "in what sense". It shall be recognized that questions that arise may be legitimately hard to answer, but it may be still beneficial to consider them.
- </p>
- <p>The same applies for "actually" and similar words when used this way, though in my experience, people tend to use "really" this way.</p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/sway-keysym.html b/sway-keysym.html
deleted file mode 100644
index a9ab259..0000000
--- a/sway-keysym.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <title>Sway keysym</title>
- <link rel="stylesheet" href="./style.css" />
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>Sway keysym</h1>
-</header>
-
-<article>
- <p>
- Under the <a href="https://swaywm.org/">Sway</a> Wayland compositor, we could set set <code>xkb_layout</code> and <code>xkb_options</code> for keyboards in order to do weird key mapping related things. Many people use <code>caps:ctrl_modifier</code> and <code>caps:escape</code> in <code>xkb_options</code> (see <a href="https://man.openbsd.org/xkeyboard-config">xkeyboard-config(7)</a> for other options) to make Caps Lock function as an extra Ctrl or Esc key.
- </p>
- <p>
- If all you want to do is do a relatively common modification like that, chances are that <code>xkb_variant</code> and <code>xkb_options</code> already has what you want, and you should just set that.
- </p>
- <hr />
- <p>
- But if what you want isn't covered in the standard XKB files, hear my story. I personally wanted Caps Lock to function as an additional Shift key, which isn't covered in <code>xkb_options</code>. (<code>caps:shift</code> doesn't differ much from normal Caps Lock, make it confusingly documented and doesn't make the Caps Lock function as an extra Shift.)
- </p>
- <p>
- On X11, I would simply use <code>xmodmap -e "keysym Caps_Lock = Shift_L"</code>. Now my Caps Lock functions as an extra Left Shift. Works just alright.
- </p>
- <p>
- But now that I switched to Wayland, Sway in particular, <code>xmodmap</code> for X11 isn't going to work. What I ended up doing was the following:
- </p>
- <p>
- <b><code>$HOME/.xkb/symbols/gbcustom</code></b>
- </p>
-<pre>default partial alphanumeric_keys
-xkb_symbols "basic" { // leave "basic" in-tact unless you know what you're doing
- include "gb" // or whatever base layout you use, most likely "us"
- name[Group1] = "English (UK) Customized";
- key &lt;CAPS&gt; { [ Shift_L, Shift_L, Shift_L, Shift_L ] };
-};</pre>
- <p>
- Note that here, the "<code>key</code>" lines are in the form <code>key &lt;X&gt; { [ A, B, C, D ] } ;</code>, where "<code>X</code>" is the keycode symbolic name of the physical key you want to press. In my case, it is <code>CAPS</code>. Check <code>/usr/share/X11/xkb/symbols/pc</code> and <code>/usr/share/X11/xkb/symbols/latin</code>, or the relevant files for your keyboard configuration, to look up the keycode symbolic name from the name you're used to. (Looking up <code>Shift_L</code> in <code>symbols/pc</code> gets you to <code>LFSH</code>, which is what you would use in place of "<code>X</code>". <code>A</code> is triggered when <code>X</code> is pressed alone, <code>B</code> when it's pressd with Shift, <code>C</code> with AltGr, and <code>D</code> with both AltGr and Shift.
- </p>
- <p>
- <b><code>$HOME/.config/sway/config</code></b>
- </p>
-<pre>input "1:1:AT_Translated_Set_2_keyboard" {
- xkb_layout "gbcustom"
-}</pre>
- <p>
- Of course, replace "<code>1:1:AT_Translated_Set_2_keyboard</code>" with your actual keyboard identifier listed in <code>swaymsg -t get_inputs</code>. And reload Sway.
- </p>
- <p>
- There might be better ways to do so, but I've got this to work. For these unusual setups, it is a bit complicated and not as straightforward as adding a <code>xmondmap</code> line to <code>.xinitrc</code>. Hopefully things would get better as Wayland matures.
- </p>
- <p>
- <a href="https://github.com/swaywm/sway/issues/4250">This GitHub issue</a> and <a href="https://www.city17.xyz/keychron/#xkb-here-be-dragons">jman's article on this</a> were extremely helpful. Thanks to <a href="https://sr.ht/~brocellous">brocellous</a> for pointing out the solution involving custom options.
- </p>
- <hr />
- <p>
- Another, potentially better method involving defining custom <code>xkb_options</code>, propsed by brocellous:
- </p>
- <p>
- <b><code>$HOME/.xkb/symbols/customsymbol</code></b>
- </p>
-<pre>// Remap caps to Shift_L
-partial modifier_keys
-xkb_symbols "caps_lshift" {
- replace key <CAPS> {
- type[group1] = "ONE_LEVEL",
- symbols[group1] = [ Shift_L ],
- actions[group1] = [ SetMods(modifiers=Shift) ]
- };
-};</pre>
- <p>
- <b><code>$HOME/.xkb/rules/evdev</code></b>
- </p>
-<pre>! option = symbols
- custom:caps_lshift = +customsymbol(caps_lshift)
-
-! include %S/evdev</pre>
- <p>
- <b><code>$HOME/.config/sway/config</code></b>
- </p>
-<pre>input "1:1:AT_Translated_Set_2_keyboard" {
- xkb_layout "gb"
- xkb_options "custom:caps_lshift"
-}</pre>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>
diff --git a/the-old-web-was-better.html b/the-old-web-was-better.html
deleted file mode 100644
index 8afe180..0000000
--- a/the-old-web-was-better.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8" />
- <link rel="stylesheet" href="./style.css" />
- <title>The Old Web Was Better</title>
- <link rel="icon" href="./favicon.ico" sizes="any" />
- <!--link rel="icon" href="./icon.svg" type="image/svg+xml" / -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="theme-color" content="#241504" />
- <meta name="color-scheme" content="light dark">
-
-</head>
-<body>
-<header>
- <h1>The Old Web Was Better</h1>
-</header>
-
-<article>
-
- <p>
- When I go to an average "modern" World Wide Web site with the default configuration of Lynx, a wonderful plain text Web browser, I am usually greeted with things like <code>example.com cookie: some jibberish Allow? (Y/N/Always/neVer)</code> for which I'd press V a couple times. Then, I would press C-f or page-down a couple times to scroll past a giant navigation bar full of nested lists, a few HTML login forms, multiple search bars. Then I'd see the actual text of the article I'm looking for. Or sometimes, the site would show "Please enable JavaScript to view this page." or some Cloudflare prompt saying that I need to enable JavaScript to solve a proprietary CAPTCHA to view the page because they have detected "unusual activity from my network". Or I would be met with a blank page. If I decide to visit the modern Web with a "normal" Web browser such as Firefox or Chromium, with a default install, I'd get a ten-megabyte load of a bunch of fancy advertisements at the top of the page, a giant navigation bar that's really colorful to distract me from what I actually want to see, some pop-ups wanting me to fill in my email address to sign up for their newsletter (which as people say would usually be weekly HTML email spam), flashy advertisements on the side bar, and when I finally scrolled past the header part of the page, a few hasty paragraphs with large paragraph separations unreadably wrapped in a narrow column. All to display a few kilobytes of actual text, and rarely a few hundred kilobytes of useful images.
- </p>
- <p>
- The Web, which people often refer to as the aggregate of human knowledge and high-speed distribution of information, has turned into a degenerate mess of advertisements, JavaScript, slugishness, tracking and profiling, security holes, and slowness. In summary, the modern Web is <em>painful</em>.
- </p>
- <p>
- I'm looking back towards the 1990s, where Websites would be like this one. Simple (X)HTML, plain text, or another lightweight markup language. No ads, trackers, JavaScript, popups, <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html">Software as a Service Substitute</a> etc. Just distribution of information and ideas, as gophertext, plain text, or simple (X)HTML. As simple as that---basically "use the simple defaults of your Web server program and don't bother with huge management systems".
- </p>
- <p>
- Though, some semi-modern things are good. MediaWikis, for example, while their behind-the-back workings of mulplitudes of PHP mountains, SQL databases, and recently JavaScript-infested visual editors are extremely unelegant, they do provide a consistent simple user interface, without many browser requirements, for users to distribute useful information with. Just not loads of JavaScript and margins and paddings and ads, please.
- </p>
- <p>
- It would also be better if more people were to have personal Websites to express themselves with, rather than relying on centralized social media giants, who once again display a bunch of ads and wraps articles/"posts" at 30 columns to make people uncomfortable reading comprehensive ideas and get them inclined to write short illogical rants and personal attacks. <a href="https://learn.tuxiversity.org/">Tuxiversity</a> and <a href="https://landchad.net/">LandChad.net</a> are useful resources to get started with.
- </p>
- <p>
- The same applies to the Internet more generally. Don't send huge, clunky HTML emails. Simple chat protocols like IRC. Whatever.
- </p>
-</article>
-
-<footer>
- <ul role="list">
- <li><a href="./">Home</a></li>
- <li>Runxi Yu</li>
- <li><a rel="license" href="./pubdom.html">Public Domain</a></li>
- </ul>
-</footer>
-</body>
-</html>