summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2022-10-28 17:36:28 -0700
committerKai Stevenson <kai@kaistevenson.com>2022-10-28 17:36:28 -0700
commit09feefc9f04b38420a198b6f69895b242832ad30 (patch)
treef4901d6c67ecfed074ca5a0028a9a7964ac7a70a /src
parent04cd72c5b46a16b7b82d581f22fe74d2f1e4916e (diff)
changed the file structure
Diffstat (limited to 'src')
-rw-r--r--src/about.php42
-rw-r--r--src/error_404.php9
-rw-r--r--src/etc/index.php9
-rw-r--r--src/footer.php7
-rw-r--r--src/head.php12
-rw-r--r--src/header.php9
-rw-r--r--src/images/favicon.icobin0 -> 4286 bytes
-rw-r--r--src/images/roly-saynotoweb3.gifbin0 -> 483 bytes
-rw-r--r--src/index.php34
-rw-r--r--src/music/index.php31
-rw-r--r--src/photography/index.php21
-rw-r--r--src/programming/index.php9
-rw-r--r--src/style.css115
-rw-r--r--src/writing/cryptography.php45
-rw-r--r--src/writing/index.php19
-rw-r--r--src/writing/moralrealism.php33
16 files changed, 395 insertions, 0 deletions
diff --git a/src/about.php b/src/about.php
new file mode 100644
index 0000000..938598a
--- /dev/null
+++ b/src/about.php
@@ -0,0 +1,42 @@
+<?php
+$title = "About";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+This site is hosted on a vultr VPS. It serves content through an apache webserver, and has a pretty simple backend.
+I use PHP for templating, CSS for styling, and no JavaScript at all. The server supports HTTPS using Let's Encrypt.
+If you're curious about anything here, you can email me at kai@kaistevenson.com.
+</p>
+<p>This site is a member of the <a href="https://nullring.xyz">Null Webring</a>.</p>
+<div style="width: 100%; text-align: center;">
+ <pre class="ascii" style="display: inline-block; text-align: left;">
+ ,▄▓▄,
+ ╓g▄▓▓▓▓▓▓▓▓▓▓▓▓▄▄╖ ,▓▓▓▓▓▓▓,
+ g▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄, ╔▓▓▓▓▓▓▓▓▓"
+ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩╙▓▓▓▓▓▓▓▀
+ ,▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ▀▓▓▀
+ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` ▐
+ ╒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ▄▓▓▓g
+ ╔▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ▄▓▓▓▓▓▓▄
+ ╒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ,▓▓▓▓▓▓▓▓▓▓E
+ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ╓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ]▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` g▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
+ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ,▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
+ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ╓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓C
+ ▐▓▓▓▓▓▓▓▓▓▓▓` g▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ▓▓▓▓▓▓▓▓▀ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ▀▓▓▓▓▀ ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
+ ╚▓╩ ,▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀
+ ▄▓╖ ╓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀
+ ,▄▓▓▓▓▓w g▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀
+ ,▓▓▓▓▓▓▓▓▓╩"▀▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀╙
+ ╚▓▓▓▓▓▓▓▓" ╙▀▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀"
+ ▀▓▓▓▀ ╙"╙╙╙╙"╙
+ ╙
+ </pre>
+</div>
+<h3 class="nav"><a>[Last site]</a> | <a href="https://www.nullring.xyz">[Nullring]</a> | <a>[Next site]</a></h3>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>
diff --git a/src/error_404.php b/src/error_404.php
new file mode 100644
index 0000000..2893641
--- /dev/null
+++ b/src/error_404.php
@@ -0,0 +1,9 @@
+<?php
+$title = "Page not found [404]";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ The page you tried to access doesn't exist. I probably just haven't made it yet.
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?> \ No newline at end of file
diff --git a/src/etc/index.php b/src/etc/index.php
new file mode 100644
index 0000000..6f2a6d0
--- /dev/null
+++ b/src/etc/index.php
@@ -0,0 +1,9 @@
+<?php
+$title = "Et cetera";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ There's nothing here.
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?> \ No newline at end of file
diff --git a/src/footer.php b/src/footer.php
new file mode 100644
index 0000000..ba7857f
--- /dev/null
+++ b/src/footer.php
@@ -0,0 +1,7 @@
+ <br>
+ <br>
+ <br>
+ <div class="footer">
+ </div>
+ </div>
+</body>
diff --git a/src/head.php b/src/head.php
new file mode 100644
index 0000000..b6c2d42
--- /dev/null
+++ b/src/head.php
@@ -0,0 +1,12 @@
+<?php
+error_reporting(E_ALL);
+ini_set('display_errors', 1);
+?>
+
+<head>
+ <link rel="stylesheet" href="/style.css">
+ <link rel="icon" type="image/x-icon" href="/images/favicon.ico">
+</head>
+
+<body>
+ <div class="contentpane"> \ No newline at end of file
diff --git a/src/header.php b/src/header.php
new file mode 100644
index 0000000..7d8614b
--- /dev/null
+++ b/src/header.php
@@ -0,0 +1,9 @@
+<h1><?php echo $title; ?></h1>
+
+<?php if (getcwd() == $_SERVER["DOCUMENT_ROOT"]) { ?>
+ <h3 class="nav"><a href="/">[Home]</a> | <a href="/about.php">[About]</a></h3>
+<?php } else if (basename($_SERVER['PHP_SELF']) == "index.php") { ?>
+ <h3 class="nav"><a href="/">[Home]</a> | <a href="/about.php">[About]</a> | <a href="..">[Back]</a></h3>
+<?php } else { ?>
+ <h3 class="nav"><a href="/">[Home]</a> | <a href="/about.php">[About]</a> | <a href=".">[Back]</a></h3>
+<?php } ?>
diff --git a/src/images/favicon.ico b/src/images/favicon.ico
new file mode 100644
index 0000000..d858211
--- /dev/null
+++ b/src/images/favicon.ico
Binary files differ
diff --git a/src/images/roly-saynotoweb3.gif b/src/images/roly-saynotoweb3.gif
new file mode 100644
index 0000000..4f5a2f1
--- /dev/null
+++ b/src/images/roly-saynotoweb3.gif
Binary files differ
diff --git a/src/index.php b/src/index.php
new file mode 100644
index 0000000..88a61f8
--- /dev/null
+++ b/src/index.php
@@ -0,0 +1,34 @@
+<?php
+$title = "Hello, I'm Kai!";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ This is my Web site for cool things, like my programming, music, writing, photography, and anything else I
+ think of.
+ I'm a student at The University of Victoria in Canada, though I try to find time to do things other than schoolwork. I also have another
+ website you can visit at
+ kaistevenson.com, if you don't like this one and want to hurt my feelings. You can email me at kai@kaistevenson.com.
+</p>
+<ul>
+ <li>
+ <h3><a href="writing/">~/doc/</a> /* My writing and notes */</h3>
+ </li>
+ <li>
+ <h3><a href="programming/">~/src/</a> /* My programming */</h3>
+ </li>
+ <li>
+ <h3><a href="music/">~/music/</a> /* My music */</h3>
+ </li>
+ <li>
+ <h3><a href="photography/">~/pic/</a> /* My photography */</h3>
+ </li>
+ <li>
+ <h3><a href="etc/">~/misc/</a> /* Other stuff */</h3>
+ </li>
+</ul>
+<p>
+ This site is part of the Null Webring. Take a look at the <a href="about.php/">about page</a> if you want to learn more about that. If you just want
+ to explore the ring, you can take a look at the <a href="https://nullring.xyz">homepage</a>.
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>
diff --git a/src/music/index.php b/src/music/index.php
new file mode 100644
index 0000000..2402262
--- /dev/null
+++ b/src/music/index.php
@@ -0,0 +1,31 @@
+<?php
+$title = "Music";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ The following links lead to music I've recorded. Anything marked with # is improv or my own
+ composition. Anything else isn't my music, but is my playing. These recordings originate from
+ one of two pianos: my 1903 Bechstein parlor grand or my Casio PX-S3000 digital piano.
+ My digital piano can record MIDI, so I use a DAW to customize and assign a piano sound afterwards.
+ However, I don't edit the MIDI data at all. It's all exactly as-played.
+ For my acoustic piano, I either use my phone's voice memo app or my MXL990 microphone,
+ depending on how lazy I feel.
+ Any editing is done in Audacity or Ableton, though most of my recordings are posted raw.
+</p>
+<p>
+ I've only played music since 2021, so I am very much an amateur! I enjoy some of my music
+ and hope you will too, but I don't want to imply that I am in any way an expert.
+</p>
+<ul>
+ <li>
+ <h3><a href="angelfish.wav">Angelfish</a></h3>
+ </li>
+ <li>
+ <h3><a href="101622.wav">10/16/22 - #</a></h3>
+ </li>
+ <li>
+ <h3><a href="101722.mp3">10/17/22 - #</a></h3>
+ </li>
+</ul>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>
diff --git a/src/photography/index.php b/src/photography/index.php
new file mode 100644
index 0000000..49141b0
--- /dev/null
+++ b/src/photography/index.php
@@ -0,0 +1,21 @@
+<?php
+$title = "Photography";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ My photos come from either my iPhone 13 Pro, which takes pretty bad pictures, or my Canon 6D MK II, which is a full-frame DSLR.
+ For my DSLR, I almost always use my 50mm f/1.8 prime lens. Rarely, I instead use a 70-300mm telephoto zoom. Some of my photos will
+ have metadata attached if you're curious about the settings I use. In good light, I shoot from around 1/2000, 100iso, f/1.8, ranging to
+ 1/500, 400iso, f/6. In dark conditions, I shoot at around 1/200, 2000iso, f/1.8. Of course, a wide open aperture induces some significant
+ gaussian blurring, so that is a stylistic element that I sometimes want and sometimes don't. It does mean that I can minimize grain and motion blur.
+ The other thing that comes up is focal plane issues. Sometimes the plane of my subject does not exactly match the plane of focus, in which case
+ I will be forced to step down the aperture. I try not to go below f/8 if I can help it, because the image becomes less clear.
+ You may notice a vignette in some of pictures. This is usually not intentional--my lens just tends to do that. I'm too lazy to fix it in post.
+ On the note of post-processing, I don't do it much. Sometimes I retouch shadows and highlights, but I try to stay away from colour, with the notable
+ exception of my B&W work.
+</p>
+<p>
+ There're no photos here because I haven't figured out how I want to handle serving images.
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>
diff --git a/src/programming/index.php b/src/programming/index.php
new file mode 100644
index 0000000..88d4f6c
--- /dev/null
+++ b/src/programming/index.php
@@ -0,0 +1,9 @@
+<?php
+$title = "Programming";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ There's nothing here, yet, but you can see some of my code at github.com/kaistevenson
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?> \ No newline at end of file
diff --git a/src/style.css b/src/style.css
new file mode 100644
index 0000000..d32a897
--- /dev/null
+++ b/src/style.css
@@ -0,0 +1,115 @@
+@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600&display=swap');
+
+:root {
+ /* COLOURSCHEME 1, BLUE */
+ /*
+ --background: #121d28;
+ --text: #bbd7f2;
+ --header: #bbd7f2;
+ --secondary: #76baf9;
+ --highlight: #7ceea7;
+ */
+ /* COLOURSCHEME 2, ORANGE */
+ --background: #141210;
+ --header: #fdb04d;
+ --text: #faca8b;
+ --secondary: #ee8041;
+ --highlight: #ee4c41;
+}
+
+body {
+ margin: 0px;
+ background-color: var(--background);
+}
+
+@media (max-aspect-ratio: 6/7) {
+ .contentpane {
+ margin: auto;
+ width: 100%;
+ min-height: 100%;
+ }
+}
+
+@media (min-aspect-ratio: 7/7) {
+ .contentpane {
+ margin: auto;
+ width: 60%;
+ min-height: 100%;
+ }
+}
+
+h1 {
+ text-align: center;
+ font-family: 'Quicksand', sans-serif;
+ font-size: 28pt;
+ font-weight: 600;
+ color: var(--header);
+ padding: 50px 50px 3px 50px;
+ margin: auto auto 0px auto;
+}
+
+p {
+ text-align: left;
+ text-indent: 25px;
+ font-family: 'Quicksand', sans-serif;
+ font-size: 14pt;
+ color: var(--text);
+ padding: 8px 50px 8px 50px;
+}
+
+a {
+ color: var(--secondary);
+ font-family: 'Quicksand', sans-serif;
+}
+
+a:hover {
+ color: var(--highlight);
+}
+
+h3 {
+ text-align: center;
+ font-family: 'Quicksand', sans-serif;
+ font-size: 14pt;
+ font-weight: 600;
+ color: var(--text);
+ padding: 8px 50px 8px 50px;
+}
+
+h3.nav {
+ padding: 3px 50px 8px 50px;
+ margin: 0px auto auto auto;
+}
+
+ul h3 {
+ font-style: italic;
+ text-align: left;
+ text-indent: 25px;
+ padding: 8px 50px 8px 2px;
+}
+
+ul h3 a {
+ font-style: italic;
+}
+
+a.backbutton {
+ font-style: normal;
+ font-size: 80%;
+ text-decoration: none;
+ padding: 0px;
+}
+
+ul {
+ list-style-position: outside;
+ padding: 0px 0px 0px 75px;
+}
+
+li {
+ color: var(--highlight);
+}
+.footer {
+ width: auto;
+ margin: auto;
+}
+.ascii {
+ color: var(--secondary);
+}
diff --git a/src/writing/cryptography.php b/src/writing/cryptography.php
new file mode 100644
index 0000000..6c36572
--- /dev/null
+++ b/src/writing/cryptography.php
@@ -0,0 +1,45 @@
+<?php
+$title = "Principles of Crytography for Data Security";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>As the amount of life spent online continues to increase, a great deal of private information is naturally
+ being transmitted: banking details, medical records, business correspondences. Where once these exchanges of
+ data would have occured between a small set of individuals in a shared space, they now happen between
+ continents, through hundreds of servers and over complex network infrastructures. It is a system that cannot
+ be fully accounted for by any individual, and so the means of transmission are insecure--much like having a
+ letter transmitted by a series of couriers, the data is liable to be intercepted or modified. And so both
+ parties in the exchange take on a risk that may prohibit especially critical data from being sent.
+ Cryptography is the study of data obfuscation--a means of making a message readable only by some. It is the
+ answer to the question "when the means of transmission cannot be trusted, how can information be conveyed
+ securely?</p>
+<p>There are two classes of encryption: symmetric and asymmetric. Symmetric encryption allows a message to be
+ encoded and decoded with the same piece of information, or key. The ancient Caesar cipher is an example of
+ this; an arbitrary number acting as the key was agreed upon by both parties, and every letter in the message
+ was shifted through the alphabet by that amount. It could easily be decoded by anyone who knew the key by
+ simply shifting the letters backward through the alphabet. Simple algorithms such as the Caesar cipher are
+ vulnerable to various attacks due to the patterns that they create in the ciphertext. A given letter may
+ always be encoded in the same way, meaning that the key could be compromised if the attacker gained access
+ to the plaintext and ciphertext forms of the same message. And a message could be decrypted without the key
+ by recognizing repeated patterns in the ciphertext representing common words. More advanced symmetric
+ encryption methods--like the Advanced Encryption Standard (AES) algorithm, developed for the US National
+ Institute of Standards and Technologies--disrupt patterns in the message to prevent these types of attacks.
+</p>
+<p>Symmetric encryption is an imperfect solution in the internet age. Because it requires both parties to know
+ the same secret key, those parties must have a secure form of communication already established. In the days
+ of Caesar, this key exchange could be performed confidentially by two individuals in close proximity. When
+ encryption is used on the internet, it cannot be assumed that the communicating parties will have had any
+ physical interactions--and it would be impractical to expect every new customer of an online banking service
+ to perform a physical key exchange. Asymmetric encryption solves this problem by removing the key exchange.
+ Instead of encrypting and decrypting a message with the same key, an asymmetric encryption algorithm has a
+ keypair, comprising a public key, used for encrypting a message, and a private key, used for decrypting a
+ message. The keys are so named because the private key is never shared, while the public key can be
+ broadcast widely. </p>
+<p>Typically, it demands more processing power to encrypt and decrypt messages with an asymmetric encryption
+ implementation than a comparable symmetric one. For this reason, it is desirable to use symmetric encryption
+ for most communications. An asymmetric implementation such as the Rivest--Shamir--Adleman (RSA) system is
+ used to perform the key exchange. One of the devices will broadcast its public RSA key to the other, which
+ will respond by generating an AES key, encrypting it with that RSA key, and returning it. This method of key
+ exchange is secure, even if every network packet is intercepted. Once the devices share an AES key, they can
+ communicate with the more efficient symmetric encryption method.</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?> \ No newline at end of file
diff --git a/src/writing/index.php b/src/writing/index.php
new file mode 100644
index 0000000..894f123
--- /dev/null
+++ b/src/writing/index.php
@@ -0,0 +1,19 @@
+<?php
+$title = "Writing";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+?>
+<p>
+ This is the index page for my writing. Obviously, if you follow the links below, you can read things I've
+ written.
+ Whether or not you want to do that is up to you.
+</p>
+<ul>
+ <li>
+ <h3><a href="cryptography.php">Cryptography</a> /* Keep yourself safe */</h3>
+ </li>
+ <li>
+ <h3><a href="moralrealism.php">Moral realism</a> /* (It's not real) */</h3>
+ </li>
+</ul>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>
diff --git a/src/writing/moralrealism.php b/src/writing/moralrealism.php
new file mode 100644
index 0000000..069d50d
--- /dev/null
+++ b/src/writing/moralrealism.php
@@ -0,0 +1,33 @@
+<?php
+$title = "Principles of Crytography for Data Security";
+require($_SERVER["DOCUMENT_ROOT"] . "/head.php");
+require($_SERVER["DOCUMENT_ROOT"] . "/header.php");
+<p>
+ Moral realism is, in essence, the concept that moral statements deal with a real thing. That is to say, a statement such as "murder is wrong" is a statement of fact
+in much the same way that "the sky is blue" is. As a proposition, it could be said "the statement "murder is wrong" is true." Generally speaking, moral realism is the
+default position in most societies today. The assumption is that when one makes a moral statement, they are making a statement of fact. Our legal system attempts
+to find the truth of morality, and we condemn others when their morals are incorrect.
+Others assert this is nonsense, and multiple arguments are employed to that end. While I do understand the reasons one would argue in favour of moral realism,
+and while I intend to present them fairly, I remain unconvinced by them.
+</p>
+<p>
+ The first argument for moral realism is a descriptive one: people already use a realistic framework.
+Consider a preference, say for food. Perhaps you do not like the taste of broccoli. You can imagine an alternate version of yourself, exactly the same except for a love of broccoli.
+Imagining this is probably not disturbing. Though you may not care for broccoli, you are not bothered by the possibility of that changing.
+Consider instead a moral preference. Likely, you do not look fondly on slavery. If you were to have been born some 300 years earlier, it is quite likely that you would see no problem with slavery
+Most people have a much stronger reaction to a version of them with different morals than a version with different preferences. It is then argued that this is evidence that morals are not merely preference. It is objectively wrong to support slavery.
+I take an alternate explanation: moral preferences are part of your identity. To change your morals is to change who you are, which explains why it is more upsetting to consider.
+One could develop a taste for broccoli and still be otherwise exactly the same. But for most people, slavery conflicts with a great deal of other deeply held ideas--you'd have to change who you are.
+Here is a prescriptive argument for moral realism: some sense of objective morality is necessary for society to function. The justice system cannot operate on a purely relativistic framework, because it must dole out punishment according to some set of standards.
+If everyone had wildly different ideas about morality or did not believe in morality at all, everything would fall apart.
+While this is true, it does not change my feeing. In much the same way that one might argue belief in god is a good idea (Pascal's wager), I still cannot induce myself to believe.
+</p>
+<p>
+ There are also a few positive arguments against moral reality. The most convincing, to me, is that morality is evidently immeasurable. A framework purporting a thing to be real, but being unable to measure that thing is useless.
+If it is the case that a moral belief can be incorrect, there is no means by which to determine whether it is. In other words, the truth value of a moral proposition cannot be known.
+From this point, there are a few different paths. Error theorists hold that moral propositions attempt to express truth, or, in other words, that a moral claim is a statement of fact. However, error theorists
+state that the truth value of those claims are always false. Therefore, anyone making a moral claim is in error to do so.
+Emotivists, instead, argue that moral claims do not attempt to express truth. Instead, they express emotion. Saying "murder is wrong" is the same as saying "boo! murder." It is neither true nor false.
+I align more with emotivism, as it seems to better describe the function of moral claims. It does appear to be the case that moral claims express emotion primarily.
+</p>
+<?php require($_SERVER["DOCUMENT_ROOT"] . "/footer.php"); ?>