summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Yu <andrew@andrewyu.org>2022-09-12 16:35:11 +0200
committerAndrew Yu <andrew@andrewyu.org>2022-09-12 16:35:11 +0200
commit1f2633a6ccfb20667f10701567163b350e7264e5 (patch)
treed6361b2f68cf77df84e393943a1d677abc91363e
downloadwww-1f2633a6ccfb20667f10701567163b350e7264e5.tar.gz
www-1f2633a6ccfb20667f10701567163b350e7264e5.zip
Initial commit.
-rw-r--r--.gitignore4
-rw-r--r--404.html20
-rw-r--r--Makefile2
-rw-r--r--article/abortion.html65
-rw-r--r--article/copyright.html33
-rw-r--r--article/democracy-fundamentals.html42
-rw-r--r--article/democracy-us.html65
-rw-r--r--article/eax.txt454
-rw-r--r--article/free-software-education-in-china-and-covid-19.html93
-rw-r--r--article/index.html28
-rw-r--r--article/pragmatic-use-of-nonfree-software.html127
-rw-r--r--buffer.html17
-rw-r--r--contact.html35
-rw-r--r--favicon.icobin0 -> 1094 bytes
-rw-r--r--hub.html43
-rw-r--r--index.html30
-rw-r--r--life/index.html21
-rw-r--r--note/ask.html16
-rw-r--r--note/social-media.html21
-rw-r--r--note/their.html16
-rw-r--r--note/wechat.html52
-rw-r--r--other-articles/index.html22
-rw-r--r--pgp/allkeys.ascbin0 -> 41902 bytes
-rw-r--r--pgp/andrew-ecc.asc26
-rw-r--r--pgp/andrew.asc64
-rw-r--r--plain.css11
-rw-r--r--school/cardiology.html111
-rw-r--r--school/constitution.pdfbin0 -> 130656 bytes
-rw-r--r--school/contact.html25
-rw-r--r--school/index.html32
-rw-r--r--school/stugov-proposals.html54
-rw-r--r--sitemap.txt21
-rw-r--r--template.html16
33 files changed, 1566 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c507b8b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/pub
+*~
+.*.swp
+#*#
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..f8c9404
--- /dev/null
+++ b/404.html
@@ -0,0 +1,20 @@
+<!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>Not Found</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <h1>Not Found</h1>
+ <div id="main">
+ <p>The requested file does not exist on this World Wide Web server.</p>
+ <p>Many links have changed over time, thus links to here may break. <a href="/">The homepage</a> might get you there.</p>
+ <p>This Website's history is logged in <a href="https://git.andrewyu.org/www.andrewyu.org/">a Git repository</a>. The file you're looking for may be in there.</p>
+ </div>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..dd9ea68
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,2 @@
+sitemap:
+ find . -name '*.html' | sed 's/^\./https:\/\/www.andrewyu.org/' > sitemap.txt
diff --git a/article/abortion.html b/article/abortion.html
new file mode 100644
index 0000000..79416d7
--- /dev/null
+++ b/article/abortion.html
@@ -0,0 +1,65 @@
+<!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>Abortion</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body class="indent">
+ <h1>Abortion</h1>
+ <p>Article ID: 3</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>
+
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/copyright.html b/article/copyright.html
new file mode 100644
index 0000000..4688209
--- /dev/null
+++ b/article/copyright.html
@@ -0,0 +1,33 @@
+<!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>Copyright: It's okay</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Copyright: It's okay</h1>
+ <p>Article ID: 6</p>
+ <p>
+ Copyright law isn't as broken as some think.
+ </p>
+
+ <p>
+ Modern copyright law allows for things like nonfree software that don't respect privacy and other freedoms. But as long as it conforms to the license agreement that users thereof agree to, it's the users' responsibility to read the license agreement carefully and to agree to or decline it based on what they've read. We Free Software developers <em><strong>grant</strong> the users the four freedoms</em>, others can choose to do otherwise.
+ </p>
+
+ <p>
+ Information unlike physical items can be copied with minimal cost, especially in the case of digital information, and thus the traditional private property argument of ``this is theft and the author loses stuff'' doesn't really apply. However, information/data that an author creates shall be under the control of the author, it's ultimately what they create and is their private information. The authors, not anyone else, should control how their information goes. (Transferring this control to another entity is ultimately using their control to share or give away the same control, so that's no different.)
+ </p>
+
+ <p>
+ There are some jurisdictions that don't allow publishing works into the public domain. I believe that this needs improvement, as I don't see a reason to force an author to control the distribution of their work when the author themselves don't want to. For instance, <a href="/#footer">this Website is, when possible, in the public domain</a>, but in juristictions like Germany where that's not possible, an alternative permissive license is used.
+ </p>
+
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/democracy-fundamentals.html b/article/democracy-fundamentals.html
new file mode 100644
index 0000000..8d1ded5
--- /dev/null
+++ b/article/democracy-fundamentals.html
@@ -0,0 +1,42 @@
+<!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>Democracy: Fundamentals (Unfinished)</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Democracy: Fundamentals (Unfinished)</h1>
+ <p>Article ID: 4</p>
+ <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>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/democracy-us.html b/article/democracy-us.html
new file mode 100644
index 0000000..0854b85
--- /dev/null
+++ b/article/democracy-us.html
@@ -0,0 +1,65 @@
+<!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>Democracy: The United States (Unfinished)</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Democracy: The United States (Unfinished)</h1>
+ <p>Article ID: 5</p>
+ <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 discernable 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 dominent 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 canidate and the canidate 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>
+
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/eax.txt b/article/eax.txt
new file mode 100644
index 0000000..6a174c9
--- /dev/null
+++ b/article/eax.txt
@@ -0,0 +1,454 @@
+; The below only apply to Linux on IA32.
+
+; General way to do syscalls:
+
+mov eax, <syscall number as below>
+mov ebx, arg
+mov ecx, arg
+mov edx, arg
+mov esx, arg
+mov edi, arg
+int 0x80
+
+; man 2 <syscall name> will tell you arguments and extra information of
+; the syscalls
+
+; syscall name syscall number
+restart_syscall 0
+exit 1
+fork 2
+read 3
+write 4
+open 5
+close 6
+waitpid 7
+creat 8
+link 9
+unlink 10
+execve 11
+chdir 12
+time 13
+mknod 14
+chmod 15
+lchown 16
+break 17
+oldstat 18
+lseek 19
+getpid 20
+mount 21
+umount 22
+setuid 23
+getuid 24
+stime 25
+ptrace 26
+alarm 27
+oldfstat 28
+pause 29
+utime 30
+stty 31
+gtty 32
+access 33
+nice 34
+ftime 35
+sync 36
+kill 37
+rename 38
+mkdir 39
+rmdir 40
+dup 41
+pipe 42
+times 43
+prof 44
+brk 45
+setgid 46
+getgid 47
+signal 48
+geteuid 49
+getegid 50
+acct 51
+umount2 52
+lock 53
+ioctl 54
+fcntl 55
+mpx 56
+setpgid 57
+ulimit 58
+oldolduname 59
+umask 60
+chroot 61
+ustat 62
+dup2 63
+getppid 64
+getpgrp 65
+setsid 66
+sigaction 67
+sgetmask 68
+ssetmask 69
+setreuid 70
+setregid 71
+sigsuspend 72
+sigpending 73
+sethostname 74
+setrlimit 75
+getrlimit 76
+getrusage 77
+gettimeofday 78
+settimeofday 79
+getgroups 80
+setgroups 81
+select 82
+symlink 83
+oldlstat 84
+readlink 85
+uselib 86
+swapon 87
+reboot 88
+readdir 89
+mmap 90
+munmap 91
+truncate 92
+ftruncate 93
+fchmod 94
+fchown 95
+getpriority 96
+setpriority 97
+profil 98
+statfs 99
+fstatfs 100
+ioperm 101
+socketcall 102
+syslog 103
+setitimer 104
+getitimer 105
+stat 106
+lstat 107
+fstat 108
+olduname 109
+iopl 110
+vhangup 111
+idle 112
+vm86old 113
+wait4 114
+swapoff 115
+sysinfo 116
+ipc 117
+fsync 118
+sigreturn 119
+clone 120
+setdomainname 121
+uname 122
+modify_ldt 123
+adjtimex 124
+mprotect 125
+sigprocmask 126
+create_module 127
+init_module 128
+delete_module 129
+get_kernel_syms 130
+quotactl 131
+getpgid 132
+fchdir 133
+bdflush 134
+sysfs 135
+personality 136
+afs_syscall 137
+setfsuid 138
+setfsgid 139
+_llseek 140
+getdents 141
+_newselect 142
+flock 143
+msync 144
+readv 145
+writev 146
+getsid 147
+fdatasync 148
+_sysctl 149
+mlock 150
+munlock 151
+mlockall 152
+munlockall 153
+sched_setparam 154
+sched_getparam 155
+sched_setscheduler 156
+sched_getscheduler 157
+sched_yield 158
+sched_get_priority_max 159
+sched_get_priority_min 160
+sched_rr_get_interval 161
+nanosleep 162
+mremap 163
+setresuid 164
+getresuid 165
+vm86 166
+query_module 167
+poll 168
+nfsservctl 169
+setresgid 170
+getresgid 171
+prctl 172
+rt_sigreturn 173
+rt_sigaction 174
+rt_sigprocmask 175
+rt_sigpending 176
+rt_sigtimedwait 177
+rt_sigqueueinfo 178
+rt_sigsuspend 179
+pread64 180
+pwrite64 181
+chown 182
+getcwd 183
+capget 184
+capset 185
+sigaltstack 186
+sendfile 187
+getpmsg 188
+putpmsg 189
+vfork 190
+ugetrlimit 191
+mmap2 192
+truncate64 193
+ftruncate64 194
+stat64 195
+lstat64 196
+fstat64 197
+lchown32 198
+getuid32 199
+getgid32 200
+geteuid32 201
+getegid32 202
+setreuid32 203
+setregid32 204
+getgroups32 205
+setgroups32 206
+fchown32 207
+setresuid32 208
+getresuid32 209
+setresgid32 210
+getresgid32 211
+chown32 212
+setuid32 213
+setgid32 214
+setfsuid32 215
+setfsgid32 216
+pivot_root 217
+mincore 218
+madvise 219
+getdents64 220
+fcntl64 221
+gettid 224
+readahead 225
+setxattr 226
+lsetxattr 227
+fsetxattr 228
+getxattr 229
+lgetxattr 230
+fgetxattr 231
+listxattr 232
+llistxattr 233
+flistxattr 234
+removexattr 235
+lremovexattr 236
+fremovexattr 237
+tkill 238
+sendfile64 239
+futex 240
+sched_setaffinity 241
+sched_getaffinity 242
+set_thread_area 243
+get_thread_area 244
+io_setup 245
+io_destroy 246
+io_getevents 247
+io_submit 248
+io_cancel 249
+fadvise64 250
+exit_group 252
+lookup_dcookie 253
+epoll_create 254
+epoll_ctl 255
+epoll_wait 256
+remap_file_pages 257
+set_tid_address 258
+timer_create 259
+timer_settime 260
+timer_gettime 261
+timer_getoverrun 262
+timer_delete 263
+clock_settime 264
+clock_gettime 265
+clock_getres 266
+clock_nanosleep 267
+statfs64 268
+fstatfs64 269
+tgkill 270
+utimes 271
+fadvise64_64 272
+vserver 273
+mbind 274
+get_mempolicy 275
+set_mempolicy 276
+mq_open 277
+mq_unlink 278
+mq_timedsend 279
+mq_timedreceive 280
+mq_notify 281
+mq_getsetattr 282
+kexec_load 283
+waitid 284
+add_key 286
+request_key 287
+keyctl 288
+ioprio_set 289
+ioprio_get 290
+inotify_init 291
+inotify_add_watch 292
+inotify_rm_watch 293
+migrate_pages 294
+openat 295
+mkdirat 296
+mknodat 297
+fchownat 298
+futimesat 299
+fstatat64 300
+unlinkat 301
+renameat 302
+linkat 303
+symlinkat 304
+readlinkat 305
+fchmodat 306
+faccessat 307
+pselect6 308
+ppoll 309
+unshare 310
+set_robust_list 311
+get_robust_list 312
+splice 313
+sync_file_range 314
+tee 315
+vmsplice 316
+move_pages 317
+getcpu 318
+epoll_pwait 319
+utimensat 320
+signalfd 321
+timerfd_create 322
+eventfd 323
+fallocate 324
+timerfd_settime 325
+timerfd_gettime 326
+signalfd4 327
+eventfd2 328
+epoll_create1 329
+dup3 330
+pipe2 331
+inotify_init1 332
+preadv 333
+pwritev 334
+rt_tgsigqueueinfo 335
+perf_event_open 336
+recvmmsg 337
+fanotify_init 338
+fanotify_mark 339
+prlimit64 340
+name_to_handle_at 341
+open_by_handle_at 342
+clock_adjtime 343
+syncfs 344
+sendmmsg 345
+setns 346
+process_vm_readv 347
+process_vm_writev 348
+kcmp 349
+finit_module 350
+sched_setattr 351
+sched_getattr 352
+renameat2 353
+seccomp 354
+getrandom 355
+memfd_create 356
+bpf 357
+execveat 358
+socket 359
+socketpair 360
+bind 361
+connect 362
+listen 363
+accept4 364
+getsockopt 365
+setsockopt 366
+getsockname 367
+getpeername 368
+sendto 369
+sendmsg 370
+recvfrom 371
+recvmsg 372
+shutdown 373
+userfaultfd 374
+membarrier 375
+mlock2 376
+copy_file_range 377
+preadv2 378
+pwritev2 379
+pkey_mprotect 380
+pkey_alloc 381
+pkey_free 382
+statx 383
+arch_prctl 384
+io_pgetevents 385
+rseq 386
+semget 393
+semctl 394
+shmget 395
+shmctl 396
+shmat 397
+shmdt 398
+msgget 399
+msgsnd 400
+msgrcv 401
+msgctl 402
+clock_gettime64 403
+clock_settime64 404
+clock_adjtime64 405
+clock_getres_time64 406
+clock_nanosleep_time64 407
+timer_gettime64 408
+timer_settime64 409
+timerfd_gettime64 410
+timerfd_settime64 411
+utimensat_time64 412
+pselect6_time64 413
+ppoll_time64 414
+io_pgetevents_time64 416
+recvmmsg_time64 417
+mq_timedsend_time64 418
+mq_timedreceive_time64 419
+semtimedop_time64 420
+rt_sigtimedwait_time64 421
+futex_time64 422
+sched_rr_get_interval_time64 423
+pidfd_send_signal 424
+io_uring_setup 425
+io_uring_enter 426
+io_uring_register 427
+open_tree 428
+move_mount 429
+fsopen 430
+fsconfig 431
+fsmount 432
+fspick 433
+pidfd_open 434
+clone3 435
+close_range 436
+openat2 437
+pidfd_getfd 438
+faccessat2 439
+process_madvise 440
+epoll_pwait2 441
+mount_setattr 442
+quotactl_fd 443
+landlock_create_ruleset 444
+landlock_add_rule 445
+landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
diff --git a/article/free-software-education-in-china-and-covid-19.html b/article/free-software-education-in-china-and-covid-19.html
new file mode 100644
index 0000000..4fb7f5b
--- /dev/null
+++ b/article/free-software-education-in-china-and-covid-19.html
@@ -0,0 +1,93 @@
+
+<!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>On Free Software, Education in China and the COVID-19 Pandemic</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body class="indent">
+ <h1>On Free Software, Education in China and the COVID-19 Pandemic</h1>
+ <p>Article ID: 1</p>
+ <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 proccess to setup QEMU running a Windows 7 virtural 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 China 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 China 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 oppurtunity to persue 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), 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 America 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 truely disappointed at the judicial system, even though I'm not a US citizen.
+ </p>
+
+ <p>I am looking foward to a freer society, or at least one where the above problems get solved.</p>
+
+ <p>Sincerely,<br>
+ Andrew Yu</p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/index.html b/article/index.html
new file mode 100644
index 0000000..91ef280
--- /dev/null
+++ b/article/index.html
@@ -0,0 +1,28 @@
+
+<!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>Andrew Yu's Personal Articles</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Andrew Yu's Personal Articles</h1>
+ <p>Pages for other projects (i.e. Evosaur) are not listed&mdash;only independent articles are listed here. These are sorted from newest to oldest. Some do not come with HTML anchors: these articles are not published online, but are still listed here. For these, you may ask me for a copy in real life, but it is within my rights to decline such requests.</p>
+ <p><a href="/contact.html">Feel free to comment on any of the articles.</a></p>
+ <ul>
+ <li>A Fragile Society (7)</li>
+ <li><a href="copyright.html">Copyright: It's okay</a> (6)</li>
+ <li><a href="democracy-us.html">Democracy: The United States</a> (5) (Unfinished)</li>
+ <li><a href="democracy-fundamentals.html">Democracy: Fundamentals</a> (4) (Unfinished)</li>
+ <li><a href="abortion.html">Abortion</a> (3)</li>
+ <li><a href="pragmatic-use-of-nonfree-software.html">Pragmatic Use of Nonfree Software</a> (2)</li>
+ <li><a href="free-software-education-in-china-and-covid-19.html">Free Software, Education in China and COVID-19</a> (1)</li>
+ </ul>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/article/pragmatic-use-of-nonfree-software.html b/article/pragmatic-use-of-nonfree-software.html
new file mode 100644
index 0000000..f27be6c
--- /dev/null
+++ b/article/pragmatic-use-of-nonfree-software.html
@@ -0,0 +1,127 @@
+<!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>Pragmatic Use of Nonfree Software</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body class="indent">
+ <h1>Pragmatic Use of Nonfree Software</h1>
+ <p>Article ID: 2</p>
+ <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 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 Presense 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 oppurtunities 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 inefficent 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, 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 efficency 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 neccessity 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>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/buffer.html b/buffer.html
new file mode 100644
index 0000000..ea69fa3
--- /dev/null
+++ b/buffer.html
@@ -0,0 +1,17 @@
+<!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>Buffer Area</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body>
+ <p>This is a buffer area, a temperory storage location that I use for random purposes.</p>
+ <hr />
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/contact.html b/contact.html
new file mode 100644
index 0000000..5a9d942
--- /dev/null
+++ b/contact.html
@@ -0,0 +1,35 @@
+
+<!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>Contact Andrew Yu</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Contact Andrew Yu</h1>
+ <p>There are many ways to contact me. None of these require proprietary software.</p>
+ <ul>
+ <li>Talk to me in real life. For those at the Songjiang Campus: I'm often in the library at noon time, before tutor time that is. I'm often on the tracks during MW3 and at Neuroscience (N201) during TT3. I'm usually in E104 from 21:00.</li>
+ <li>Electronic mail to <code>andrew</code> AT <code>andrewyu</code> DOT <code>org</code>. (Please sign and encrypt messages. See below.)</li>
+ <li>Paper mail to <code>Yu, Andrew (Run Xi 于润熙, s22537), 1800, Lane 900 North Sanxin Road, Songjiang District, Shanghai, China 201620</code>. (Note that I do not check school mail daily and I can't check it during vacations. Please do not attempt to use OpenPGP encryption or similar encryption for paper mail.)</li>
+ </ul>
+ <p><a href="/note/wechat.html">Please do not contact me via WeChat.</a></p>
+ <p><a href="/note/social-media.html">I do not use popular social media like Twitter or Weibo.</a></p>
+ <h2 id="pgp">OpenPGP</h3>
+ <p>If you have no idea what these mean, read <a href="https://emailselfdefense.org/">the Email Self Defense tutorial</a>.</p>
+ <p>Usually, electronic mail that I send are signed with my OpenPGP key. Please use OpenPGP when contacting me through electronic mail. The following are available.</p>
+ <ul>
+ <li><a href="https://www.andrewyu.org/pgp/andrew-ecc.asc">My ECC key</a> (recommended)</li>
+ <li><a href="https://www.andrewyu.org/pgp/andrew.asc">My RSA key</a></li>
+ <li><a href="https://www.andrewyu.org/pgp/allkeys.asc">My keyring of friends</a></li>
+ </ul>
+ <p>In order to verify the authenticity of the key, check if you've actually downloaded these keys from <code>andrewyu.org</code>, and also check the fingerprints with me elsewhere (email, IRC, in real life, etc) before trusting or signing it.</p>
+ <p>Once confirmed, please sign and share my key in order to build the OpenPGP Web of Trust.</p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..61a0ac8
--- /dev/null
+++ b/favicon.ico
Binary files differ
diff --git a/hub.html b/hub.html
new file mode 100644
index 0000000..80808f3
--- /dev/null
+++ b/hub.html
@@ -0,0 +1,43 @@
+
+<!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>Andrew Yu's Hub</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Andrew Yu's Hub</h1>
+ <ul>
+ <li><a href="https://www.andrewyu.org/">My Personal Website</a></li>
+ <li><a href="https://www.andrewyu.org/hub.html">This Link Hub</a></li>
+ <li><a href="https://git.andrewyu.org/">Git</a></li>
+ <li><a href="https://evosaur.andrewyu.org/">The Evosaur Project</a></li>
+ <li><a href="https://ykps.andrewyu.org/">Unofficial YK Pao School Activities Site</a></li>
+ <li><a href="https://learn.tuxiversity.org/">Tuxiversity (Unmaintained)</a></li>
+ <li><a href="https://www.andrewyu.org/school/">My School Stuff Hub</a></li>
+ <li><a href="https://www.andrewyu.org/article/">My Personal Articles</a></li>
+ <li><a href="https://www.andrewyu.org/other-articles/">Articles by Other People I Find Worth Sharing</a></li>
+ <li><a href="https://www.andrewyu.org/life/">Miniture Life Log</a></li>
+ <li><a href="https://www.andrewyu.org/note/">Frequently Used Snippets for Frequently Asked Questions</a></li>
+ <li><a href="https://www.andrewyu.org/buffer.html">Random Buffer Webpage</a></li>
+ </ul>
+ <p>Other people's Websites nearby:</p>
+ <ul>
+ <li><a href="https://users.andrewyu.org/~luk">Luke</a></li>
+ <li><a href="https://users.andrewyu.org/~luk/andrew-leak.mp4">Luke's Best Thing</a></li>
+ <li><a href="https://users.andrewyu.org/~hax">Test_User</a></li>
+ </ul>
+ <p>Not my stuff or relevant-to-me-specifically in particular:</p>
+ <ul>
+ <li><a href="https://fsf.org">The Free Software Foundation</a></li>
+ <li><a href="https://based.cooking">A simple clean receipe site</a></li>
+ <li><a href="https://landchad.net">Host your own services</a></li>
+ </ul>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..bba222f
--- /dev/null
+++ b/index.html
@@ -0,0 +1,30 @@
+<!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>Andrew Yu</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body>
+ <h1>Andrew Yu</h1>
+ <ul id="nav">
+ <li><a href="https://www.andrewyu.org">Me</a></li>
+ <li><a href="/hub.html">Hub</a></li>
+ <li><a href="/contact.html">Contact</a></li>
+ <li><a href="/article/">Articles</a></li>
+ <li><a href="/life/">Life-log</a></li>
+ <li><a href="/buffer.html">Buffer</a></li>
+ </ul>
+ <hr />
+ <p id="now">
+ There is no current note at the moment.
+ </p>
+ <hr />
+ <p id="about-me">I am Andrew Yu (i.e. Run Xi 于润熙), a 14-year-old in Shanghai, China, currently studying at <a href="https://ykpaoschool.cn/">YK Pao School</a> (link requires JavaScript to function, will discuss replacements). My main fields of interest are philosophy (especially political philosophy), metamathematics, programming fundamentals, cardiology and molecular biology. I'm also a Free Computing activist. Feel free to read my articles and other works: be sure to check out <a href="/hub.html">the Hub</a>.</p>
+ <div id="footer">
+ <hr />
+ <p>Works hosted on this subdomain (<code>www.andrewyu.org</code>) served with the HTTP(S) protocol is in the public domain. (In juristictions where it is impossible to publish into the public domain, the following applies: Permission is hereby granted, free of charge, to any person obtaining a copy of this work, to deal in the work without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of this work, and to permit persons to whom the work is furnished to do so.)</p>
+ </div>
+ </body>
+</html>
diff --git a/life/index.html b/life/index.html
new file mode 100644
index 0000000..cb7a88d
--- /dev/null
+++ b/life/index.html
@@ -0,0 +1,21 @@
+<!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>Andrew Yu's Life Log</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Andrew Yu's Life Log</h1>
+ <p>Short ``fun facts'' in life. Kind-of like your average ``social media'' blog, but without a manipulative algorithm in the middle and without political ideas (which should be discussed extensively, see my articles for these).</p>
+ <hr />
+ <p>
+ September 21, 2022: First week of school, or the first two weeks depending on how you see it, was nice. Humanities are challenging, other classes are generally easy. As expected I knew nobody, except for one person that is. I'm not an exovert for the most part. Food is good. People are way too good at sports. Gossip is excessive.
+ </p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/note/ask.html b/note/ask.html
new file mode 100644
index 0000000..7ca66dd
--- /dev/null
+++ b/note/ask.html
@@ -0,0 +1,16 @@
+<!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>Don't ask to ask, just ask1</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <h1>Don't ask to ask, just ask!</h1>
+ <p>Please don't send random emails and IRC messages saying ``Are you there? I have a thing to ask you about...''. Just ask the question. If I'm online I might answer right away, if I'm not I'll answer you when I have time. An ``Are you there?'' or ``Can I ask a question?'' question is just a waste of time and effort.</p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/note/social-media.html b/note/social-media.html
new file mode 100644
index 0000000..c017342
--- /dev/null
+++ b/note/social-media.html
@@ -0,0 +1,21 @@
+<!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>Social Media</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <h1>Social Media</h1>
+ <p>Referring to things like Facebook, Twitter, and similar: I do not use social media. I do not find social media to be meaningful.</p>
+ <p>Social media as I understand it is based on ``microblogging'', i.e. short posts about a person's life, thoughts, etc. Sharing random fun facts about life is fine, but it's really suboptimal for thoughts, especially political ones. Social media is usually designed in a quick ``consumption''-oriented style, often leading to flamewars instead of in-depth discussions because of its ``quick'' and ``short'' nature. Modern social media recommends new posts and people to people based on what they ``like'' and ``boost'' further creating an information cocoon, ``shielding'' them from new ideas, rather than allowing for natural human distribution of good articles.</p>
+ <p>Instead, I read and write <a href="/#articles">articles</a> and <a href="/other-articles/">share</a> those that impress me naturally.</p>
+ <p>Most popular social media services <a href="https://stallman.org/facebook.html">such as facebook</a> are also nonfree and have extra problems.</p>
+ <p>Sharing some fun facts about life is okay. <a href="/life.html">I do that too.</a> Just don't use microblogging for should-be-extensive topics and don't use these ``posts feed'' things.</p>
+ <p><a href="https://drewdevault.com/2022/07/09/Fediverse-toxicity.html">The Fediverse can be pretty toxic</a> by <a href="https://drewdevault.com/">Drew Devault</a>, founder (I remember?) of <a href="https://sourcehut.org/">SourceHut</a></p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/note/their.html b/note/their.html
new file mode 100644
index 0000000..f300c8d
--- /dev/null
+++ b/note/their.html
@@ -0,0 +1,16 @@
+<!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>Gender-neutral Pronouns</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <h1>Gender-neutral Pronouns</h1>
+ <p>You might have seen me use ``they'' instead of ``he'' to refer to myself. That's because in most contexts, gender doesn't matter in the pronouns, and a gender-neutral pronoun fits well.</p>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/note/wechat.html b/note/wechat.html
new file mode 100644
index 0000000..8eaff3c
--- /dev/null
+++ b/note/wechat.html
@@ -0,0 +1,52 @@
+<!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>The Problem with WeChat, et al.</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <h1>The Problem with WeChat, et al.</h1>
+ <p style="color: red;">
+ <strong>
+ Do not use WeChat to contact me.
+ </strong>
+ </p>
+
+ <p>
+ WeChat is a instant messaging program by the Chinese technology giant Tencent. It is insanely popular in Mainland China.
+ </p>
+
+ <p>
+ I do <em>not</em> use WeChat, when possible, for the following reasons.
+ </p>
+
+ <ul>
+ <li>
+ WeChat's client program is <a href="https://www.gnu.org/proprietary/proprietary.html">nonfree software</a>.
+ </li>
+ <li>
+ Many of WeChat's features are <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.html">Service as a Software Substitute</a>.
+ </li>
+ <li>
+ WeChat's servers are nonfree; the service is centralized.
+ </li>
+ <li>
+ Tencent suspends WeChat accounts for sending ``politically sensitive chats''.
+ </li>
+ <li>
+ Information collected by WeChat is given to the police of the PRC without court warrants.
+ </li>
+ </ul>
+
+ <p>This list is incomplete. I can't think of more now, tell me if you know some more.</p>
+ <p>Similar problems are present in other popular Instant Messaging services such as <a href="https://stallman.org/whatsapp.html">WhatsApp</a>, Discord, Tencent QQ, etc.</p>
+
+ <a href="/#contact">Here are some ways to contact me.</a>
+
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/other-articles/index.html b/other-articles/index.html
new file mode 100644
index 0000000..124ec05
--- /dev/null
+++ b/other-articles/index.html
@@ -0,0 +1,22 @@
+<!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>Articles by Others that Andrew Yu Finds Worth Sharing</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Articles by Others that Andrew Yu Finds Worth Sharing</h1>
+ <ul>
+ <li><a href="https://www.gnu.org/philosophy/surveillance-vs-democracy.html">Surveillance vs Democracy</a></li>
+ <li><a href="https://www.theguardian.com/commentisfree/2022/jan/19/america-biden-trump-authoritarinism">Authoritarinism in the US</a></li>
+ <li><a href="https://stallman.org/articles/companies-snoop-on-students.html">Many governments invite schools to invite companies to snoop on students</a></li>
+ <li><a href="https://gitlab.com/drummyfish/less_retarded_wiki/-/blob/master/capitalism.md">Drummyfish's rant on capitalism</a> (I disagree with a lot of that but it's nice to know new ideas)</li>
+ </ul>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/pgp/allkeys.asc b/pgp/allkeys.asc
new file mode 100644
index 0000000..c2bc181
--- /dev/null
+++ b/pgp/allkeys.asc
Binary files differ
diff --git a/pgp/andrew-ecc.asc b/pgp/andrew-ecc.asc
new file mode 100644
index 0000000..3286dde
--- /dev/null
+++ b/pgp/andrew-ecc.asc
@@ -0,0 +1,26 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEYhDIRhYJKwYBBAHaRw8BAQdAYso15k3B3hCW3x/37ZDgK8fumjMmbsBkPF6K
+kPj+7Nq0MkFuZHJldyBZdSAoQW5kcmV3J3MgRUNDIEtleSkgPGFuZHJld0BhbmRy
+ZXd5dS5vcmc+iJYEExYIAD4WIQSs8o3AoujXZEazOi1UVBIWajcYmwUCYhDIRgIb
+AwUJEswDAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRBUVBIWajcYm9U3AP9F
+sCDfSWYWLmHo3YGa0qraMeKnQS/6vInk4ziUjUDtHAD+OrlDl4FOyVcWDaVxpEnf
+34GZvBboxhxHWx2Jh0odXA2JAjcEEAEKACEWIQTJBqf3dNFMXM+JCQ4BUAsRijeB
+JAUCYhDI1AMFCngACgkQAVALEYo3gSQTDA/9Glf4QjQrxMSvzKn0ktqhBOXAKGqi
+xgvwNHJQuiL1hDOjsihaPl73LkCb0rA0mj7g0JUoliLJ7tpNfB3ScvCO9YHVKgHm
++Vdamh9jERhvaTTfhQp/1cH+lqU2ildbOJlxGyMVboVEAjc51BB7DYNQFSVRRm7t
+RNvnV8+0d8N/ykXmXaSvadvZ2Q2Hvwl0XkOK0fXQUzM0gurB0bQUvx/VVZwOx+3T
+ajI6VoTfAAoxmq3xAVd+nAv7cwXKXNMshGCy0zGJ7gm/dr7SxwkdZ/EBvnKOejBy
+MUctAv32onDfgNUZVZHP4/PhRhqzDsvhmOal4pGUHeqj2XN1TX/uNIxybW5gTvfi
+4gOS6Y9ORU/CcPvOG0phQHX2zhF07ti4aj21JMOJnmBXL73MxsoP7RdyNcj1XGMm
+N42F8CqND/xHXeyYB3FGz2vkWEp+lNcDJ5xwAfcEaJjsmX00u7suFqt6SGnKscFI
+z8Xwl0FtRYJ+mxs+BccmKl3+U18MIXKDoYZng3NSQ6p3f6ukk8Qj8SyFtOiBLULG
+LEy9vgP1HmpiSsJHVjSy7cLNt+kZfNY8Qq4xc+1BbuLrT1Z+e0aoQyf2E88Udngb
+vZ5dmFV3C9VqUTXq0lXAfnxqs906UtAZkdTm0W2aldwppDQV3VbW0pHDwoD0IrWw
+EizFNO04Ig20hfG4OARiEMhGEgorBgEEAZdVAQUBAQdAfBmtYkfxIJaGANRGiBPR
+IY1aiZSPKKSWBkdA+GiPSVQDAQgHiH4EGBYIACYWIQSs8o3AoujXZEazOi1UVBIW
+ajcYmwUCYhDIRgIbDAUJEswDAAAKCRBUVBIWajcYm3rBAQCZU/te6tjYg6E/3jqN
+6/6tucTJo0GCTXPepDfGNhUOrQEAwv/O69p+GEA/nmg98j750LP6jXgaikAzW0kc
+Azzc9AY=
+=AEH/
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/pgp/andrew.asc b/pgp/andrew.asc
new file mode 100644
index 0000000..065a202
--- /dev/null
+++ b/pgp/andrew.asc
@@ -0,0 +1,64 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBGIBdBUBEAC6AcI2wATRdGclZThPaYZnosAX/LU9drTwUQwE+rxpSxvCLV41
+G3OTwa4Ub65hQn2LUrCDLmxqAInEa3QYrbvbibV0QnAKmyETxnswEloLgBeHHQpW
+ufvK7rM2L2As2yk4tO+i1+H01Hfh/uHICZEQg8rNY25KJhIYbja31ywyas461k7f
+EnE1ORVONzSZUYCBpLiwE6OTA0kKuICVtheeLRV2BDT3NjF8zGjv3vLbvqDgblw0
+nReNBTBZ93II0PIpkeOzMKnQ0y+oTHE1HWAf944MIMf5UphJzirIXM84mJaWQtaT
+JEURviEEoP9TZQmwth+3RdzBRMnXE+L28YOkY09ioLXi1K1mKOr/bDr4rieLAS5F
+G/ClCbyxrVqGOjYxo2lsQ1KJdMrHBgdxnCS5XmFheg4SbeQVK7VvbbfZ9Plhn6DK
+uU2iDUTfnuhOdAX8Qc80YG8vTxtFGR3bd7NNx8poKBoqxT9X0kmvtktZ6UkM3Uwx
+4hjAHp5D9KWy9bHViBkxafmMQByaxKCOck30gCNC7iwOHvoRvPulHSLm6NV2DZng
+ozugHd51nwhqcoCaUPTZhwv6HcqZ89me40bB8G+3FLjpNOHXuLPg6GtHAre32dxd
+jIQ02RrzNN9g9vvpRrD3BvAE612s/g9PS48wCP7tnyMRDEcWRR67lG8RiwARAQAB
+tFdBbmRyZXcgWXUgKEFuZHJldyBZdSdzIEtleSAtIEFmdGVyIHRoZSBkZXN0cnVj
+dGlvbiBvZiBzaWduYXR1cmVzKSA8YW5kcmV3QGFuZHJld3l1Lm9yZz6JAk4EEwEI
+ADgWIQTJBqf3dNFMXM+JCQ4BUAsRijeBJAUCYgF0FQIbAwULCQgHAgYVCgkICwIE
+FgIDAQIeAQIXgAAKCRABUAsRijeBJCG+D/9BiS1igSY6FCFh+1YlP90OcNmXFQfV
+IJ6fu3PKegQj97FlhVt0Cp6UuVwok3uIEvq5Mgz5Po+DkuR3vQoX1O/QmiB8qUk2
+17jLrajPMV1FtVLVKOpKDPr1umvqfSc2hPgWRyaLoct0/Hkb3BoZJ0SYkwgADD5I
+ePXqS7VBn32amR+ntQfSErd8nst0Bl8wlX7n2+1AsNQes+daRSxw/KeCNKIWj5/5
+VAfCjflCIXEF6INQ6mfQkFfn+ManhUmMl2mr4vpM7SVKalZ2qIpKLLnliE7kyRHQ
+H6zQ5qYZfcmpWEfuxZCBr/H2CCjFMyoQufZ1im2ERpFrOhcQCABgPsIxl/+tlMFw
+AmGw2MMdLQzbQXKRC6/C5kOR/w+OEY1u5OADgxczSiNvJ2kwLElGQTw2po3aogGf
+xt9DO7/WbYcVqZBT+x2I6KHSYN2C8ElRDflYZZpu6lDxLBjzw25CDVqF2aCKZC8g
+qMiSWMG+mxWqztMzF65Lu5qtDy0M+dtosi33KyFjRaAtjG45KQ5dyE/j++HP+xSi
+hYxEqH0X3z2lMsR6pnIAQLXbI/zfQt6SAkV9SayUv618Pvuzh/3hXqn8K3cvoWTP
+WDk9Jo5ezkdBKKwmVhUMEe4XdQoEQUMNhaKVH9umrNyVNwlEBG47A10+iNMAXVy+
+1rQJ97vIjgFDt4kCNwQQAQgAIRYhBFi9eYEhhxtxhwwn2ZeLWJGtP1mGBQJiAXRu
+AwUKeAAKCRCXi1iRrT9ZhlrPD/97Q+IA5fNzhvy8HoW49zdsIDMsS4kqBxqxB9gc
+AijSnLNRHG8WUH+I7TKrwl1Vdx+lVq9ViVOZU9Ia/eCYPGRNeMAfUmFU5LbjlGdA
+r5XA52PmuRNEMzrhCB/V8NI/kVF5qekrViK4mK5y7Knm1TyXc+MZ14nSoy6ILbct
+xRArYv77bdrvjFHoYQT9UYxdkCwyr9T8imlDrsXQSsvfyXc7jfXg4gdLHWm1w2Mo
+v6HfU3gM8UcOJRgYQW3wXgDmEI/w2Luikgdqqs9utL4lt/hmAKTkknZB4YFaSv0s
+4lGchkPbOR9U98p9sYHsJTle/jFwqZN4Kp+xLEcu26Dg0SIFIbZbG/wMq4Hhstip
+9sWfTGn1aNItQbotXX69WK9OmP2cjBHhVgvF2PCR+KLHxsRheLJkI+c1AX46FyNL
+CbRkF0DQj/ZWRAcnZUNdU09IocwIc2y3RPx/VOKnqulojd6jv46nMJrZOw7ghl+3
+VTt6zwEMkUj2xA/7Wgp0WUit3T0tRAG9sVri06WeiWLpd8zcE1LDrBd3EdfKYdO8
+clVWKaoD+Lb65iVrIqtrxF3/uoytDxCLIOn4qwWeFiezDUUYoAQlmHxGAT+GQS3O
+j1hXiaudHytwIbRsbWH1+ZtNibS/noCo4y8xQyzrKNaGcPN8ebQ578tmltEeKdtJ
+g9RLPLkCDQRiAXQVARAA93U85T0KcDaadZVMSYVKzHYAwZjMC++/809oPqAf7QhG
+uFUG9qFmM2aGrI0IKnBkDAUSZ1ePcz4CJ+cMO6QiMQCWecFF/hu01ptV1je+yJAU
+fG1XddUtNvM9GykSPvTkVTeV+oKYJku7egMGHZ1vjDHO+Yh3BBxqKsh+50Kf9Ufn
+EcqigInxE1rV1dgxnl3maUS2j/iJRVQ/Piww6xO0IyhrVpWjJbzMu5uwovciB6aY
+e/w+ZXvu+61ENytLj0SGQYnE59YzGji5Pp8n5e0hLm7u/incMDIUly43W8kX2TTo
+hxojpzgbXkpNvqcbKO9sTYl3p345sROJBbikjcpKhVFlKOBFoNoXy7lHkce+mj3Y
+M0ijAKl61FEgPiAHueEdiRVy+XmFS7PpSzH2C/4YC1OeuG6tr11YzaVLnpBOQ/WA
+8a6KPAbv6ZPgs6jGjlGgUowRPRZzhTIn1Mes7wr+CbhBCBndwkUzywhM0dc88+st
+MMEirK1IieN/Y75K6Rt5A85S6jqxTigJXFaQJ2Z/9DKypKulHX9cgqC1ZSMz8DWY
+dcpezE1Up84o+ZWDr678Fze170+yfoAJcjIsv/K0hVlTy4zfHxSejCTGo7IywJs4
+HI/bB60rKFKUL8gSZK6wlADaLrc5XSFI+pkRn/lRd3xWish/jNJlgHgFEACi/CUA
+EQEAAYkCNgQYAQgAIBYhBMkGp/d00Uxcz4kJDgFQCxGKN4EkBQJiAXQVAhsMAAoJ
+EAFQCxGKN4EkFSwQALaKzPLQ8M68fe3XfaIbWhHQ5dinpsuCxdvzrWpdcaUgsoIp
+prlFLZbGwDyx/7R/TJOHzBo5qKRAnyUI+ZFowpHQpsPNyVS6/UVIXoM4HCUqwMWi
+xIZSb7tYuUgWU7e+Q6UfQrRPDvaPCRYu0lkYkWnrPWbkHI0xfbtbhT5/pe00beRg
+vbM9zX3eo0UiZnsdULBrvr3DikKskGRNEMfoRJ2M1gtpk0AlfkmDrCPPVR2I9gMe
+UHaiLt3hWAJJ56fCQlB1w+NpExFaSoadqhuavsuTb08PAWRQK//BMcG6Gg8EYVq7
+ogx+T2IhvZezbQzuWAe/vEXqa9I0f2QstfmHkEU2cxbvyIGS/ue4/wSUmBy/r6zo
+sZETQBhMiZrNe2Zo1rS/RHGx3zBfnrapYfXFkuwP1qG7G+aHWSEuo6oP+xMMlidQ
+dE6yPLAZl7kN3bh8rQy/RUugD29y3a4Ru2ERIOpOik/o6/VRiMkxucvuWeyfTQ7G
+n0jXZFzc8ImKCV2CGRNiPKXqtP6rSJYZIbp46xB39ZYvEuLBgruo4Vno947TFadV
+XJucflF1wqcIw2NkvE5/v75NcHw5DpYAYcU1aq3I/gIMC4c1jU/+vVtyG1ng7LoJ
+rD4SDYlgDgH9khfHvlYr5vgZ9x9pZw0NkQ689BuDHnFe6IXAF9aY+dVF1RX9
+=YzPk
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/plain.css b/plain.css
new file mode 100644
index 0000000..35c8630
--- /dev/null
+++ b/plain.css
@@ -0,0 +1,11 @@
+body {
+ background-color: #F8F4E7;
+ color: #552800;
+}
+
+a.link {color: #0000A0;}
+a.visited {color: #A000A0;}
+a.active {color: #00A000;}
+
+#nav {list-style-type: none; padding: 0; margin: 0;}
+#nav li {display: inline; margin-right: 1em;}
diff --git a/school/cardiology.html b/school/cardiology.html
new file mode 100644
index 0000000..a579cf2
--- /dev/null
+++ b/school/cardiology.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+ <link rel="stylesheet" href="/plain.css" />
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+ <title>Random Cardiology</title>
+ <style>
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+ ul.task-list{list-style: none;}
+ </style>
+</head>
+<body>
+<p>To the extend that I understand, this is basic cardiology and electrocardiogram interpretation. Please note that, as I am not a cardiologist, what I say here may be, at times, inaccurate, though I strive to do otherwise. <strong>Nothing in here shall be considered clinical advice.</strong> Figures without a license caption are public domain.</p>
+<p>I have no idea on how much you know in cardiology, so please forgive me if I underestimate you. And, to apologize in advance, I’m writing this after I finished some homework in Study Hall, so my brain might be a bit messed up. If you notice any errors, please tell me. Thanks!</p>
+<p>Firstly, here is an awesome playlist by Eric Strong, on his YouTube channel Strong Medicine.<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> I’m too lazy to use bibliography management for a short document so please bare with me, but this playlist talks about the basics and advanced stuff of ECG interpretation, and was, and still is, a great help to me while investigating this topic.</p>
+<p>In order to understand anything about the heart (we’ll focus on the human heart specifically), we need to look at the general structure of the heart. Please refer to the figure below. (Using the letter document-class so I can’t use real figures here.)</p>
+<p><img src="general-structure-of-the-heart.png" style="width:70.0%" alt="image" /></p>
+<p>This is the frontal plane of the heart. The superior has the two artias/atriums, depending on how you want to say them, and the inferior has the ventricles.</p>
+<p>Now you might be wondering why the heart beats. I cannot provide images on this for legal reasons, but I guess you could look them up yourself (something like “cardiac conduction system” on an image search). The middle of the right atria has something called the “sinoatrial node”, also called the “sinus node”, or simply the “sinus”. It’s in a relative superior location in the heart and acts as the heart’s primary pacemaker.</p>
+<p>At the beginning a normal heartbeat, the sinus node fires, which propagates through and depolarizes the atria. Under normal circumstances (i. e. when the patient is having something other than Pulseless Electrical Activity or cardiomyopathies), depolarization will cause the muscles to contract, and thus, pump blood. The potential travels through the atria and reaches the atrioventricular node, which delays the conduction by a little bit. Then, the wavefront travels through the Bundle of His and to the Purkinje fibers, from where, it depolarizes the myocytes (basically cardiac muscles) of the ventricles and causes the ventricles to contract. Then, everything repolarizes (basically the sodium-potassium pump eating more ATP) and they wait for the next depolarization.</p>
+<p>The normal rhythm of the human heart is called the “Normal Sinus Rhythm”. Look up the electrocardiogram, (and if you see multiple leads, mainly pay attention to lead II, I’ll explain why when we get to leads, nevermind for now) there’s a small bump (the “P wave”) indicating atrial depolarization, then there’s two to three spikes indicating ventricular depolarization (the “QRS complex”) consisting of a Q wave, R wave and S wave, in which the Q wave may be invisible in some patients and some leads. The R wave is usually the tallest one. And at last, we have the T wave, which indicates ventricular repolarization. You might ask where atrial repolarization is—they’re way to small to see on surface ECG, but may be detectable in an surgical/whatever electrophysiology study.</p>
+<p>Note that lead II’s views a heart from a right-superior to left-inferior direction on a frontal plane. An electrical activity front that generally goes in the direction of a lead produces a positive bump on the lead, one that goes generally opposite from a lead produces a negative bump, and a perpendicular one produces nothing. Note that the heart is a 3D structure, and the “on a frontal plane” part that I mentioned just now is just so we can recognize the direction of the lead properly. The actual lead records in a line in 3D space, not a line in a plane, so adjust what you think of when hearing “perpendicular” and stuff.</p>
+<ul>
+<li><p>The depolarization of the atria, which goes in a similar direction to the view of lead II, produces a positive little bump on lead II. The first part of the bump is generated by the right atria, and the second part is generated by the left atria. (There is no distinction on a normal ECG, but this will be apparent especially when dealing with atrial enlargement.)</p></li>
+<li><p>The depolarization of the ventricles, the larger part of the heart, generates a QRS complex instead of simply one R wave because the ventricules first conduct inferiorly but then, through the Purkenje fibers, the wavefront travels superiorly.</p></li>
+<li><p>The repolarization of the ventricles generate a wave, slightly larger than the P wave, indicating ventricular repolarization. The times of repolarization overlap with each other a lot because repolarization is slow, which (I remember?) is why we can’t see multiple T waves.</p></li>
+</ul>
+<p>The relations between the waves, namely the segments and intervals, give us information in addition to the morphology of the waves themselves. Here are the most important ones.</p>
+<dl>
+<dt>ST segment</dt>
+<dd><p>The ST segment is the segment from the end of the the QRS complex to the start of the T wave. It is way too complicated to explain here, but basically, any sort of ischemia such as myocardinal infarctions or angina would likely, but not always, result in an elevated or depressed ST segment.</p>
+</dd>
+<dt>QT interval</dt>
+<dd><p>The QR interval is the time from the start of the QRS complex to the end of the T wave. A prolonged QT interval, with a QTc (QT interval corrected for heart rate, explained later) of more than around 450 ms, is abnormal, and may be at times considered long-QT syndrome, which is clinically related to a deadly tachyarrhythmia, Tosades de Points.</p>
+</dd>
+<dt>RR interval</dt>
+<dd><p>Literally the time between two adjacent R waves, indicating ventricular heart rate, which in normal circumstances is just the heart rate.</p>
+</dd>
+</dl>
+<p>Look up “the cardiac action potential” and “the pacemaker action potential”. These should be fairly similar to the membrane potential diagrams for neurons, though repolarization looks slightly differnet. (That’s because even though the whole time we have outgoing potassium ions, but during the middle part where the membrane potential is decreasing slower, we have an influx of calcium ions (positive of course) and thus it cancels out some, but not all, of the voltage change that the outgoing potassium ions create.) If you compare the diagram of a normal cardiomyocyte to that of a cardiac pacemaker, you’ll see that the pacemaker cells don’t have a flat resting membrane potential—they upslope until they trigger the voltage-gated sodium channel (they upslope because there are open, but relative slow, sodium and potassium channels).</p>
+<p>This weird pacemaker electrical activity is not only active in the sinus node, where we’d expect such activity, but they are also present in other areas of the heart. In case the sinus node fails, one or many of the “latent” pacemakers present across the heart will take over the heart’s rhythm, usually at a slower rate than the sinus node. These latent pacemakers have a gentler membrane potential upslope at their resting potential and thus spontaneously reach their threshold slower—normally during that process, it would have been already in the refractory period due to being polarized by the sinus node. But now as nothing is depolarizing it, it depolarizes by itself, thus causing the heart’s rhythm to be a “latent pacemaker rhythm” or “escape rhythm”. I’m sure you can figure out, at this point, why usually the fastest of the latent pacemakers take over when the sinus node fails.</p>
+<p>(should list latent pacemakers here)</p>
+<p>I guess it’s time to introduce abnormal rhythms! Look them up accordingly beause I can’t provide ECGs here. Note that these are abnormal <em>rhythms</em>. Many problems detected through ECGs are actually Normal Sinus Rhythm but with subtle (or significant if you have good eyesight) changes in the waveform. We’ll discuss the former here.</p>
+<dl>
+<dt>Asystole</dt>
+<dd><p>There is no electrical activity in the patient’s heart. It’s often called “flatline”, though “asystole” describes the activity of the heart while “flatline” describes the waveform on the ECG.</p>
+</dd>
+<dt>Ventricular Fibrillation</dt>
+<dd><p>This “rhythm” is a big mess. The venticles’ electrical activity is completely messed up.</p>
+</dd>
+<dt>Ventricular Tachycardia</dt>
+<dd><p>There’s (likely) an ectopic or a reentrant circuit in the ventricles, which fire rapidly, resulting in a wide QRS complex.</p>
+</dd>
+<dt>(Accelerated) Idioventricular Rhythm</dt>
+<dd><p>Ventricular Tachycardia, but slower. Although this is also a ventricular rhythm, it’s often due to a faulty pacemaker system, as the ventricles are one of the last latent pacemakers. Thus, rather than being an ectopic firing in the ventricles, it is likely a failed sinus node, conduction failure, or other issues that cause latent pacemakers to take over the heart.</p>
+</dd>
+<dt>(Accelerated) Junctional Rhythm</dt>
+<dd><p>The atrioventricular node (or tissue around it), instead of the sinoatrial node, is pacemaking the heart. The P waves may be hidden within the QRS complexes, as the impulse from the AV node is depolarizes the atria through retrograde conduction. The P waves are additionally inverted.</p>
+</dd>
+<dt>Sinus Arrhythmia</dt>
+<dd><p>Normal Sinus Rhythm, except that the RR intervals are not constant. A variety of reasons may be responsible; the most common of which is “Respitory Sinus Arrhythmia”, i. e. normal changes in heart rate as a person respirates. (Faster rhythm while inhaling and vice versa.) More serious underlying problems may be responsible such as Sick Sinus Syndrome.</p>
+</dd>
+<dt>Supraventricular Tachycardia</dt>
+<dd><p>Including two common varients (AVRT and AVNRT), supraventricular tachycardia is caused by reentry somewhere superior to the ventricles but inferior to the atria or by ectopics in the region. Supraventricular Tachycardia, in a broader sense, refers to any tachycardia that originates outside the ventricles, including Sinus Tachycardia. But clinically it usually doesn’t include Sinus, AFib, AFlutter and ATach.</p>
+</dd>
+<dt>Atrial Fibrillation</dt>
+<dd><p>The atria has completely messed up electrical activity. The ventricles will respond irregularly, sometimes rapidly, in which case it’s called Rapid Ventricular Response.</p>
+</dd>
+<dt>Atrial Flutter</dt>
+<dd><p>The atria flutters constantly and rapidly, usually around 300 beats per minute, often varying depending on the size of the atria. Ventricular response is regular or regularly irregular (i. e. 2:1 then 3:1 then 3:1, loop etc. conduction).</p>
+</dd>
+<dt>Atrial Tachycardia</dt>
+<dd><p>Basically atrial flutter but slightly slower and 1:1 conduction. P waves must be somehow discernable to ATach this on ECG, otherwise we can only consider the ECG to be SVT. But nevertheless, if the atria is rapidly firing causing the tachycardia, it’s ATach.</p>
+</dd>
+<dt><span class="math inline"><strong>1</strong><sup><strong>∘</strong></sup></span> Heart Block</dt>
+<dd>
+</dd>
+<dt><span class="math inline"><strong>2</strong><sup><strong>∘</strong></sup></span> Type 1 Heart Block</dt>
+<dd>
+</dd>
+<dt><span class="math inline"><strong>2</strong><sup><strong>∘</strong></sup></span> Type 2 Heart Block</dt>
+<dd>
+</dd>
+<dt><span class="math inline"><strong>3</strong><sup><strong>∘</strong></sup></span> Heart Block</dt>
+<dd>
+</dd>
+</dl>
+<p>These are the common abnormal rhythms that I can think of for now. Electrophysiology is complicated, many overlay rhythms or other weird stuff is possible. I might elaborate on rarer rhythms later but now I’ll turn the focus to “changes to the sinus rhythm”. Fun stuff is here like ischemia (including angina, myocardinal infarctions, etc.). Things here are much more complicated than basic arrhythmias so I’m using, well, paragraphs of text instead of description lists. I’ll try to be less boring than a standard cardiology textbook but I might have a hard time doing so. Also, when I say “Case <span class="math inline"><em>n</em></span>” or simply “(<span class="math inline"><em>n</em></span>)” where <span class="math inline"><em>n</em> ∈ ℤ<sup>+</sup></span>, please look up the case by its case ID on ECG Wave Maven<a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a>. In the below you need to start looking for pathologies in all leads. I’ll explain what the leads do in a bit—don’t worry too much if you don’t get “anterior lead” or something like that for now, come back here once we get to it for a bit of a review.</p>
+<p><strong>Myocardinal Infarction</strong> (e. g. 203, there are many possible locations and types of MI), commonly known as a “heart attack”, is when parts of the myocardium is going to die or has died due to ischemia (lack of bloodflow), usually caused by blood clots along with CAD. There are multiple types: Some have prominent/pathologic Q waves, some have ST depression, some have ST elevation, some have absurd T waves, some have a combination of those and others may have none (in which case ECG can’t help much).</p>
+<p>Note to self: Dilated cardiomyopathy is 407.</p>
+<p>Now you might be wondering what’s with the leads. Basically, different leads have different viewing angles/perspectives of the heart’s electrical activity.</p>
+<p>We need to first take a look at the electrodes actually placed on the patient. For the limb leads, the right leg is ground, so we won’t care much about that. The left hand, right hand, and left leg have working electrodes recording our electrical activity. Look up “Einthoven’s Triangle”—I often also wonder why it’s labeled as a perfect <span class="math inline">60<sup>∘</sup></span> while human placement isn’t often that precise—turns out that Einthoven’s Triangle is actually pretty precise with its angles at the cardiac electrical level. Seems weird to me, I don’t get that part yet. Anyways, lead I is right-to-left (all these directions are from the patient’s perspective), lead II is from superior-right to inferior-left, and lead III is from superior-left to inferior-right. As explained before, an electrical front that goes with the direction of a lead produces a positive waveform and vice versa. If we take the center of the triangle, we have the “virtual terminal”. It’s basically the voltage average between the three electrodes. The central terminal to the verteces (I can’t spell) of the triangle create the aVR, aVL and aVF leads respectively for that to the right, left and left leg. It’s best to look it up to get a visual representation of the angles.</p>
+<p>These are the three normal limb leads, three “augmented limb leads”, six in total. The other six leads on a normal 12-lead ECG, i. e. V1–V6</p>
+<p>Yes, there are other electrical things especially the nervous system in the middle of all of this. But they seem to have a much smaller voltage than cardiac electrical activities, insignificant on the human surface, so we could usually safety ignore that.</p>
+<p>Obviously still an unfinished document. Tired, see you later.</p>
+<p>Sincerely,<br />
+Andrew Yu</p>
+<section class="footnotes" role="doc-endnotes">
+<hr />
+<ol>
+<li id="fn1" role="doc-endnote"><p><code>https://iteroni.com/playlist?list=PLYojB5NEEakXhL1WoDvNPm1cG57pjE0d7</code><a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn2" role="doc-endnote"><p><code>https://ecg.bidmc.harvard.edu/</code><a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+</ol>
+</section>
+</body>
+</html>
diff --git a/school/constitution.pdf b/school/constitution.pdf
new file mode 100644
index 0000000..2b7792d
--- /dev/null
+++ b/school/constitution.pdf
Binary files differ
diff --git a/school/contact.html b/school/contact.html
new file mode 100644
index 0000000..c9195d5
--- /dev/null
+++ b/school/contact.html
@@ -0,0 +1,25 @@
+
+<!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>Contact Andrew Yu (School)</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1>Contact Andrew Yu (School)</h1>
+ <p>
+ The following ways to contact me are recommended.
+ </p>
+ <ul>
+ <li>Talk to me in real life. For those at the Songjiang Campus: I'm often in the library at noon time, before tutor time that is. I'm often on the tracks during MW3 and at Neuroscience (N201) during TT3. I'm usually in E104 from 21:00.</li>
+ <li>Electronic mail to <code>s22537@ykpaoschool.cn</code>.</li>
+ <li>Paper mail to E104.</li>
+ </ul>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/school/index.html b/school/index.html
new file mode 100644
index 0000000..338471b
--- /dev/null
+++ b/school/index.html
@@ -0,0 +1,32 @@
+<!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>Andrew Yu's School Stuff</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body>
+ <h1>Andrew Yu's School Stuff</h1>
+ <p>Hi. This page is only for those at my school. Some of these are just my reminders.</p>
+ <hr />
+ <p>
+ <a href="stugov-proposals.html">My Student Government Proposals</a>
+ </p>
+ <hr />
+ <p style="background-color: yellow;">
+ I understand that gossip is a natural part of life at high school, but please don't go too far with that. Especially for gossip that's unevidenced/unevidented and ``let's just say that and look at people's reactions'': honestly these are meaningless. Remember the ``no-harm principle''? <em>Excessive gossip twists normal friendships and make them awkward, distorted, and unnatural.</em> In some sense it has became, hopefully unintentionally, a social way to discourage friendship, communication and, I guess, compassion between individuals of different genders. Conclusively: Excessive gossip should be avoided.
+ </p>
+ <hr />
+ <ul>
+ <li>Student government election upcoming at the end of September. Sign up before September 15th.</li>
+ <li><a href="cardiology.html">Cardiology introduction</a>, not constantly updated. Poke me if you want an updated version.</li>
+ <li>Three detentions of the same kind results in a principal's detention. Missing any detention results in a principal's detention.</li>
+ <li>Math homework, at least for Ms. Lisa Liu's class, is extremely easy. I wouldn't expect anything harder for other classes in Year 9. It's literally just vector scaling, vector arithmetic (not even real matrix multiplication), and what... basic linear transformations (i.e. enlargement, stretching, rotation, reflection), translations, and for those who choose to do more than necessary homework (who of course don't have trouble with required homework), basic algebra questions that gives full marks for simply raising an example for a hypothesis instead of proving the hypothesis? (Ask Me, s22537 Andrew, for a copy.)<br />Yes, each packet is like 15-pages long, but it's literally just a minute per page. It's really not much. Heh, you can ask me for some harder ones (a.k.a. Zhongkao Math). If you can't do that quickly, well that's normal. If your homework is differnt, tell me. If you're really having a hard time with math, I'm happy to help (and you should also ask your teacher). I'm usually at the library during lunchtime.<br />Oh the proof thing is for the optional investigation/whatever-that-is-actually-called packet, which you should ask your teacher for. Try to prove <span><i>D</i>(<i>x</i>) = <i>D</i>(<i>x</i> + 9<sup><i>n</i></sup>)∀(<i>x</i>, <i>n</i>) ∈ ℤ<sup>+</sup></span>, rather than just giving two examples.</li>
+ </ul>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/school/stugov-proposals.html b/school/stugov-proposals.html
new file mode 100644
index 0000000..bf8e722
--- /dev/null
+++ b/school/stugov-proposals.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <title>Andrew Yu's Student Government Proposals</title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ <style>.i {width: 30%; margin: auto; text-align: center;}</style>
+ </head>
+ <body class="indent">
+ <h1>Andrew Yu's Student Government Proposals</h1>
+ <p>Hey there! The following are my proposals for the school. I did say ``Student Government Proposals'' in the headings and title, though these suggestions are not specific to Student Government. For example, it would be nice for the school administration to take care of some of these.</p>
+ <p><em>Disclaimer: I <strong>am</strong> running for Student Government this year. I don't see this as a conflict of interest against me giving honest suggestions (as it really shouldn't be), but just in case you're wondering, I've got that out front.</em></p>
+ <p>All images presented in <code>&lt;img /&gt;</code> tags on this page are, to the extend that I could identify, public domain. In case you identify an image as copyrighted, please <a href="/school/contact.html">contact me</a>.</p>
+ <h2>Drinking Water Fountains</h2>
+ <p>
+ In addition to or in replacement for parts of the current drinking water bottle refill system, I propose adding drinking water fountains. As presented in Figure&nbsp;1, a drinking water fountain allows its user to push a button (or otherwise trigger the fountain's water flow) for direct drinking or refilling a water bottle.
+ </p>
+ <p>
+ Water fountains are superior to the existing bottle-filler system because in occasions where it is inconvenient to carry and/or use a water bottle (such as not wanting to carry extra stuff while doing sports), it allows for a quick sip of water. Water fountains, as mentioned above, can also fill water bottles, though they are slightly less good at doing so compared with traditional refill systems (which I thus propose should be kept to some extent).
+ </p>
+ <figure>
+ <img src="https://images.pexels.com/photos/159756/water-fountain-drinking-school-159756.jpeg" alt="A Drinking Water Fountain" class="i" />
+ <figcaption>Figure&nbsp;1: A Drinking Water Fountain</figcaption>
+ </figure>
+ <h2>Clearer Policies</h2>
+ <p>
+ I may not have full information on this as I am a new student. However, to me it seems that the school doesn't have official definitions of what constitutes violations of policy, what results in detentions and/or other punishments (if that's the right word) and a general process for resolving disputed cases.
+ </p>
+ <p>
+ While I understand that this is a <em>school</em> and not a <em>country</em> that needs a rigorous legal system, the uncertainty involved is somewhat unsettling. As far as I know we generally solve disputes in terms of ``common sense'' and variations and interpretations of our School Values (Compassion, Integrity and Balance) and links to various documents scattered everywhere. It will be of huge benefit to both students in understanding what is allowed and what is prohibited and to teachers and other staff when handling disputes.
+ </p>
+ <p>
+ This is definitely not an easy proposal (though the good thing is, unlike the previous proposal, there's no money involved for installing extra hardware)&mdash;writing rigorous legal documents (or documents of similar nature) is hard. I will, regardless of the results of the election this year, actively help in asking school officials and other faculty and staff about current regulations, integrate them into a hopefully comprehensive document, and review and revise them with members of the Student Government, faculty and staff, and the student body.
+ </p>
+ <p>
+ This is a relatively new idea. I'm working on <a href="constitution.pdf">a revised version of the Student Government Constitution</a>, but this is obviously not enough&mdash;I hope to cover all policies and regulations, not only these directly related to Student Government itself and the elections thereof.
+ </p>
+ <h2>Relaxed Student Email Rules</h2>
+ <p>
+ I (partially) understand the school's concerns like abuse of student emails and students getting scammed. However, it may be plausible to list the costs and benefits of restricting outside email.
+ </p>
+ <p>
+ Problems with the email restrictions: (1) Students cannot send or carbon-copy messages to their parents or other people for school-related messages. If we're doing something important, like in my case when I wanted to change a subject for my studies in Y9 and Y10, I had to send an email to Mr.&nbsp;Ogram and Mr.&nbsp;Funnel with my school email, and being unable to carbon-copy it to my parents, I had to forward that to my parents with my personal email. While this might not look like a big deal it is pretty annoying and isn't how email is intended to be used. (2) Especially in outside-of-just-academics activities like CCAs and clubs, in many times there would be people from outside our school involved. (The simple solution of ``hey just join our school'' doesn't work.) In many cases using our school email is better than using our personal emails for the matter because it's inherently a school-club-related thing. Again, not too big of a deal, but would be nice to be able to do so.
+ </p>
+ <p>I <em>do</em> believe that students should not use their school emails for signing up to online services.</p>
+ <p>I'm not really sure about this one, I don't very strongly feel the need for change, though it'd be nice to have if we address other concerns like spam, abuse, etc.</p>
+ <div id="footer">
+ <hr />
+ <p><a href="/school/">Andrew Yu's School Stuff</a><br />
+ <a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>
diff --git a/sitemap.txt b/sitemap.txt
new file mode 100644
index 0000000..1d6f4b4
--- /dev/null
+++ b/sitemap.txt
@@ -0,0 +1,21 @@
+https://www.andrewyu.org/hub.html
+https://www.andrewyu.org/life.html
+https://www.andrewyu.org/article/democracy-fundamentals.html
+https://www.andrewyu.org/article/free-software-education-in-china-and-covid-19.html
+https://www.andrewyu.org/article/democracy-us.html
+https://www.andrewyu.org/article/abortion.html
+https://www.andrewyu.org/article/pragmatic-use-of-nonfree-software.html
+https://www.andrewyu.org/article/index.html
+https://www.andrewyu.org/article/copyright.html
+https://www.andrewyu.org/buffer.html
+https://www.andrewyu.org/template.html
+https://www.andrewyu.org/note/their.html
+https://www.andrewyu.org/note/social-media.html
+https://www.andrewyu.org/note/ask.html
+https://www.andrewyu.org/note/wechat.html
+https://www.andrewyu.org/school/cardiology.html
+https://www.andrewyu.org/school/index.html
+https://www.andrewyu.org/contact.html
+https://www.andrewyu.org/404.html
+https://www.andrewyu.org/index.html
+https://www.andrewyu.org/other-articles/index.html
diff --git a/template.html b/template.html
new file mode 100644
index 0000000..d0dc527
--- /dev/null
+++ b/template.html
@@ -0,0 +1,16 @@
+<!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><++></title>
+ <link rel="stylesheet" href="/plain.css" />
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <meta charset="utf-8" />
+ </head>
+ <body class="indent">
+ <h1><++></h1>
+ <div id="footer">
+ <hr />
+ <p><a href="/">Andrew Yu's Website</a></p>
+ </div>
+ </body>
+</html>