Merge ../unknownlamer.org-repo
authorClinton Ebadi <clinton@unknownlamer.org>
Fri, 13 Dec 2019 03:42:36 +0000 (22:42 -0500)
committerClinton Ebadi <clinton@unknownlamer.org>
Fri, 13 Dec 2019 03:42:36 +0000 (22:42 -0500)
62 files changed:
.gitignore [new file with mode: 0644]
Android.html [new file with mode: 0644]
Backgrounds.html [new file with mode: 0644]
Basic Sauteed Tofu.html [new file with mode: 0644]
Beef and Lamb Kebabs.html [new file with mode: 0644]
Bicycle 2012.html [new file with mode: 0644]
Bicycle Routes.html [new file with mode: 0644]
Bicycle.html [new file with mode: 0644]
Black Bean Burgers.html [new file with mode: 0644]
Book List.html [new file with mode: 0644]
Books.html [new file with mode: 0644]
Cary to Greensboro Bicycle Route.html [new file with mode: 0644]
Code.html [new file with mode: 0644]
Cooking.html [new file with mode: 0644]
Guacamole.html [new file with mode: 0644]
Habanero Hot Sauce.html [new file with mode: 0644]
Homebrewing.html [new file with mode: 0644]
Hummus.html [new file with mode: 0644]
Imagery.html [new file with mode: 0644]
Kilt.html [new file with mode: 0644]
Koftah-Adana Hybrid Kebabs.html [new file with mode: 0644]
Lisp.html [new file with mode: 0644]
LiveJournal User Pics.html [new file with mode: 0644]
Maast-o Khiar.html [new file with mode: 0644]
Maytag.html [new file with mode: 0644]
Metaobject Protocols.html [new file with mode: 0644]
Music I Enjoy.html [new file with mode: 0644]
Music.html [new file with mode: 0644]
My Bicycle.html [new file with mode: 0644]
Old Viewpoints.html [new file with mode: 0644]
Olive Pita.html [new file with mode: 0644]
Pita.html [new file with mode: 0644]
Politics.html [new file with mode: 0644]
Quotations.html [new file with mode: 0644]
Reading.html [new file with mode: 0644]
Roasted Garlic.html [new file with mode: 0644]
SCWM.html [new file with mode: 0644]
Site Software.html [new file with mode: 0644]
Sourdough Rye.html [new file with mode: 0644]
Sun Dried Tomato Pita.html [new file with mode: 0644]
TRUTH.html [new file with mode: 0644]
Term Logic.html [new file with mode: 0644]
UCWNotes.html [new file with mode: 0644]
William Blake.html [new file with mode: 0644]
William James - The PhD Octopus.html [new file with mode: 0644]
William James - The Varieties of Religious Experience.html [new file with mode: 0644]
Window Maker Themes.html [new file with mode: 0644]
Wisdom.html [new file with mode: 0644]
img/latex/latex2png-Term Logic__1000903687973200244.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1578431659330548867.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1704608037914088017.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1820230203585672063.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1820230203588184659.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1990136469440439988.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__1990139104632252084.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__2257733438607490157.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__598849921279338722.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__662057013302028111.png [new file with mode: 0644]
img/latex/latex2png-Term Logic__930112774001846957.png [new file with mode: 0644]
index.html [new file with mode: 0644]
planner-cke.el.html [new file with mode: 0644]
resume.pdf [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..dd878aa
--- /dev/null
@@ -0,0 +1,2 @@
+_darcs/**
+*~
diff --git a/Android.html b/Android.html
new file mode 100644 (file)
index 0000000..e8bbc79
--- /dev/null
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Dancing Robot Death Machines</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Dancing Robot Death Machines</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Useful Free Software for Android</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Network</a>
+</dt>
+<dt>
+<a href="#sec3">Utilities</a>
+</dt>
+<dt>
+<a href="#sec4">Games</a>
+</dt>
+<dt>
+<a href="#sec5">Development</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Useful Free Software for Android</h2>
+
+<p class="first">We all like Free Software here right?</p>
+
+<p>As per the request of my dearest friend emacsen I bring you a list of
+Free Software I use on Android. Nowadays, I'd point folks toward
+<a href="http://f-droid.org">F-Droid</a>, the <strong>excellent</strong> market for Free Software applications. During
+2012 it made huge steps forward, and now contains software for
+basically every common task (even a <a href="http://f-droid.org/repository/browse/?fdfilter=nyan&amp;fdid=com.powerje.nyan">Nyan Cat live background</a>, if
+you're into that sort of thing).</p>
+
+
+<h3><a name="sec2" id="sec2"></a>
+Network</h3>
+
+<ul>
+<li><a href="http://code.google.com/p/k9mail/">K-9 Mail</a> Replacement for the builtin Email app that has a few more
+features that make it much nicer to use.</li>
+<li><a href="http://code.google.com/p/connectbot/">ConnectBot</a> Very useful ssh/telnet and local shell terminal
+emulator.</li>
+</ul>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Utilities</h3>
+
+<ul>
+<li><a href="http://www.openintents.org/en/download">OpenIntents Applications</a> A basic notepad, todo list, file manager,
+news reader, countdown timer, flashlight, and encryption thing. You
+can put shortcuts to notes on the homescreen which is quite handy.</li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Games</h3>
+
+<ul>
+<li><a href="market://search?q=pname:com.netthreads.android.noiz2">Noiz2</a> (market link). Pretty fun. <a href="http://ccgi.arutherford.plus.com/blog/wordpress/projects/">netthreads</a> has more projects that
+might be useful too.</li>
+<li><a href="http://m.smsbox.ch/pro/frozenbubble">Frozen Bubble</a> Productivity, farewell.</li>
+<li><a href="http://code.google.com/p/doom-for-android/">Doom for Android</a> This is actually playable on a g1.</li>
+</ul>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Development</h3>
+
+<ul>
+<li><a href="http://www.gnu.org/software/kawa/">Kawa Scheme</a> can indeed <a href="http://per.bothner.com/blog/2009/AndroidHelloScheme/">be used to write Android applications</a>
+(mildly out of date, but useful nonetheless). I swear, I've done
+it, and I'll do it again.</li>
+<li><a href="http://www.emacswiki.org/emacs/EmacsOnAndroid">Emacs on Android</a>. Why not?</li>
+</ul>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Jessie: but today i was a nerd
+Jessie: i even read slashdot.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Backgrounds.html b/Backgrounds.html
new file mode 100644 (file)
index 0000000..2994b60
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Backgrounds</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Backgrounds</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Fractal Fire</a>
+</dt>
+<dt>
+<a href="#sec2">Nifty Background</a>
+</dt>
+<dt>
+<a href="#sec3">GPL Keycaps</a>
+</dt>
+<dt>
+<a href="#sec4">Face</a>
+</dt>
+<dt>
+<a href="#sec5">Gray Mosaic</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Long ago I made a few backgrounds to make my desktop look nicer. You
+may use this however you wish, but if you use them online I request
+that you link back to this page and copy the image to another location
+to save my bandwidth. Myspace users seem to enjoy directly linking to
+images; luckily HCoop's current colo provider doesn't charge obscene
+fees for bandwidth as our ancient one did.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Fractal Fire</h2>
+
+<p><a class="image-link" href="img/backgrounds/lame_fracfire.png">
+<img src="img/backgrounds/pre/lame_fracfire_pre.png" alt="" /></a></p>
+
+<p>A rather nice background that I use on my laptop nowadays.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Nifty Background</h2>
+
+<p><a class="image-link" href="img/backgrounds/nifty_bg.png">
+<img src="img/backgrounds/pre/nifty_bg_pre.png" alt="" /></a></p>
+
+<p>One of the first backgrounds I made; I put this together in a few
+minutes on an old OS X machine at school to show someone how to use
+<a href="http://gimp.org">GIMP</a>.</p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+GPL Keycaps</h2>
+
+<p><a class="image-link" href="img/backgrounds/gnu_gpl_keycaps.png">
+<img src="img/backgrounds/pre/gnu_gpl_keycaps_pre.png" alt="" /></a></p>
+
+<p>Just bits of the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> strewn about a blue background.</p>
+
+
+<h2><a name="sec4" id="sec4"></a>
+Face</h2>
+
+<p><a class="image-link" href="img/backgrounds/face.png">
+<img src="img/backgrounds/pre/face_pre.png" alt="" /></a></p>
+
+<p>I had a picture of a face lying about, and so I ran it through some
+filters and got this.</p>
+
+
+<h2><a name="sec5" id="sec5"></a>
+Gray Mosaic</h2>
+
+<p><a class="image-link" href="img/backgrounds/gray_mosaic.png">
+<img src="img/backgrounds/pre/gray_mosaic_pre.png" alt="" /></a></p>
+
+<p>A very large (1920x1200) gray tile mosaic. It looks particularly nice
+on a 24&quot; screen.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">And did those feet in ancient time
+Walk upon England's mountains green?
+And was the holy Lamb of God
+On England's pleasant pastures seen?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Basic Sauteed Tofu.html b/Basic Sauteed Tofu.html
new file mode 100644 (file)
index 0000000..3eaf798
--- /dev/null
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Basic Sauteed Tofu</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Basic Sauteed Tofu</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Marinade</a>
+</dt>
+<dt>
+<a href="#sec3">Sauteed Vegetables</a>
+</dt>
+<dt>
+<a href="#sec4">Rice</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Directions</a>
+</dt>
+<dt>
+<a href="#sec6">TODO</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Just a basic recipe for moderately spicy sauteed tofu, quick and easy
+and not too unhealthy. Goes well with steamed broccoli and rice.</p>
+
+<p>I don't press the tofu as I find when it does it absorbs too much of
+the marinade and the inside of the cubes just become vaguely vinegary.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>14oz (397g) Firm Tofu</li>
+<li>Oil for sauteeing. Recommend a few tbsp of plain sesame oil with a
+small amount of toasted sesame oil added near the end.</li>
+</ul>
+
+<h3><a name="sec2" id="sec2"></a>
+Marinade</h3>
+
+<ul>
+<li>1/2 cup water</li>
+<li>2.5 tbsp low sodium soy sauce</li>
+<li>2 tbsp apple cider vinegar</li>
+<li>2 tbsp pomegranate molasses
+
+<ul>
+<li>Try to find some with no added sugar (hard
+nowadays!). <a href="http://www.alwadi-alakhdar.com/products/molasses/natural-pomegranate-molasses/">Al Wadi pomegranate molasses</a> is available on Amazon
+(Bezos wins this round...) if your local market doesn't have any
+pure pomegranate molasses.</li>
+</ul></li>
+<li>4 cloves garlic, minced</li>
+<li>1/2 tbsp onion powder</li>
+<li>1/2 tbsp garlic powder</li>
+<li>1 small serrano or habanero pepper, minced</li>
+<li>2 tsp corn starch</li>
+</ul>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Sauteed Vegetables</h3>
+
+<p class="first">Can really be anything, sautee separately for a few minutes. I like:</p>
+
+<ul>
+<li>1 Sweet bell pepper (red, yellow, or orange)</li>
+<li>1 bunch green onions</li>
+<li>Baby Corn</li>
+<li>Snap peas</li>
+<li>1/2 medium white onion (cut into 1/2 inch thick slices parallel
+with rings, then cut each slice in half)</li>
+<li>1 tbsp chili paste</li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Rice</h3>
+
+<ul>
+<li>1 cup rice</li>
+<li>2 whole cloves garlic</li>
+<li>1/4 tsp tumeric</li>
+<li>1 tsp paprika</li>
+<li>1 tsp olive oil</li>
+</ul>
+
+<p>Cook rice on side, using whatever rice you like. Remove garlic before
+serving.</p>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+Directions</h2>
+
+<ol>
+<li>Drain tofu and cut tofu into cubes of desired size (1/2 inch suggested)</li>
+<li>Combine marinade ingredients except for corn starch and freshly minced garlic</li>
+<li>Cover tofu with marinade, marinate for ~30 minutes, refrigerated</li>
+<li>Strain tofu, retain marinade!</li>
+<li>Prepare cornstarch by dissolving in a few tbsp of water</li>
+<li>Mix retained marinade, cornstarch, and minced garlic well</li>
+<li>Preheat pan over medium-high heat</li>
+<li>Add oil and sautee tofu for ~12 minutes, tossing every three or
+four minutes</li>
+<li>Lower heat to medium, add sauce, and simmer until sauce
+thickens (~8 minutes).</li>
+</ol>
+
+
+<h2><a name="sec6" id="sec6"></a>
+TODO</h2>
+
+<p class="first">bird's eye peppers instead of serrano/habanero</p>
+
+<p>pressing tofu seems to have made it worse; outside of tofu isn't as
+&quot;chewy&quot; and inside just tasted like marinade and was a bit chewier
+than I wanted. Skip.</p>
+
+<p>In the batch where the tofu was pressed (and I first increased the
+cornstarch), the sauce thickened in under four minutes and scorched a
+bit from the heat. Sauce did not thicken quickly in next batch (did
+not press tofu) &mdash; it looks like pressing the tofu caused the tofu to
+absorb more of the marinade so there was less sauce.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Leebert: You don't listen to music.
+Leebert: You listen to the audio equivalent of /dev/urandom
+</p>
+<p class="cke-timestamp">Last Modified:
+    May  9, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Beef and Lamb Kebabs.html b/Beef and Lamb Kebabs.html
new file mode 100644 (file)
index 0000000..8a7b278
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Beef and Lamb Kebabs</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Beef and Lamb Kebabs</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1lbs ground beef</li>
+<li>1lbs ground lamb</li>
+<li>1 red bell pepper chopped and then run through a blender</li>
+<li>3 gloves garlic finely chopped</li>
+<li>Smallish yellow onion diced</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<p class="first">Dice up the vegetables and blend together in a blender. Mix the
+result with the meat. Cook.</p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">Perhaps run the onion and garlic cloves through the blender with the
+bell pepper? Probably.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">clinton: last time I was a bit weak (*sniff* level four and only 18 hp)
+clinton: I had a -1 intelligence modifier for the first three weeks
+emacsen: what about your character?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Bicycle 2012.html b/Bicycle 2012.html
new file mode 100644 (file)
index 0000000..2e662d6
--- /dev/null
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Clinton's New Bike</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Clinton's New Bike</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">The Wishlist</a>
+</dt>
+<dt>
+<a href="#sec2">A Whole Lot of Money Later</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Fender Installation</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+The Wishlist</h2>
+
+<p class="first">After my old frame broke, I thought about what I wanted in a new
+bike.</p>
+
+<ul>
+<li>Mechanical disc brakes (ease of maintenance mostly)</li>
+<li>Lugged steel frame (why not?)</li>
+<li>Indexed shifters</li>
+<li>Rear rack mounts (without horrible hacks required) and maybe mounts
+for a front rack too (nice for multi-day treks)</li>
+<li>Front and rear fender mounts (again, without horrible hacks)</li>
+<li>No suspension (extra annoying maintenance and pain with things like
+fenders)</li>
+</ul>
+
+<p>I was willing to lose the disc brakes for the fender and rack mounts.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+A Whole Lot of Money Later</h2>
+
+<p class="first">I searched high and low and found a few bikes that <em>almost</em> had what I
+wanted... Unfortunately the bike I want doesn't exist for under $1200
+which is a <em>wee bit</em> much for my liking. Months of searching in vain on
+Craigslist for anything less expensive failed, and I gave up on the
+dream of my ideal bike.</p>
+
+<p>Instead, I got a <a href="http://www.trekbikes.com/us/en/bikes/town/fitness/fx/7_3_fx_disc/">2012 Trek 7.3 FX Disc</a> for the low low price of $720 +
+a painful bit of sales tax. A few hundred more than I had wanted to
+spend, but it <em>did</em> meet all of my wishlist except for the frame.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2012-01-01/new-bike-with-fenders.jpg" alt="Everyone loves new toys" /></td></tr>
+  <tr><td align="center" class="image-caption">Everyone loves new toys</td></tr>
+</table>
+
+<p>I promptly ordered a replacement battery for my Dual Cross 300 (at
+this point, I can wholeheartedly recommend <a href="http://cygolite.com">Cygolite</a>'s stuff &mdash; the
+head light outlasted the battery pack <strong>and</strong> the bike I got it for!), SKS
+fenders, and thought about <a href="http://www.jandd.com/detail.asp?PRODUCT_ID=FREXP">new rack</a> (but ended up reusing my old rack
+for now). As of January 1, 2012 I am ridiculously out of shape and
+barely able to go anywhere, but I'm hoping in a few weeks my entire
+body will stop hurting after a few hill climbs.</p>
+
+<h3><a name="sec3" id="sec3"></a>
+Fender Installation</h3>
+
+<p class="first">It is a well known fact that SKS packages their fenders with
+instructions designed to deceive and punish half-men who read them. Of
+course, I tried reading them despite not really needing to (and,
+indeed, ended up led astray). After spending ages getting the new stay
+ends on (which I ended up having to remove from the front later) the
+real fun started.</p>
+
+<p>The rear fender, I am happy to report, went on without a hitch. The
+caliper-side braze-on was positioned such that I didn't even have to
+cut or re-route the stay like on my old
+mountain-biked-turned-commuting-rig.</p>
+
+<p>The front fender, on the other hand, was a bit of a pain. The SKS
+fenders do <strong>not</strong> come with the M6 bolt needed for mounting the fender to
+the crown (riddle me this: why the hell is that an M6 bolt when every
+other bolt on the bike is M5?). I'm guessing because most bikes have a
+brake bolt you can piggy back on (then again, the kit comes with
+about five extra bolts that have seemingly no use on any bike...).</p>
+
+<p>A trek to Home Despot proved fruitless; a trek to the other super
+chain also yielded disappointing results. Both only carried plain
+steel metric bolts... I hacked it for a while until I could hop down
+to the bike shop to get a proper stainless steel bolt.</p>
+
+<p>That challenge overcome, even more fun was to be had with the
+caliper-side stay. <sup><a class="footref" name="fnr.1" href="#fn.1">1</a></sup> The lower stay had to go directly through the
+caliper. I found a <a href="http://www.flickr.com/photos/seditiouscanary/3358079803/">few</a> different <a href="http://www.bikeforums.net/archive/index.php/t-609665.html">solutions</a>, neither of which I ended
+up using.</p>
+
+<p>I accidentally found the front fender I was never able to mount on my
+MTB and ... <em>phew</em> breathing room! Having two spare stays made it easier
+to experiment and eventually I found that cutting the the lower stay
+arm and mounting the stay to the upper rack eyelet was the easiest
+solution. This does require not using the newfangled integrated end
+caps (luckily I had the caps from the old set) because the insertion
+angle of the caliper-side stay isn't quite straight.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2012-01-01/caliper-side-fender-stay.jpg" alt="Caliper-side fender stay" /></td></tr>
+  <tr><td align="center" class="image-caption">Caliper-side fender stay</td></tr>
+</table>
+
+<p>After two days of cursing at my bike success was mine.</p>
+
+
+<p class="footnote"><a class="footnum" name="fn.1" href="#fnr.1">1.</a> Actually, I hacked the crown bolt mount using a smaller bolt and a
+nut first, and then solved the stay issue... followed by despair
+and pain as I discovered the front of the fender hit the tire. It
+seemed like this was because of the weird stay mount hack (the fender
+was under a bit of tension) and I wasted quite a bit of time
+adjusting the stays only to realize ... the fender wasn't flush
+against the crown. D'oh.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">And did those feet in ancient time
+Walk upon England's mountains green?
+And was the holy Lamb of God
+On England's pleasant pastures seen?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Bicycle Routes.html b/Bicycle Routes.html
new file mode 100644 (file)
index 0000000..64455f3
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Bicycle Routes</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Bicycle Routes</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">My Routes</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Bikely Routes</a>
+</dt>
+<dt>
+<a href="#sec3">Cary to Greensboro Bicycle Route</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec4">Maryland/DC Routes</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec5">Bikewashington</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>I travel mostly by bicycle, and have to plot routes out for myself
+often. I think some may be useful to people in the Baltimore area of
+Maryland.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+My Routes</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+<a href="http://www.bikely.com/listpaths/by/clinton">Bikely Routes</a></h3>
+
+
+<h3><a name="sec3" id="sec3"></a>
+<a href="Cary%20to%20Greensboro%20Bicycle%20Route.html">Cary to Greensboro Bicycle Route</a></h3>
+
+
+
+<h2><a name="sec4" id="sec4"></a>
+Maryland/DC Routes</h2>
+
+<h3><a name="sec5" id="sec5"></a>
+<a href="http://bikewashington.org/routes/all.htm">Bikewashington</a></h3>
+
+<p class="first">A nice collection of routes for travelling around Maryland with full
+cues and maps.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Sonarman&gt; WHAT??!??! you don't want to attend my roundtable on
+           neomarxist deconstruction schemes for modern
+           capitalism? YOU'RE PROPPING UP THE SYSTEM, PIG.
+&lt;Sonarman&gt; brb latte
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Bicycle.html b/Bicycle.html
new file mode 100644 (file)
index 0000000..a9dd548
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Bicycles Are Our Friends</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Bicycles Are Our Friends</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Bicycle Routes</a>
+</dt>
+<dt>
+<a href="#sec2">My New Bicycle</a>
+</dt>
+<dt>
+<a href="#sec3">My Old Bicycle</a>
+</dt>
+<dt>
+<a href="#sec4">Bicycling Journal Entries</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+<a href="Bicycle%20Routes.html">Bicycle Routes</a></h2>
+
+
+<h2><a name="sec2" id="sec2"></a>
+<a href="Bicycle%202012.html">My New Bicycle</a></h2>
+
+
+<h2><a name="sec3" id="sec3"></a>
+<a href="My%20Bicycle.html">My Old Bicycle</a></h2>
+
+
+<h2><a name="sec4" id="sec4"></a>
+<a href="http://journal.unknownlamer.org/tag/bicycle">Bicycling Journal Entries</a></h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Lindsay (Carlton): nighttime baker! sounds a little iffy
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Black Bean Burgers.html b/Black Bean Burgers.html
new file mode 100644 (file)
index 0000000..edef837
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Black Bean Burgers</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Black Bean Burgers</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Basic Bean Patty</a>
+</dt>
+<dt>
+<a href="#sec3">Binder</a>
+</dt>
+<dt>
+<a href="#sec4">Spices</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Directions</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec6">Prepare Canned Beans</a>
+</dt>
+<dt>
+<a href="#sec7">Sauteed Herbs and Vegetables</a>
+</dt>
+<dt>
+<a href="#sec8">Combine!</a>
+</dt>
+<dt>
+<a href="#sec9">Cook</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec10">TODO</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<p class="first">Combine the basic bean patty with a binder of your choosing, and add a
+spice blend. Quantities for the binder and spices here are based on
+one unit of bean patty mixture.</p>
+
+<h3><a name="sec2" id="sec2"></a>
+Basic Bean Patty</h3>
+
+<ul>
+<li>850g black beans cooked (2x425g cans no salt added black beans),
+
+<ul>
+<li>816g after draining</li>
+<li>689g after drying in oven</li>
+</ul></li>
+<li>1-2 tbsp sesame oil (for frying patties)</li>
+</ul>
+
+<p>or</p>
+
+<ul>
+<li>700g cooked from dry beans</li>
+</ul>
+
+<p>Makes six to eight patties.</p>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Binder</h3>
+
+<ul>
+<li>1/4 cup vital wheat gluten</li>
+<li>1/2 cup panko flakes</li>
+</ul>
+
+<p>Mix panko flakes and vital wheat gluten together.</p>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Spices</h3>
+
+<ul>
+<li>2tbsp olive oil (for sauteing onions)</li>
+<li>1/2 large white onion</li>
+<li>2 Serrano peppers</li>
+<li>1 habanero pepper</li>
+<li>1 Sweet bell pepper (red, orange, yellow &mdash; doesn't matter)</li>
+<li>8 cloves garlic</li>
+<li>1 tbsp cumin</li>
+<li>1/2 tbsp maras biberi flakes or aleppo pepper flakes</li>
+<li>3/4 tsp dried ground ginger</li>
+</ul>
+
+<p>If you want this to be less spicy, either the habanero or Serrano
+peppers can be left out (If I had to choose, I'd drop the Serrano
+peppers as I find a habanero pepper complements the sweet bell pepper
+more, unless you can get ripe Serrano peppers).</p>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+Directions</h2>
+
+<h3><a name="sec6" id="sec6"></a>
+Prepare Canned Beans</h3>
+
+<p class="first">Stolen from <a href="https://www.seriouseats.com/recipes/2014/03/the-best-black-bean-burger-recipe.html">Serious Eats</a>, canned black beans should be dehydrated a
+bit.</p>
+
+<ol>
+<li>Preheat oven to 350°F</li>
+<li>Drain beans, discarding liquid. Don't rinse.</li>
+<li>Spread beans on foil lined baking sheet with sides</li>
+<li>Place in oven for ~15 minutes</li>
+</ol>
+
+<p>If using beans cooked from dry beans, this can probably be skipped?</p>
+
+
+<h3><a name="sec7" id="sec7"></a>
+Sauteed Herbs and Vegetables</h3>
+
+<ol>
+<li>Dice white onion</li>
+<li>Dice bell pepper</li>
+<li>Mince hot peppers and garlic</li>
+<li>Retain half uncooked of onions/peppers/garlic uncooked. Drain
+while sauteing other half.</li>
+<li>Saute onion, peppers, and garlic with olive oil until onions are
+lightly browned</li>
+<li>Squeeze in paper towel after cooled to drain any excess moisture
+and oil. Do the same for the uncooked vegetables (gently).</li>
+</ol>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Combine!</h3>
+
+<ol>
+<li>Mix dry spices before and beans in bowl <strong>before</strong> mashing (this seems
+to help diffuse the spices more consistently).</li>
+<li>Mash beans to desired consistency in a mixing bowl. Mostly paste
+with some partially mashed beans is good.</li>
+<li>Mix in garlic, peppers, and onions</li>
+<li>Mix in binder</li>
+</ol>
+
+<p>Grab a ball of the mixture and form into a patty. It should be almost
+as robust as a murder burger so should be able to handle being
+squished into whatever shape by hand.</p>
+
+
+<h3><a name="sec9" id="sec9"></a>
+Cook</h3>
+
+<ol>
+<li>Pan fry over medium-high heat for ~4 minutes per side (until
+outside is browned and a bit crispy). Cooking spray or oil will be
+needed to keep it from burning. Brushing the burgers with sesame
+oil works well (one side at a time, just before putting into pan
+and just before flipping).</li>
+</ol>
+
+
+
+<h2><a name="sec10" id="sec10"></a>
+TODO</h2>
+
+<p class="first">Increased onion and garlic, not sure if more dry spices are also
+needed.</p>
+
+<p>At least needs more cumin... taste is a bit &quot;empty&quot;. Thinking that
+cumin should be doubled. Maybe add some ground pistachios or even a
+bit of tahina as well.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;ascii_phil&gt; There once was a man named Bertold
+&lt;ascii_phil&gt; Who drank beer when the weather grew cold
+&lt;ascii_phil&gt; As he reached for his cup...
+&lt;ascii_phil&gt; "NEEEEVER GONNA GIVE YOU UP!!!"
+&lt;ascii_phil&gt; Oh, snap! You just got limerickrolled!
+</p>
+<p class="cke-timestamp">Last Modified:
+    May  9, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Book List.html b/Book List.html
new file mode 100644 (file)
index 0000000..dca16e7
--- /dev/null
@@ -0,0 +1,1467 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>A Not So Fancy Listing of Books</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>A Not So Fancy Listing of Books</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Douglas Adams</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Hitchiker's Guide to the Galaxy (collected)</a>
+</dt>
+<dt>
+<a href="#sec3">The Long Dark Tea-Time of the Soul</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec4">Aeschylus</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec5">Oresteia</a>
+</dt>
+<dt>
+<a href="#sec6">Prometheus Bound</a>
+</dt>
+<dt>
+<a href="#sec7">The Persians</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec8">John Allison</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec9">Looks, Brains and Everything</a>
+</dt>
+<dt>
+<a href="#sec10">Blame the Sky</a>
+</dt>
+<dt>
+<a href="#sec11">Skellington</a>
+</dt>
+<dt>
+<a href="#sec12">The Retribution Index</a>
+</dt>
+<dt>
+<a href="#sec13">Great Aches</a>
+</dt>
+<dt>
+<a href="#sec14">Ahoy Hoy!</a>
+</dt>
+<dt>
+<a href="#sec15">Heavy Metal Hearts and Flowers</a>
+</dt>
+<dt>
+<a href="#sec16">Ghosts</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec17">Anonymous</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec18">Chymical Wedding of Christian Rosenkreutz</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec19">Aristophanes</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec20">The Frogs</a>
+</dt>
+<dt>
+<a href="#sec21">The Clouds</a>
+</dt>
+<dt>
+<a href="#sec22">Ecclesiazusae</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec23">Aristotle</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec24">Ethics</a>
+</dt>
+<dt>
+<a href="#sec25">Categories</a>
+</dt>
+<dt>
+<a href="#sec26">Poetics</a>
+</dt>
+<dt>
+<a href="#sec27">Rhetoric</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec28">Marcus Aurelius</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec29">Meditations</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec30">William Blake</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec31">The Four Zoas</a>
+</dt>
+<dt>
+<a href="#sec32">Jerusalem</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec33">Mike Carey</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec34">Lucifer (series)</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec35">Confucius</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec36">Analects</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec37">Neil Gaiman</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec38">The Sandman (series)</a>
+</dt>
+<dt>
+<a href="#sec39">Good Omens</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec40">John Taylor Gatto</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec41">Underground History of American Education</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec42">Kahlil Gibran</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec43">A Tear and a Smile</a>
+</dt>
+<dt>
+<a href="#sec44">The Prophet</a>
+</dt>
+<dt>
+<a href="#sec45">Sand and Foam</a>
+</dt>
+<dt>
+<a href="#sec46">The Madman</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec47">Homer</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec48">The Odyssey</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec49">Aldous Huxley</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec50">The Doors of Perception</a>
+</dt>
+<dt>
+<a href="#sec51">Heaven and Hell</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec52">William James</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec53">The Varieties of Religious Experience</a>
+</dt>
+<dt>
+<a href="#sec54">The PhD Octopus</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec55">Henry James</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec56">The Altar of the Dead</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec57">Gregor Kiczales</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec58">The Art of the Metaobject Protocol</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec59">Søren Kierkegaard</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec60">Sickness Unto Death</a>
+</dt>
+<dt>
+<a href="#sec61">Either/Or</a>
+</dt>
+<dt>
+<a href="#sec62">Fear and Trembling</a>
+</dt>
+<dt>
+<a href="#sec63">Repetition</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec64">Alisa Kwitney</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec65">Destiny: A Chronicle of Deaths Foretold</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec66">David Lamkins</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec67">Successful Lisp</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec68">Mencius</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec69">Mencius</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec70">Walter Miller</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec71">A Canticle for Leibowitz</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec72">Alan Moore</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec73">Watchmen</a>
+</dt>
+<dt>
+<a href="#sec74">V for Vendetta</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec75">Thomas More</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec76">Utopia</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec77">Friedrich Nietzsche</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec78">Beyond Good and Evil</a>
+</dt>
+<dt>
+<a href="#sec79">On the Geneaology of Morals</a>
+</dt>
+<dt>
+<a href="#sec80">Ecce Homo</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec81">George Orwell</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec82">1984</a>
+</dt>
+<dt>
+<a href="#sec83">Animal Farm</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec84">Plato</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec85">Symposium</a>
+</dt>
+<dt>
+<a href="#sec86">Euthyphro</a>
+</dt>
+<dt>
+<a href="#sec87">Apology</a>
+</dt>
+<dt>
+<a href="#sec88">Crito</a>
+</dt>
+<dt>
+<a href="#sec89">Phaedo</a>
+</dt>
+<dt>
+<a href="#sec90">Protagoras</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec91">Luke Rhinehardt</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec92">The Dice Man</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec93">Neal Stephenson</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec94">Snow Crash</a>
+</dt>
+<dt>
+<a href="#sec95">Cryptonomicon</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec96">Bjarne Stroustrup</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec97">The C++ Programming Language (3rd edition)</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec98">JRR Tolkien</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec99">The Lord of the Rings</a>
+</dt>
+<dt>
+<a href="#sec100">The Silmarillion</a>
+</dt>
+<dt>
+<a href="#sec101">The Lost Tales</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec102">H.G. Wells</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec103">The Island of Dr Moreau</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Douglas Adams</h2>
+
+
+
+<h3><a name="sec2" id="sec2"></a>
+Hitchiker's Guide to the Galaxy (collected)</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec3" id="sec3"></a>
+The Long Dark Tea-Time of the Soul</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•••• </span> (6) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec4" id="sec4"></a>
+Aeschylus</h2>
+
+
+
+<h3><a name="sec5" id="sec5"></a>
+Oresteia</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec6" id="sec6"></a>
+Prometheus Bound</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec7" id="sec7"></a>
+The Persians</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec8" id="sec8"></a>
+John Allison</h2>
+
+<p class="first">The author of the rather amazing <a href="http://scarygoround.com">Scary Go Round</a>.
+I highly recommend procuring the printed collections; the printing
+quality is superb (full color on glossy paper), and the long story
+arcs are much easier to read.</p>
+
+<h3><a name="sec9" id="sec9"></a>
+Looks, Brains and Everything</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec10" id="sec10"></a>
+Blame the Sky</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec11" id="sec11"></a>
+Skellington</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec12" id="sec12"></a>
+The Retribution Index</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec13" id="sec13"></a>
+Great Aches</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec14" id="sec14"></a>
+Ahoy Hoy!</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec15" id="sec15"></a>
+Heavy Metal Hearts and Flowers</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec16" id="sec16"></a>
+Ghosts</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec17" id="sec17"></a>
+Anonymous</h2>
+
+
+
+<h3><a name="sec18" id="sec18"></a>
+Chymical Wedding of Christian Rosenkreutz</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec19" id="sec19"></a>
+Aristophanes</h2>
+
+
+
+<h3><a name="sec20" id="sec20"></a>
+The Frogs</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec21" id="sec21"></a>
+The Clouds</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec22" id="sec22"></a>
+Ecclesiazusae</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec23" id="sec23"></a>
+Aristotle</h2>
+
+
+
+<h3><a name="sec24" id="sec24"></a>
+Ethics</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+<h3><a name="sec25" id="sec25"></a>
+Categories</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+<h3><a name="sec26" id="sec26"></a>
+Poetics</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+<h3><a name="sec27" id="sec27"></a>
+Rhetoric</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec28" id="sec28"></a>
+Marcus Aurelius</h2>
+
+
+
+<h3><a name="sec29" id="sec29"></a>
+Meditations</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢</span><span class="rating-bad">•••••• </span> (4) / <em>Nonfiction</em></p>
+
+<p>At the time, I enjoyed reading this collection of meditations on
+Stoic philosophy, and it was a fairly quick read (fifteen minutes a
+day over the course of two weeks for me). Nowadays I've read
+Epictetus, and I suggest reading his <em>Discourses</em> instead.</p>
+
+
+
+
+<h2><a name="sec30" id="sec30"></a>
+William Blake</h2>
+
+<p class="first">Blake is my <a href="William%20Blake.html">favorite</a> of the English poets. His
+unique use of relief etching and watercoloring makes for very
+interesting Illuminated works. There is a very high quality
+<a href="http://blakearchive.org">complete archive of Blake's works</a> online
+with high resolution plate scans and full transcriptions among other
+things.</p>
+
+<h3><a name="sec31" id="sec31"></a>
+The Four Zoas</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+<p>The unfinished manuscript of Blake's longest apocalypse. The
+Four Zoas divide from Albion and rage through the ages of dismal woe
+to bring about the end of the cycle of Ulro and restore the cycle of
+Beulah.</p>
+
+
+
+<h3><a name="sec32" id="sec32"></a>
+Jerusalem</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+<p>The finest of Blake's Illuminated works.</p>
+
+
+
+
+<h2><a name="sec33" id="sec33"></a>
+Mike Carey</h2>
+
+
+
+<h3><a name="sec34" id="sec34"></a>
+Lucifer (series)</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•••• </span> (6) / <em>Fiction</em></p>
+
+<p>Of the <em>Sandman</em> spinoffs, <em>Lucifer</em> stands out as the best for
+the first half, but then the writer appears to take on far too great a
+task, and, with the introduction of some disagreeable character
+relations, fails to execute the story as well as it could have
+been. Still, it was worth reading to the end even though most of the
+stories after issue 35 or so were merely ok. If you like Kierkegaard I
+suggest issues 2, 3, and 62&mdash;they show the form of the incommensurable
+relation of the single individual to the absolute perfectly.</p>
+
+
+
+
+<h2><a name="sec35" id="sec35"></a>
+Confucius</h2>
+
+
+
+<h3><a name="sec36" id="sec36"></a>
+Analects</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec37" id="sec37"></a>
+Neil Gaiman</h2>
+
+
+
+<h3><a name="sec38" id="sec38"></a>
+The Sandman (series)</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+<p>Perhaps the best comic book series of all time; I would say <em>The
+Sandman</em> as a whole ranks higher than anything even Alan Moore has
+written.</p>
+
+
+
+<h3><a name="sec39" id="sec39"></a>
+Good Omens</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+<p>A friend of a friend decided one evening that I needed to read
+so-called <em>normal people books</em>, and so she lent me <em>Good Omens</em>. It
+was an enjoyable read and unearthed vague memories of comic book
+magazines I read when I was small and the name <em>Sandman</em>; thus through
+one book I found something far greater.</p>
+
+
+
+
+<h2><a name="sec40" id="sec40"></a>
+John Taylor Gatto</h2>
+
+<p class="first">Former teacher and now author-activist.</p>
+
+<h3><a name="sec41" id="sec41"></a>
+Underground History of American Education</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Nonfiction</em></p>
+
+<p>An interesting <em>underground</em> history of the American education
+system. Available
+<a href="http://www.johntaylorgatto.com/underground/">online for free</a>.</p>
+
+
+
+
+<h2><a name="sec42" id="sec42"></a>
+Kahlil Gibran</h2>
+
+<p class="first">Kahlil Gibran is fairly interesting; his earlier works do not
+agree with my Ã¦sthetic sense (blah blah), but <em>The Madman</em> onward are
+all rather nice. A few of his works are
+<a href="http://leb.net/~mira/">online</a>, but I recommend scouting used book
+stores for old hardcover editions. The (late 90s onward at least)
+<em>hardcover</em> versions from <em>Alfred A. Knopf</em> are in fact permabound
+paperbacks with a hardcasing, and are of seriously inferior quality to
+the editions from the 50s and 60s (and cost quite a bit more,
+naturally).</p>
+
+<h3><a name="sec43" id="sec43"></a>
+A Tear and a Smile</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢</span><span class="rating-bad">••••••• </span> (3) / <em>Fiction</em></p>
+
+<p>One of Kahlil Gibran's earlier works, I did not much like <em>A
+Tear and a Smile</em> excepting the last poem (&quot;A Poet's Voice&quot;).</p>
+
+
+
+<h3><a name="sec44" id="sec44"></a>
+The Prophet</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec45" id="sec45"></a>
+Sand and Foam</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+<p>An interesting little book of aphorisms.</p>
+
+
+
+<h3><a name="sec46" id="sec46"></a>
+The Madman</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec47" id="sec47"></a>
+Homer</h2>
+
+
+
+<h3><a name="sec48" id="sec48"></a>
+The Odyssey</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec49" id="sec49"></a>
+Aldous Huxley</h2>
+
+<p class="first">Perhaps the most overrated modern writer. Other people have written
+everything he has to write better and many years before he got around
+to it.</p>
+
+<h3><a name="sec50" id="sec50"></a>
+The Doors of Perception</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> </span><span class="rating-bad">•••••••••• </span> (0) / <em>Nonfiction</em></p>
+
+<p>Huxley stains the name of Blake by naming this horrible
+pseudo-scientific and pseudo-poetic essay after a line from <em>The
+Marriage of Heaven and Hell</em>. Subjectivity and objectivity are
+incommensurable; his attempt and being subjectively objective is
+utterly worthless.</p>
+
+
+
+<h3><a name="sec51" id="sec51"></a>
+Heaven and Hell</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> </span><span class="rating-bad">•••••••••• </span> (0) / <em>Nonfiction</em></p>
+
+<p>Blah blah LSD blah blah Mushrooms blah blah Peyote blah blah I'm
+Aldous Huxley I'm a pretentious jerk. Don't bother.</p>
+
+
+
+
+<h2><a name="sec52" id="sec52"></a>
+William James</h2>
+
+
+
+<h3><a name="sec53" id="sec53"></a>
+The Varieties of Religious Experience</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Nonfiction</em></p>
+
+<p><a href="William%20James%20-%20The%20Varieties%20of%20Religious%20Experience.html">A partially finished extended summary</a></p>
+
+
+
+<h3><a name="sec54" id="sec54"></a>
+The PhD Octopus</h3>
+
+<p><em>Nonfiction</em></p>
+
+<blockquote>
+<p class="quoted">
+America is thus as a nation rapidly drifting towards a state of things
+in which no man of science or letters will be accounted respectable
+unless some kind of badge or diploma is stamped upon him, and in which
+bare personality will be a mark of outcast estate.  It seems to me high
+time to rouse ourselves to consciousness, and to cast a critical eye
+upon this decidedly grotesque tendency.  Other nations suffer terribly
+from the Mandarin disease.  Are we doomed to suffer like the rest?</p>
+
+</blockquote>
+
+<p><a href="William%20James%20-%20The%20PhD%20Octopus.html">Full Text</a></p>
+
+
+
+
+<h2><a name="sec55" id="sec55"></a>
+Henry James</h2>
+
+<p class="first">The novelist brother of William James; I've not read many (read:
+one) of his books, but what I did was decent.</p>
+
+<h3><a name="sec56" id="sec56"></a>
+The Altar of the Dead</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+<p>A short novella about a man who maintained an altar in a church
+for all of his lost loved ones on the surface, but something a bit
+more beneath.</p>
+
+
+
+
+<h2><a name="sec57" id="sec57"></a>
+Gregor Kiczales</h2>
+
+
+
+<h3><a name="sec58" id="sec58"></a>
+The Art of the Metaobject Protocol</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Nonfiction</em></p>
+
+<p>AMOP is useful as a reference to the CLOS MOP (although less so with
+the online MOP spec), but the true value of the book lies in the first
+half of the book. It presents the design of the CLOS MOP through a
+series of revisions that fix limitations of earlier implementations
+and gradually work toward a generic and well designed MOP for
+CLOS. Through that process one is made more aware of a few general
+object protocol design skills, and gains insight into how to cleanly
+make mapping decisions customizable.</p>
+
+
+
+
+<h2><a name="sec59" id="sec59"></a>
+Søren Kierkegaard</h2>
+
+<p class="first">Kierkegaard was a master of style and philosophy; his writing is
+interesting even if one finds the theistic extentialism espoused
+disagreeable.</p>
+
+<h3><a name="sec60" id="sec60"></a>
+Sickness Unto Death</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Nonfiction</em></p>
+
+<p>I purchased this when I was looking through books at a store after
+being unable to find the book I really wanted, and I must say that it
+was better for me to have found this one.</p>
+
+<p>Contained within is a beautiful analysis of despair in the context of
+Christianity (really theism in general). Even if the argument offends,
+the presentation cannot. The dialectical nature of despair is
+reflected in every aspect of the work, and the method of presentation
+forces reflection.</p>
+
+
+
+<h3><a name="sec61" id="sec61"></a>
+Either/Or</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Nonfiction</em></p>
+
+<p>Composed of two portions, <em>Either/Or</em> is a rather lengthy but
+rewarding read. The first book is a series of essays and a diary of a
+young esthetician; the second is a pair of long letters from an older
+ethicist friend to this esthetician. You are then left to resolve the
+conflict between the views.</p>
+
+
+
+<h3><a name="sec62" id="sec62"></a>
+Fear and Trembling</h3>
+
+<p><em>Nonfiction</em></p>
+
+<p>An interesting dialectical lyric contrasting Despair and Faith.</p>
+
+
+
+<h3><a name="sec63" id="sec63"></a>
+Repetition</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Nonfiction</em></p>
+
+<p>He who despairs of esthetic repetition gets none; he who despairs
+of ethical repetition receieves the esthetic. Is it true then that no
+repetition exists? Is transition all one can hope for?</p>
+
+
+
+
+<h2><a name="sec64" id="sec64"></a>
+Alisa Kwitney</h2>
+
+
+
+<h3><a name="sec65" id="sec65"></a>
+Destiny: A Chronicle of Deaths Foretold</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec66" id="sec66"></a>
+David Lamkins</h2>
+
+
+
+<h3><a name="sec67" id="sec67"></a>
+Successful Lisp</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Nonfiction</em></p>
+
+<p>After learning Scheme, I read <em>Successful Lisp</em> and was able to
+pick up Common Lisp fairly easily.</p>
+
+
+
+
+<h2><a name="sec68" id="sec68"></a>
+Mencius</h2>
+
+
+
+<h3><a name="sec69" id="sec69"></a>
+Mencius</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec70" id="sec70"></a>
+Walter Miller</h2>
+
+
+
+<h3><a name="sec71" id="sec71"></a>
+A Canticle for Leibowitz</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec72" id="sec72"></a>
+Alan Moore</h2>
+
+
+
+<h3><a name="sec73" id="sec73"></a>
+Watchmen</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec74" id="sec74"></a>
+V for Vendetta</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec75" id="sec75"></a>
+Thomas More</h2>
+
+
+
+<h3><a name="sec76" id="sec76"></a>
+Utopia</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+<p>I read most of Utopia in high school with the TI-89 ebook reader, but
+the way the book was split up made it a bit difficult to grasp the
+overall structure. I found a copy at a used book store one day, and so
+I read it again, and found it much more comprehensible. It is a quick
+read, and decent piece of literature. The interesting social system
+espoused resembles resembles state communism (even if perhaps as a
+negative ideal), but with an strange blend of 14th century European
+social customs.</p>
+
+
+
+
+<h2><a name="sec77" id="sec77"></a>
+Friedrich Nietzsche</h2>
+
+<p class="first">A bit acerbic and esoteric, Nietzsche is for me a good <em>secular</em>
+counterpart to Kierkegaard's theistic philosophy. Nietzsche's
+polemical works raise important questions for anyone who reads works
+on ethics. As such it is a shame that he has gotten a bad reputation
+by being read by far too many angsty teenagers who see (and relay)
+only Nietzsche the asshole rather than Nietzsche the master of the
+polemic.</p>
+
+<h3><a name="sec78" id="sec78"></a>
+Beyond Good and Evil</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Nonfiction</em></p>
+
+<p>A somewhat more comprehensible, if a bit less aesthetically
+pleasing, presentation of much of the philosophy found in <em>Thus Spoke
+Zarathustra</em> in the negative form. The final chapters are very
+important (not to detract from the value of the rest of the work) if
+one wishes to understand <em>On the Genealogy of Morals</em>.</p>
+
+
+
+<h3><a name="sec79" id="sec79"></a>
+On the Geneaology of Morals</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Nonfiction</em></p>
+
+<p><em>On the Geneaology of Morals</em> is a wonderful book of three
+polemical essays on the origin of moral/ethical valuations, and the
+blindness of modern philosphers whose very thinking is tainted by
+these valuations unknowingly.</p>
+
+
+
+<h3><a name="sec80" id="sec80"></a>
+Ecce Homo</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Nonfiction</em></p>
+
+<p><em>Ecce Homo</em> is Nietzsche's very strange autobiography and
+explanation of his own works. At points it is clear that it could have
+used a bit more editing (prevented by Nietzsche ... falling into a
+catatonic state and all), but is still a very useful book to read as
+Nietzsche explains the overall structure of his works.</p>
+
+
+
+
+<h2><a name="sec81" id="sec81"></a>
+George Orwell</h2>
+
+
+
+<h3><a name="sec82" id="sec82"></a>
+1984</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec83" id="sec83"></a>
+Animal Farm</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec84" id="sec84"></a>
+Plato</h2>
+
+
+
+<h3><a name="sec85" id="sec85"></a>
+Symposium</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec86" id="sec86"></a>
+Euthyphro</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec87" id="sec87"></a>
+Apology</h3>
+
+<p><em>Nonfiction</em></p>
+
+
+
+
+
+<h3><a name="sec88" id="sec88"></a>
+Crito</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec89" id="sec89"></a>
+Phaedo</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Nonfiction</em></p>
+
+
+
+
+
+<h3><a name="sec90" id="sec90"></a>
+Protagoras</h3>
+
+<p><em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec91" id="sec91"></a>
+Luke Rhinehardt</h2>
+
+
+
+<h3><a name="sec92" id="sec92"></a>
+The Dice Man</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+<blockquote>
+<p class="quoted">
+And it's his illusions about what
+constitutes the real world which are
+inhibiting him...
+His reality, his reason, his society
+...these are what must be destroyed</p>
+
+</blockquote>
+
+<p>A quotation from one of my <a href="http://en.wikipedia.org/wiki/Slaughter_of_the_Soul">favorite metal songs</a> inspired me to grab
+this book; at worst it would be a waste of time. Much reward was found
+in this random stab in the dark. The book is framed as an
+autobiography of the author as a psychoanalyst, and his progression
+through life as a Dice Man after deciding to live his life through
+random chance.</p>
+
+<p>The style, plot, and content are equally neurotic; part comedy, part
+attack on psychoanalysis, and part deep philosophy. It was often
+difficult to put down, and was read in under a week of spare time.</p>
+
+
+
+
+<h2><a name="sec93" id="sec93"></a>
+Neal Stephenson</h2>
+
+
+
+<h3><a name="sec94" id="sec94"></a>
+Snow Crash</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Fiction</em></p>
+
+<p>As one must read the <em>Bible</em> to understand English literature, so one
+must read <em>Snow Crash</em> today to be a nerd. In the realm of modern pop
+fiction this is one of the better books I've read; it was devoured in
+a mere four nights. Neal Stepheson may not be Milton, but he does come
+up with enganging tales. <em>Snow Crash</em> has a nice undertone of (quite
+accurate) political and social commentary that makes it worth reading
+as more than mere cyberpunk fiction.</p>
+
+
+
+<h3><a name="sec95" id="sec95"></a>
+Cryptonomicon</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">•• </span> (8) / <em>Fiction</em></p>
+
+<p>I read <em>Cryptonomicon</em> when it was new, and at the time I thought it was
+good. It could have lost a hundred or so pages without detracting from
+the plot, but it was easy reading and didn't take very long to
+finish. The story was enganging, and the continual switching between
+the 1940s and present day slowly unravelled the tale in a nice way.</p>
+
+<p>I'd still have to recommend <em>Snow Crash</em> if one wished to read only one
+Stephenson novel.</p>
+
+
+
+
+<h2><a name="sec96" id="sec96"></a>
+Bjarne Stroustrup</h2>
+
+
+
+<h3><a name="sec97" id="sec97"></a>
+The C++ Programming Language (3rd edition)</h3>
+
+<p><em>Nonfiction</em></p>
+
+<p>Once upon a time I was fifteen and I read this book. It was more
+or less what taught me how to write programs just large enough to do
+useful things, and so shall forever be remembered by me. A year and a
+half later I stumbled upon a little language called Scheme and fell
+down the rabbit hole.</p>
+
+
+
+
+<h2><a name="sec98" id="sec98"></a>
+JRR Tolkien</h2>
+
+
+
+<h3><a name="sec99" id="sec99"></a>
+The Lord of the Rings</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">• </span> (9) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec100" id="sec100"></a>
+The Silmarillion</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad"> </span> (10) / <em>Fiction</em></p>
+
+
+
+
+
+<h3><a name="sec101" id="sec101"></a>
+The Lost Tales</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+
+
+
+
+
+<h2><a name="sec102" id="sec102"></a>
+H.G. Wells</h2>
+
+
+
+<h3><a name="sec103" id="sec103"></a>
+The Island of Dr Moreau</h3>
+
+<p><em>Rating:</em> <span class="rating-good"> â€¢â€¢â€¢â€¢â€¢â€¢â€¢</span><span class="rating-bad">••• </span> (7) / <em>Fiction</em></p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;captain_krunk&gt; ntk is currently using "telnet fyodor 25" to send email
+</p>
+<p class="cke-timestamp">Last Modified:
+    May  9, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Books.html b/Books.html
new file mode 100644 (file)
index 0000000..517e1a3
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Books</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Books</h1>
+   <div class="contents">
+<dl>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p><a name="title" id="title"></a>
+Book Reviews of a Sort</p>
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Sonarman&gt; WHAT??!??! you don't want to attend my roundtable on
+           neomarxist deconstruction schemes for modern
+           capitalism? YOU'RE PROPPING UP THE SYSTEM, PIG.
+&lt;Sonarman&gt; brb latte
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Cary to Greensboro Bicycle Route.html b/Cary to Greensboro Bicycle Route.html
new file mode 100644 (file)
index 0000000..59b8c7d
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Earth Day Trip to Greensboro</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Earth Day Trip to Greensboro</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Route</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">UNC Greensboro</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec3">Return Route</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Alternative</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>UNCGreen was having an Earth Day celebration a bit early (to avoid
+conflicts with final exams) on April 19, 2007. I know several people
+who attend UNCG, and I was in Morrisville at the time so I decided to
+tape my handlebars green and make the trek.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Route</h2>
+
+<p class="first">The route starts in the middle of Morrisville/Cary on Davis Drive at
+the corner of High House Road facing South, and ends at the Amtrak
+Depot in Greensboro.</p>
+
+<ol>
+<li>R High House Road</li>
+<li>Continue on High House - becomes Green Hill Road</li>
+<li>L Lewter Shop Road @ End of Road</li>
+<li>R NC-751</li>
+<li>L Martha's Chapel Road</li>
+<li>R Farrington Road (1008) @ Jordan Lake</li>
+<li>L Lystra Road @ Light</li>
+<li>L Jack Bennet Road</li>
+<li>L US-15-501 @ Light</li>
+<li>R Andrew's Store Road @ Shop Quick Gas Station</li>
+<li>L Mann's Chapel Road</li>
+<li>R Oak Hill Road</li>
+<li>R Hamlet Chapel Road</li>
+<li>L River Road</li>
+<li>L Chicken Bridge Road (crossing Haw River)</li>
+<li>R Mount Olive Church Road</li>
+<li>Continue on Mount Olive - becomes Russell Road</li>
+<li>L Greenhill Road</li>
+<li>R Old Switchboard Road</li>
+<li>R Lindley Mill Road</li>
+<li>L Major Hill Road</li>
+<li>Bear R Hollman Mill Road</li>
+<li>L Griffin Road</li>
+<li>L Snow Camp Road</li>
+<li>R Sylvan School Road</li>
+<li>Bear R Sylvan School Road - becomes W Greensboro Chapel
+Hill Road (1005) at Pleasant Hill Church Road</li>
+<li>L Alamance Church Road</li>
+<li>Cross 40 and enter Greensboro</li>
+<li>R Willow Road</li>
+<li>L McConnel Road</li>
+<li>Bear L E Washington Street</li>
+<li>Arrive at Amtrak Depot</li>
+</ol>
+
+<h3><a name="sec2" id="sec2"></a>
+UNC Greensboro</h3>
+
+<ol>
+<li>Continue on E Washington Street</li>
+<li>L S Spring Street</li>
+<li>Bear R Spring Garden Street</li>
+<li>R Tate Street</li>
+<li>Arrive at University</li>
+</ol>
+
+
+
+<h2><a name="sec3" id="sec3"></a>
+Return Route</h2>
+
+<p class="first">I based my route on a route from the
+<a href="http://cycling.ahands.org/greensboro-raleigh.html">Greensboro Amtrak to Raleigh Amtrak</a>. I had to reverse it as it was in
+the wrong direction. It should be obvious how to get back to Cary or
+Morrisville; simply hit whatever road in town you need from High House
+Road.</p>
+
+<h3><a name="sec4" id="sec4"></a>
+Alternative</h3>
+
+<p class="first">Instead of turning on Andrew's Store Road, continue on Mann's Chapel
+until it hits US-15/501. If you take the left you will end up
+intersection with NC54 or can go into Chapel Hill. NC54 East can be
+taken all the way back to Raleigh. It isn't <em>that</em> bad to ride on, but
+I'd recommend not doing it after dark unless your bicycle is very
+bright.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;emag&gt; http://www.etonline.com/celebrities/news/38722/
+&lt;Leebert&gt; emag: I don't see any other source claiming she's dead,
+          just collapsed.
+&lt;tim_m&gt; what's wrong with et online?
+&lt;ascii_phil&gt; It keeps trying to use Skype to phone home.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Code.html b/Code.html
new file mode 100644 (file)
index 0000000..6c2411e
--- /dev/null
+++ b/Code.html
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Programming Projects</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Programming Projects</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Common Lisp</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">UnCommon Web Related</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Golgonooza</a>
+</dt>
+<dt>
+<a href="#sec4">ucw-forms</a>
+</dt>
+<dt>
+<a href="#sec5">ucw-core branch</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Trivial-Timers</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec7">Scheme</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec8">Guile XOSD2</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec9">Standard ML</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec10">Domtool</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec11">Old Projects</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec12">Bobot++</a>
+</dt>
+<dt>
+<a href="#sec13">Guile-Web</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>All of my current, and mostly not so current, projects are browsable in
+a few places:</p>
+
+<ul>
+<li><a href="http://unknownlamer.org/darcsweb/browse">my darcsweb</a></li>
+<li><a href="http://git.hcoop.net/?a=project_list;pf=clinton">my gitweb</a>, and the <a href="http://git.hcoop.net/?a=project_list;o=age;pf=hcoop">HCoop projects gitweb</a></li>
+</ul>
+
+<p>You might want to take a look at my <a href="Lisp.html">Lisp related projects</a> page too.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Common Lisp</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+UnCommon Web Related</h3>
+
+<h4><a name="sec3" id="sec3"></a>
+<a href="http://unknownlamer.org/darcsweb/browse?r=golgonooza;a=summary">Golgonooza</a></h4>
+
+<p class="verse">
+Fourfold the Sons of Los in their divisions: and fourfold.<br />
+The great City of Golgonooza: fourfold toward the north<br />
+And toward the south fourfold, &amp; fourfold toward the east &amp; west<br />
+Each within other toward the four points: that toward<br />
+Eden. and that toward the World of Generation.<br />
+And that toward Beulah. and that toward Ulro;<br />
+Ulro is the space of the terrible starry wheels of Albions sons:<br />
+But that toward Eden is walled up. till time of renovation:<br />
+Yet it is perfect in its building. ornaments &amp; perfection.<br />
+</p>
+
+<p>Golgonooza is a set of utility components for <a href="http://common-lisp.net/projects/ucw/repos/ucw-core/">ucw-core</a>. As of December
+2008 it is nearing a releasable state and is in use on
+<a href="http://bees-kneesfilms.com">one production site online</a> (<a href="http://unknownlamer.org/darcsweb/browse?r=beesknees;a=summary">darcsweb::beesknees</a> for source).</p>
+
+
+<h4><a name="sec4" id="sec4"></a>
+<a href="http://unknownlamer.org/darcsweb/browse?r=ucw-forms;a=summary">ucw-forms</a></h4>
+
+<p class="first">ucw-forms is a slightly enhanced and de-javascripted version of the
+forms library from ucw_ajax updated for use with ucw-core.</p>
+
+
+<h4><a name="sec5" id="sec5"></a>
+<a href="http://unknownlamer.org/darcsweb/browse?r=ucw-core_clinton;a=summary">ucw-core branch</a></h4>
+
+<p class="first">I maintain a personal branch of ucw-core with various work in progress
+patches that are intended to go upstream. My primary task is filling
+in the ucw-standard library which was removed in the ucw-core fork.</p>
+
+
+
+<h3><a name="sec6" id="sec6"></a>
+<a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">Trivial-Timers</a></h3>
+
+<p><a href="http://retes.hu/~mega/git/?p=clon.git;a=summary">Clon</a> is a nice library for scheduling tasks within a Lisp image, but
+it used the SBCL timer extension. I wanted to run something using Clon
+on <a href="http://trac.clozure.com/openmcl">Clozure CL</a> and so I looked at the SBCL source and found that, after
+a bit of fairly straightforward editing, it was possible to write a
+portable version for any compiler supporting <a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. The
+SBCL timers internally use <code>sb-unix:setittimer</code>; Rather than using
+<a href="http://common-lisp.net/project/osicat/">Osicat</a> to emulate this I chose to rework the scheduling loop to run in
+a dedicated thread that sleeps on a condition variable with a
+timeout. This seems <em>cleaner</em> to me than using POSIX lib calls, but
+requires a threaded Lisp.</p>
+
+<p><a href="http://releases.unknownlamer.org/trivial-timers/">Releases are available</a> with the usual <a href="http://unknownlamer.org/darcsweb/browse?r=trivial-timers;a=summary">darcs repo</a>. Currently there is a
+native SBCL implementation and a portable implementation relying upon
+<a href="http://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a>. Patches to export other Lisp implementations' timer
+interface are welcome.</p>
+
+
+
+<h2><a name="sec7" id="sec7"></a>
+Scheme</h2>
+
+<h3><a name="sec8" id="sec8"></a>
+<a href="http://unknownlamer.org/darcsweb/browse?r=guile-xosd2;a=summary">Guile XOSD2</a></h3>
+
+<p class="first">A simple SWIG based wrapper for <a href="http://www.ignavus.net/software.html">libxosd2</a>. I forked this from
+<a href="https://gna.org/projects/guile-xosd">guile-xosd</a> after the maintainer did not respond to an email with a
+small patch to make the interface nicer. Guile-XOSD2 requires SWIG
+1.3.x and has been tested against the VM branch of Guile. I renamed
+most of the functions to have properly Scheme names.</p>
+
+
+
+<h2><a name="sec9" id="sec9"></a>
+Standard ML</h2>
+
+<h3><a name="sec10" id="sec10"></a>
+<a href="http://wiki.hcoop.net/DomTool">Domtool</a></h3>
+
+<p class="first">Originally authored by <a href="http://www.schizomaniac.net/">Adam Chlipala</a>, as of late 2010 I have been
+tasked with keeping it up to date for <a href="http://hcoop.net">HCoop</a>.</p>
+
+
+
+<h2><a name="sec11" id="sec11"></a>
+Old Projects</h2>
+
+<p class="first">I used to work on some programs in terrible languages like <code>C++</code> when I
+was a poor misguided youth. I still attempt to respond to bug reports
+and patches for any that are still in use (<em>Bobot++</em> appears to be the
+only one), but they are otherwise not being worked upon.</p>
+
+<h3><a name="sec12" id="sec12"></a>
+<a href="../code/bobot.html">Bobot++</a></h3>
+
+<p class="first">A fancy little IRC bot that is extensible with Scheme. If you can
+figure out the scripting interface (which is <a href="../code/bobotpp-manual.html#SEC35">partially documented</a>) it
+is fairly powerful. <code>dsmith</code> from <code>#guile</code> has a nicely featured bot
+written on top of Bobot++; if I find time I shall attempt to post the
+source.</p>
+
+<p>There is now a <a href="http://unknownlamer.org/darcsweb/browse?r=bobot%2B%2B;a=summary">darcs repo</a> available with a few minor changes. I am
+sporadically working to make the internals of the bot fully threadsafe
+so that multithreaded Scheme extensions don't run into issues. I may
+potentially clean up the Scheme interface as well (as it was clearly
+not designed by a Schemer and I was not so well versed in proper style
+in 2002 when I did most of my work on Bobot++).</p>
+
+
+<h3><a name="sec13" id="sec13"></a>
+<a href="../code/guile-web.html">Guile-Web</a></h3>
+
+<p class="first">A perhaps still useful library of web related utilities for
+<a href="http://www.gnu.org/software/guile/guile.html">Guile Scheme</a>. Be warned that the serializer is inefficient, consy, and
+hacky as Hell, but the <a href="../code/guile-web-manual.html#SEC6">XHTML generation library</a> might be useful.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">   (1) _Of course_ we made sure it was actually too slow before making
+the ugly optimization.
+</p>
+<p class="cke-timestamp">Last Modified:
+    May  9, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Cooking.html b/Cooking.html
new file mode 100644 (file)
index 0000000..8ae60e4
--- /dev/null
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Guess You Gotta Eat</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Guess You Gotta Eat</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Bread</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Yeast Ranching</a>
+</dt>
+<dt>
+<a href="#sec3">Pita</a>
+</dt>
+<dt>
+<a href="#sec4">Normal Bread</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Rice and Whatnot</a>
+</dt>
+<dt>
+<a href="#sec6">Roasted Plant Matter</a>
+</dt>
+<dt>
+<a href="#sec7">Roasted Animal Flesh</a>
+</dt>
+<dt>
+<a href="#sec8">Things Into Which Other Things Are Dipped</a>
+</dt>
+<dt>
+<a href="#sec9">Things Which Are Placed Upon Other Things</a>
+</dt>
+<dt>
+<a href="#sec10">Things That Go Into Other Things</a>
+</dt>
+<dt>
+<a href="#sec11">Light Fare</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Bread</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Yeast Ranching</h3>
+
+<p class="first">Rather than buy yeast I decided to be hardcore and capture wild yeast
+in a jar. It is actually <a href="http://www.io.com/~sjohn/sour.htm">pretty damn easy</a>. I used the method mentioned
+in the former link, but added a bit of <em>science</em> (or&mdash;I've kept a beer
+yeast starter before). I used my giant bottle of Iodophor to sanitize
+the jar in which the yeast were to live (starting with a clean slate;
+I rinsed the jar afterward with tap water and didn't sanitize any
+utensils), made sure the water used for feeding was at about 90°F, and
+fed the starter a tablespoon of dry malt extract (maltose being to
+yeast what fast food is to an American) and a quarter teaspoon of
+lemon juice (just to slightly acidify the initial mix and make the
+yeasties new home a bit more hospitable to only them at first) for the
+first two days. This resulted in a bubbly and happy starter on the
+third day, made interesting bread on the fourth, and was successfully
+cloned for someone else on the fifth!</p>
+
+<p>Just remember to measure the volume of the original mixture and write
+that down so you can easily substitute it into recipes (mine worked
+out to â…” cup of starter from Â½ cup of flour and water, but flour
+varies in absorbency rabble blah moo etc.).</p>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Pita</h3>
+
+<ul>
+<li><a href="Pita.html">Pita</a> (the base for all of the others)</li>
+<li><a href="Olive%20Pita.html">Olive Pita</a></li>
+<li><a href="Sun%20Dried%20Tomato%20Pita.html">Sun Dried Tomato Pita</a></li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Normal Bread</h3>
+
+<ul>
+<li><a href="Sourdough%20Rye.html">Sourdough Rye</a></li>
+</ul>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+Rice and Whatnot</h2>
+
+<ul>
+<li><a href="http://www.superluminal.com/cookbook/pilaf_chelou.html">Chelou</a> (I usually add barberries)</li>
+<li><a href="http://www.turkishcookbook.com/2005/08/bulgur-pilaf.php">Bulgar Pilaf</a></li>
+</ul>
+
+
+<h2><a name="sec6" id="sec6"></a>
+Roasted Plant Matter</h2>
+
+<ul>
+<li><a href="Black%20Bean%20Burgers.html">Black Bean Burgers</a></li>
+<li><a href="Basic%20Sauteed%20Tofu.html">Basic Sauteed Tofu</a></li>
+</ul>
+
+
+<h2><a name="sec7" id="sec7"></a>
+Roasted Animal Flesh</h2>
+
+<ul>
+<li>Basic <a href="Beef%20and%20Lamb%20Kebabs.html">Beef and Lamb Kebabs</a></li>
+<li><a href="Koftah-Adana%20Hybrid%20Kebabs.html">Koftah-Adana Hybrid Kebabs</a></li>
+</ul>
+
+
+<h2><a name="sec8" id="sec8"></a>
+Things Into Which Other Things Are Dipped</h2>
+
+<ul>
+<li><a href="Maast-o%20Khiar.html">Maast-o Khiar</a></li>
+<li><a href="Hummus.html">Hummus</a></li>
+<li><a href="Guacamole.html">Guacamole</a></li>
+</ul>
+
+
+<h2><a name="sec9" id="sec9"></a>
+Things Which Are Placed Upon Other Things</h2>
+
+<ul>
+<li><a href="Habanero%20Hot%20Sauce.html">Habanero Hot Sauce</a></li>
+</ul>
+
+
+<h2><a name="sec10" id="sec10"></a>
+Things That Go Into Other Things</h2>
+
+<ul>
+<li><a href="Roasted%20Garlic.html">Roasted Garlic</a></li>
+</ul>
+
+
+<h2><a name="sec11" id="sec11"></a>
+Light Fare</h2>
+
+<ul>
+<li><a href="http://www.superluminal.com/cookbook/small_dolmas.html">Dolmas</a></li>
+</ul>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Leebert: You don't listen to music.
+Leebert: You listen to the audio equivalent of /dev/urandom
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  1, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Guacamole.html b/Guacamole.html
new file mode 100644 (file)
index 0000000..5fc0c65
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Clinton's Eyeballed Spicy Guacamole</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Clinton's Eyeballed Spicy Guacamole</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Recipe</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here --><h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<p class="first">Makes around 1 Â¼ quarts</p>
+
+<ul>
+<li>2 lbs avocados</li>
+<li>2 limes (juiced)</li>
+<li>1 tsp table salt</li>
+<li>3 small roma tomatoes (diced and juiced drained)
+
+<ul>
+<li>Juliette tomatoes work better, if you have a garden</li>
+</ul></li>
+<li>1/2 medium white onion (diced)</li>
+<li>4 cloves garlic (minced)</li>
+<li>1 habanero (minced)</li>
+<li>2 Serrano peppers (minced)</li>
+</ul>
+
+<p>This is pretty spicy; leave out either the habanero or Serrano peppers
+for a lower spice version. Use one Serrano pepper for a mild version,
+or a single jalapeno if you're scared of capsaicin. You want at least
+a little pepper for flavor.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Recipe</h2>
+
+<ol>
+<li>Dissolve the salt into the lime juice</li>
+<li>Cut avocados in half and spoon flesh into mixing bowl</li>
+<li>Mash the avocados, and lime juice and salt mixture</li>
+<li>Add everything else and mix up with a spatula or spoon</li>
+<li>Transfer to storage container and refrigerate for around 30
+minutes</li>
+<li>Eat</li>
+</ol>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">Don't worry about being <em>too</em> precise here.</p>
+
+<p>I am lazy, and usually quarter and then pulse the tomatoes and onions
+(separately) in a food processor a few times (until the bits are
+evenly sized). When using a food processor for the tomatoes, after
+straining they can be wrapped in paper towels (or clean cheese cloth)
+and squeezed gently to remove some of the liquid (otherwise it
+separates after a night in the fridge &mdash; if you're going to use the
+guacamole immediately it's OK to skip squeezing the tomatoes).</p>
+
+<p>Make sure to macerate or <strong>very</strong> finely mince the peppers and garlic (a
+food chopper works great); otherwise some bits will burn like Hell,
+and other will not be hot at all. I like a blend of habanero and
+Serrano; I find the habanero gives an upfront kick that fades quickly,
+with the Serrano slowly warming in the background to support it.</p>
+
+<p>As for the salt you can use a bit more if you'd prefer. I don't like
+my guacamole very salty so I use a single teaspoon of table salt, but
+two isn't necessarily overpowering.</p>
+
+<p>I don't use cilantro because I'm indifferent to it and at least one
+person I know that shares the guacamole actively dislikes it. The lime
+has been increased a bit to make up for it. A few tablespoons of
+freshly chopped Italian flat parsley can be incorporated to add a mild
+herbaceous/bitter note, but trying it both ways I don't feel the need
+to add any nowadays.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">And did those feet in ancient time
+Walk upon England's mountains green?
+And was the holy Lamb of God
+On England's pleasant pastures seen?
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  7, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Habanero Hot Sauce.html b/Habanero Hot Sauce.html
new file mode 100644 (file)
index 0000000..99e63d7
--- /dev/null
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Mango and Molasses Habanero Hot Sauce</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Mango and Molasses Habanero Hot Sauce</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">A Warning From the Future</a>
+</dt>
+<dt>
+<a href="#sec2">Ingredients</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Common</a>
+</dt>
+<dt>
+<a href="#sec4">Super Hot</a>
+</dt>
+<dt>
+<a href="#sec5">Edible and Tasty</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Directions</a>
+</dt>
+<dt>
+<a href="#sec7">Dear God Why</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec8">A Justification for the Mild Variant</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+A Warning From the Future</h2>
+
+<p class="first">I made this recipe very, very long ago. I didn't calculate the correct
+amount of vinegar needed to make it shelf stable, so it probably
+isn't. Reader beware.</p>
+
+<p>I'll probably update this in Fall 2020 as I'll have a garden again for
+the first time in a few years, and should be making some hot sauce
+with the hot peppers left at the end of the season.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Ingredients</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+Common</h3>
+
+<ul>
+<li>1 Extra Large Mango (or 2 medium)</li>
+<li>1/3 cup apple cider vinegar</li>
+<li>3 tbsp molasses</li>
+<li>1 1/2 tbsp cumin</li>
+<li>1 tsp sea salt</li>
+<li>1 tbsp paprika</li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Super Hot</h3>
+
+<ul>
+<li>15ish Fresh Habaneros
+
+<ul>
+<li>Do not deseed</li>
+</ul></li>
+<li>1 tbsp cayenne pepper</li>
+</ul>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Edible and Tasty</h3>
+
+<ul>
+<li>7 or 8 fresh habaneros
+
+<ul>
+<li>Deseed and remove the inner flesh</li>
+</ul></li>
+<li>Equivalent mass of fresh red bell pepper (<a href="https://web.archive.org/web/20130527144021/http://www.ochef.com/158.htm">roasted</a>)</li>
+</ul>
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Directions</h2>
+
+<ol>
+<li>Put on gloves and perhaps a respirator and goggles to avoid <em>death
+by capsaicin</em></li>
+<li>Peel and pit the Mango (naturally)</li>
+<li>Place everything into a food processor</li>
+<li>Whir about until it turns into some kind of paste (60ish seconds
+seems fine)</li>
+<li>Transfer to a pan, cover, and simmer for around five minutes</li>
+<li>Store in a jar and refrigerate</li>
+<li>Destroy your tastebuds</li>
+</ol>
+
+
+<h2><a name="sec7" id="sec7"></a>
+Dear God Why</h2>
+
+<p class="first">The year was 2010. The season was summer. The location a pot garden. A
+bell pepper seedling died a few weeks into the growing season owing to
+being weak or perhaps poorly taken care of. To avoid wasting the soil
+and pot a package of habanero seedlings was procured; one was to be
+planted and the other two given away, but no one came through on their
+offer to adopt the plants. Thus the garden ended up with three
+habanero plants. It is a little known fact that habaneros produce
+ridiculous numbers of peppers, and so something had to be done with
+them after the family grew sick of spicy foods every night.</p>
+
+<h3><a name="sec8" id="sec8"></a>
+A Justification for the Mild Variant</h3>
+
+<p class="first">The initial super hot sauce proved to be tasty for a moment and then
+overwhelmingly hot. Now, don't get me wrong, I like incredibly spicy
+things, but the initial flavor of the sauce was rather nice and it
+seemed a shame to have it destroyed by the habanero. With the
+replacement of some habanero by a sweet pepper the flavors come into
+balance, and the sauce becomes a rather nice adjunct to things like
+chili or black bean burritos.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Sonarman&gt; WHAT??!??! you don't want to attend my roundtable on
+           neomarxist deconstruction schemes for modern
+           capitalism? YOU'RE PROPPING UP THE SYSTEM, PIG.
+&lt;Sonarman&gt; brb latte
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  1, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Homebrewing.html b/Homebrewing.html
new file mode 100644 (file)
index 0000000..9b771f6
--- /dev/null
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Ale is Neat</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Ale is Neat</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Current Activity</a>
+</dt>
+<dt>
+<a href="#sec2">More Recent Brews</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">English IPA</a>
+</dt>
+<dt>
+<a href="#sec4">Cernunnos (Ginger-Chamomile Wheat Ale)</a>
+</dt>
+<dt>
+<a href="#sec5">Nowruz (India Pale Ale)</a>
+</dt>
+<dt>
+<a href="#sec6">Thoth (Foreign Extra Stout If You Bend a Bit)</a>
+</dt>
+<dt>
+<a href="#sec7">Pale Ale</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec8">Cider / Apfelwein / Cyser</a>
+</dt>
+<dt>
+<a href="#sec9">Long Past Brews</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec10">Pale Ale</a>
+</dt>
+<dt>
+<a href="#sec11">Porter</a>
+</dt>
+<dt>
+<a href="#sec12">Wheat Ale</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Once upon a time I brewed beer. Then I lost access to my roommate's
+kettle owing to moving three hundred miles, and there was much sadness
+for my poor kit lacked all but this very expensive kettle. A new
+kettle has finally fallen into my hands, and so beer may be brewed
+again.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Current Activity</h2>
+
+<p class="first">I started brewing again with a few friends (makes it much easier to
+actually get around to doing it when you have help). Since multiple
+people are involved we are using <a href="http://wiki.calefaction.org/HomeBrewing">a wiki</a> to collaborate. This poor page
+will probably remain dusty because I can just put things there
+instead.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+More Recent Brews</h2>
+
+<p class="first">I decided to at least make a stab at being unlazy and actually linking
+to the files that are stored with the website. I keep a reasonable
+brewing log (probably dry and boring to almost everyone) in the files
+themselves.</p>
+
+<p>I'm only bothering to list recipes that have been brewed and bottled
+here&mdash;information on anything in the pipeline is at the <a href="http://wiki.calefaction.org/HomeBrewing">brewing wiki</a>
+since it is liable to change a lot.</p>
+
+<p>Since old trusty <a href="http://www.usermode.org/code.html">QBrew</a> is no longer actively maintained and <a href="http://brewtarget.sourceforge.net/">Brewtarget</a>
+is I've switched over to that. Meaning my newer recipes are in <a href="http://beerxml.com">BeerXML</a>
+that theoretically can be imported into other programs, but may very
+well only work in Brewtarget.</p>
+
+<h3><a name="sec3" id="sec3"></a>
+English IPA</h3>
+
+<p class="first">We had a lot of leftover ingredients after
+<a href="http://pursuing.calefaction.org/2011/11/the-things-i-do-for-love/">Steve's amazing brewing Odyssey</a>, most of them English grains and
+hops. As such I threw together the leftovers into what seemed like it
+would be a good approximation of an English IPA. We even threw this
+onto the yeast cake of the last batch in the wedding brews (an ESB).</p>
+
+<p>Unfortunately, it was a wee bit underwhemling. Since we have a fancy
+temperature controlled fridge now, I decided to brew around 68F (no
+risk of overshooting). It came out slightly musty and generally
+bland... still, for being made from leftovers it's alright.</p>
+
+<ul>
+<li><a href="beer-recipes/8-English%20IPA/english_ipa-8_a.html">Batch A</a> 2011-10-16 (<a href="beer-recipes/8-English%20IPA/english_ipa-8_a.xml">source</a>)</li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Cernunnos (Ginger-Chamomile Wheat Ale)</h3>
+
+<p class="first">Cheap and quick to make, this is ready to drink after a quick
+fermentation and as soon as the bottles carbonate. The chamomile
+really shines here adding a honey-like note; the ginger adds
+additional earthiness and a bit of zing; Sorachi Ace hops finish
+everything up with notes of lemon cream.</p>
+
+<ul>
+<li><a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_a.html">Batch A 2011-05-04</a> (<a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_a.xml">source</a>)</li>
+<li><a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_b.html">Batch B 2011-07-05</a> (<a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_b.xml">source</a>)</li>
+<li><a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_c.html">Batch C 2012-02-18</a> (<a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_c.xml">source</a>)</li>
+<li><a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_d.html">Batch D 2012-02-18</a> (<a href="beer-recipes/7-Ginger%20Chamomile%20Wheat/ginger_chamomile_wheat-7_d.xml">source</a>) - My first ten gallon batch. I lost
+about a gallon, but what can you do.</li>
+</ul>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Nowruz (India Pale Ale)</h3>
+
+<p class="first">Perhaps my finest recipe to date. A suggestion to continuously hop was
+heeded and the result was incredible.</p>
+
+<ul>
+<li><a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_a.html">Batch A</a> 2011-03-20 (<a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_a.xml">source</a>)</li>
+<li><a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_b.html">Batch B</a> 2011-06-11 (<a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_b.xml">source</a>) This adds Centennial and expanded the
+dry hopping a bit &mdash; the Centennial was out of place, and the extra
+dry hopping overpowered the fruity notes present in Batch A. But
+the extra bitterness and attenuation definitely improved things.</li>
+<li><a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_c.html">Batch C</a> 2012-01-11 (<a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_c.xml">source</a>) Back to the basics, but adding Citra to
+the boil and using Chico Yeast. First impressions are: even better
+than Batch A!</li>
+<li><a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_d.html">Batch D</a> 2012-05-06 (<a href="beer-recipes/4-India%20Pale%20Ale/india_pale_ale-4_d.xml">source</a>) Ten gallons, half on US ale yeast, half
+on Wyeast <a href="http://www.wyeastlab.com/rw_yeaststrain_detail.cfm?ID=136">Belgian Ardennes</a> yeast. Initial impressions are that the
+Belgian version is amazing: the fruit flavors and phenols from the
+yeast complement the hopping quite nicely.</li>
+</ul>
+
+
+<h3><a name="sec6" id="sec6"></a>
+Thoth (Foreign Extra Stout If You Bend a Bit)</h3>
+
+<p class="first">An attempt at experimentation&mdash;an adjunct (blackstrap molasses), a
+spice (star anise), and a reused yeast cake (Ringwood from a
+<a href="http://beeradvocate.com/beer/profile/113/576/">Samuel Smith's Nut Brown Ale</a> clone).</p>
+
+<ul>
+<li><a href="beer-recipes/5-Strong%20Stout/strong_stout-5_a.html">Thoth</a> (<a href="beer-recipes/5-Strong%20Stout/strong_stout-5_a.qbrew">source</a>)</li>
+</ul>
+
+
+<h3><a name="sec7" id="sec7"></a>
+Pale Ale</h3>
+
+<p class="first">My first brew, resurrected.</p>
+
+<ul>
+<li><a href="beer-recipes/1-Pale%20Ale/pale_ale-1_c.html">First Time on the New Rig</a> (<a href="beer-recipes/1-Pale%20Ale/pale_ale-1_c.qbrew">source</a>)</li>
+</ul>
+
+
+
+<h2><a name="sec8" id="sec8"></a>
+Cider / Apfelwein / Cyser</h2>
+
+<p class="first">My girlfriend hates carbonation and so, inspired by Edwort's
+Applewine, I started experimenting with batches of cider. I'm keeping
+some notes, but doing it more by &quot;I guess this is the gravity...&quot; than
+with brewing due to the fairly different production
+methods. Eventually I hope to get wine making down a bit better...</p>
+
+<p>Occasionally I dump the text notes from my phone to
+<a href="http://wiki.calefaction.org/ClintonEbadi/Cider">a page on Steve's wiki</a>.</p>
+
+
+<h2><a name="sec9" id="sec9"></a>
+Long Past Brews</h2>
+
+<p class="first">I present to you my poorly annotated <a href="http://www.usermode.org/code.html">QBrew</a> files from my ancient brews
+made in the lands of pleasant living.</p>
+
+<h3><a name="sec10" id="sec10"></a>
+Pale Ale</h3>
+
+<ul>
+<li><a href="beer-recipes/1-Pale%20Ale/pale_ale-1_a.html">First Brew Ever</a> (<a href="beer-recipes/1-Pale%20Ale/pale_ale-1_a.qbrew">source</a>)</li>
+<li><a href="beer-recipes/1-Pale%20Ale/pale_ale-1_b.html">Revision B</a> (<a href="beer-recipes/1-Pale%20Ale/pale_ale-1_b.qbrew">source</a>)</li>
+</ul>
+
+
+<h3><a name="sec11" id="sec11"></a>
+Porter</h3>
+
+<ul>
+<li>The record of the first brew has been lost in time</li>
+<li><a href="beer-recipes/2-Porter/porter-2_b.html">Second Attempt</a> (<a href="beer-recipes/2-Porter/porter-2_b.qbrew">source</a>)</li>
+</ul>
+
+
+<h3><a name="sec12" id="sec12"></a>
+Wheat Ale</h3>
+
+<ul>
+<li><a href="beer-recipes/3-Wheat%20Ale/wheat_ale-3_a.html">Bannanas</a> (<a href="beer-recipes/3-Wheat%20Ale/wheat_ale-3_a.qbrew">source</a>) &mdash; A very hot fermentation made this taste like
+liquid bannanas it was ... interesting.</li>
+</ul>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">clinton: last time I was a bit weak (*sniff* level four and only 18 hp)
+clinton: I had a -1 intelligence modifier for the first three weeks
+emacsen: what about your character?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Hummus.html b/Hummus.html
new file mode 100644 (file)
index 0000000..5acd742
--- /dev/null
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Hummus</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Hummus</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Preparing the Beans</a>
+</dt>
+<dt>
+<a href="#sec4">Bell Pepper</a>
+</dt>
+<dt>
+<a href="#sec5">And Now for the Actual Hummus</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here --><h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1 cup dried chick peas (or two cans; if using cans, try to find &quot;no
+salt added&quot; to avoid making things too salty)</li>
+<li>1/4 cup liquid from chick peas (or vegetable stock)</li>
+<li>8 cloves (one head) of <a href="Roasted%20Garlic.html">Roasted Garlic</a></li>
+<li>Medium red bell pepper, roasted</li>
+<li>2 tsp paprika</li>
+<li>1 tsp ground cumin</li>
+<li>1/2 tsp table salt</li>
+<li>5 tbsp (~1 lemon) fresh lemon juice</li>
+<li>2 tbsp extra virgin olive oil (if you can get your hands on it,
+<a href="http://www.palestineoliveoil.org/">Holy Land</a> is great)</li>
+<li>5 tbsp tahini</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+Preparing the Beans</h3>
+
+<p class="first">Just soak a cup of dried beans at least overnight in a couple of cups
+of water. Drain them and throw them into a pot with enough water to
+just more than cover them (an extra inch or so seems to be
+good). Bring everything to a boil uncovered, and then cut the heat
+back to simmer partially covered for about an hour or an hour and a
+half (when the skins split easily they have a good texture).</p>
+
+<p>When you drain them save the liquid and use that when blending the
+hummus.</p>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Bell Pepper</h3>
+
+<p class="first">Scorch the skin off of the bell pepper over flame or under a broiler
+(optional &mdash; I leave the skins on and notice no difference), and then
+<a href="https://web.archive.org/web/20130527144021/http://www.ochef.com/158.htm">roast the pepper</a>:</p>
+
+<blockquote>
+<p class="quoted">To roast the pepper, put the cut pieces in a baking dish with a
+little oil and pop it into a 400°F (205°C) oven, until the pieces
+are tender and slightly browned, about 35 minutes.</p>
+</blockquote>
+
+<p>Conveniently, this is the same temperature garlic is roasted at, so
+you can roast both at the same time.</p>
+
+
+<h3><a name="sec5" id="sec5"></a>
+And Now for the Actual Hummus</h3>
+
+<ol>
+<li>Prepare the beans (or open canned beans).</li>
+<li>Add beans, roasted garlic, and chickpea water to food processor work
+bowl; process for two minutes.</li>
+<li>Add lemon juice; process for one minute</li>
+<li>Add tahini, roasted bell pepper, salt, cumin, and paprika; process
+for one minute.</li>
+<li>Drizzle olive oil in while processing for three minutes.</li>
+<li>Garnish if you desire (minced garlic, capers, coarsely ground
+black pepper, and olive oil for example).</li>
+<li>Take to a gathering of some sort.</li>
+<li>Watch the hummus evaporate.</li>
+</ol>
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Notes</h2>
+
+<p class="first">One time I decided to make hummus for folks and alas! I forgot to soak
+beans the night before. My strange friend came to the rescue with the
+equivalent amount of home prepared white beans and it was a good
+substitute (slightly different flavor, but the spices here really
+dominate). I used water from boiling dried tomatoes (slightly
+different recipe) as there was no fresh chickpea water on hand and it
+was delightful.</p>
+
+<p>I've used cheap blenders, decent food processors, and a
+super-expensive blender to make this. It comes out adequately with
+most any equipment. You can just blend everything together at a
+moderate speed until the consistency is whatever you consider
+reasonably smooth, but processing in steps with a good food processor
+results in a slightly better texture.</p>
+
+<p>I've done this with and without removing the skins, and I personally
+don't think it's worth the effort to remove the skins.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Jessie: i thought your beard took the oxygen from the air and made it
+        breathable for you
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  5, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Imagery.html b/Imagery.html
new file mode 100644 (file)
index 0000000..2bb3286
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>I Am Not Very Visual</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>I Am Not Very Visual</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Backgrounds</a>
+</dt>
+<dt>
+<a href="#sec2">Window Maker Themes</a>
+</dt>
+<dt>
+<a href="#sec3">LiveJournal User Pics</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Once upon a time I liked to mess around the GIMP and make generative
+backgrounds and some themes for <a href="http://windowmaker.info/">Window Maker</a>. The backgrounds, themes,
+and livejournal icons that I think are not incredibly terrible lie
+here before you.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+<a href="Backgrounds.html">Backgrounds</a></h2>
+
+
+<h2><a name="sec2" id="sec2"></a>
+<a href="Window%20Maker%20Themes.html">Window Maker Themes</a></h2>
+
+
+<h2><a name="sec3" id="sec3"></a>
+<a href="LiveJournal%20User%20Pics.html">LiveJournal User Pics</a></h2>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">If nothing in the world can change our children will inherit nothing
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Kilt.html b/Kilt.html
new file mode 100644 (file)
index 0000000..6e86cd9
--- /dev/null
+++ b/Kilt.html
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Behold the Mighty Kilt</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Behold the Mighty Kilt</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Lust</a>
+</dt>
+<dt>
+<a href="#sec2">Goodbye Money</a>
+</dt>
+<dt>
+<a href="#sec3">STEEL</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Lust</h2>
+
+<p class="first">Once upon a time I went to see <a href="http://eluveitie.ch/">Eluveitie</a> on a little tour called
+<a href="http://www.paganfest.net/info.php?lang=usa">Paganfest</a>. The bassist and piper of Eluveitie were wearing kilts and
+they looked mighty fine and metal; thus began my lust for a kilt of my
+very own.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Goodbye Money</h2>
+
+<p class="first">A few months later I decided to purchase a <a href="http://www.utilikilts.com/index.php?page_id=30">Workman's</a> <a href="http://utilikilts.com">Utilikilt</a> as it
+appeared to be the most practical kilt for every day wearing. After
+much fretting about sizing and ordering such an expensive piece of
+nonreturnable clothing I finally ordered one in August 2008 and had it
+in my hands the first week of September. Luckily, it fit.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/kilt/package.jpg" alt="One day an unassuming package arrived in the mail" /></td></tr>
+  <tr><td align="center" class="image-caption">One day an unassuming package arrived in the mail</td></tr>
+</table>
+
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/kilt/unpacked-folded.jpg" alt="Such a lovely unbifurcated garment" /></td></tr>
+  <tr><td align="center" class="image-caption">Such a lovely unbifurcated garment</td></tr>
+</table>
+
+<p>The kilt is made of very heavy canvas (it weighs about four pounds)
+and was of quite good construction. I'd say it was worth the pretty
+penny I spent for it.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/kilt/unpacked-spread.jpg" alt="Why it appears to be a skirt of some sort" /></td></tr>
+  <tr><td align="center" class="image-caption">Why it appears to be a skirt of some sort</td></tr>
+</table>
+
+<p>After unpacking and gazing upon the glory of the kilt I donned it upon
+my waist and decided that I should never wear pants again. Everything
+they say is true: the pockets really can fit a six pack of beer, it is
+quite comfortable, it doesn't look dumb (ok, perhaps that is
+subjective), and it <em>is</em> handy to have my tools on my kilt when working
+on my <a href="My%20Bicycle.html">bicycle</a>.</p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+STEEL</h2>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/kilt/eluveitie.jpg" alt="I am quite the dashing young lad" /></td></tr>
+  <tr><td align="center" class="image-caption">I am quite the dashing young lad</td></tr>
+</table>
+
+<p>I first wore the kilt in public about an hour after getting it, and I
+must say that I find it amusing that people would fret about wearing a
+kilt outside of their house. I now have a new problem: I want more
+kilts so that I no longer have to wear pants.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">No, there's nothing here about X, so be quiet.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Koftah-Adana Hybrid Kebabs.html b/Koftah-Adana Hybrid Kebabs.html
new file mode 100644 (file)
index 0000000..ab6b6ac
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Koftah-Adana Hybrid Kebabs</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Koftah-Adana Hybrid Kebabs</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1 cup white onion (diced)</li>
+<li>7 cloves garlic (chopped)</li>
+<li>1 1/4 cup red pepper (diced)</li>
+<li>2 tbsp fresh flat parsley (chopped)</li>
+<li>2 tbsp crushed red pepper</li>
+<li>2 tsp ground cumin</li>
+<li>1 tbsp sumac</li>
+<li>1 tsp koshering salt</li>
+<li>1 tbsp fresh rosemary leaves (chopped)</li>
+<li>1 1/2 lbs ground lamb</li>
+<li>1/2 lbs ground beef (85% lean for binding)</li>
+<li>2 tbsp white flour</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<ol>
+<li>Mix everything together well and refrigerate for at least one hour</li>
+<li>Form into whateveer</li>
+<li>Grill for a few minutes per side <em>or</em> broil for ~7 minutes per side</li>
+</ol>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">The body bags and little rags of children torn in two,
+And the jellied brains of those who remain to put the finger right on you
+As the madmen play on words and make us all dance to their song
+To the tune of starving millions to make a better kind of gun.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Lisp.html b/Lisp.html
new file mode 100644 (file)
index 0000000..560e378
--- /dev/null
+++ b/Lisp.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Lisp is for Cool People</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Lisp is for Cool People</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Site Software</a>
+</dt>
+<dt>
+<a href="#sec2">Scheme Constraints Window Manager</a>
+</dt>
+<dt>
+<a href="#sec3">Metaobject Protocols</a>
+</dt>
+<dt>
+<a href="#sec4">UCW Structural Notes (<em>Out of Date</em>)</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>I am a programmer, and I write most of my software in Scheme and
+Common Lisp. Lately I have been tending toward Common Lisp for
+potential commercial ventures as there is a very solid set of
+libraries for doing almost anything in Common Lisp. It's like using
+perl, but with well designed libraries and readable applications.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+<a href="Site%20Software.html">Site Software</a></h2>
+
+<p class="first">A bit of Emacs-Lisp and Common Lisp keep this site running.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+<a href="SCWM.html">Scheme Constraints Window Manager</a></h2>
+
+<p class="first">Some work I have done on <a href="http://scwm.sourceforge.net">SCWM</a>.</p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+<a href="Metaobject%20Protocols.html">Metaobject Protocols</a></h2>
+
+<p class="first">Notes for a short (fifteen minute) presentation on MOPs.</p>
+
+
+<h2><a name="sec4" id="sec4"></a>
+<a href="UCWNotes.html">UCW Structural Notes</a> (<em>Out of Date</em>)</h2>
+
+<p class="first">Notes on the structure of the <code>ucw_dev</code> branch of <a href="http://common-lisp.net/project/ucw/">UnCommon Web</a>. The
+source is nicely documented, but lacked a handy roadmap so I compiled
+a few notes after reading through it.</p>
+
+<p>Alas, this is a bit out of date; <code>ucw_dev</code> is dead, <code>ucw_ajax</code> was vastly
+different, and <code>ucw-core</code> offers a much simplified and cleaned up
+interface. Drew Crampsie is writing (or perhaps has written depending
+on how far in the future you live from me) documentation for <code>ucw-core</code>
+which ought to make my overview obsolete.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Lindsay (Carlton): nighttime baker! sounds a little iffy
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/LiveJournal User Pics.html b/LiveJournal User Pics.html
new file mode 100644 (file)
index 0000000..21eb696
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>LiveJournal User Pics</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>LiveJournal User Pics</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Normal Icons</a>
+</dt>
+<dt>
+<a href="#sec2">Subdued</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Behold a number of ok looking <a href="http://livejournal.com">livejournal</a> userpics. You can do
+whatever you want with these, but I do request that you link back to
+either this page or the main page of my site (or both) somewhere
+(perhaps the icon description if you are using them on livejournal).</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Normal Icons</h2>
+
+<p class="image"><img src="img/lj-icons/bass_clef.png" alt="" />
+<img src="img/lj-icons/beer.png" alt="" />
+<img src="img/lj-icons/car_camaro_gray.png" alt="" />
+<img src="img/lj-icons/dt_tot_eye_1.png" alt="" />
+<img src="img/lj-icons/emacs.png" alt="" />
+<img src="img/lj-icons/emoxclinton.png" alt="" />
+<img src="img/lj-icons/evil_skull.png" alt="" />
+<img src="img/lj-icons/illegal.png" alt="" />
+<img src="img/lj-icons/keyboard_num_pad.png" alt="" />
+<img src="img/lj-icons/kingdiamond_metal.png" alt="" />
+<img src="img/lj-icons/money.png" alt="" />
+<img src="img/lj-icons/music_treb.png" alt="" />
+<img src="img/lj-icons/quake2.png" alt="" />
+<img src="img/lj-icons/scheme.png" alt="" />
+<img src="img/lj-icons/zombies_c.png" alt="" /></p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Subdued</h2>
+
+<p class="first">I use these nowadays for my journal.</p>
+
+<p class="image"><img src="img/lj-icons/default_test.png" alt="" />
+<img src="img/lj-icons/goddammit.png" alt="" />
+<img src="img/lj-icons/tea.png" alt="" />
+<img src="img/lj-icons/writing.png" alt="" />
+<img src="img/lj-icons/subdued/beer.png" alt="" />
+<img src="img/lj-icons/subdued/bike.png" alt="" />
+<img src="img/lj-icons/subdued/bike_1.png" alt="" />
+<img src="img/lj-icons/subdued/blake_1.png" alt="" />
+<img src="img/lj-icons/subdued/song_of_los.png" alt="" />
+<img src="img/lj-icons/subdued/blake_2.png" alt="" />
+<img src="img/lj-icons/subdued/emacs.png" alt="" />
+<img src="img/lj-icons/subdued/illegal.png" alt="" />
+<img src="img/lj-icons/subdued/keyboard_num_pad.png" alt="" />
+<img src="img/lj-icons/subdued/music.png" alt="" />
+<img src="img/lj-icons/subdued/quake2.png" alt="" />
+<img src="img/lj-icons/subdued/technology.png" alt="" />
+<img src="img/lj-icons/zombies.png" alt="" /></p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Morty_md&gt; My mind boggled.
+* tim_m shakes morty's mind, hoping for a different combination of letters
+&lt;Morty_md&gt; Sometimes my mind yahtzees instead.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Maast-o Khiar.html b/Maast-o Khiar.html
new file mode 100644 (file)
index 0000000..6ef4cb2
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Maast-O Khiar (Or, Less Pretentiously, Cucumber Yogurt)</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Maast-O Khiar (Or, Less Pretentiously, Cucumber Yogurt)</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1 cup plain yogurt</li>
+<li>1 small seedless cucumber (peeled)</li>
+<li>1/4 white onion</li>
+<li>1 clove garlic (or two if you so choose)</li>
+<li>1/2 tsp black pepper</li>
+<li>1/2 tsp salt</li>
+<li>2 tsp finely chopped mint</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<p class="first">Grate or dice cucumber, onion, and garlic (depending on your
+preference). Mix everything together. Chill.</p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">I like to grate my vegetables; this results in a bit of a different
+texture as the water and pulp from the grated vegetables mixes with
+the Yogurt. If you dice the vegetables instead the texture is a bit
+more yogurty, <strong>and</strong> you need to refrigerate it for a bit longer before
+eating. Make it both ways and see; it only takes ten minutes to throw
+together a batch.</p>
+
+<p>A good yogurt with cream makes for a very nice base texture.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;ascii_phil&gt; There once was a man named Bertold
+&lt;ascii_phil&gt; Who drank beer when the weather grew cold
+&lt;ascii_phil&gt; As he reached for his cup...
+&lt;ascii_phil&gt; "NEEEEVER GONNA GIVE YOU UP!!!"
+&lt;ascii_phil&gt; Oh, snap! You just got limerickrolled!
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Maytag.html b/Maytag.html
new file mode 100644 (file)
index 0000000..3e163ab
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>The Tiniest Death Cat in the World</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>The Tiniest Death Cat in the World</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Mew</a>
+</dt>
+<dt>
+<a href="#sec2">Meow</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Mew</h2>
+
+<p class="first">Once upon a time my mother found a kitten. This kitten was a very
+skittish tiny kitten and hid behind the fridge for days eluding
+capture. Thus my mother bestowed the quite American name <em>Maytag</em> upon
+the tiny gray kitten.</p>
+
+<p>Eventually my mother accepted that her dog and the kitten would never
+get along, and the cat had taken a liking to me, and thus Maytag
+became my ward.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/maytag/skittish-kitten.jpg" alt="Once Upon a Time I Found a Tiny Kitten" /></td></tr>
+  <tr><td align="center" class="image-caption">Once Upon a Time I Found a Tiny Kitten</td></tr>
+</table>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Meow</h2>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/maytag/2007-cat.jpg" alt="Not Such a Tiny Cat Any More" /></td></tr>
+  <tr><td align="center" class="image-caption">Not Such a Tiny Cat Any More</td></tr>
+</table>
+
+<p>Now Maytag has been my cat buddy since January 2007.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">I'm just thinking aloud; isn't thinking allowed?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Metaobject Protocols.html b/Metaobject Protocols.html
new file mode 100644 (file)
index 0000000..a3c6f96
--- /dev/null
@@ -0,0 +1,819 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Metaobject Protocols</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Metaobject Protocols</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Background</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Object Protocols</a>
+</dt>
+<dt>
+<a href="#sec3">CLOS Way of OO</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Classes for Scratch Data and Types</a>
+</dt>
+<dt>
+<a href="#sec5">Generics with Methods that Implement Protocols</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Limitations of Default Language Behavior</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec7">Slot Storage</a>
+</dt>
+<dt>
+<a href="#sec8">Design Patterns</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec9">Metasoftware</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec10">Runtime Generated Classes</a>
+</dt>
+<dt>
+<a href="#sec11">Object Inspection</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec12">Metaobject Protocols</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec13">Limited/Generalized Internals of the Implementation</a>
+</dt>
+<dt>
+<a href="#sec14">Classes of MOPs</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec15">Reflective</a>
+</dt>
+<dt>
+<a href="#sec16">Intercessory</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec17">Violation of Encapsulation?</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec18">MOP Design Principles</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec19">Layered Protocol</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec20">Top Level <strong>Must</strong> Call Lower Level Methods</a>
+</dt>
+<dt>
+<a href="#sec21">Lower Level Methods are Easier to Customize</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec22">Functional Where Possible</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec23">Memoization</a>
+</dt>
+<dt>
+<a href="#sec24">Constant Shared Return Values</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec25">Procedural Only Where Necessary</a>
+</dt>
+<dt>
+<a href="#sec26">Real World</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec27">UCW and Arnesi</a>
+</dt>
+<dt>
+<a href="#sec28">CLSQL</a>
+</dt>
+<dt>
+<a href="#sec29">Elephant</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec30">Sources and Further Reading</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec31">Sources</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec32">The Art of the Metaobject Protocol</a>
+</dt>
+<dt>
+<a href="#sec33">CLOS MOP Specification</a>
+</dt>
+<dt>
+<a href="#sec34">Metaobject Protocols: Why We Want Them and What Else They Can Do</a>
+</dt>
+<dt>
+<a href="#sec35">Why Are Black Boxes so Hard to Reuse?</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec36">Further Reading</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec37">A Metaobject Protocol for C++</a>
+</dt>
+<dt>
+<a href="#sec38">Open Implementations and Metaobject Protocols</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec39">Software</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec40">Closer to MOP</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>In Fall of 2006 I did a small project on Metaobject Protocols for my
+CS 331 class. Here lie my notes which may perhaps be useful to
+others. I hope to expand them into something more useful over time.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Background</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Object Protocols</h3>
+
+<p class="first">An object protocol is a set of methods and specification of the
+interactions between the methods which provide some generic behavior
+(e.g. of a sequence) that are then implemented by classes which
+conform to the protocol (e.g. a vector or list). In most object
+systems a class contains both the methods which implement a protocol
+and the data used by the implementation. The intent is to emulate
+state machines which pass messages between each other.</p>
+
+
+<h3><a name="sec3" id="sec3"></a>
+CLOS Way of OO</h3>
+
+<p class="first">The Common Lisp Object System (CLOS) is different. It separates
+the data and method concepts into classes and generics. A class
+contains data fields only, and a generic has methods specialized for
+certain types attached to it. This seems a bit weird at first, but is
+significantly more powerful as it encourages complete encapsulation
+through its use of classes primarily for method specialization rather
+than for state storage.</p>
+
+<h4><a name="sec4" id="sec4"></a>
+Classes for Scratch Data and Types</h4>
+
+<p class="first">In CLOS classes store data in slots (which are the same as data
+members). Encapsulation is not provided; any bit of code can use
+<code>slot-value</code> to access or set the value of a slot. This may seem odd at
+first, but encapsulation is of questionable importance as the slots
+are meant only to be used by the protocol defined around the class.</p>
+
+<p>Classes are defined with <code>defclass</code></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">name</span> (superclasses ...)
+  ((slot-name <span class="emacs-face-builtin">:accessor</span> slot-accessor ...)
+   ...)
+  (class-options ...))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">example</span> ()
+  ((foo <span class="emacs-face-builtin">:accessor</span> foo-of <span class="emacs-face-builtin">:initform</span> 5)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">example-child</span> (example)
+  ((bar <span class="emacs-face-builtin">:accessor</span> bar-of <span class="emacs-face-builtin">:initform</span> (list 1 2 3))))
+</pre>
+
+<p>Slot definitions have several options; the above example shows only the
+<code>:accessor</code> and <code>:initform</code> options which are the most commonly
+used. <code>:accessor</code> generates an accessor for the slot (e.g. if you have
+an instance of <code>example</code> you can <code>(setf (foo-of some-example-instance)
+'some-value)</code> to set and <code>(foo-of some-example-instance)</code> to access the
+value). <code>:initform</code> provides a default initial value for the slot as a
+symbolic expression to be evaluated when an instance is created in the
+lexical environment of the class definition.</p>
+
+
+<h4><a name="sec5" id="sec5"></a>
+Generics with Methods that Implement Protocols</h4>
+
+<p class="first">Generics are like normal functions in Lisp, but they only provide a
+lambda list (parameter list). Methods are added to the generic which
+specialize on the types of their parameters and provide an
+implementation. This allows writing rich layered protocols which can
+enable selective modification of individual facets with minimal code.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">generic</span> (parameters ...)
+  (options) ...)
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">generic-name</span> ((parameter type) parameter ...)
+  <span class="emacs-face-doc">"documentation string"</span>
+  body)
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">foo</span> (bar baz quux)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Process the baz with the quux capacitor to make the
+foo widget fly into the sky at warp speed"</span>))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">foo</span> ((bar example) baz (quux capacitor))
+  (launch bar (process-with quux baz)))
+</pre>
+
+<p>A method lambda list differs from a normal lambda list only in that it
+can specify the type of the parameter using the notation <code>(name type)</code>.
+Note also that methods can specialize on the types of every
+argument and not just the first one. This is quite powerful for
+reasons outside of the scope of this presentation.</p>
+
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Limitations of Default Language Behavior</h2>
+
+<p class="first">The behavior of a language is a compromise between many competing
+issues that attempts to be as generally useful as possible so that
+<em>most</em> applications will have no issue with the default behavior. There
+are, however, certain applications that could be cleanly written with
+minor modifications to the behavior of the language, but would be
+impossible or quite difficult to write otherwise.</p>
+
+<h3><a name="sec7" id="sec7"></a>
+Slot Storage</h3>
+
+<p class="first">Most languages choose to preallocate storage for all of the slots of
+an instance. Now imagine a contact database that stores information
+about people in slots of a class. There may be dozens of slots, but
+often many of them will be left blank. If slot storage is preallocated
+much memory will be wasted and the database may not be able to fit
+into the memory of the hardware it must run on (perhaps for financial
+reasons, huge datasets, etc.).</p>
+
+<p>To save memory the author of the contact database must implement his
+own system to store properties and allocate them lazily. This
+represents a fair bit of effort, and would implement a system that
+differed from the existing slot system of classes only regarding slot
+storage.</p>
+
+<p>It would be useful if there were a way to customize slot allocation in
+instances. The customizations would be minor and require overriding
+only the initial allocation behavior and the behavior of the first
+assignment to the slot. It is a a trivial problem in a language that
+allows customization of these behaviors.</p>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Design Patterns</h3>
+
+<p class="first">Design Patterns are generalized versions of common patterns found in
+programs. Many of them are merely methods to get around deficiencies
+in the language, and can be quite messy to implement in some
+languages. Ideally a pattern would be subsumed by the language, but
+real world constraints require language standards to remain fairly
+static.</p>
+
+
+
+<h2><a name="sec9" id="sec9"></a>
+Metasoftware</h2>
+
+<p class="first">Some types of programs could be written easily if the language were
+customizable but are nearly impossible to write when it is not.</p>
+
+<h3><a name="sec10" id="sec10"></a>
+Runtime Generated Classes</h3>
+
+<p class="first">Say you wanted to write a video game where players could create their
+own objects, attach behaviors to the objects, and perhaps mix
+different objects together to create new ones. When you abstract the
+problem this looks just like an object system!  Wouldn't it be nice if
+your program could create new classes and methods on the fly portably?</p>
+
+
+<h3><a name="sec11" id="sec11"></a>
+Object Inspection</h3>
+
+<p class="first">Imagine you were developing a complicated program with many different
+objects that interacted in fairly complex ways. A tool to inspect the
+structure of objects while debugging would be quite useful, but in a
+traditional language would be impossible to implement portably. This
+could force you to purchase a certain compiler implementation which
+provided an inspector, and even then would likely not be customizable.</p>
+
+<p>This problem can be generalized to apply to most debugging tools; it
+would be useful to write such tools portably because users of the
+<em>language</em> and not the <em>compiler</em> need to debug software. Sharing
+infrastructure would result in better tools (more developers), and
+save the man-years of wasted effort that comes with having to rewrite
+unportable tools from scratch multiple times.</p>
+
+
+
+<h2><a name="sec12" id="sec12"></a>
+Metaobject Protocols</h2>
+
+<h3><a name="sec13" id="sec13"></a>
+Limited/Generalized Internals of the Implementation</h3>
+
+<p class="first">A Metaobject Protocol (MOP) is a generalized and limited subset of the
+underlying language implementation. It is limited to allow multiple
+implementation strategies; this, along with careful design, is
+essential because programming language research is ever advancing and
+new techniques for creating more reliable and faster implementations
+are still being discovered.</p>
+
+<p>This subset of the implementation is exported as a set of methods on
+metaobjects. Thus the language is implemented in itself. The system
+can then be customized using the extension and overriding features of
+the language itself.</p>
+
+
+<h3><a name="sec14" id="sec14"></a>
+Classes of MOPs</h3>
+
+<h4><a name="sec15" id="sec15"></a>
+Reflective</h4>
+
+<p class="first">A reflective MOP provides an interface to information <em>about</em> the
+running system. It exposes class relationships, the methods attached
+to a generic, etc. A reflective MOP often provides some functionality
+for creating new classes at runtime. Smalltalk was one of the first
+languages to expose a reflective MOP.</p>
+
+<h5>Example: Object Inspector</h5>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">example-inspect</span> (instance)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Simple object inspector using CLOS MOP"</span>))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">example-inspect</span> ((instance t))
+  (format t <span class="emacs-face-string">"Simple Object~% Value: ~S~%"</span> instance))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">example-inspect</span> ((instance standard-object))
+  (<span class="emacs-face-keyword">let</span> ((class (class-of instance)))
+    (format t <span class="emacs-face-string">"Class: ~S, Superclasses: ~S~%"</span>
+            (class-name class)
+            (mapcar #'class-name
+                    (class-precedence-list class)))
+    (<span class="emacs-face-keyword">let</span> ((slot-names (mapcar #'slot-definition-name
+                              (class-slots class))))
+      (format t <span class="emacs-face-string">"Slots: ~%~{ ~S~%~}"</span> slot-names)
+      (inspect-loop slot-names instance #'example-inspect))))
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">inspect-loop</span> (slots instance inspector)
+  (format t <span class="emacs-face-string">"Enter slot to inspect or :pop to go up one level: "</span>)
+  (finish-output)
+  (<span class="emacs-face-keyword">let*</span> ((slot (read))
+         (found-slot (member slot slots)))
+    (<span class="emacs-face-keyword">cond</span> (found-slot
+           (funcall inspector (slot-value instance slot))
+           (funcall inspector instance))
+          ((eq slot <span class="emacs-face-builtin">:pop</span>) t)
+          (t
+           (format t <span class="emacs-face-string">"~S is invalid. Valid slot names: ~S~%"</span>
+                   slot
+                   slots)
+           (inspect-loop slots instance inspector)))))
+</pre>
+
+
+<h5>Example: Runtime Generated Classes and Methods</h5>
+
+
+
+<h4><a name="sec16" id="sec16"></a>
+Intercessory</h4>
+
+<p class="first">Intercessory MOPs allow the user to customize language behavior by
+implementing methods which override certain aspects of the language
+behavior. This class of MOPs are what make MOPs especially
+powerful. No longer must a problem be restructured to fit the
+implementation language; the underlying language can be reshaped to
+fit the task at hand, and obfuscation of the intended structure of the
+application can be avoided.</p>
+
+<h5>Example: Lazily Allocated Slots</h5>
+
+
+<h5>Example: Observer Design Pattern</h5>
+
+<p>A simple implementation of the observer pattern is under 100 lines,
+and the user level code requires only a single line of code to make
+any existing class observable.</p>
+
+<p>In a language lacking a MOP, implementing the observer pattern
+requires modifying every accessor of a class to explicitly invoke any
+observers, and necessitates the addition of a mixin class to the class
+hierarchy. The fact that an object can be observed is a meta property
+of the class, and forcing it to be implemented at the application
+level dirties the inheritance hierarchy and adds unnecessary meta
+details to the program.</p>
+
+<pre class="src">
+<span class="emacs-face-comment-delimiter">;;; </span><span class="emacs-face-comment">This metaclass adds a slot to instances which use it, and so the
+</span><span class="emacs-face-comment-delimiter">;;; </span><span class="emacs-face-comment">system is defined in its own package to avoid name conflicts
+</span>(<span class="emacs-face-keyword">defpackage</span> <span class="emacs-face-type">:observer</span>
+  (<span class="emacs-face-builtin">:use</span> <span class="emacs-face-builtin">:cl</span> <span class="emacs-face-builtin">:c2mop</span>)
+  (<span class="emacs-face-builtin">:export</span> observable register-observer unregister-observer))
+
+(<span class="emacs-face-keyword">in-package</span> <span class="emacs-face-builtin">:observer</span>)
+
+<span class="emacs-face-comment-delimiter">;;; </span><span class="emacs-face-comment">Metaclass
+</span>(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">observable</span> (standard-class)
+  ()
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Metaclass for observable objects"</span>))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">compute-slots</span> ((class observable))
+  <span class="emacs-face-doc">"Add a slot for storing observers to observable instances"</span>
+  (cons (make-instance 'standard-effective-slot-definition
+                       <span class="emacs-face-builtin">:name</span> 'observers
+                       <span class="emacs-face-builtin">:initform</span> '(make-hash-table)
+                       <span class="emacs-face-builtin">:initfunction</span> #'(<span class="emacs-face-keyword">lambda</span> () (make-hash-table)))
+        (call-next-method)))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">validate-superclass</span> ((class observable)
+                                (super standard-class))
+  t)
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">register-observer</span> (instance slot-name key closure)
+  (register-observer-with-class (class-of instance)
+                                instance
+                                slot-name
+                                key
+                                closure))
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">unregister-observer</span> (instance slot-name key)
+  (unregister-observer-with-class (class-of instance)
+                                  instance
+                                  slot-name
+                                  key))
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">get-observers</span> (instance slot-name)
+  (get-observers-with-class (class-of instance)
+                            instance
+                            slot-name))
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">add-observer-table</span> (instance slot-name)
+  (setf (gethash slot-name (slot-value instance
+                                       'observers))
+        (make-hash-table)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">register-observer-with-class</span> (class instance slot-name key closure))
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">unregister-observer-with-class</span> (class
+                                            instance
+                                            slot-name
+                                            key))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">register-observer-with-class</span> ((class observable)
+                                         instance
+                                         slot-name
+                                         key
+                                         closure)
+  (setf (gethash key
+                 (or (gethash slot-name
+                              (slot-value instance 'observers))
+                     <span class="emacs-face-comment-delimiter">;; </span><span class="emacs-face-comment">Lazily add observer hash tables
+</span>                     (add-observer-table instance slot-name)))
+        closure))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">unregister-observer-with-class</span> ((class observable)
+                                           instance
+                                           slot-name
+                                           key)
+  (remhash key (gethash slot-name
+                        (slot-value instance 'observers))))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">get-observers-with-class</span> ((class observable)
+                                     instance
+                                     slot-name)
+  (gethash slot-name (slot-value instance 'observers)))
+
+(<span class="emacs-face-keyword">defmethod</span> (<span class="emacs-face-function-name">setf slot-value-using-class</span>) <span class="emacs-face-builtin">:before</span> (new-value
+                                                  (class observable)
+                                                  instance
+                                                  slot)
+  (<span class="emacs-face-keyword">let</span> ((slot-name (slot-definition-name slot)))
+    (<span class="emacs-face-keyword">if</span> (not (eq 'observers slot-name))
+        (<span class="emacs-face-keyword">let</span> ((observers
+               (get-observers instance (slot-definition-name slot))))
+          (<span class="emacs-face-keyword">if</span> observers
+              (maphash #'(<span class="emacs-face-keyword">lambda</span> (key observer)
+                           (funcall observer
+                                    (<span class="emacs-face-keyword">if</span> (slot-boundp instance slot-name)
+                                        (slot-value instance slot-name)
+                                      nil)
+                                    new-value))
+                       observers))))))
+</pre>
+
+
+
+
+
+<h3><a name="sec17" id="sec17"></a>
+Violation of Encapsulation?</h3>
+
+<p class="first">A MOP may seem like a violation of encapsulation by revealing some
+implementation details, but in reality a well designed protocol does
+not reveal anything which was not already exposed. Implementation
+decisions affect users, and some of these details do leak through to
+higher levels (e.g. the memory layout of slots). Implicit in the
+protocol specification are these implementation details, and the MOP
+merely makes this limited subset available for customization.</p>
+
+<p>A MOP makes it possible to customize certain implementation decisions
+that do not <strong>radically</strong> alter the behavior of the base language. The
+conceptual vocabulary of the system retains its meaning, and so code
+written in one dialect can interact with code written in another
+without knowing that they speak different ones.</p>
+
+
+
+<h2><a name="sec18" id="sec18"></a>
+MOP Design Principles</h2>
+
+<h3><a name="sec19" id="sec19"></a>
+Layered Protocol</h3>
+
+<p class="first">A layered protocol design is good for both meta and normal object
+protocols, and enables a combinatorial explosion of customizations to
+the protocol.</p>
+
+<h4><a name="sec20" id="sec20"></a>
+Top Level <strong>Must</strong> Call Lower Level Methods</h4>
+
+<p class="first">The top level methods of a layered protocol are required to call
+certain lower level methods to perform some tasks. This both makes it
+easier to customize the top level methods (which perform very broad
+tasks) by providing some pieces of implementation for the programmer,
+and enables more customization by opening up the replacement of lower
+level functions as a way to alter a small detail of the high level
+behavior.</p>
+
+
+<h4><a name="sec21" id="sec21"></a>
+Lower Level Methods are Easier to Customize</h4>
+
+<p class="first">The lower level methods of a MOP are limited in scope and can be
+implemented easily. Often the desired changes to language behavior are
+minor, and having methods that perform simple tasks which are often
+customized reduces the effort required to extend the system.</p>
+
+
+
+<h3><a name="sec22" id="sec22"></a>
+Functional Where Possible</h3>
+
+<p class="first">Functional protocols are preferred for MOPs (and object protocols in
+general). Functional protocols open up several optimizations for the
+implementation without burdening the user of the protocol.</p>
+
+<h4><a name="sec23" id="sec23"></a>
+Memoization</h4>
+
+<p class="first">Memoization is the process of saving the results of a function call
+for future use. This avoids expensive recomputation of values which
+have not changed (recall that a true function will always return the
+same result when given the same arguments).</p>
+
+<p>A functional MOP can be optimized easily by exploiting this property
+to memoize the return values of calls to expensive operations. A MOP
+must be be very fast to avoid making programs unusably slow, and
+memoization is able to give an appreciable speedup in many cases
+without a significant burden on memory usage.</p>
+
+
+<h4><a name="sec24" id="sec24"></a>
+Constant Shared Return Values</h4>
+
+<p class="first">Disallowing modification of values returned by protocol methods allows
+the implementation to return large data structures by reference to
+avoid expensive copying without having to do expensive data integrity
+checks or copying.</p>
+
+
+
+<h3><a name="sec25" id="sec25"></a>
+Procedural Only Where Necessary</h3>
+
+<p class="first">Some operations like method invocation are inherently stateful and so
+must use a procedural protocol. There is no benefit to be gained from
+using a functional protocol, and indeed an attempt would result in
+obtuse code that severely restricted the implementation. Do note that
+only a very small part of method invocation is stateful (the actual
+call), and most of it can be implemented functionally (e.g. computing
+the discriminating function).</p>
+
+
+<h3><a name="sec26" id="sec26"></a>
+Real World</h3>
+
+<h4><a name="sec27" id="sec27"></a>
+<a href="http://common-lisp.net/project/ucw/">UCW</a> and <a href="http://common-lisp.net/project/bese/arnesi.html">Arnesi</a></h4>
+
+<p class="first">Arnesi uses the CLOS MOP to implement methods which are transparently
+rewritten into continuation passing style. This allows their execution
+to be suspended at certain points and resumed later. UCW builds on top
+of this to support a web framework where the statelessness of http is
+hidden from the user; displaying a page suspends the execution of the
+current continuation, and resumes it upon submission. The user level
+code is completely unaware of this.</p>
+
+
+<h4><a name="sec28" id="sec28"></a>
+<a href="http://clsql.b9.com">CLSQL</a></h4>
+
+<p class="first">CLSQL uses the reflective part of the CLOS MOP to map Common Lisp data
+types into SQL types, and the intercessory protocol for slot
+allocation to map slots onto database columns or sql expressions (for
+implementing relational slots).</p>
+
+
+<h4><a name="sec29" id="sec29"></a>
+<a href="http://common-lisp.net/project/elephant/">Elephant</a></h4>
+
+<p class="first">Elephant uses the CLOS MOP to transparently store any class to disk
+and handle paging between the disk store and memory efficiently
+without user intervention.</p>
+
+
+
+
+<h2><a name="sec30" id="sec30"></a>
+Sources and Further Reading</h2>
+
+<h3><a name="sec31" id="sec31"></a>
+Sources</h3>
+
+<h4><a name="sec32" id="sec32"></a>
+The Art of the Metaobject Protocol</h4>
+
+<h5>Kiczales, Gregor et al. MIT Press 1991</h5>
+
+<p>Highly recommended reading even if you plan to never implement a MOP
+or use the CLOS one. The design principles it recommends are quite
+useful.</p>
+
+
+
+<h4><a name="sec33" id="sec33"></a>
+<a href="http://www.lisp.org/mop/contents.html">CLOS MOP Specification</a></h4>
+
+<p class="first">Specification of the MOP for CLOS defined in <em>The Art of the Metaobject Protocol</em>.</p>
+
+
+<h4><a name="sec34" id="sec34"></a>
+<a href="http://citeseer.ist.psu.edu/399658.html">Metaobject Protocols: Why We Want Them and What Else They Can Do</a></h4>
+
+<p class="first">A short overview of MOP design principles followed by three example
+metaobject protocols for Scheme.</p>
+
+
+<h4><a name="sec35" id="sec35"></a>
+<a href="http://www2.parc.com/csl/groups/sda/projects/oi/towards-talk/transcript.html">Why Are Black Boxes so Hard to Reuse?</a></h4>
+
+<p class="first">Transcription of a talk on the benefits of open implementations of
+software. It first discusses several problems that black box software
+implementations pose, and then presents existing solutions. It shows
+how the existing solutions are insufficient, and then provides
+metaobject protocols as a solution to most of the problems.</p>
+
+
+
+<h3><a name="sec36" id="sec36"></a>
+Further Reading</h3>
+
+<h4><a name="sec37" id="sec37"></a>
+<a href="http://citeseer.ist.psu.edu/chiba95metaobject.html">A Metaobject Protocol for C++</a></h4>
+
+<p class="first">Example of a purely compile time MOP. It implements the functionality
+of a code walker and something similar to the Lisp macro system.</p>
+
+
+<h4><a name="sec38" id="sec38"></a>
+<a href="http://www.parc.com/csl/groups/sda/publications/papers/Kiczales-TUT95/for-web.pdf">Open Implementations and Metaobject Protocols</a></h4>
+
+<p class="first">It is a bit long, but it seems to follow a similar structure to AMOP
+in introducing MOPs and their usefulness. The pages are slides with
+notes, and so the 331 pages might not actually take that long to read.</p>
+
+
+
+<h3><a name="sec39" id="sec39"></a>
+Software</h3>
+
+<h4><a name="sec40" id="sec40"></a>
+<a href="http://common-lisp.net/project/closer/closer-mop.html">Closer to MOP</a></h4>
+
+<p class="first">Compatibility layer that attempts to present the <em>Art of the Metaobject
+Protocol</em> MOP specification properly in as many Common Lisp
+implementation as possible.</p>
+
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;ascii_phil&gt; There once was a man named Bertold
+&lt;ascii_phil&gt; Who drank beer when the weather grew cold
+&lt;ascii_phil&gt; As he reached for his cup...
+&lt;ascii_phil&gt; "NEEEEVER GONNA GIVE YOU UP!!!"
+&lt;ascii_phil&gt; Oh, snap! You just got limerickrolled!
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Music I Enjoy.html b/Music I Enjoy.html
new file mode 100644 (file)
index 0000000..9174f23
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Music I Enjoy</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Music I Enjoy</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">The Bands I Like the Most</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Skyclad</a>
+</dt>
+<dt>
+<a href="#sec3">Kevin Moore</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Chroma Key</a>
+</dt>
+<dt>
+<a href="#sec5">OSI</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>I have a <a href="http://www.last.fm/user/unknown_lamer/">last.fm</a> account.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+The Bands I Like the Most</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Skyclad</h3>
+
+<p class="first">Skyclad is incredible folk metal. The first two albums (<em>Wayward Sons
+of Mother Earth</em> and <em>Burnt Offerings for the Bone Idol</em>) are Testament
+style thrash with a bit of fiddle and keys and a heavy dose of
+NWOBHM. The third album, <em>Jonah's Ark</em>, blunts the edge of the guitars
+and adds a lot more fiddle and is really where the band goes from
+making good to incredible music.</p>
+
+<p><em>Prince of the Poverty Line</em> is about as 'heavy' as the first two
+albums, but the the song structures are far more worked out and there
+is an interesting infusion of folk and power metal into the sound. The
+songs are mostly scathing social critiques of the state of society at
+the time. The follow up, <em>Silent Whales of Lunar Sea</em>, is a decent album
+but is scarred by terrible recording quality and mixing. It has
+listenable songs (with &quot;The Present Imperfect&quot; and &quot;Another Fine Mess&quot;
+standing out), and the only really noteable aspect is the slight
+change toward a much less thrashy riff structure.</p>
+
+<p><em>Irrational Anthems</em> more than made up for <em>Silent Whales of Lunar
+Sea</em>. The less thrashy and slightly more punkish riffing structure
+takes over here and the songs are all fast paced with guitar and
+fiddle duels taking place often</p>
+
+<p>The next two albums see the electric guitar deemphasized and the band
+making something more like heavy rock than heavy metal. The EP <em>Oui
+Avante Garde a Chance</em> starts out with a fast paced fiddle oriented
+song, moves into a nearly entirely fiddle and acoustic guitar song,
+and then goes into a few slow songs dominated by keys and fiddle. The
+albums picks up in intensity with <em>Bombjour</em>, and then has an acoustic
+version of a song from the previous album. The new material ends with
+the slow and intense <em>Badtime Story</em>. A couple of covers and an
+instrumental version of a song follow to pad the EP to album length.</p>
+
+<p><em>The Answer Machine?</em> was once my favorite album in my entire
+collection. Most of the songs have a fuzzy electric guitar and an
+acoustic guitar going at the same time, and the album is music that I
+have found is listenable to people who don't like metal. The fiddle,
+violin, and piano dominate and are backed by interesting bass and just
+the right amount of guitar. The album is a pseudo-concept album; each
+song is about a different quest for the answer to life. Unfortunately,
+here is also where the influence of their producer can start to be
+felt&mdash;a lot of things seem to be done for the sake of <em>sensibility</em>.</p>
+
+<p>The last two Skyclad albums with Martin Walkyier (the original singer)
+see a two step return to a more metal style, but this time something
+resembling <em>Powerslave</em> era Maiden with heavy folk overtones rather than
+Testament. Both albums are fairly strong, and have a few songs that
+are among the best Skyclad has ever done: &quot;Cancer of the Heart&quot; and
+&quot;Vintage Whine&quot; on <em>Vintage Whine</em>, and &quot;The Antibody Politic,&quot; &quot;The
+Disenchanted Forest,&quot; and &quot;Think Back and Lie of England&quot; on <em>Folkémon</em>.</p>
+
+<p>Alas, after <em>Folkémon</em> Martin left, and the band seems to have lost its
+magic. It is much like At the Gates; the core members meshed quite
+well together and lost some magical chemistry upon a major component
+leaving. Skyclad's first album with the new singer was ok, and the
+followup was a bit better. Unfortunately Kevin Ridley appears unable
+to sing aggressively.</p>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Kevin Moore</h3>
+
+<p class="first">Kevin Moore is the first keyboardist of Dream Theater who left after
+<em>Awake</em>. His work since then has surpassed the quality of everything
+Dream Theater has produced since then for he posesses a unique
+songwriting style and wonderful artistic ability.</p>
+
+<h4><a name="sec4" id="sec4"></a>
+Chroma Key</h4>
+
+<p class="first">Chroma Key is (was?) Kevin Moore's primary project. It is mostly
+electronic and fairly mellow. Secretly I like it (don't tell anyone I
+listen to anything not metal).</p>
+
+
+<h4><a name="sec5" id="sec5"></a>
+OSI</h4>
+
+<p class="first">OSI was originally a collaboration between Kevin Moore, Jim Matheos
+(guitarist of Fates Warning), Mike Portnoy (drummer of Dream Theater),
+and a few other prog rock/metal people. The first album, <em>Office of
+Strategic Influence</em> was a moderately heavy and good album that sounded
+quite similar to <em>Disconnected</em> Fates Warning with Kevin Moore on vocals
+and complicated drumming.</p>
+
+<p><em>Free</em> followed three years later and is completely different from the
+first. This time the album was done with Kevin Moore and Jim Matheos
+alone, and it finds a much nicer balance between keyboard and
+guitar. The first OSI sounded too much like Fates Warning with more
+ambient keyboarding; this one has a sound of its own. My ears have
+heard this album many times, and will listen again many more.</p>
+
+<p>I'm not really digging <em>Blood</em> that much, but it's not bad.</p>
+
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">   (1) _Of course_ we made sure it was actually too slow before making
+the ugly optimization.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Music.html b/Music.html
new file mode 100644 (file)
index 0000000..1ecec2f
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Music</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Music</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Recently Vacated Graves</a>
+</dt>
+<dt>
+<a href="#sec2">Music I Enjoy</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Recently Vacated Graves</h2>
+
+<p class="first">I <em>sing</em> in <a href="http://zombiemetal.com">Recently Vacated Graves: True Zombie Metal</a>.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+<a href="Music%20I%20Enjoy.html">Music I Enjoy</a></h2>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Sonarman&gt; WHAT??!??! you don't want to attend my roundtable on
+           neomarxist deconstruction schemes for modern
+           capitalism? YOU'RE PROPPING UP THE SYSTEM, PIG.
+&lt;Sonarman&gt; brb latte
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/My Bicycle.html b/My Bicycle.html
new file mode 100644 (file)
index 0000000..b11fe49
--- /dev/null
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Clinton's Bicycle</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Clinton's Bicycle</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">The Death of the Internal Combustion Engine</a>
+</dt>
+<dt>
+<a href="#sec2">The Birth of the Organic Oxidization Engine</a>
+</dt>
+<dt>
+<a href="#sec3">A Kind Emacsing Friend</a>
+</dt>
+<dt>
+<a href="#sec4">Metamorphosis</a>
+</dt>
+<dt>
+<a href="#sec5">The Night Is Friendly</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec6">Portable Sun</a>
+</dt>
+<dt>
+<a href="#sec7">I Am the Moon</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec8">North's Son</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec9">In the Name of the Steel</a>
+</dt>
+<dt>
+<a href="#sec10">The Death of a Friend</a>
+</dt>
+<dt>
+<a href="#sec11">A New Star Rises</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2006-10-25/front.jpg" alt="Greetings Friend" /></td></tr>
+  <tr><td align="center" class="image-caption">Greetings Friend</td></tr>
+</table>
+
+<h2><a name="sec1" id="sec1"></a>
+The Death of the Internal Combustion Engine</h2>
+
+<p class="first">In May 2006 and Camaro decided it was time to die and cost more than
+it was worth to repair (although in reality it cost more to repair
+than it was worth the first time it broke, but hindsight...). I
+travelled by foot for the remainder of the summer.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+The Birth of the Organic Oxidization Engine</h2>
+
+<p class="first">In August I decided that I should get a bicycle as my <a href="http://umbc.edu">university</a> took
+about an hour to walk to on roads which did not have a terribly good
+sidewalk. What was initially meant merely to get me to school in a
+reasonable amount of time has now become a new love.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2006-10-25/left.jpg" alt="It is good to be a bicycle" /></td></tr>
+  <tr><td align="center" class="image-caption">It is good to be a bicycle</td></tr>
+</table>
+
+
+<h2><a name="sec3" id="sec3"></a>
+A Kind Emacsing Friend</h2>
+
+<p><a href="http://emacsen.net">Emacsen</a> gave me his Spring 2003 Giant Iguana which was hardly ridden
+and merely needed a tiny bit of tuning to get riding again. Soon after
+getting it I added a rear rack with panniers, a tail light, and a
+cheap headlight (which, alas, was smashed to bits in a small crash).</p>
+
+<p>I rode the bike with its knobby and wide mountain bike tires for a
+month as I built strength. There are many hills in Catonsville, and so
+for the first few weeks lazy nerd me was defeated by the terrain. A
+mere two months after starting to ride, however, I achieved a level of
+strength I never thought I would. I could ride thirty miles in a day
+and <em>not feel it the next day</em>! A few months after that, even with a
+long interlude of no riding due to a broken bone, I found myself able
+ride seventy miles with a few thousand feet of elevation change.</p>
+
+
+<h2><a name="sec4" id="sec4"></a>
+Metamorphosis</h2>
+
+<p class="first">In late September I replaced the mountain bike tires with 26x1.75
+<a href="http://www.conti-online.com/generator/www/de/en/continental/bicycle/themes/tires/city/travelcontact/travelcontact_en.html">road tires</a> which nearly doubled my range, and improved the handling of
+the bike on pavement considerably. I chose 1.75 over 1.50 tires
+because I tend to ride with a fairly heavy load (textbooks and other
+type things), and enjoy the freedom of being able to go off road and
+not sink into the ground or get trapped in the grass.</p>
+
+<p>I <a href="http://unknown-lamer.livejournal.com/160217.html">fell</a> in October and bent my straight handlebar. I needed a new
+handlebar so I found a trekking style handlebar on the internet that
+gave me additional spots to put my handle, allowed for a slightly
+lowered position while riding, and was the same diameter as the
+straight bar so I could keep the shifter/brake combo (it being a bit
+expensive to replace). It now has cork tape covered in cloth tape (I'm
+hoping the cloth tape will take the brunt of the wear and I can extend
+the life of the expensive cork tape). I plan to try using heat shrink
+tubing to cover the ends of the tape in place soon (if it works it
+should look neater than duct tape).</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2006-10-25/handlebar.jpg" alt="It would seem that the amount of destructiveness to be found in individuals is proportionate to the amount to which expansiveness of life is curtailed. By this we do not refer to individual frustrations of this or that instinctive desire but to the thwarting of the whole of life, the blockage of spontaneity of the growth and expression of man's sensuous, emotional, and intellectual capacities" /></td></tr>
+  <tr><td align="center" class="image-caption">It would seem that the amount of destructiveness to be found in individuals is proportionate to the amount to which expansiveness of life is curtailed. By this we do not refer to individual frustrations of this or that instinctive desire but to the thwarting of the whole of life, the blockage of spontaneity of the growth and expression of man's sensuous, emotional, and intellectual capacities</td></tr>
+</table>
+
+
+<h2><a name="sec5" id="sec5"></a>
+The Night Is Friendly</h2>
+
+<h3><a name="sec6" id="sec6"></a>
+Portable Sun</h3>
+
+<p class="first">As the end of October 2006 arrived the days became shorter, but my
+desire to explore the world increased. This presented a bit of a
+problem, and so I spent time scouring the Wise Internet for
+information on headlights. After much futile poking around I settled
+on a <a href="http://www.cygolite.com/2-Products/1-DualCross300.htm">Cygolite DualCross 300</a> and was given one as a birthday gift. It
+is as bright as a single car headlight on the top setting and the
+batteries do actually last as long as the website says. I've ridden
+with it in the rain many times, and it even survived a nasty spill
+that broke my collarbone and bent my front rim.</p>
+
+<p>As of March 2008 the light still lasts a good three hours on full
+bright. This is with me using it at least once a week, and very often
+two or three times a week for extended rides (generally draining the
+battery entirely once a week) since late 2006 (excepting that winter
+because of my broken collarbone). I feared for a while that the
+battery strap was going to wear out and break, but it has yet to show
+signs of wear. All in all an <strong>excellent</strong> investment! This thing can
+handle heavy use and rain and all sorts of nasty stuff.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/headlight.jpg" alt="A beacon in the night" /></td></tr>
+  <tr><td align="center" class="image-caption">A beacon in the night</td></tr>
+</table>
+
+<p>The nicest part of the light is that it does seem to get its rated
+life of about four hours on the brightest setting. I'm not sure if it
+really gets nine hours on the dim setting as I've never ridden at the
+lowest setting for an extended period of time (I use it as dusk is
+setting in to make myself visible, and then increase to full
+brightness when night falls). It is about as bright as a single car
+headlight; an entire standard width car lane is illuminated with the
+light set to hit the ground about eight feet from the bike. I find
+this adequate to cycle around full speed at night.</p>
+
+
+
+<h3><a name="sec7" id="sec7"></a>
+I Am the Moon</h3>
+
+<p class="first">One day in late April 2007 I decided to cover my bicycle in reflective
+tape. It is very bright now.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/before_tape_upside_down.jpg" alt="The last time the bike will be naked" /></td></tr>
+  <tr><td align="center" class="image-caption">The last time the bike will be naked</td></tr>
+</table>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/bicycle_post_tape.jpg" alt="Not quite strong enough to cause tides" /></td></tr>
+  <tr><td align="center" class="image-caption">Not quite strong enough to cause tides</td></tr>
+</table>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/post_tape_nighttime_1.jpg" alt="Or perhaps it is a shining star" /></td></tr>
+  <tr><td align="center" class="image-caption">Or perhaps it is a shining star</td></tr>
+</table>
+
+<h4><a name="sec8" id="sec8"></a>
+North's Son</h4>
+
+<p class="first">In Early 2008 I decided to add a few stripes of reflective fabric to
+the rear of my panniers. I am not very good at sewing so I used
+Fabritac, and they have held on reasonably well since then. I wouldn't
+say that the bond was <em>permanent</em> though<sup><a class="footref" name="fnr.1" href="#fn.1">1</a></sup>, but so far they have only
+peeled a tiny but on the edges (fixable with a quick dab of the
+glue).</p>
+
+<p>I am quite a bit more reflective in the rear now thanks to this. I
+also have a rear fender now (more to follow on this once I stop being
+lazy and install the front one too) which has a nice strip of orange
+reflective tape.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/rear-tape-white.jpg" alt="~200ft with my DualCross" /></td></tr>
+  <tr><td align="center" class="image-caption">~200ft with my DualCross</td></tr>
+</table>
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/rear-tape-red.jpg" alt="~200ft with one of my tail lights" /></td></tr>
+  <tr><td align="center" class="image-caption">~200ft with one of my tail lights</td></tr>
+</table>
+
+
+
+
+<h2><a name="sec9" id="sec9"></a>
+In the Name of the Steel</h2>
+
+<p class="first">I got a few patches from friends who were travelling about, and in
+July 2008 finally glued and sewed them to the bike. Now I am more
+metal, clearly.</p>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2008/bayern-patch.jpg" alt="Freistaadt aus Bäyern" /></td></tr>
+  <tr><td align="center" class="image-caption">Freistaadt aus Bäyern</td></tr>
+</table>
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/bicycle/2008/blind-guardian-patch.jpg" alt="Blind Guardian is cool" /></td></tr>
+  <tr><td align="center" class="image-caption">Blind Guardian is cool</td></tr>
+</table>
+
+
+<h2><a name="sec10" id="sec10"></a>
+The Death of a Friend</h2>
+
+<p class="first">On the eve of February 9th, 2011 I went on a ride. Arriving at my
+destination I chained my bike and noticed one of the chainstays looked
+a bit odd; fate would have it that the chainstay had fractured. And so
+my first Aluminum Steed was laid to rest. Rest in Peace dear friend.</p>
+
+
+<h2><a name="sec11" id="sec11"></a>
+A New Star Rises</h2>
+
+<p class="first">After months of being a bit broke (bikes are ... expensive) and then
+trying to scrounge up a used bike on Craigslist for a few months, I
+caved and got a <a href="Bicycle%202012.html">new bike</a>.</p>
+
+<hr />
+<p class="footnote"><a class="footnum" name="fn.1" href="#fnr.1">1.</a> It turns out that I was underestimating the bond; as of late
+September 2010 the reflective tape has only minorly peeled around
+the edges (fixable with a quick touch up). This being with
+regular riding and occasional exposure to rain.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">And did those feet in ancient time
+Walk upon England's mountains green?
+And was the holy Lamb of God
+On England's pleasant pastures seen?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Old Viewpoints.html b/Old Viewpoints.html
new file mode 100644 (file)
index 0000000..db3e2f0
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>The Weak Must Die</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>The Weak Must Die</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Misc</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Copyright Is Bad for Society</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Intermediate forms of thought which have been refined.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Misc</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Copyright Is Bad for Society</h3>
+
+<p class="first">Copyright is a tool used to placate publishers who feel that they will
+make no money if things can be freely copied. Publishers, however,
+contribute <strong>nothing</strong> of worth to our culture; they are mere middlemen
+who print the creative work of others, and so their pleas should be
+ignored.</p>
+
+<p>A short copyright term is acceptable, and worked in most of the world
+for a few hundred years. As it stands now we have perpetual copyrights
+(as in the Old World), and the cultural stagnation that affected
+Europe then is now occurring today in most of the world. There are
+many books published between 1917 and a few years ago that I would
+love to read, but am unable to because they have not been printed (for
+older books often in as long as 40 or 50 years). The albums of a few
+bands I like are out of print now and I will be long dead before I get
+a chance to purchase them (<em>if</em> copyright is not extended again, which
+experience tells me will happen soon) because the record labels have
+no interest in returning the masters to the band!</p>
+
+<p>What point is there to allowing copyright to exist on works which are
+not being published? If their terms had expired there is a chance that
+they would be being published by public domain publishing houses who
+subsist on smaller margins. This would <a href="http://www.ippr.org/publicationsandreports/publication.asp?id=482">create real economic value</a>, and
+more importantly great <strong>social</strong> value. Allowing art to rot is a
+disrespect to human creativity and an immeasurable loss for all future
+humans.</p>
+
+<p>I predict that in two or three hundred years there will be nearly no
+record of any literature or art produced in the twentieth century. As
+it stands today we have lost most of it with the exception of a few
+trashy works which have become popular to the masses.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">clinton: last time I was a bit weak (*sniff* level four and only 18 hp)
+clinton: I had a -1 intelligence modifier for the first three weeks
+emacsen: what about your character?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Olive Pita.html b/Olive Pita.html
new file mode 100644 (file)
index 0000000..63102d5
--- /dev/null
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Olive Pita</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Olive Pita</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Everything is the same as the basic <a href="Pita.html">Pita</a> with the following additions.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>~1/3 cup unpitted black olives (oil cured or fresh! Do not use
+canned olives)</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<ol>
+<li>Unpit and dice olives</li>
+<li>Mix up the dry ingredients as in the <a href="Pita.html">Pita</a> recipe</li>
+<li>Blend the olives in with the wet ingredients</li>
+<li>Resume the normal <a href="Pita.html">Pita</a> recipe</li>
+</ol>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">The first time I made this a few friends said there should be more
+olives, and so the second time I made this I tried using a half cup of
+olives instead of a quarter cup. This was a horrible mistake because
+olives are very salty; more than a third of a cup is a bit much for my
+taste.</p>
+
+<p>I highly recommend using <a href="http://palestineoliveoil.com">Holy Land Olive Oil</a> in the bread (but cheap
+stuff works to coat the rising bowl, naturally), or some other very
+high quality olive oil. If you can buy it at a supermarket in the US
+(even somewhere faux-fancy like Whole Foods) then it isn't high
+quality. A proper olive oil imparts a delicious olive flavor
+throughout the bread with the occasional chunk of olive enhancing the
+flavor. I made a batch with grocery-store-expensive olive oil once and
+it was very bland comparatively. It is amazing how two tablespoons
+(ostensibly thrown in to control the yeast) of properly made olive oil
+can impart such a nice flavor.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">No, there's nothing here about X, so be quiet.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Pita.html b/Pita.html
new file mode 100644 (file)
index 0000000..14b8631
--- /dev/null
+++ b/Pita.html
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Pita</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Pita</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Yeast Starter</a>
+</dt>
+<dt>
+<a href="#sec4">Bread</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1 1/2 cups white wheat flour</li>
+<li>1 1/2 cups red or spring wheat flour</li>
+<li>1 tsp salt</li>
+<li>1 tbsp honey</li>
+<li>2 tbsp olive oil</li>
+<li>1 1/2 cups water</li>
+<li>Yeast</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+Yeast Starter</h3>
+
+<p class="first">If you are using a sourdough starter make a sponge containing one cup
+of water and 1 1/4 cups flour (including the stuff in the bit of the
+mother you used). Rising times will, as per usual, be variable.</p>
+
+<p>If you use commercial yeast subtract the amount of water you use when
+proofing the yeast from the water used in the recipe.</p>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Bread</h3>
+
+<ol>
+<li>Mix salt, flour, and, yeast if using dry breadmachine yeast</li>
+<li>Blend in olive oil, water, and yeast if using sourdough or a
+proofed starter; stir into a ball</li>
+<li>Knead for tenish minutes</li>
+<li>Lightly coat a bowl with olive oil and drop the dough into it;
+cover and let the dough rise in it for about 90 minutes (usual
+bubble / punch deal)</li>
+<li>Split into 6-8 balls and let it rest for 20 minutes;
+simultaneously preheat the oven to 400°F with a baking sheet or
+stone or whatever you bake bread on (whee, parallelism)</li>
+<li>Throw some flour onto a work surface and the tops of the dough
+balls; flatten into 1/4 inch thick pita shaped blobs</li>
+<li>Put a bowl of water into the oven on the bottom rack and bake for
+about 10 minutes</li>
+</ol>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+Notes</h2>
+
+<p class="first">With a 1:1 <em>white wheat:red wheat</em> ratio the bread is a tad bit
+heavy&mdash;try using a 2:1 <em>white wheat:red wheat</em> ratio to make it a bit
+lighter if you'd like.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">clinton: last time I was a bit weak (*sniff* level four and only 18 hp)
+clinton: I had a -1 intelligence modifier for the first three weeks
+emacsen: what about your character?
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Politics.html b/Politics.html
new file mode 100644 (file)
index 0000000..ddc38f0
--- /dev/null
@@ -0,0 +1,433 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Do Not Accept the Weak State of Mind in Our Time</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Do Not Accept the Weak State of Mind in Our Time</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">The Basis of My Philosophy</a>
+</dt>
+<dt>
+<a href="#sec2">The Current Economic and Political Structure Is Broken</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">The Government of the Unites States</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Healthcare <em>Reform</em></a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Capitalism is Intrinsically Evil</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Misc</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec7">Long Term Copyright Causes Harm to Society (<code>Draft Revision 2</code>)</a>
+</dt>
+<dt>
+<a href="#sec8">Fewer Laws Are Better</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec9">Individuals should not have their actions regulated</a>
+</dt>
+<dt>
+<a href="#sec10">Corporations must have their actions heavily regulated</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec11">Social Ills</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec12">Mass Culture</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec13">The Talking Heads</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec14">The Automobile</a>
+</dt>
+<dt>
+<a href="#sec15">Learned Ignorance and Weakness</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>I have views that could perhaps be seen as odd. Do note that I am <strong>not</strong>
+a liberal; nor am I a conservative. I do not buy into the traditional
+socieconomic dipole scale, and I also reject the <em>political compass</em> two
+dimensional scale; my political belief system could best be described
+as <em>curmudgeonly bastard</em> if you must have a label for it. This is only
+because being a curmudgeonly bastard isn't an ideology, but rather a
+broad set of ideas centered around the rejection of traditional
+political and social structures (<em>i.e</em> hating everything). I reject the
+<em>ressentiment</em> (lookit I'm Nietzsche) of traditional anarchism and
+believe not that every man should have no master (for then <em>all</em> would
+be weak), but rather that he should be his own master (does that even
+<em>mean</em> anything? Eh, it sounds nice so who cares).</p>
+
+<p>These short essays are mere stubs I wrote a long while ago, and each
+will perhaps be extended in the future.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+<a href="Wisdom.html">The Basis of My Philosophy</a></h2>
+
+<p class="first">I read some things and thought they were cool. Now I can make people
+think I'm smarter than I really am.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+The Current Economic and Political Structure Is Broken</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+The Government of the Unites States</h3>
+
+<p class="first">I feel that the government in the United States is very close to being
+broken beyond repair (perhaps this is a bit conservative, but one must
+hope). As it stands the government above the local level (and even
+there!) ignores the individual citizen and instead is only forced to
+do anything by large scale action. As far as the individual is
+concerned we no longer live in a Republic, but rather in an Plutocracy
+which is quickly descending into something far worse.</p>
+
+<h4><a name="sec4" id="sec4"></a>
+Healthcare <em>Reform</em></h4>
+
+<p class="first">Upon airing my objections to the current Healthcare <em>Reform</em> bill, I was
+asked: did you read the bill? To which I replied with action and read
+<a href="http://www.govtrack.us/congress/bill.xpd?bill=h111-3590&amp;tab=summary">the official summary of the bill</a>. And now I ask those who asked me if
+I had read it: have <em>you</em> read it. I received as a reply an unequivocal:
+<em>why should I have to</em>.</p>
+
+<p>Fun fact: it isn't as bad as some people make it seem, but guess what?
+<em>It does nothing beneficial to the individual</em>. All it does it require
+that anyone over 30 purchase insurance, severely restricts the usage
+of Health Savings Accounts (which, may be not so bad&mdash;I have no
+opinion on their usefulness... but <em>Republicans</em> created them so they
+<em>must</em> be <em>evil</em>), and is generally a piece of hey-look-I-did-something
+(but nothing goes into effect until I am out of office)
+legislation. This has never happened before, obviously. We are on the
+surface of Mars now too didn't you know.</p>
+
+<p>Meanwhile there is what amounts to no price controls, an actual <em>ban</em> on
+the formation of State run healthcare (until 2017, and then only at
+the discretion of the HHS secretary), and token (unfunded) support for
+the formation of healthcare cooperatives. There are some taxes on
+large drug makers, but the research required by the FDA for drug
+approval is <em>tax deductible</em> (and so the larger drug makers can avoid
+most of the new taxes, har). And... an excise tax on overly fancy
+healthcare plans... more or less, a nice bill that, if it manages to
+not be overturned by 2018, will do absolutely nothing one way or the
+other.</p>
+
+<p>It is obvious that I am indeed a dirty Nazi redneck terrorist
+teabagger Republican piece of shit who hates the poor and black
+people. I guess it's time for my white ass to move to Iran and see how
+I like it there!</p>
+
+
+
+<h3><a name="sec5" id="sec5"></a>
+Capitalism is Intrinsically Evil</h3>
+
+<p class="first">Cooperation is better than exploitation. How can one justify an
+economic system based upon paying others as little as possible in an
+attempt to make the most profit from their labor so as to make some
+profit?</p>
+
+<p>But then again, what does <em>evil</em> mean?</p>
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Misc</h2>
+
+<h3><a name="sec7" id="sec7"></a>
+Long Term Copyright Causes Harm to Society (<code>Draft Revision 2</code>)</h3>
+
+
+
+
+
+<p>It is straightforward to calculate a fair cost for material goods. The
+material cost follows from the materials, and the labor cost generally
+derives from the complexity of construction. The fixed price for each
+item consists of both of these factors. Thus it is trivial to ensure
+that a craftsman is fairly compensated for his effort.</p>
+
+
+
+
+<p>Creative works must have their value calculated via a more circuitous
+route. The physical form of a creative work is of little importance;
+the ideas it represents are. The material and direct labor costs
+(printing, binding, etc.) are thus so small as to be of negligible
+importance when calculating value. There is effectively no objective
+way to place value on abstract work; all the value judgements we can
+make are subjective. We must then rely on irrational human valuations
+to determine the value on their own.</p>
+
+
+
+
+
+
+
+
+
+<p>Creative works are fundamentally different from concrete works. A
+painting may inspire others start a new stylistic movement, the
+structure of a story may cause the formation of a new literary form,
+an essay may incite a new political movement, etc. Creative works
+weave themselves into the mental fabric of each individual exposed to
+them in a way that material goods cannot. A book may change your life;
+a table will never do that. This suggests that the abstract concepts
+which compose a work have a strange nature and great value. Those who
+control the distribution of creative works wield great power as a
+result of the ability of ideas to change the individual.</p>
+
+<p>After a certain period of time the physical manifestation of a
+creative work loses commercial value. New art is being created
+continually, and no one can be expected to read every important book
+written, see every film, and so on for other areas. When a work ceases
+to be profitable to publish distribution ceases. Allowing abstract
+works to simply drop from the market creates a serious problem. New
+ideas are built upon old ones, and after ideas have assimilated into
+the collective concious it is important to be able to go back to the
+old ideas and analyze them to understand the present culture. If a
+work is no longer available it is impossible to do this. Thus works
+that are no longer being commercially exploited should become the
+property of the public so that any worth preserving will be preserved
+by <em>someone</em> and avoid death.</p>
+
+
+
+
+<p>Copyright manages to work fairly well for ensuring creators are
+compensated for their effort, preventing abuse of creator rights to
+the detriment of society, and ensuring that works will become public
+property after they are commercially unprofitable. Irrational human
+judgements over time often work well, and so giving exclusive right to
+copy a work makes sense for a period of time to allow society to
+determine its monetary value. The fair use provisions of copyright
+give society reasonable leeway in the use of the ideas contained
+within a work while the work is protected, and this allows society to
+continue enriching its creative culture. The limited term of copyright
+and ensuing reversion to the public domain prevents the cultural
+stagnation and the loss of history that would result from works
+becoming unavailable.</p>
+
+
+
+
+
+
+<p>The term of copyright must be finely balanced between the need to
+ensure creators have enough time to receive fair compensation for
+their effort, and the desire to avoid cultural stagnation from
+unavailable works. The term must be short enough that a work will not
+be unavailable for too long after commercial interest dies. Every year
+that passes where the work isn't being published tends to reduce the
+number of copies in existence. It must also be long enough that a
+creator can profit according to the value that society puts upon his
+work.</p>
+
+<p>A term should be just long enough that a work will fall out of
+copyright when physical copies are still likely to exist. A man may
+keep his book collection unto his death, but his children may simply
+sell them off or discard them after he departs the mortal
+coil. Intuitive judgement says that things that are worth entering the
+public domain will be preserved by someone for at least his life. A
+person who has creative works in his posession is often attached to
+them and will keep the ones he likes the most for as long as possible
+(e.g. my music collection is backed up in flac so that I will be able
+to listen to my music forever). After he dies there is a large
+increase in the chance that the works will perish unless he by chance
+made special arrangements to have them preserved.</p>
+
+<p>A generation then seems to be a reasonable term; how many things are
+really commercially viable after thirty years? Some works may be
+relevant to the children of the generation who created them; it seems
+reasonable then that if a work is still commercially viable after a
+generation then the creator deserves to retain copyright for a second
+generation. It is questionable whether more terms would be good
+(issues of supression of information, right to profit, etc. come into
+play), but they can't quite be ruled out. A renewal system with a span
+of roughly thirty years ensures that a work will be out of publication
+for at most a generation's time. This appears to be a good balance
+between the right of the creator and the desire to keep knowledge from
+dying (from my eyes).</p>
+
+<p>The works of the current generation, their parents, their
+grandparents, and their great-grandparents are still copyrighted in
+the US. Works created in the present will be copyrighted for the
+lifetime of the author and seventy years after; a span of roughly six
+generations.</p>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Fewer Laws Are Better</h3>
+
+<h4><a name="sec9" id="sec9"></a>
+Individuals should not have their actions regulated</h4>
+
+
+<h4><a name="sec10" id="sec10"></a>
+Corporations must have their actions heavily regulated</h4>
+
+<p class="first">Corporate power disrupts the functioning of a free society. If the
+power wielded by a corporation were merely the sum of the individuals
+that composed it there would be little issue; the fundamental problem
+is that the benefits of gaining access to mass production facilities
+and a huge workforce that can be forced to cooperate on certain goals
+gives a large corporation much more than this.</p>
+
+<h5>Corporate Personhood should be revoked</h5>
+
+
+<h5>Corporations should not be allowed to influence politics</h5>
+
+
+
+
+
+<h2><a name="sec11" id="sec11"></a>
+Social Ills</h2>
+
+<h3><a name="sec12" id="sec12"></a>
+Mass Culture</h3>
+
+<p class="first">American culture in the early 1900s began to homogenize, and now there
+is a single massive culture that almost all three hundred million
+people in the country share. This presents problems to those who do
+not fit in; in the days of the self sufficient village one could move
+to another location to find people similar to him, but now there is
+nowhere to go. Everywhere a <em>social deviant</em> goes he will feel alienated
+and have his social options severely limited.</p>
+
+<p>A monoculture reduces the rate of idea formation, and ours is actively
+hostile toward anything not falling in line with the
+mainstream. People are trained to act as a mass instead of as
+individuals; this results in far less creative people. Critical
+thinking is not encouraged; no, it is far worse! Critical thinking is
+discouraged, and those of us who wish to argue our points with logic
+are met with the undefeatable enemy of a closed mind that has been
+exposed to propaganda from birth.</p>
+
+<h4><a name="sec13" id="sec13"></a>
+The Talking Heads</h4>
+
+<p class="first">Poison the well. Burn a strawman.</p>
+
+<p>This is real argument. Real thought.</p>
+
+
+
+<h3><a name="sec14" id="sec14"></a>
+The Automobile</h3>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<h3><a name="sec15" id="sec15"></a>
+Learned Ignorance and Weakness</h3>
+
+<p><a href="Old%20Viewpoints.html">obsolete</a></p>
+
+<p><a href="TRUTH.html">TRUTH</a></p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Mike: I WAS NOT MICROWAVED.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Quotations.html b/Quotations.html
new file mode 100644 (file)
index 0000000..20e1d2e
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Quotations</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Quotations</h1>
+   <div class="contents">
+<dl>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<blockquote>
+<p class="quoted">
+There are those who consider that studies in harmony, counterpoint,
+and fugue are the exclusive province of the intended composer. But if
+we reflect that theory must follow practice, rarely preceding it
+except by chance, we must realize that musical theory is not a set of
+directions for composing music. It is rather the collected and
+systematized deductions gathered by observing the practice of
+composers over a long time, and it attempts to set forth what is or
+has been their common practice. It tells not how music will be written
+in the future, but how music has been written in the past.</p>
+<p class="quoted">The results of such a definition of the true nature of musical theory
+are many and important. First of all, it is clear that this knowledge
+is indispensable to musicians in all fields of the art, whether they
+be composers, performers, conductors, critics, teachers, or
+musicologists. Indeed, a secure grounding in theory is even more a
+necessity to the musical scholar than to the composer, since it forms
+the basis for any intelligent appraisal of the individual styles of
+the past or present.</p>
+<p class="quoted">On the other hand, the person gifted for creative musical composition
+is taking a serious risk in assuming that this genius is great enough
+to get along without a deep knowledge of the common practice of
+composers. Mastery of the technical or theoretical aspects of music
+should be carried out by him as a life's work, running parallel to his
+creative activity but quite separate from it. In the one he is
+following common practice, while in the other he is responsible solely
+to the dictates of his own personal tastes and urge for expression.</p>
+
+</blockquote>
+
+<p>Walter Piston (Intro to the first edition of <em>Harmony</em>)</p>
+
+<p>&mdash;</p>
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Ethan: i'm working on myself
+Ethan: the self is the most important thing
+Ethan: i learned this from a packet of tea
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Reading.html b/Reading.html
new file mode 100644 (file)
index 0000000..177f817
--- /dev/null
@@ -0,0 +1,496 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>The Printed Word Is Stronger Than Nuclear Arms</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>The Printed Word Is Stronger Than Nuclear Arms</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Authors</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">William Blake</a>
+</dt>
+<dt>
+<a href="#sec3">Kahlil Gibran</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec4">Fiction</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec5">General</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec6">Luke Rhinehardt - The Dice Man</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec7">Philosophical</a>
+</dt>
+<dt>
+<a href="#sec8">Sci-Fi</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec9">Neal Stephenson</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec10">Non-Fiction</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec11">Education</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec12">John Taylor Gatto - Underground History of American Education</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec13">Philosophy</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec14">Chinese</a>
+</dt>
+<dt>
+<a href="#sec15">Marcus Aurelius - Meditations</a>
+</dt>
+<dt>
+<a href="#sec16">Søren Kierkegaard - The Sickness Unto Death</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec17">Politics</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec18">Thomas More - Utopia</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec19">Religion</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec20">William James - The Varieties of Religious Experience</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec21">Technical</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec22">C J Date - Database in Depth</a>
+</dt>
+<dt>
+<a href="#sec23">Gregor Kiczales - The Art of the Metaobject Protocol</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec24">Reports</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec25">2003 National Assesement of Adult Literacy</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec26">Books That I Cannot Find</a>
+</dt>
+<dt>
+<a href="#sec27">Essays</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec28">Computing</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec29">Design</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>I enjoy classical literature and works of philosophy and politics with
+a side of cyberpunk novels for when my brain is tired. When I was in
+High School I read technical books for fun, but now I tend to find
+most of them useless (thank you Internet) excepting a few really well
+written ones (<em>L.i.s.p</em>, <em>TAOCP</em>, ...).</p>
+
+<p>I spend most of my time reading. A full list of things I have read
+would be impossible to compile, but here I am collecting links and
+small summaries of things I have read and find interesting enough to
+mention, but not always recommend, to others.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Authors</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+William Blake</h3>
+
+<p class="first">His poetry is the result of spending too much time etching copper
+plates and breathing the fumes. Quite wonderful indeed.</p>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Kahlil Gibran</h3>
+
+<p class="first">Kahlil Gibran is fairly interesting; his earlier works do not agree
+with my Ã¦sthetic sense (blah blah), but <em>The Madman</em> onward are all
+rather nice. So far I've read <em>A Tear and a Smile</em> (not so good
+excepting the last poem), <em>The Madman</em>, <em>The Prophet</em> (both excellent),
+and <em>Sand and Foam</em> (an interesting little book of aphorisms). A few of
+his works are <a href="http://leb.net/~mira/">online</a>, but I recommend scouting used book stores for
+old hardcover editions. The (late 90s onward at least) <em>hardcover</em>
+versions from <em>Alfred A. Knopf</em> are in fact permabound paperbacks with a
+hardcasing, and are of seriously inferior quality to the editions from
+the 50s and 60s (and cost quite a bit more, naturally).</p>
+
+
+
+<h2><a name="sec4" id="sec4"></a>
+Fiction</h2>
+
+<h3><a name="sec5" id="sec5"></a>
+General</h3>
+
+<h4><a name="sec6" id="sec6"></a>
+Luke Rhinehardt - The Dice Man</h4>
+
+<blockquote>
+<p class="quoted">
+And it's his illusions about what
+constitutes the real world which are
+inhibiting him...
+His reality, his reason, his society
+...these are what must be destroyed</p>
+
+</blockquote>
+
+<p>A quotation from one of my <a href="http://en.wikipedia.org/wiki/Slaughter_of_the_Soul">favorite metal songs</a> inspired me to grab
+this book; at worst it would be a waste of time. Much reward was found
+in this random stab in the dark. The book is framed as an
+autobiography of the author as a psychoanalyst, and his progression
+through life as a Dice Man after deciding to live his life through
+random chance.</p>
+
+<p>The style, plot, and content are equally neurotic; part comedy, part
+attack on psychoanalysis, and part deep philosophy. It was often
+difficult to put down, and was read in under a week of spare time.</p>
+
+
+
+<h3><a name="sec7" id="sec7"></a>
+Philosophical</h3>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Sci-Fi</h3>
+
+<h4><a name="sec9" id="sec9"></a>
+Neal Stephenson</h4>
+
+<h5>Cryptonomicon</h5>
+
+<p>I read <em>Cryptonomicon</em> when it was new, and at the time I thought it was
+good. It could have lost a hundred or so pages without detracting from
+the plot, but it was easy reading and didn't take very long to
+finish. The story was enganging, and the continual switching between
+the 1940s and present day slowly unravelled the tale in a nice way.</p>
+
+<p>I'd still have to recommend <em>Snow Crash</em> if one wished to read only one
+Stephenson novel.</p>
+
+
+<h5>Snow Crash</h5>
+
+<p>As one must read the <em>Bible</em> to understand English literature, so one
+must read <em>Snow Crash</em> today to be a nerd. In the realm of modern pop
+fiction this is one of the better books I've read; it was devoured in
+a mere four nights. Neal Stepheson may not be Milton, but he does come
+up with enganging tales. <em>Snow Crash</em> has a nice undertone of (quite
+accurate) political and social commentary that makes it worth reading
+as more than mere cyberpunk fiction.</p>
+
+
+
+
+
+<h2><a name="sec10" id="sec10"></a>
+Non-Fiction</h2>
+
+<h3><a name="sec11" id="sec11"></a>
+Education</h3>
+
+<h4><a name="sec12" id="sec12"></a>
+John Taylor Gatto - <a href="http://www.johntaylorgatto.com/underground/toc1.htm">Underground History of American Education</a></h4>
+
+<p class="first">Contained within this book (available online for free, but the printed
+copy sits wonderfully on a shelf) is a detailed and seemingly well
+researched history of American Education with a particular focus on
+the transformation that has occured before our eyes in the last
+century. I am unsure if Gatto is entirely correct and not exaggerating
+anything; I have failed to find any negative criticisms, but it is not
+clear to me if that is because he is entirely correct or if no one
+cares enough to write a counterargument. I am in the process of
+tracking down as many of his sources as possible (a good number of
+them are out of print and not in the public domain yet), and will make
+an attempt to verify his argument over the course of the next year
+(that being 2007).</p>
+
+<p>If he is correct then every one of us has had the first eighteen years
+of our lives stolen from us, and we have collectively suffered massive
+intellectual damage. My intuitions tell me he is correct (which is why
+I am driven to verify; I cannot trust myself because I <em>want</em> to
+believe) for my individuality and intelligence were nearly stolen from
+me. The only reason I survived relatively unscathed is because I
+became completely socially withdrawn for the last half of elementary
+school until late in high school due to the abuse I received at the
+hands of my peers creating a deep fear of social interaction in
+me. The downside is that I had the confidence crushed from my soul,
+but now that I have begun to regain it (the good that bicycling
+enabling me to stand straight and gradual realization of my own worth
+as a human have done) I would never trade the ability to think freely
+for the social skills I lack.</p>
+
+
+
+<h3><a name="sec13" id="sec13"></a>
+Philosophy</h3>
+
+<h4><a name="sec14" id="sec14"></a>
+Chinese</h4>
+
+<h5>Tao Te Ching</h5>
+
+
+<h5>Confucianism</h5>
+
+<h5>The Analects</h5>
+
+
+
+
+<h4><a name="sec15" id="sec15"></a>
+Marcus Aurelius - Meditations</h4>
+
+<p class="first">I enjoyed reading this collection of meditations on Stoic
+philosophy. It is a fairly quick read; I read each of the twelve books
+before sleeping over the course of two weeks. Toward the end of the
+collection things get a bit topically repetetive (e.g. acting
+according to the nature of man is reflected upon over and over), but
+each repetition looks at the topic in a slightly different light. A
+number of passages I found quite inspiring, and scratched them down in
+my notebook to ponder further.</p>
+
+
+<h4><a name="sec16" id="sec16"></a>
+Søren Kierkegaard - The Sickness Unto Death</h4>
+
+<p class="first">I purchased this when I was looking through books at a store after
+being unable to find the book I really wanted, and I must say that it
+was better for me to have found this one.</p>
+
+<p>Contained within is a beautiful analysis of despair in the context of
+Christianity (really theism in general). Even if the argument offends,
+the presentation cannot. The dialectical nature of despair is
+reflected in every aspect of the work, and the method of presentation
+forces reflection.</p>
+
+
+
+<h3><a name="sec17" id="sec17"></a>
+Politics</h3>
+
+<h4><a name="sec18" id="sec18"></a>
+Thomas More - Utopia</h4>
+
+<p class="first">I read most of Utopia in high school with the TI-89 ebook reader, but
+the way the book was split up made it a bit difficult to grasp the
+overall structure. I found a copy at a used book store one day, and so
+I read it again, and found it much more comprehensible. It is a quick
+read, and decent piece of literature. The interesting social system
+espoused resembles resembles state communism (even if perhaps as a
+negative ideal), but with an strange blend of 14th century European
+social customs.</p>
+
+
+
+<h3><a name="sec19" id="sec19"></a>
+Religion</h3>
+
+<h4><a name="sec20" id="sec20"></a>
+<a href="William%20James%20-%20The%20Varieties%20of%20Religious%20Experience.html">William James - The Varieties of Religious Experience</a></h4>
+
+
+
+
+<h3><a name="sec21" id="sec21"></a>
+Technical</h3>
+
+<h4><a name="sec22" id="sec22"></a>
+C J Date - Database in Depth</h4>
+
+<p class="first">This was a complete waste of time. The author rants on for 180 pages
+and presents the information in a disorderly and shallow manner. It
+could be rewritten in about fifty pages and contain the same amount of
+information if it were organized properly and the off topic commentary
+were minimized.</p>
+
+
+<h4><a name="sec23" id="sec23"></a>
+Gregor Kiczales - The Art of the Metaobject Protocol</h4>
+
+<p class="first">AMOP is useful as a reference to the CLOS MOP (although less so with
+the online MOP spec), but the true value of the book lies in the first
+half of the book. It presents the design of the CLOS MOP through a
+series of revisions that fix limitations of earlier implementations
+and gradually work toward a generic and well designed MOP for
+CLOS. Through that process one is made more aware of a few general
+object protocol design skills, and gains insight into how to cleanly
+make mapping decisions customizable.</p>
+
+
+
+
+
+<h2><a name="sec24" id="sec24"></a>
+Reports</h2>
+
+<h3><a name="sec25" id="sec25"></a>
+<a href="http://nces.ed.gov/pubs2006/2006483.pdf">2003 National Assesement of Adult Literacy</a></h3>
+
+<p class="first">A depressing view of American literacy rates. Literacy skills
+decreased across almost every population segment in the US between
+1993 and 2003; a mere 31% of college graduates are considered
+proficient in quantitative literacy (defined as being able to do
+things as terribly complicated as comparing two editorials).</p>
+
+
+
+
+<h2><a name="sec26" id="sec26"></a>
+Books That I Cannot Find</h2>
+
+<p class="first">If you know anyone who has copies I'd appreciate an email. I'm willing
+to buy books for a reasonable cost, and for ones that are more than 25
+years old and out of print I am not opposed to <em>piracy</em> (no one is
+making money from them, and I feel that long copyrights are unethical
+and therefore feel no pangs of moral guilt).</p>
+
+<ul>
+<li><em>Crystallizing Public Opinion</em> by Edward Bernays
+
+<ul>
+<li>A supposed classic in the field of public relations. Curiosity
+demands that I read the writings of the father of the field to
+better understand the way the international media works.</li>
+<li>Another example of out of print books clearly having a market,
+but no publisher due to copyright (used copies go for nearly a
+thousand dollars in poor condition and hit five thousand or so
+for ones in good shape).</li>
+</ul></li>
+</ul>
+
+
+<h2><a name="sec27" id="sec27"></a>
+Essays</h2>
+
+<h3><a name="sec28" id="sec28"></a>
+Computing</h3>
+
+<h4><a name="sec29" id="sec29"></a>
+Design</h4>
+
+<h5><a href="http://deadhobosociety.com/index.php/Essays/ESSAY12">Confucianism and Technical Standards</a></h5>
+
+
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">    To Wise Man's Son and Wednesday's Child all is white that is not black
+      They dance in symbiotic deadlock; one step forward two steps back
+     Playing karmic snakes and ladders (All your sins will find you out)
+     When all your gains are lost in vain on cosmic wings and roundabouts
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Roasted Garlic.html b/Roasted Garlic.html
new file mode 100644 (file)
index 0000000..39a7075
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Roasted Garlic</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Roasted Garlic</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>1 or 2 heads of garlic</li>
+<li>Two tablespoons of olive oil</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<ol>
+<li>Preheat oven to 400°F</li>
+<li>Separate the cloves of the garlic heads; leave the skin on the
+individual cloves (only removing lose bits of skin).</li>
+<li>Put onto a piece of aluminum foil and throw a tablesoon of olive
+oil on top of the cloves.</li>
+<li>Rub the olive oil over the cloves</li>
+<li>Turn the foil into a pouch and roast in a preheated 400°F oven for
+an hour</li>
+</ol>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">The roasted garlic bits keep for a few days in the fridge so there
+isn't really any reason to roast less than a full head of
+garlic. Obviously you can throw some spices in if you want, but I
+usually just roast the garlic because I use it in heavily spiced
+things anyway. Don't try to roast more than two heads worth of cloves
+in a bunch, but naturally you can throw a bunch of pouches into the
+oven if you have a need for an absurd amount of roasted garlic.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">If nothing in the world can change our children will inherit nothing
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  1, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/SCWM.html b/SCWM.html
new file mode 100644 (file)
index 0000000..8dd7ac5
--- /dev/null
+++ b/SCWM.html
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Scheme Your Windows</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <link href="http://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Scheme Your Windows</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Installing SCWM</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Dependencies</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Required</a>
+</dt>
+<dt>
+<a href="#sec4">Optional</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Downloading and Building</a>
+</dt>
+<dt>
+<a href="#sec6">Running</a>
+</dt>
+<dt>
+<a href="#sec7">Hacking</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec8">XNested Setup</a>
+</dt>
+<dt>
+<a href="#sec9">GDS for Interaction</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here --><h2><a name="sec1" id="sec1"></a>
+Installing SCWM</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Dependencies</h3>
+
+<h4><a name="sec3" id="sec3"></a>
+Required</h4>
+
+<ul>
+<li><a href="http://www.gnu.org/software/guile">Guile</a> 1.8.0+</li>
+<li>IMLib 1.x (in Debian imlib11-dev)</li>
+</ul>
+
+
+<h4><a name="sec4" id="sec4"></a>
+Optional</h4>
+
+<ul>
+<li><a href="ftp://ftp.gnu.org/gnu/guile-gtk/guile-gtk-0.60.tar.gz">Guile-GTK</a> 0.60 for dialog support. Guile-GTK 2.x and scwm are not
+compatible yet</li>
+</ul>
+
+
+
+<h3><a name="sec5" id="sec5"></a>
+Downloading and Building</h3>
+
+<p class="first">A working version of SCWM can be obtained from
+<a href="http://sourceforge.net/cvs/?group_id=225">sourceforge CVS</a>. Compilation is much more straightforward than one
+would suspect from a project so old (thanks to dsmith for doing the
+painful parts of unbitrotting). The standard autoconf sequence of
+commands should work.</p>
+
+<pre class="example">
+./autogen.sh
+./configure
+make
+sudo make install
+</pre>
+
+
+<h3><a name="sec6" id="sec6"></a>
+Running</h3>
+
+<p class="first">The directory <code>sample.scwmrc</code> has a few sample SCWM
+configurations. <code>system.scwmrc</code> and <code>sample.scwmrc</code> both work fairly well;
+I have yet to test the others. If not using <code>system.scwmrc</code> it is useful
+to at least include the bits that enable debugging.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">define</span> <span class="emacs-face-function-name">debug</span> #t)
+
+(<span class="emacs-face-keyword">if</span> debug
+    (<span class="emacs-face-keyword">begin</span>
+      (add-hook! module-loaded-hook display-module-loaded)
+      (set! %load-verbosely #t)
+      (debug-enable 'debug 'backtrace)
+      (read-enable 'positions)))
+</pre>
+
+<p>SCWM will attempt to load <code>system.scwmrc</code> by default, but this can be
+overridden with the <code>-f</code> option. The default <code>system.scwmrc</code> loads user
+config from a series of files in <code>~/.scwm/</code>.</p>
+
+
+<h3><a name="sec7" id="sec7"></a>
+Hacking</h3>
+
+<h4><a name="sec8" id="sec8"></a>
+XNested Setup</h4>
+
+<p class="first">The easiest way to hack on SCWM is to run it inside of Xnest.</p>
+
+<pre class="example">
+Xnest :1 &amp;
+scwm --display :1 --debug # --debug makes X requests synchronous
+</pre>
+
+
+<h4><a name="sec9" id="sec9"></a>
+GDS for Interaction</h4>
+
+<p class="first">SCWM has an emacs interaction mode that communicates with the window
+manager using X window properties, but the emacs side of the code
+doesn't quite work, and GDS is featureful enough now to be used to
+interact with scwm. Using GDS makes hacking scwm quite a bit
+easier. <strong>GDS requires a Guile built with threads to work properly
+(the version in Debian is built <em>without</em> threading).</strong></p>
+
+<h5>scwmrc code</h5>
+
+<p>The following code should be in your scwmrc somewhere.</p>
+
+<pre class="src">
+(use-modules (ice-9 gds-client)
+             (ice-9 threads))
+
+<span class="emacs-face-comment-delimiter">;;; </span><span class="emacs-face-comment">GDS thread (in case it must be killed during debugging, ...)
+</span>(<span class="emacs-face-keyword">define</span> <span class="emacs-face-function-name">cke-gds-thread</span> #f)
+
+(<span class="emacs-face-keyword">define</span> (<span class="emacs-face-function-name">connect-to-debugging-server</span>)
+  (set! cke-gds-thread
+        (call-with-new-thread (<span class="emacs-face-keyword">lambda</span> () (run-utility))))
+  cke-gds-thread)
+</pre>
+
+<p>After defining you can either use <code>scwmrepl</code> to run
+<code>(connect-to-debugging-server)</code> after starting a GDS server, or simply
+add <code>(connect-to-debugging-server)</code> to the config if one will always be
+running.</p>
+
+
+<h5>Emacs config</h5>
+
+<p>I wrote <a href="http://darcs.unknownlamer.org/site-emacs/init.d/guile-debug.el">a bit of elisp</a> to simplify setting up a scratch buffer for
+interaction with guile.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">require</span> '<span class="emacs-face-constant">gds</span>)
+(<span class="emacs-face-keyword">require</span> '<span class="emacs-face-constant">gds-server</span>)
+(<span class="emacs-face-keyword">require</span> '<span class="emacs-face-constant">gds-scheme</span>)
+
+(<span class="emacs-face-keyword">defvar</span> <span class="emacs-face-variable-name">guile-scratch-buffer-name</span> <span class="emacs-face-string">"*guile-scratch*"</span>
+  <span class="emacs-face-doc">"Name of the Guile evaluation scratch buffer"</span>)
+
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">make-guile-scratch-buffer</span> ()
+  (<span class="emacs-face-keyword">interactive</span>)
+  (<span class="emacs-face-keyword">let</span> ((scratch-buf (generate-new-buffer guile-scratch-buffer-name)))
+    (switch-to-buffer scratch-buf)
+    (scheme-mode)
+    (gds-auto-associate-buffer)))
+</pre>
+
+<p>If you were already running a debugging client process you will need
+to choose the process to associate the buffer with; <code>ps</code> will tell you
+the PID of scwm.</p>
+
+
+<h5>Known Issues</h5>
+
+<p>Occasionally evaluating an expression or viewing a backtrace will make
+scwm lockup. My understanding is that scwm is not threadsafe, and
+there are some evil issues that will take a while to solve. GDS works
+well enough for now; if I can't make GDS completely reliable I shall
+unbitrot the scwm emacs interaction mode (unless someone else beats me
+to it, <em>hint hint</em>).</p>
+
+
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="http://validator.w3.org/check/referer"><img
+       src="http://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="http://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="http://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="http://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="http://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Ethan: i'm working on myself
+Ethan: the self is the most important thing
+Ethan: i learned this from a packet of tea
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Site Software.html b/Site Software.html
new file mode 100644 (file)
index 0000000..c236178
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Site Software</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Site Software</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Basic Setup</a>
+</dt>
+<dt>
+<a href="#sec2">Scripts</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Book Database</a>
+</dt>
+<dt>
+<a href="#sec4">RSS Feed</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">License</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Basic Setup</h2>
+
+<p class="first">I work on the static content of the site using <a href="http://mwolson.org/projects/EmacsMuse.html">Emacs Muse</a>. My muse
+configuration is pretty long and available in my
+<a href="http://unknownlamer.org/darcsweb/browse?r=site-emacs;a=headblob;f=/init.d/muse.el">site-emacs repository</a>. The site itself exists in a <a href="http://unknownlamer.org/darcsweb/browse?r=unknownlamer.org;a=summary">darcs repository</a>
+which is a fork of the source repository I edit locally&mdash;the source
+repository contains muse/image files while the site repository
+contains html updates as a separate series of patches.</p>
+
+<p>This provides a very nice editing environment and makes publishing
+fairly easy&mdash;I push edits from my laptop to my workstation and then
+off to <a href="http://hcoop.net">HCoop</a> with the html updates. Almost no effort is spent dealing
+with some dumb web interface or other pointless things making it much
+easier for me to just write things and toss them up onto the web.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Scripts</h2>
+
+<p class="first">There are a few scripts and templates in the <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=summary">darcsweb::site-support</a>
+repository that I use to update the
+site. <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/update.sh">darcsweb::site-support/update.sh</a> automates the process of
+sending patches off to the server via afs.</p>
+
+<h3><a name="sec3" id="sec3"></a>
+Book Database</h3>
+
+<p><a href="Book%20List.html">Book List</a> is autogenerated by <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/books.lisp">darcsweb::site-support/books.lisp</a> which
+reads a template and a small sexp <em>database</em> of book entries and spits
+out a muse file which is not kept under VC. This works well for me
+currently, but I intend to eventually <em>upgrade</em> this simple system to an
+<a href="http://common-lisp.net/project/elephant/">Elephant</a> object database with a <a href="http://common-lisp.net/project/mcclim/">CLIM</a> frontend for editing
+entries. I'll probably end up writing a minimal database manager for
+the sexp based system first.</p>
+
+
+<h3><a name="sec4" id="sec4"></a>
+RSS Feed</h3>
+
+<p class="first">The site rss feed is generated by <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/rss.lisp">darcsweb::site-support/rss.lisp</a>. It
+fetches the darcs xml changelog for interesting files and then spits
+out a tolerable feed with automagically generated links from <code>*.muse</code> to
+<code>*.html</code>. A <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/update-rss-binary">dumped binary</a> is run from a darcs hook on the main
+repository that handily updates the feed whenever I commit.</p>
+
+<p><code>apply posthook update-site-rss
+apply run-posthook</code></p>
+
+<p>Boring old Apache is used to serve up the generated feed. The feed
+stays updated when I update, and Apache deals with properly letting
+readers know when the file last changed and whatnot.</p>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+License</h2>
+
+<p class="first">All of the scripts used to generate the site are in the public domain
+unless otherwise mentioned in the files themselves. To use them
+anywhere else would require modification, but a few chunks of code
+could be generally useful for other things.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">'Asked whether it is a good thing that the course of our
+civilization being largely directed by gigantic immortal,
+belligerent, unsleeping multiheaded tax-avoiding parakeets whose
+unnatural lusts can never be sated, Dr. Larkey declined to
+comment, noting that "corporations have the rights of personhood
+in this country" and that "it is not my place to criticize the
+law".'
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Sourdough Rye.html b/Sourdough Rye.html
new file mode 100644 (file)
index 0000000..07bfc31
--- /dev/null
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Sourdough Rye</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Sourdough Rye</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Notice of Shameless Derivation As It Were</a>
+</dt>
+<dt>
+<a href="#sec2">Ingredients</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Sponge</a>
+</dt>
+<dt>
+<a href="#sec4">Dough</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec5">Recipe</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec6">Sponge</a>
+</dt>
+<dt>
+<a href="#sec7">Dough</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec8">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Notice of Shameless Derivation As It Were</h2>
+
+<p class="first">I took the <a href="http://www.io.com/~sjohn/sour.htm">basic sourdough bread</a> recipe from <a href="http://www.io.com/~sjohn/">S. John Ross</a>, converted it
+into a rye bread, and rewrote the recipe steps a tad bit more nerdily
+perhaps. I also substituted molasses for sugar and accidentally used
+four tablespoons instead of teaspoons in the dough; the result was
+tasty and so I left it that way.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Ingredients</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+Sponge</h3>
+
+<ul>
+<li>Sourdough Starter equivalent to 1/2 cup water and 1/2 cup flour</li>
+<li>1/2 cup water</li>
+<li>1/2 cup rye flour</li>
+<li>1/4 cup red wheat flour or rye flour</li>
+<li>1 teaspoon molasses</li>
+</ul>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Dough</h3>
+
+<ul>
+<li>1 1/2 cups rye flour</li>
+<li>1 1/2 cups red wheat flour</li>
+<li>3/4 cup water</li>
+<li>2 tablespoons olive oil or butter</li>
+<li>4 tablepoons molasses</li>
+<li>2 teaspoons kosher salt</li>
+</ul>
+
+
+
+<h2><a name="sec5" id="sec5"></a>
+Recipe</h2>
+
+<h3><a name="sec6" id="sec6"></a>
+Sponge</h3>
+
+<p class="first">The night before baking add the starter to 1/2 cup water and 1/2 cup
+rye flour and mix as per usual. A few hours before baking add 1/4 cup
+red wheat flour and a teaspoon of molasses to the sponge and allow it
+get bubbly again.</p>
+
+
+<h3><a name="sec7" id="sec7"></a>
+Dough</h3>
+
+<ol>
+<li>Mix sponge, molasses, salt, oil, and water thoroughly</li>
+<li>Gradually mix in 3 cups of flour (after about half of it has been
+mixed in you will have to knead the rest in by hand)</li>
+<li>Knead for a good ten or twenty minutes</li>
+<li>Roll into a ball and put into a bowl covered with a damp towel in
+a warm place until it fully rises (with my starter this takes
+about ninety minutes)</li>
+<li>If you desire a slightly more sour bread punch the dough ball down
+and let it rise a second time</li>
+<li>Knead the dough for a few minutes</li>
+<li>Put the dough into a bread pan if you desire a loaf or onto a
+pizza stone or whatever you usually bake upon and bake for about
+40 minutes at 350°F (do not preheat the oven)</li>
+<li>Tasty</li>
+</ol>
+
+
+
+<h2><a name="sec8" id="sec8"></a>
+Notes</h2>
+
+<p class="first">The two step starter process may be unnecessary. If you choose to do a
+one step starter just omit the wheat flour feeding (and perhaps
+molasses if you want a less sour sponge) and 1/4 cup of water from the
+dough.</p>
+
+<p>This bread contains a serious amount of molasses and as such may make
+you fat. I think backing things off to four teaspoons as per the white
+bread recipe this was originally might work, but I never bothered
+trying so do so at your own risk (and email me with your result if you
+wish).</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">'Asked whether it is a good thing that the course of our
+civilization being largely directed by gigantic immortal,
+belligerent, unsleeping multiheaded tax-avoiding parakeets whose
+unnatural lusts can never be sated, Dr. Larkey declined to
+comment, noting that "corporations have the rights of personhood
+in this country" and that "it is not my place to criticize the
+law".'
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Sun Dried Tomato Pita.html b/Sun Dried Tomato Pita.html
new file mode 100644 (file)
index 0000000..962e9d7
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Sun Dried Tomato Pita</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Sun Dried Tomato Pita</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Ingredients</a>
+</dt>
+<dt>
+<a href="#sec2">Directions</a>
+</dt>
+<dt>
+<a href="#sec3">Notes</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Everything is the same as the basic <a href="Pita.html">Pita</a> with the following additions.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Ingredients</h2>
+
+<ul>
+<li>6 sun dried tomatoes (dry and not oil packed)</li>
+<li>3/4 cup water from boiling tomatoes and 3/4 cup water instead of 1
+1/2 cups of water</li>
+<li>About 1 tbsp fresh romemary (chopped a bit)</li>
+<li>2 decent sized leaves of basil (chopped)</li>
+</ul>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Directions</h2>
+
+<ol>
+<li>Boil the sun dried tomatoes in one cup of water with a dash of
+salt for ten minutes. Save 3/4 cups of the water after boiling.</li>
+<li>Chop the sun dried tomatoes into fairly small chunks</li>
+<li>Chop the basil leave fairly finely; cut the rosemary leaves into
+thirds (approximate, naturally&mdash;a few whole leaves are entirely
+ok).</li>
+<li>Blend in the basil and rosemary with the dry ingredients</li>
+<li>Blend in the tomato chunks with the wet ingredients</li>
+<li>Return to the good old <a href="Pita.html">Pita</a> recipe</li>
+</ol>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Notes</h2>
+
+<p class="first">Sometimes I grate some parmesian or another hard cheese and mix it
+with a bit of rosemary and garlic into a small amount of olive oil
+(just enough to make things sticky) and spread it onto the tops of the
+pita when baking. It is, naturally, delicious.</p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">    To Wise Man's Son and Wednesday's Child all is white that is not black
+      They dance in symbiotic deadlock; one step forward two steps back
+     Playing karmic snakes and ladders (All your sins will find you out)
+     When all your gains are lost in vain on cosmic wings and roundabouts
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/TRUTH.html b/TRUTH.html
new file mode 100644 (file)
index 0000000..5eb823b
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Absolute Truths Which Cannot Be Denied</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Absolute Truths Which Cannot Be Denied</h1>
+   <div class="contents">
+<dl>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<ul>
+<li>Everyone is depressed. It is a normal state of being. Take your
+pills.</li>
+<li>Most children have ADHD. Give them their pills; if you don't they
+will never learn anything.</li>
+<li>You must have a career
+
+<ul>
+<li>Not being employed will make you poor</li>
+<li>The point of the University is to attain job skills</li>
+</ul></li>
+<li>Not owning a car will make you a social pariah</li>
+<li>Music is background noise and nothing more
+
+<ul>
+<li>Songs which discuss topics other than love, lust, and loneliness
+are not good</li>
+<li>Heavy metal contains the message of Satan and will corrupt your
+children</li>
+</ul></li>
+<li>Clinton Ebadi is not a member of the Illuminati</li>
+<li>The NYTimes best seller list consists of the best books written today
+
+<ul>
+<li>Literature produced today is better than any ever written before
+
+<ul>
+<li>Therefore literature written before 1900 is a waste of time</li>
+</ul></li>
+</ul></li>
+<li>Logic is for cold and unfeeling people
+
+<ul>
+<li>Good arguments are based on emotion</li>
+<li>The axioms of logic cannot be proven, and we must therefore
+abandon logic as an anachronism of times long past</li>
+</ul></li>
+<li>The individual should serve the state</li>
+<li>Average people are incapable of teaching themselves much</li>
+<li>Ethanol will enable us to continue consuming energy as we do now</li>
+<li>Obama represents actual change to the system</li>
+<li>Reform is change</li>
+<li>Forced purchase of goods from private entities is socialism</li>
+<li>Rhetoric is never used for evil</li>
+</ul>
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">"Karen loved animals. Unfortunately the cheetahs betrayed her trust,"
+Libot said.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Term Logic.html b/Term Logic.html
new file mode 100644 (file)
index 0000000..6775139
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Term Logic</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Term Logic</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Definition</a>
+</dt>
+<dt>
+<a href="#sec2">Propositions</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Relations of Propositional Categories</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">A to E &mdash; Negation</a>
+</dt>
+<dt>
+<a href="#sec5">I to O &mdash; Subcontradiction</a>
+</dt>
+<dt>
+<a href="#sec6">A to I  / E to O&mdash; Implication</a>
+</dt>
+<dt>
+<a href="#sec7">A to O / E to I &mdash; Contradiction</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec8">Syllogistic Dialectic</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec9">Modus Ponens (Affirming the Antecedent)</a>
+</dt>
+<dt>
+<a href="#sec10">Modus Tollens (Denying the Consequent)</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec11">Sources</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec12"><em>Prior Analytics</em></a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Definition</h2>
+
+<p class="first">Term logic is the classical form of logic used by the followers of
+Aristotle (i.e. all of Europe) prior to the advent of modern predicate
+logic. A basic knowledge of it is fundamental to understanding
+European and Greek philosophical texts written prior to around the
+mid-1800s. I have written this page as a set of notes for myself to
+assist with formulating the structure of the enthymemes presented in
+<em>Rhetoric</em>.</p>
+
+
+
+<h2><a name="sec2" id="sec2"></a>
+Propositions</h2>
+
+<p class="first">There are four categories of propositions in term logic</p>
+
+<ul>
+<li>A: Universal affirmative <!-- $\forall P \exists Q P
+\rightarrow Q$--><img src="img/latex/latex2png-Term Logic__1820230203588184659.png" alt="latex2png equation" class="latex-inline" /></li>
+<li>E: Universal negative <!-- $\forall P \exists Q P
+\rightarrow \neg Q$--><img src="img/latex/latex2png-Term Logic__1990139104632252084.png" alt="latex2png equation" class="latex-inline" /></li>
+<li>I: Particular affirmative <!-- $\exists P \exists Q P
+\rightarrow Q$--><img src="img/latex/latex2png-Term Logic__1820230203585672063.png" alt="latex2png equation" class="latex-inline" /></li>
+<li>O: Particular negative <!-- $\exists P \exists Q P
+\rightarrow \neg Q$--><img src="img/latex/latex2png-Term Logic__1990136469440439988.png" alt="latex2png equation" class="latex-inline" /></li>
+</ul>
+
+<h3><a name="sec3" id="sec3"></a>
+Relations of Propositional Categories</h3>
+
+<h4><a name="sec4" id="sec4"></a>
+A to E &mdash; Negation</h4>
+
+<p class="first">Universal affirmatives and universal negatives stand in the most
+important dialectical relationship: they cannot both be true.</p>
+
+
+<h4><a name="sec5" id="sec5"></a>
+I to O &mdash; Subcontradiction</h4>
+
+<p class="first">Particular affirmatives and particular negatives <em>may</em> simultaneously be
+true, but they cannot simultaneously be false.</p>
+
+
+<h4><a name="sec6" id="sec6"></a>
+A to I  / E to O&mdash; Implication</h4>
+
+<p class="first">The universal affirmative implies the particular affirmative; likewise
+for the universal and particular negative.</p>
+
+
+<!-- \[ \forall P \exists Q P \rightarrow Q \vdash \exists P
+      \exists Q P \rightarrow Q \]--><p><img src="img/latex/latex2png-Term Logic__662057013302028111.png" alt="latex2png equation" class="latex-display" /></p>
+
+<!-- \[ \forall P \exists Q P \rightarrow \neg Q) \vdash \exists P
+      \exists Q P \rightarrow \neg Q \]--><p><img src="img/latex/latex2png-Term Logic__2257733438607490157.png" alt="latex2png equation" class="latex-display" /></p>
+
+
+<h4><a name="sec7" id="sec7"></a>
+A to O / E to I &mdash; Contradiction</h4>
+
+<p class="first">The universal affirmative contradicts the particular negative;
+likewise for the universal negative and the particular positive.</p>
+
+
+<!-- \[ \forall P \exists Q P \rightarrow Q \not \vdash \exists P
+      \exists Q P \rightarrow \neg Q \]--><p><img src="img/latex/latex2png-Term Logic__930112774001846957.png" alt="latex2png equation" class="latex-display" /></p>
+
+<!-- \[ \forall P \exists Q P \rightarrow \neg Q \not \vdash
+      \exists P \exists Q P \rightarrow Q \]--><p><img src="img/latex/latex2png-Term Logic__1000903687973200244.png" alt="latex2png equation" class="latex-display" /></p>
+
+
+
+
+<h2><a name="sec8" id="sec8"></a>
+Syllogistic Dialectic</h2>
+
+<!-- \[ 
+      \begin{array}{lcl}
+      A & \text{R} & B \\
+      C & \text{R} & A \\
+      C & \text{R} &  B
+      \end{array}
+       \]--><p><img src="img/latex/latex2png-Term Logic__1578431659330548867.png" alt="latex2png equation" class="latex-display" /></p>
+
+<p>Where <strong>R</strong> is one of the aforementioned relations.</p>
+
+<h3><a name="sec9" id="sec9"></a>
+Modus Ponens (Affirming the Antecedent)</h3>
+
+<!-- \[ P \rightarrow Q, Q \vdash P \]--><p><img src="img/latex/latex2png-Term Logic__1704608037914088017.png" alt="latex2png equation" class="latex-display" /></p>
+
+
+<h3><a name="sec10" id="sec10"></a>
+Modus Tollens (Denying the Consequent)</h3>
+
+<!-- \[ P \rightarrow Q, \neg Q \vdash \neg P \]--><p><img src="img/latex/latex2png-Term Logic__598849921279338722.png" alt="latex2png equation" class="latex-display" /></p>
+
+
+
+<h2><a name="sec11" id="sec11"></a>
+Sources</h2>
+
+<h3><em><a name="sec12" id="sec12"></a>Prior Analytics</em></h3>
+
+<ul>
+<li><a href="http://etext.library.adelaide.edu.au/a/aristotle/a8pra/index.html">HTML</a> &mdash; <a href="http://creativecommons.org/licenses/by-nc-sa/2.5/au/">CC by-nc-sa</a> licensed translation</li>
+</ul>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Jessie: i thought your beard took the oxygen from the air and made it
+        breathable for you
+</p>
+<p class="cke-timestamp">Last Modified:
+    May  9, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/UCWNotes.html b/UCWNotes.html
new file mode 100644 (file)
index 0000000..0f02298
--- /dev/null
@@ -0,0 +1,1363 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Roadmap to UCW Codebase</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Roadmap to UCW Codebase</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Abstract</a>
+</dt>
+<dt>
+<a href="#sec2">Roadmap</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec3">Applications</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Cookie</a>
+</dt>
+<dt>
+<a href="#sec5">L10n</a>
+</dt>
+<dt>
+<a href="#sec6">Secure</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec7">Components</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec8">Windows</a>
+</dt>
+<dt>
+<a href="#sec9">Containers</a>
+</dt>
+<dt>
+<a href="#sec10">Dialogs</a>
+</dt>
+<dt>
+<a href="#sec11">Forms</a>
+</dt>
+<dt>
+<a href="#sec12">Templates</a>
+</dt>
+<dt>
+<a href="#sec13">Utility Mixin Components</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec14">Control Flow</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec15">Calling</a>
+</dt>
+<dt>
+<a href="#sec16">Actions</a>
+</dt>
+<dt>
+<a href="#sec17">Entry Points</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec18">Dispatching</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec19">Simple Dispatcher</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec20">Server</a>
+</dt>
+<dt>
+<a href="#sec21">Debugging</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec22">Inspector</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt>
+<a href="#sec23">Tips</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec24">Getting dojo to load</a>
+</dt>
+<dt>
+<a href="#sec25">Specials Bound During Rendering</a>
+</dt>
+<dt>
+<a href="#sec26">Printing to the yaclml stream</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Abstract</h2>
+
+<p><a href="http://common-lisp.net/project/ucw/">UnCommon Web</a> is a very powerful and mature web framework for Common
+Lisp, but is a bit difficult to learn. It is documented
+extensively&mdash;in the form of docstrings. These are extremely helpful
+once you've figured out the rough structure of UCW, but they are of no
+help when first learning unless you just read most of the source. I
+ended up having to do that, and after some urging along by folks in
+<code>#ucw</code> I decided to clean up my planner notes and publish them for
+public consumption.</p>
+
+<p>The roadmap is presented with major sections ordered in a logical
+order for learning the framework. The sections are ordered internally
+in order of most immediately useful to least, but it may be worth
+hopping between major sections before reading all of the details. I
+have used abridged class definitions and docstrings with occasional
+commentary to clarify things.</p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Roadmap</h2>
+
+<h3><a name="sec3" id="sec3"></a>
+Applications</h3>
+
+<p class="first">Applications are a bundle of entry points. The base class is,
+naturally, <code>standard-application</code>, but you should instead derive your
+application class from <code>modular-application</code> and any standard or custom
+application mixins you find useful.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/standard-classes.lisp">src/rerl/standard-classes.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">standard-application</span> (application)
+  ((url-prefix <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:url-prefix</span>
+               <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A string specifying the
+start (prefix) of all the urls this app should handle.
+
+This value is used by the standard-server to decide what app a
+particular request is aimed at and for generating links to
+actions within the app. "</span>)
+   (www-roots <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:www-roots</span>
+              <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A list of directories (pathname
+specifiers) or cons-cell (URL-subdir . pathname) to use when looking for static files."</span>)
+   (dispatchers <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:dispatchers</span>
+                <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A list of request
+dispatchers. The user supplied list of dispatchers is extended
+with other dispatchers that are required for UCW to function
+properly (action-dispatcher, a parenscript-dispatcher, etc). If
+you want full control over the active dispatchers use the (setf
+application.dispatchers) accessor or, if you want control over
+the order of the dispathcers, (slot-value instance
+'dispatchers)."</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The default UCW application class."</span>))
+</pre>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/modular-application/modular-application.lisp">src/rerl/modular-application/modular-application.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">modular-application-mixin</span> ()
+  ()
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Superclass for all application mixins."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">modular-application</span> (standard-application modular-application-mixin)
+  ...)
+</pre>
+
+<h4><a name="sec4" id="sec4"></a>
+Cookie</h4>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/modular-application/cookie-module.lisp">src/rerl/modular-application/cookie-module.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">cookie-session-application-module</span> (modular-application-mixin)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Class for applications which use cookies for sesion tracking.
+
+Cookie session applications work exactly like
+standard-applications except that when the session is not found
+using the standard mechanisms the id is looked for in a cookie."</span>))
+</pre>
+
+<p>This is the most useful of the application components. It makes your
+application urls readable by stashing the session id into a cookie
+rather than as a set of long and ugly GET parameters.</p>
+
+
+<h4><a name="sec5" id="sec5"></a>
+L10n</h4>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/modular-application/l10n-module.lisp">src/rerl/modular-application/l10n-module.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">l10n-application-module</span> (modular-application-mixin)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Application class which can handle l10n requests."</span>))
+</pre>
+
+
+<h4><a name="sec6" id="sec6"></a>
+Secure</h4>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/modular-application/security-module.lisp">src/rerl/modular-application/security-module.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">secure-application-module</span> (modular-application-mixin)
+  (<span class="emacs-face-builtin">:documentation</span>
+    <span class="emacs-face-doc">"Mixin class for applications which require authorized access.
+Concrete application must specialize the following methods:
+APPLICATION-FIND-USER (APPLICATION USERNAME)
+APPLICATION-CHECK-PASSWORD (APPLICATION USER PASSWORD)
+APPLICATION-AUTHORIZE-CALLZE-CALL (APPLICATION USER FROM-COMPONENT TO-COMPONENT)."</span>))
+</pre>
+
+
+
+<h3><a name="sec7" id="sec7"></a>
+Components</h3>
+
+<p class="first">A component is a special class that handles the complexities of
+continuation suspension and such for you. New components are derived
+from the existing ones by using <code>defcomponent</code> instead of <code>defclass</code>. This
+adds a few extra slot and class options, and ensures that the proper
+metaclass is set.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/standard-component/standard-component.lisp">src/rerl/standard-component/standard-component.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defmacro</span> <span class="emacs-face-function-name">defcomponent</span> (name supers slots <span class="emacs-face-type">&amp;rest</span> options)
+  <span class="emacs-face-doc">"Macro for defining a component class.
+
+This macro is used to create component classes and provides
+options for easily creating the methods which often accompany a
+component definition.
+
+NAME, SUPERS and SLOTS as treated as per defclass. The following
+extra options are allowed:
+
+ (:ENTRY-POINT url (&amp;key application class)) - Define an
+ entry-point on the url URL which simply calls an instance of
+ this component. Any request parameters passed to the entry-point
+ are used to initialize the slots in the component. This option
+ may appear multiple times.
+
+ (:DEFAULT-BACKTRACK function-designator) - Unless the slots
+ already have a :backtrack option FUNCTION-DESIGNATOR is
+ added. As with the 'regular' :backtrack options if you pass T
+ here it is assumed to mean #'IDENTITY.
+
+ (:RENDER (&amp;optional COMPONENT) &amp;body BODY) - Generate a render
+ method specialized to COMPONENT. COMPONENT may be a symbol, in
+ which case the method will be specialized on the componnet
+ class. If COMPONNET is omited the component is bound to a
+ variable with the same name as the class.
+
+ (:ACTION &amp;optional NAME) - Generate a defaction form named
+ NAME (which defaults to the name of the component) which simply
+ CALL's this component class passing all the arguments passed to
+ the action as initargs."</span>)
+
+<span class="emacs-face-comment-delimiter">;;; </span><span class="emacs-face-comment">Extra Slot Options
+</span><span class="emacs-face-string">"Other than the initargs for standard slots the following
+options can be passed to component slots:
+
+:backtrack [ T | NIL | FUNCTION-NAME ] - Specify that this slot
+should be backtracked (or not if NIL is passed as the value). If
+the value is neither T nor NIL then it must be a function which
+will be used as the copyer.
+
+:component [ TYPE | ( TYPE &amp;rest INITARGS ) ] - Specify that this
+slot is actually a nested component of type TYPE. When instances
+of the class are created this slot will be set to an instance of
+type TYPE and it's place will be set to this slot. If a list is
+passed to :component then TYPE (which isn't evaluated) will be
+passed as the first argument to make-instance. The INITARGS will
+be eval'd and apply'd to make-instance. The result of this call
+to make-instance will be used as the effective component
+object."</span>
+</pre>
+
+<h4><a name="sec8" id="sec8"></a>
+Windows</h4>
+
+<p class="first">A window-component represents a top level browser window, naturally.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/window.lisp">src/components/window.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">window-component</span> ()
+  ((content-type)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">simple-window-component</span> (window-component)
+  ((title)
+   (stylesheet)
+   (javascript <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"List of javascript includes.
+
+Each element must be a list whose first value is either the
+symbol :SRC or :JS.
+
+ (:SRC url) - writes &lt;script src=\"URL\"&gt;&lt;/script&gt; tag.
+ (:JS form) - equivalent to (:SCRIPT (js:js* form))
+ (:SCRIPT string) - write &lt;script&gt;STRING&lt;/script&gt;.
+
+The elements will be rendered in order."</span>)
+   ...))
+</pre>
+
+<p><code>window-component</code> could be useful for doing things like dumping binary
+data to the user, or just deriving your own funky top level window
+type.</p>
+
+<p><code>simple-window-component</code> is the easiest for displaying standard
+webpage. It provides a wrapping method on render that displays the
+html boilerplate based on your component slot values which is what one
+wants most of the time. The initargs to <code>simple-window-component</code> have
+the same names as the slots.</p>
+
+<h5>Status Bar</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/status-bar.lisp">src/components/status-bar.lisp</a></p>
+
+<p>There is a generic status bar interface. Messages severity is one of
+<code>(:error :warn :info)</code>. Note that the default status bar render method
+just shows a div with status messages. A derivative could be defined
+to insert messages into the browser status bar.</p>
+
+<pre class="src">
+(defcomponent status-bar ()
+  ((messages <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"An ALIST of the messages to
+show. Each element is a cons of the form (SEVERITY .
+MESSAGE). SEVERITY is one of :ERROR, :WARN, :INFO and MESSAGE is
+a string which will be html-escaped."</span>)
+   ...)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Stateless status bar to display messages."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">add-message</span> (status-bar msg <span class="emacs-face-type">&amp;key</span> severity <span class="emacs-face-type">&amp;allow-other-keys</span>)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Add the message text MSG to STATUS-BAR with
+severity SEVERITY."</span>))
+</pre>
+
+<pre class="src">
+(defcomponent status-bar-mixin ()
+  ((status-bar <span class="emacs-face-builtin">:accessor</span> status-bar
+               <span class="emacs-face-builtin">:initarg</span> status-bar
+               <span class="emacs-face-builtin">:component</span> (status-bar))))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">show-status-bar</span> ((win status-bar-mixin))
+  (render (status-bar win)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">show-message</span> (msg <span class="emacs-face-type">&amp;key</span> severity <span class="emacs-face-type">&amp;allow-other-keys</span>)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Show a message in the status bar. Only works if
+  current window is a status-bar-mixin"</span>))
+</pre>
+
+
+<h5>Redirect</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/redirect.lisp">src/components/redirect.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">redirect-component</span> ()
+  ((target <span class="emacs-face-builtin">:accessor</span> target <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:target</span>))
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Send a client redirect.
+
+This component, which must be used as a window-component,
+redirects the client to the url specified in the target slot. A
+302 (as opposed to 303) response code is sent to ensure
+compatability with older browsers.
+
+The redirect component never answers."</span>))
+</pre>
+
+<p>There is also a <code>meta-refresh</code> procedure.</p>
+
+<pre class="src">
+(defun/cc meta-refresh ()
+  <span class="emacs-face-string">"Cause a meta-refresh (a freshly got (GET) url) at this point.
+This is useful in order to have a GET url after a form POST's
+actions have completed running. The user can then refresh to his
+heart's content."</span>)
+</pre>
+
+
+
+<h4><a name="sec9" id="sec9"></a>
+Containers</h4>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/container.lisp">src/components/container.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">container</span> ()
+  (...)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Allow multiple components to share the same place.
+
+The container component serves to manage a set of components.
+It does not provide any render impementation, which is the
+resposibility of the subclasses (e.g. switching-container or
+list-container).
+
+Each contained component has a \"key\" associated with it which
+is used to retrieve a particular component. Keys are compared with
+container.key-test.
+
+The :contents inintarg, if provided, must be either a list of (key .
+component) or a list of components. In the latter case it will
+be converted into (component . component) form."</span>))
+</pre>
+
+<h5>Protocol</h5>
+
+<ul>
+<li><code>child-components</code></li>
+<li><code>find-component CONTAINER KEY</code></li>
+<li><code>remove-component</code></li>
+<li><code>(setf find-component CONTAINER KEY) COMPONENT</code> -&gt;
+<code>add-component CONTAINER COMPONENT KEY</code></li>
+</ul>
+
+
+<h5>Switching Container</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/container.lisp">src/components/container.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">switching-container</span> ...
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A simple renderable container component.
+
+This component is like the regular CONTAINER but serves to manage a set
+of components which share the same place in the UI. Therefore it provides
+an implementation of RENDER which simply renders its current component.
+
+The switching-container component class is generally used as the super
+class for navigatation components and tabbed-pane like
+components."</span>))
+</pre>
+
+<p>Subclass and <code>(defmethod render :around ...)</code> to render navigation using
+<code>(call-next-method)</code> to render the selected component.</p>
+
+<h5>Protocol</h5>
+
+<ul>
+<li><code>container.current-component COMPONENT</code></li>
+<li><code>(setf container.current-component CONTAINER) COMPONENT</code></li>
+</ul>
+
+
+
+<h5>Tabbed Pane</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/tabbed-pane.lisp">src/components/tabbed-pane.lisp</a></p>
+
+<pre class="src">
+(defcomponent tabbed-pane (switching-container)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Component for providing the user with a standard \"tabbed pane\" GUI widget."</span>))
+</pre>
+
+<p>Provides a generic tabbed pane that renders a nested div split into a
+naviation and content box. The navigation box is a set of styled divs
+containing the navigation links.</p>
+
+
+
+<h4><a name="sec10" id="sec10"></a>
+Dialogs</h4>
+
+<p class="first">A few convenience dialogs are provided for grabbing data from the
+user.</p>
+
+<h5>login</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/login.lisp">src/components/login.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">login</span> ()
+  ((username) (password) (message))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Generic login (input username and password) component.
+
+This component, which must be embedded in another component,
+presents the user with a simple two fielded login form.
+
+When the user attempts a login the action try-login is called,
+try-login calls the generic function check-credentials passing it
+the login component. If check-credentials returns true then the
+login-successful action is called, otherwise the message slot of
+the login component is set (to a generic \"bad username\"
+message).
+
+The default implementaion of login-successful simply answers t,
+no default implementation of check-credentials is
+provided. Developers should use sub-classes of login for which
+all the required methods have been definined."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+</pre>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">check-credentials</span> (login)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Returns T if LOGIN is valid."</span>))
+
+(defaction login-successful ((l login))
+  (answer t))
+</pre>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/user-login.lisp">src/components/user-login.lisp</a></p>
+
+<pre class="src">
+(defcomponent user-login (simple-window-component status-bar-mixin)
+  ((username string-field) (password password-field)))
+</pre>
+
+<p>Used by <code>secure-application-module</code> to provide a user login. Relevant
+protocol details follow.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">check-credentials</span> ((self user-login))
+  (<span class="emacs-face-keyword">let*</span> ((username (value (username self)))
+         (password (value (password self)))
+         (user (find-application-user username)))
+    (<span class="emacs-face-keyword">when</span> (and user (<span class="emacs-face-warning">check-user-password</span> user password))
+      user)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">application-find-user</span> (application username)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Find USER by USERNAME for APPLICATION."</span>))
+</pre>
+
+
+<h5>error</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/error.lisp">src/components/error.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">error-message</span> (simple-window-component)
+  ((message <span class="emacs-face-builtin">:accessor</span> message <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:message</span> <span class="emacs-face-builtin">:initform</span> <span class="emacs-face-string">"ERROR [no message specified]"</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Generic component for showing server side
+ error messages."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">error-component</span> (error-message)
+  ((condition <span class="emacs-face-builtin">:accessor</span> error.condition <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:condition</span> <span class="emacs-face-builtin">:initform</span> nil)
+   (backtrace <span class="emacs-face-builtin">:accessor</span> error.backtrace <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:backtrace</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Generic component for showing server side
+ error conditions. Unlike ERROR-MESSAGE this component also
+ attempts to display a backtrace."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+</pre>
+
+
+<h5>message</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/message.lisp">src/components/message.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">info-message</span> ()
+  ((message <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:message</span> <span class="emacs-face-builtin">:accessor</span> message)
+   (ok-text <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:ok-text</span> <span class="emacs-face-builtin">:accessor</span> ok-text <span class="emacs-face-builtin">:initform</span> <span class="emacs-face-string">"Ok."</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Component for showing a message to the user.
+
+If the OK-TEXT slot is non-NIL component will use that as the
+text for a link which, when clicked, causes the component to
+answer. It follows that if OK-TEXT is NIL this component will
+never answer."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+</pre>
+
+
+<h5>option-dialog</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/option-dialog.lisp">src/components/option-dialog.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">option-dialog</span> (template-component)
+  ((message) (options) (confirm))
+  (<span class="emacs-face-builtin">:default-initargs</span> <span class="emacs-face-builtin">:template-name</span> <span class="emacs-face-string">"ucw/option-dialog.tal"</span>)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Component for querying the user.
+
+The value of the slot MESSAGE is used as a general heading.
+
+The OPTIONS slot must be an alist of (VALUE . LABEL). LABEL (a
+string) will be used as the text of a link which, when clikced,
+will answer VALUE.
+
+If the CONFIRM slot is T the user will be presented with a second
+OPTION-DIALOG asking the user if they are sure they want to
+submit that value."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+</pre>
+
+<p>A macro to present an option dialog is provided.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defmacro</span> <span class="emacs-face-function-name">option-dialog</span> ((message-spec <span class="emacs-face-type">&amp;rest</span> message-args) <span class="emacs-face-type">&amp;body</span> options)
+  ...)
+</pre>
+
+<p><code>message-spec</code> is passed to <code>format</code> if <code>message-args</code> are supplied, and
+used as a string literal otherwise. This does not provide a way to set
+the confirm property which makes the macro not so generally useful.</p>
+
+
+
+<h4><a name="sec11" id="sec11"></a>
+Forms</h4>
+
+<p class="first">Reasonably useful forms library that integrates easily with TAL.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/form.lisp">src/components/form.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">form-field</span> ()
+  ((validators <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"List of validators which will be
+               applied to this field."</span>)
+   (initially-validate <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"When non-NIL the
+                       validators will be run as soon as the page
+                       is rendered."</span>)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">value</span> (form-field)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The lispish translated value that represents the form-field."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> (<span class="emacs-face-function-name">setf value</span>) (new-value form-field)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Set the value of a form-field with translation to client."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">generic-html-input</span> (form-field html-element)
+  ((client-value <span class="emacs-face-builtin">:accessor</span> client-value <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:client-value</span>
+                 <span class="emacs-face-builtin">:initform</span> <span class="emacs-face-string">""</span>
+                 <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The string the client submitted along with this field."</span>)
+   (name <span class="emacs-face-builtin">:accessor</span> name <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:name</span> <span class="emacs-face-builtin">:initform</span> nil)
+   (accesskey <span class="emacs-face-builtin">:accessor</span> accesskey <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:accesskey</span> <span class="emacs-face-builtin">:initform</span> nil)
+   (tooltip <span class="emacs-face-builtin">:accessor</span> tooltip <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:tooltip</span> <span class="emacs-face-builtin">:initform</span> nil)
+   (tabindex <span class="emacs-face-builtin">:accessor</span> tabindex <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:tabindex</span> <span class="emacs-face-builtin">:initform</span> nil))
+  (<span class="emacs-face-builtin">:default-initargs</span> <span class="emacs-face-builtin">:dom-id</span> (js:gen-js-name-string <span class="emacs-face-builtin">:prefix</span> <span class="emacs-face-string">"_ucw_"</span>)))
+</pre>
+
+<p>Fields are rendered into the extended <code>&lt;ucw:input</code> yaclml tag which
+supports a few fancy features. The <code>:accessor</code> for all form elements is
+set to <code>(client-value FIELD)</code>, and you should use <code>value</code> to access the
+Lisp value associated with it.</p>
+
+<pre class="src">
+(deftag-macro &lt;ucw:input (<span class="emacs-face-type">&amp;attribute</span> accessor action reader writer name id (default nil)
+                          <span class="emacs-face-type">&amp;allow-other-attributes</span> others)
+  <span class="emacs-face-string">"Generic INPUT tag replacement.
+
+If the ACCESSOR attribute is specified then it must be a PLACE
+and it's value will be used to fill the input, when the form is
+submitted it will be set to the new value.
+
+If ACTION is specefied then when the form is submitted via this
+input type=\"submit\" tag the form will be eval'd. when the
+submit (or image) is clicked. DEFAULT means that the ACTION
+provided for this input tag will be the default action of the
+form when pressing enter in a form field. If more then one, then
+the latest wins."</span>)
+</pre>
+
+<p>Validation of form fields are supported by adding to the validators
+list.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">validator</span> ()
+  ((message <span class="emacs-face-builtin">:accessor</span> message <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:message</span> <span class="emacs-face-builtin">:initform</span> nil)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">validate</span> (field validator)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Validate a form-field with a validator."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">javascript-check</span> (field validator)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Generate javascript code for checking FIELD against VALIDATOR.
+
+This is the convenience entry point to generate-javascript-check,
+methods defined on this generic funcition should return a list of
+javascript code (as per parenscript) which tests against the
+javascript variable value."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">javascript-invalid-handler</span> (field validator)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The javascript code body for when a field is invalid."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">javascript-valid-handler</span> (field validator)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Generate the javascript body for when a field is valid."</span>))
+</pre>
+
+<h5>Standard Form Fields</h5>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">string-field</span> (generic-html-input)
+  ((input-size) (maxlength)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">password-field</span> (string-field))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">number-field</span> (string-field))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">integer-field</span> (number-field))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">in-field-string-field</span> (string-field)
+  ((in-field-label <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"This slot, if non-NIL, will be
+                   used as an initial field label. An initial
+                   field label is a block of text which is placed
+                   inside the input element and removed as soon
+                   as the user edits the field. Obviously this
+                   field is overidden by an initial :client-value
+                   argument."</span>)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">textarea-field</span> (generic-html-input)
+  ((rows) (cols)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">date-field</span> (form-field widget-component)
+  ((year) (month) (day)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">dmy-date-field</span> (date-field)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Date fields which orders the inputs day/month/year"</span>))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">mdy-date-field</span> (date-field))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">select-field</span> (generic-html-input)
+  ((data-set <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The values this select chooses
+             from."</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Form field used for selecting one value from a
+  list of available options."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">render-value</span> (select-field value)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"This function will be passed each value in the field's
+   data-set and must produce the body of the corresponding
+   &lt;ucw:option tag."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">mapping-select-field</span> (select-field)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Class used when we want to chose the values of
+  a certain mapping based on the keys. We render the keys in the
+  select and return the corresponding value from the VALUE
+  method."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">hash-table-select-field</span> (mapping-select-field))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">alist-select-field</span> (mapping-select-field))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">plist-select-field</span> (mapping-select-field))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">radio-group</span> (generic-html-input)
+  ((value-widgets)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">radio-button</span> (generic-html-input)
+  ((value)
+   (group <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The RADIO-GROUP this button is a part
+          of."</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A widget representing a single radio
+  button. Should be used in conjunction with a RADIO-GROUP."</span>))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">add-value</span> ((group radio-group) value)
+  <span class="emacs-face-doc">"Adds radio-button with value to group"</span>)
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">checkbox-field</span> (generic-html-input))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">file-upload-field</span> (generic-html-input))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">submit-button</span> (generic-html-input)
+  ((label)))
+</pre>
+
+<h5>File Upload Field</h5>
+
+<p>Calling <code>value</code> on a <code>file-upload-field</code> returns a mime encoded body
+part. <code>(mime-part-body (value FIELD))</code> will return a <strong>binary stream</strong>
+attached to the contents of the file. The <code>Content-Type</code> header should
+be set to the MIME type of the file being uploaded.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">mime-part-headers</span> (mime-part)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Returns an alist of the headers of MIME-PART.
+
+The alist must be of the form (NAME . VALUE) where both NAME and
+VALUE are strings."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">mime-part-body</span> (mime-part)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Returns the body of MIME-PART."</span>))
+</pre>
+
+
+
+<h5>Standard Validators</h5>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">not-empty-validator</span> (validator))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">value-validator</span> (validator)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Validators that should only be applied if there is a value.
+That is, they always succeed on nil."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">length-validator</span> (value-validator)
+  ((min-length <span class="emacs-face-builtin">:accessor</span> min-length <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:min-length</span>
+               <span class="emacs-face-builtin">:initform</span> nil)
+   (max-length <span class="emacs-face-builtin">:accessor</span> max-length <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:max-length</span>
+               <span class="emacs-face-builtin">:initform</span> nil)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">string=-validator</span> (validator)
+  ((other-field <span class="emacs-face-builtin">:accessor</span> other-field <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:other-field</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Ensures that a field is string= to another one."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">regex-validator</span> (value-validator)
+  ((regex <span class="emacs-face-builtin">:accessor</span> regex <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:regex</span> <span class="emacs-face-builtin">:initform</span> nil)))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">e-mail-address-validator</span> (regex-validator))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">phone-number-validator</span> (regex-validator))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">is-a-number-validator</span> (value-validator))
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">is-an-integer-validator</span> (is-a-number-validator))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">number-range-validator</span> (is-a-number-validator)
+  ((min-value <span class="emacs-face-builtin">:accessor</span> min-value <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:min-value</span> <span class="emacs-face-builtin">:initform</span> nil)
+   (max-value <span class="emacs-face-builtin">:accessor</span> max-value <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:max-value</span> <span class="emacs-face-builtin">:initform</span> nil)))
+</pre>
+
+
+<h5>Simple Form Helper</h5>
+
+<p>UCW provides a helper class for developing forms. Subclass and add the
+elements you wish to include in the form. A <code>:wrapping</code> method renders
+the form boilerplate and then calls your <code>render</code>.</p>
+
+<pre class="src">
+(defcomponent simple-form (html-element)
+  ((submit-method <span class="emacs-face-builtin">:accessor</span> submit-method
+                  <span class="emacs-face-builtin">:initform</span> <span class="emacs-face-string">"post"</span>
+                  <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:submit-method</span>)
+   (dom-id <span class="emacs-face-builtin">:accessor</span> dom-id
+           <span class="emacs-face-builtin">:initform</span> (js:gen-js-name-string <span class="emacs-face-builtin">:prefix</span> <span class="emacs-face-string">"_ucw_simple_form_"</span>)
+           <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:dom-id</span>))
+  (<span class="emacs-face-builtin">:default-initargs</span> <span class="emacs-face-builtin">:dom-id</span> <span class="emacs-face-string">"ucw-simple-form"</span>))
+</pre>
+
+
+
+<h4><a name="sec12" id="sec12"></a>
+Templates</h4>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/template.lisp">src/components/template.lisp</a></p>
+
+<p>Infrastructure for loading TAL templates as a view of a component.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">template-component</span> (component))
+(defcomponent simple-template-component (template-component)
+  ((environment <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:environment</span> <span class="emacs-face-builtin">:initform</span> nil)))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">template-component-environment</span> (component)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Create the TAL environment for rendering COMPONENT's template.
+
+Methods defined on this generic function must return a TAL
+environment: a list of TAL binding sets (see the documentation
+for YACLML:MAKE-STANDARD-ENVIRONMENT for details on TAL
+environments.)"</span>)
+  (<span class="emacs-face-builtin">:method-combination</span> nconc))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">template-component-environment</span> nconc ((component template-component))
+  <span class="emacs-face-string">"Create the basic TAL environment.
+
+Binds the symbol ucw:component to the component object itself,
+also puts the object COMPONENT on the environment (after the
+binding of ucw:component) so that slots are, by default,
+visable."</span>
+  (make-standard-environment `((component . ,component)) component))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">render</span> ((component template-component))
+  <span class="emacs-face-doc">"Render a template based component.
+
+Calls the component's template. The name of the template is the
+value returned by the generic function
+template-component.template-name, the template will be rendered
+in the environment returned by the generic function
+template-component-environment."</span>
+  (render-template *context*
+                   (template-component.template-name component)
+                   (template-component-environment component)))
+
+</pre>
+
+<p>Subclass and override methods. <code>simple-template-component</code> only provides
+the ability to set environment variables in initarg. Subclass to
+provide automagic template file name generation and such.</p>
+
+
+<h4><a name="sec13" id="sec13"></a>
+Utility Mixin Components</h4>
+
+<h5>Range View</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/range-view.lisp">src/components/range-view.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">range-view</span> (template-component)
+  (<span class="emacs-face-builtin">:default-initargs</span> <span class="emacs-face-builtin">:template-name</span> <span class="emacs-face-string">"ucw/range-view.tal"</span>)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Component for showing the user a set of data one \"window\" at a time.
+
+The data set is presented one \"window\" at a time with links to
+the the first, previous, next and last window. Each window shows
+at most WINDOW-SIZE elements of the data. The data is passed to
+the range-view at instance creation time via the :DATA initarg.
+
+The generic function RENDER-RANGE-VIEW-ITEM is used to render
+each item of DATA.
+
+In order to change the rendering of the single elements of a
+range view developer's should create a sub class of RANGE-VIEW
+and define their RENDER-RANGE-VIEW-ITEM methods on that."</span>)
+  (<span class="emacs-face-builtin">:metaclass</span> standard-component-class))
+</pre>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">render-range-view-item</span> (range-view item)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Render a single element of a range-view."</span>)
+  (<span class="emacs-face-builtin">:method</span> ((range-view range-view) (item t))
+    <span class="emacs-face-string">"Standard implementation of RENDER-RANGE-VIEW-ITEM. Simply
+applies ITEM to princ (via &lt;:as-html)."</span>
+    (<span class="emacs-face-keyword">declare</span> (ignore range-view))
+    (&lt;:as-html item)))
+</pre>
+
+
+<h5>Widget</h5>
+
+<p>Mixin with existing component to wrap in a div or span. This is handy
+for defining lightweight widgets embedded within other components.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/html-element.lisp">src/components/html-element.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">html-element</span> (component)
+  ((css-class)
+   (dom-id)
+   (css-style)
+   (extra-tags)
+   (events))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"An HTML element.
+
+HTML elements control aspects that are relevant to almost all tags.
+
+Firstly they provide a place to store the class, id, and style of the
+component. The specific render methods of the components themselves
+must pass these values to whatever code is used to render the actual
+tag.
+
+Secondly, they allow javascript event handlers to be registered for a
+tag. The events slot can be filled with a list of lists in the form
+
+ (event parenscript-statement*)
+
+For example (\"onclick\" (alert \"You clicked!\") (return nil)). If
+the element has a dom-id, these event handlers are automatically
+added."</span>))
+</pre>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/widget.lisp">src/components/widget.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">widget-component</span> (html-element)
+  ()
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A widget which should be wrapped in a &lt;div&gt;."</span>))
+
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">inline-widget-component</span> (html-element)
+  ()
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A widget which should be wrapped in &lt;span&gt; and not &lt;div&gt;"</span>))
+
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">render</span> <span class="emacs-face-builtin">:wrap-around</span> ((widget widget-component)))
+(<span class="emacs-face-keyword">defmethod</span> <span class="emacs-face-function-name">render</span> <span class="emacs-face-builtin">:wrap-around</span> ((widget inline-widget-component)))
+</pre>
+
+
+<h5>Transactions</h5>
+
+<p>A mixin to provide transactions. <code>(open-transaction component)</code> and
+<code>(close-transaction component)</code> open and closed nested
+transactions. After a transaction has been closed an attempt to
+backtrack into a step inside the transaction will result in jumping up
+one level of transactions (or out of the transaction entirely if at
+the top level). This ensures that the transaction is only run once,
+naturally.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/transaction-mixin.lisp">src/components/transaction-mixin.lisp</a></p>
+
+<pre class="src">
+(defcomponent transaction-mixin ()
+  (...))
+
+(defmethod/cc open-transaction ((comp transaction-mixin)))
+(defmethod/cc close-transaction ((comp transaction-mixin)))
+</pre>
+
+
+<h5>Task</h5>
+
+<p><code>(defaction start ...)</code> on subclass to run a series of actions bundled
+into a task.</p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/task.lisp">src/components/task.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">task-component</span> (standard-component)
+  (...)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A controller for a single task or operation to
+  be performed by the user.
+
+  A task component's START action is called as soon as the
+component is instantiated. Task components do not have their own
+RENDER method, in fact they have no graphical representation but
+serve only to order a sequence of other components."</span>))
+
+(defgeneric/cc start (task)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"action which gets called automatically when
+task-component is active. Use defaction to define your own
+\"start\" action"</span>))
+</pre>
+
+
+<h5>Cached</h5>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/components/cached.lisp">src/components/cached.lisp</a></p>
+
+<pre class="src">
+(defcomponent cached-component ()
+  ((cached-output <span class="emacs-face-builtin">:accessor</span> cached-output <span class="emacs-face-builtin">:initform</span> nil
+                  <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"A string holding the output to
+                  use for this component. This string will be
+                  written directly to the html stream and is
+                  changed by the REFRESH-COMPONENT-OUTPUT
+                  method."</span> )
+   (timeout <span class="emacs-face-builtin">:accessor</span> timeout <span class="emacs-face-builtin">:initarg</span> <span class="emacs-face-builtin">:timeout</span>
+            <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"An value specifying how often this
+            component needs to be refreshed. The exact
+            interpretation of the value depends on the type of
+            caching used class."</span>))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Component which caches its output.
+
+The component caching API is built around the generic functions
+COMPONENT-DIRTY-P and REFRESH-COMPONENT-OUTPUT and a method on
+RENDER, see the respective docstrings for more details.
+
+Do not use CACHED-COMPONENT directly, use one its subclasses."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">component-dirty-p</span> (component)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Returns T is COMPONENT's cache is invalid."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">update-cache</span> (component)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Update COMPONENT's cache variables after a refresh."</span>))
+
+(defcomponent timeout-cache-component (cached-component)
+  ((last-refresh <span class="emacs-face-builtin">:accessor</span> last-refresh <span class="emacs-face-builtin">:initform</span> nil
+                 <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"The time, exrpessed as a
+                 universal time, when the component was last rendered."</span>))
+  (<span class="emacs-face-builtin">:default-initargs</span>
+   <span class="emacs-face-builtin">:timeout</span> (* 30 60 60))
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Render the component at most every TIMEOUT seconds."</span>))
+
+(defcomponent num-hits-cache-component (cached-component)
+  ((hits-since-refresh <span class="emacs-face-builtin">:accessor</span> hits-since-refresh
+                       <span class="emacs-face-builtin">:initform</span> nil
+                       <span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Number of views since last refresh."</span>))
+  (<span class="emacs-face-builtin">:default-initargs</span> <span class="emacs-face-builtin">:timeout</span> 10)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Render the component every TIMEOUT views."</span>))
+</pre>
+
+<p>Subclass and override <code>component-dirty-p</code> to do something useful
+(e.g. flip mark bit when object being presented changes).</p>
+
+
+
+
+<h3><a name="sec14" id="sec14"></a>
+Control Flow</h3>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/standard-component/control-flow.lisp">src/rerl/standard-component/control-flow.lisp</a></p>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/standard-action.lisp">src/rerl/standard-action.lisp</a></p>
+
+<h4><a name="sec15" id="sec15"></a>
+Calling</h4>
+
+<p class="first">Most of what you do in UCW will be calling components so this is a bit
+important. Note that calling interrupts the current control flow so if
+you want to render a component in place as part of another component
+just call <code>render</code> on it instead.</p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defmacro</span> <span class="emacs-face-function-name">call</span> (component-type <span class="emacs-face-type">&amp;rest</span> component-init-args)
+  <span class="emacs-face-doc">"Stop the execution of the current action and pass control to
+a freshly created component of type COMPONENT-TYPE.
+
+COMPONENT-INIT-ARGS are passed directly to the underlying
+make-instance call. This form will return if and when the call'd
+component calls answer, the value returned by this form is
+whatever the call'd component passed to answer.
+
+Notes:
+
+This macro assumes that the lexcial variable UCW:SELF is bound to
+the calling component."</span>)
+
+(answer VAL) <span class="emacs-face-comment">; answer parent component ONLY IN ACTIONS
+</span>
+(ok SELF VAL) <span class="emacs-face-comment">; Used to answer a component anywhere and what answer
+</span>              <span class="emacs-face-comment">; expands into
+</span>
+(jump COMPONENT-NAME <span class="emacs-face-type">&amp;REST</span> ARGS) <span class="emacs-face-comment">; is similar to call, but replaces
+</span>                                 <span class="emacs-face-comment">; the current component with the new
+</span>                                 <span class="emacs-face-comment">; one and drops any backtracks (back
+</span>                                 <span class="emacs-face-comment">; button will no longer work)
+</span></pre>
+
+<p><code>(call COMPONENT-NAME &amp;ARGS INIT-ARGS)</code> calls <code>COMPONENT-NAME</code> and returns
+the value returned by <code>(ok SELF RETURN-VALUE)</code> called from within
+<code>COMPONENT-NAME</code></p>
+
+
+<h4><a name="sec16" id="sec16"></a>
+Actions</h4>
+
+<p class="first">Actions are methods on components. The first argument <strong>must</strong> be a
+component for most of UCW to work.</p>
+
+<pre class="src">
+(defaction NAME (first ...) ...)
+ <span class="emacs-face-comment">;  (roughly) expands into
+</span>(defmethod/cc NAME (first ...)
+  (<span class="emacs-face-keyword">let</span> ((self first))
+    ...))
+</pre>
+
+<p><code>Self</code> being bound in the current lexical environment is required for
+most UCW control flow things to work. <code>defaction</code> hides this from you,
+and was a big source of confusion for me early on (mostly &quot;hmm, why is
+this not working ... where did that come from in the
+macroexpansion!&quot;).</p>
+
+
+<h4><a name="sec17" id="sec17"></a>
+Entry Points</h4>
+
+<pre class="src">
+(defentry-point url (<span class="emacs-face-builtin">:application</span> APPLICATION
+                     <span class="emacs-face-builtin">:class</span> DISPATCHER-CLASS)
+   (PARAM1 ... PARAMN) <span class="emacs-face-comment">; GET / POST vars, bound in body
+</span>  body)
+</pre>
+
+<p>An entry point is what it sounds like: a static URL matched using the
+mater of <code>DISPATCHER-CLASS</code> that enters into <code>APPLICATION</code> running the
+code in <code>body</code>. An example from a test program I have written
+follows. The entry point allows files to be streamed to user when the
+url audio.ucw?file=FOO is used.</p>
+
+<pre class="src">
+(defentry-point <span class="emacs-face-string">"^(audio.ucw|)$"</span> (<span class="emacs-face-builtin">:application</span> *golf-test-app*
+                                  <span class="emacs-face-builtin">:class</span> regexp-dispatcher)
+    (file)
+  (call 'audio-file-window
+   <span class="emacs-face-builtin">:audio-file</span> (make-instance 'audio-file
+                <span class="emacs-face-builtin">:type</span> <span class="emacs-face-builtin">:vorbis</span>
+                <span class="emacs-face-builtin">:data</span> (file-&gt;bytes (open
+                                    file
+                                    <span class="emacs-face-builtin">:element-type</span> 'unsigned-byte)))))
+</pre>
+
+
+
+<h3><a name="sec18" id="sec18"></a>
+Dispatching</h3>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/rerl/standard-dispatcher.lisp">src/rerl/standard-dispatcher.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">matcher-match</span> (matcher application context)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Abstract method for subclasses to implement a
+matcher.  This method would return multiple-values according to
+matcher internal nature.
+
+No methods defined on this function may rebind *context*, nor
+change CONTEXT's application. Only if the method matches the
+request, it is allowed to modify CONTEXT or APPLICATION, even in
+that case methods defined on this function must not modify
+CONTEXT's application nor rebind *context*."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">handler-handle</span> (handler application context matcher-result)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Abstract function for handler classes to
+implement in order to handle a request matched by relevant
+matcher.
+
+These methods may modify context as they wish since they'r
+matched, request will be closed after this method is run."</span>))
+
+(<span class="emacs-face-keyword">defgeneric</span> <span class="emacs-face-function-name">dispatch</span> (dispatcher application context)
+  (<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"Entry point into a dispatcher. Must return T
+  if the context has been handled or NIL if it hasn't.
+
+No methods defined on this function may rebind *context*, nor
+change CONTEXT's application. Only if the method returns T is it
+allowed to modify CONTEXT or APPLICATION, even in that case
+methods defined on this function must not modify CONTEXT's
+application nor rebind *context*."</span>))
+</pre>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">my-matcher</span>    (abstract-matcher)    ...)
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">my-handler</span>    (abstract-handler)    ...)
+(<span class="emacs-face-keyword">defclass</span> <span class="emacs-face-type">my-dispatcher</span> (abstract-dispatcher my-matcher my-handler)
+  ...)
+</pre>
+
+<h4><a name="sec19" id="sec19"></a>
+Simple Dispatcher</h4>
+
+<pre class="src">
+(<span class="emacs-face-builtin">:documentation</span> <span class="emacs-face-doc">"This class of dispatchers avoids all of UCW's
+  standard call/cc (and therefore frame/backtracking/component)
+  mechanism.
+
+Unlike all other UCW dispatchers a simple-dispatcher must not use
+CALL, and must perform the rendering directly within the handler."</span>)
+</pre>
+
+
+
+<h3><a name="sec20" id="sec20"></a>
+Server</h3>
+
+<p><a href="http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=headblob;f=/src/control.lisp">src/control.lisp</a></p>
+
+<pre class="src">
+(<span class="emacs-face-keyword">defun</span> <span class="emacs-face-function-name">create-server</span> (<span class="emacs-face-type">&amp;key</span>
+                      (backend `(,*ucw-backend-type* <span class="emacs-face-builtin">:host</span> ,*ucw-backend-host*
+                                 <span class="emacs-face-builtin">:port</span> ,*ucw-backend-port*))
+                      (applications *ucw-applications*)
+                      (start-p t)
+                      (server-class *ucw-server-class*)
+                      (log-root-directory (truename *ucw-log-root-directory*))
+                      (log-level *ucw-log-level*))
+  <span class="emacs-face-doc">"Creates and returns a UCW server according to SERVER-CLASS, HOST and
+PORT. Affects *DEFAULT-SERVER*.
+
+BACKEND is a list of (BACKEND-TYPE &amp;rest INITARGS). BACKEND-TYPE
+may be :HTTPD, :MOD-LISP, :ASERVE, :ARANEIDA, an existing
+backend, an existing UCW server backend or :DEFAULT in which case
+it attempts to return a sane default from the UCW backends loaded
+and available, or any other value for which a valid MAKE-BACKEND
+method has been defined. INITARGS will be passed, unmodified, to
+MAKE-BACKEND.
+
+APPLICATIONS is a list of defined applications to be loaded into the
+server.
+
+Logs are generated in verbosity defined by LOG-LEVEL and directed to
+LOG-ROOT-DIRECTORY if defined."</span>
+  ...
+  server) <span class="emacs-face-comment">; return server, naturally
+</span></pre>
+
+
+<h3><a name="sec21" id="sec21"></a>
+Debugging</h3>
+
+<h4><a name="sec22" id="sec22"></a>
+Inspector</h4>
+
+<p><a href="/home/clinton/src/ucw/darcs/ucw_dev/src/components/ucw-inspector.lisp">/home/clinton/src/ucw/darcs/ucw_dev/src/components/ucw-inspector.lisp</a></p>
+
+<pre class="src">
+(defaction call-inspector ((component component) datum)
+  <span class="emacs-face-string">"Call an inspector for DATUM on the component COMPONENT."</span>
+  (call 'ucw-inspector <span class="emacs-face-builtin">:datum</span> datum))
+</pre>
+
+
+
+
+<h2><a name="sec23" id="sec23"></a>
+Tips</h2>
+
+<h3><a name="sec24" id="sec24"></a>
+Getting dojo to load</h3>
+
+<p class="first">I had some trouble getting dojo to work properly with UCW. The way
+that the <code>:www-roots</code> option for an application works is a bit
+confusing, and it is unforgiving if you mess the pathname up. A
+directory <strong>must</strong> have a <code>/</code> at the end, and the directory you are serving
+must also have the <code>/</code> (which is counterintuitive given the behavior of
+most unix things that don't want the <code>/</code> at the end of the name).</p>
+
+<pre class="src">
+<span class="emacs-face-builtin">:www-roots</span> (list '(<span class="emacs-face-string">"dojo/"</span> .
+                   #P<span class="emacs-face-string">"/home/clinton/src/ucw/darcs/ucw_dev/wwwroot/dojo/"</span>))
+</pre>
+
+
+<h3><a name="sec25" id="sec25"></a>
+Specials Bound During Rendering</h3>
+
+<p class="first">The current request context is bound to <code>ucw:*context*</code>, and the current
+component is bound to <code>ucw:*current-component*</code> in the dynamic extent of
+<code>render</code>.</p>
+
+
+<h3><a name="sec26" id="sec26"></a>
+Printing to the yaclml stream</h3>
+
+<p class="first">Occasionally it can be useful to do something like write a byte array
+as an ascii string to the client. Inside of <code>render</code> the variable
+<code>yaclml:*yaclml-stream*</code> is bound to the stream that you can write to if
+you wish to have content interspersed with yaclml tags.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">If nothing in the world can change our children will inherit nothing
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/William Blake.html b/William Blake.html
new file mode 100644 (file)
index 0000000..31d6b9b
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>William Blake</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>William Blake</h1>
+   <div class="contents">
+<dl>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p class="verse">
+5: Till Covet broke his locks &amp; bars.<br />
+And slept with open doors:<br />
+Envy sung at the rich mans feast:<br />
+Wrath was follow'd up and down<br />
+By a little ewe lamb<br />
+And Wantonness on his own true love<br />
+Begot a giant race:<br />
+<br />
+6: Raging furious the flames of desire<br />
+Ran thro' heaven &amp; earth, living flames<br />
+Intelligent, organiz'd; arm'd<br />
+With destruction &amp; plagues. In the midst<br />
+<a href="http://www.blakearchive.org/exist/blake/archive/object.xq?objectid=b-los.a.illbk.03&amp;java=no">The Eternal Prophet</a> bound in a chain<br />
+Compell'd to watch Urizens shadow<br />
+<br />
+7: Rag'd with curses &amp; sparkles of fury<br />
+Round the flames roll as Los hurls his chains<br />
+Mounting up from his fury, condens'd<br />
+Rolling round &amp; round, mounting on high<br />
+Into vacuum: into non-entity.<br />
+Where nothing was! dash'd wide apart<br />
+His feet stamp the eternal fierce-raging<br />
+Rivers of wide flame; they roll round<br />
+And round on all sides making their way<br />
+Into darkness and shadowy obscurity<br />
+</p>
+
+<p class="verse">
+Unwilling I look up to heaven! unwilling count the stars!<br />
+Sitting in fathomless abyss of my immortal shrine.<br />
+I sieze their burning power<br />
+And bring forth howling terrors, all devouring fiery kings.<br />
+<br />
+Devouring &amp; devoured roaming on dark and desolate mountains<br />
+In <a href="http://www.blakearchive.org/exist/blake/archive/object.xq?objectid=europe.b.illbk.04&amp;java=no">forests of eternal death</a>, shrieking in hollow trees.<br />
+Ah mother Enitharmon!<br />
+Stamp not with solid form this vig'rous progeny of fires.<br />
+<br />
+I bring forth from my teeming bosom myriads of flames.<br />
+And thou dost stamp them with a signet, then they roam abroad<br />
+And leave me void as death;<br />
+Ah! I am drown'd in shady woe, and visionary joy.<br />
+<br />
+And who shall bind the infinite with an eternal band?<br />
+To compass it with swaddling bands? and who shall cherish it<br />
+With milk and honey?<br />
+I see it smile &amp; I roll inward &amp; my voice is past.<br />
+</p>
+
+<p class="verse">
+For in the depths of Albions bosom in the eastern heaven,<br />
+They sound the clarions strong! they chain the howling Captives!<br />
+They cast the lots into the helmet; they give the oath of blood in Lambeth<br />
+They vote the death of Luvah, &amp; they naild him to Albions Tree in Bath:<br />
+They staind him with poisonous blue, they inwove him in cruel roots<br />
+To die a death of Six thousand years bound round with vegetation<br />
+<a href="http://www.blakearchive.org/exist/blake/archive/object.xq?objectid=jerusalem.e.illbk.65&amp;java=no">The sun was black</a> &amp; the moon rolld a useless globe thro Britain!<br />
+</p>
+
+<p class="verse">
+At last when desperation almost tore his heart in twain<br />
+He recollected an old Prophecy in Eden recorded,<br />
+And often sung to the loud harp at the immortal feasts<br />
+That Milton of the Land of Albion should up ascend<br />
+Forwards from Ulro from the Vale of Felpham; and set free<br />
+Orc from his Chain of Jealousy, he started at the thought<br />
+And down descended into Udan-Adan; it was night:<br />
+And Satan sat sleeping upon his Couch in Udan Adan:<br />
+His Spectre slept, his Shadow woke: when one sleeps th'other wakes<br />
+<br />
+But Milton entering my Foot: I saw in the nether<br />
+Regions of the Imagination; also all men on Earth,<br />
+And all in Heaven, saw in the nether regions of the Imagination<br />
+In Ulro beneath Beulah, the vast breach of Miltons descent.<br />
+But I knew not that it was Milton, for man cannot know<br />
+What passes in his members till periods of Space &amp; Time<br />
+Reveal the secrets of Etenity: for more extensive<br />
+Than any other earthly things, are Mans earthly lineaments.<br />
+<br />
+And all this <a href="http://www.blakearchive.org/exist/blake/archive/object.xq?objectid=milton.a.illbk.19&amp;java=no">Vegetable World</a> appeard on my left Foot,<br />
+As a bright sandal formd immortal of precious stones &amp; gold:<br />
+I stooped down &amp; bound it on to walk forward thro' Eternity.<br />
+</p>
+
+<p class="verse">
+Ephraim calld out to Zion: Awake O Brother Mountain<br />
+Let us refuse the Plow &amp; Spade, the heavy Roller &amp; spiked<br />
+Harrow. burn all these Corn fields. throw down all these fences<br />
+Fattend on Human blood &amp; drunk with wine of life is better far<br />
+Than all these labours of the harvest &amp; the vintage. See the river<br />
+Red with the blood of Men. swells lustful round my rocky knees<br />
+My clouds are not the clouds of verdant fields &amp; groves of fruit<br />
+But Clouds of Human Souls. my nostrils drink the lives of Men<br />
+The Villages Lament. they faint outstretchd upon the plain<br />
+Wailing runs round the Valleys from the Mill &amp; from the Barn<br />
+But most the polishd Palaces dark silent bow with dreadt<br />
+Hiding their books &amp; pictures. underneath the dens of Earth<br />
+The Cities send to one another saying My sons are Mad<br />
+With wine of cruelty. Let us plat a Scourge O Sister City<br />
+Children are nourishd for the Slaughter; once the Child was fed<br />
+With Milk; but wherefore now are Children fed with blood<br />
+The Horse is of more value than the Man. The Tyger fierce<br />
+Laughs at the Human form. the Lion mocks &amp; thirsts for blood<br />
+They cry O Spider spread thy web! Enlarge thy bones &amp; fill'd<br />
+With marrow. sinews &amp; flesh Exalt thyself attain a voice<br />
+Call to thy dark armd hosts, for all the sons of Men muster together<br />
+To desolate their cities! Man shall be no more! Awake O Hosts<br />
+The bow string sang upon the hills! Luvah &amp; Vala ride<br />
+Triumphant in the bloody sky. &amp; the Human form is no more<br />
+The listning Stars heard, &amp; the first beam of the morning started back<br />
+He cried out to his Father, depart! depart! but sudden Siez'd<br />
+And clad in steel. &amp; his Horse proudly neighd; he smelt the battle<br />
+Afar off, Rushing back, reddning with rage the Mighty Father<br />
+Siezd his bright Sheephook studded with gems &amp; gold, he Swung it round<br />
+His head shrill sounding in the sky, down rushd the Sun with noise<br />
+Of war, The Mountains fled away they sought a place beneath<br />
+Vala remaind in desarts of dark solitude. nor Sun nor Moon<br />
+By night nor day to comfort her, she labourd in thick smoke<br />
+Tharmas endurd not, he fled howling. then a barren waste sunk<br />
+Conglobing in the dark confusion, Mean time Los was born<br />
+And Thou O Enitharmon! Hark I hear the hammers of Los<br />
+They melt the bones of Vala, &amp; the bones of Luvah into wedges<br />
+The innumerable sons &amp; daughters of Luvah closd in furnaces<br />
+Melt into furrows. winter blows his bellows: ice &amp; Snow<br />
+Tend the dire anvils. Mountains mourn &amp; Rivers faint &amp; fail<br />
+There is no City nor Corn-field nor Orchard! all is Rock &amp; Sand<br />
+There is no Sun nor Moon nor Star. but rugged wintry rocks<br />
+Justling together in the void suspended by inward fires<br />
+Impatience now no longer can endure. Distracted Luvah<br />
+Bursting forth from the loins of Enitharmon, Thou fierce Terror<br />
+Go howl in vain, Smite Smite his fetters Smite O wintry hammers<br />
+Smite Spectre of Urthona, mock the fiend who drew us down<br />
+From heavens of joy into this Deep. Now rage but rage in vain<br />
+Thus Sang the <a href="http://www.blakearchive.org/exist/blake/archive/erdman.xq?id=b2.3#top">Demons of the Deep</a>.<br /></p>
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">* jeffcovey becomes too groggy to read the directions and becomes
+  the year's first nasal spray overdose fatality.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/William James - The PhD Octopus.html b/William James - The PhD Octopus.html
new file mode 100644 (file)
index 0000000..ce166f3
--- /dev/null
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>William James - The PhD Octopus</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>William James - The PhD Octopus</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Full Text</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>Thanks to the public domain I have republished the full text of
+William James's article <em><a href="http://www.gutenberg.org/etext/20768">The Ph.D Octopus</a></em>. It is a rather nice essay on
+the over-reliance on academic accredation as a measure of intellectual
+worth which I find is a particularly relevant issue today.</p>
+
+<p>What makes this most interesting is that it was published in 1903 by a
+man who was seeing our present-day culture form before his eyes. Ah!
+What an exciting&mdash;or perhaps, terrifying&mdash;time the beginning of the
+20th century must have been! All of the technological <em>progress</em> in our
+time has been meaningless in contrast to our utter cultural
+stagnation. Perhaps exciting times are here for us now; perhaps the
+time has come to reverse&mdash;or transcend&mdash;the cultural <em>progress</em> of the
+early 20th century.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Full Text</h2>
+
+<blockquote>
+<p class="quoted">
+Some years ago we had at our Harvard Graduate School a very brilliant
+student of Philosophy, who, after leaving us and supporting himself by
+literary labor for three years, received an appointment to teach
+English Literature at a sister-institution of learning.  The governors
+of this institution, however, had no sooner communicated the
+appointment than they made the awful discovery that they had enrolled
+upon their staff a person who was unprovided with the Ph.D. degree.
+The man in question had been satisfied to work at Philosophy for her
+own sweet (or bitter) sake, and had disdained to consider that an
+academic bauble should be his reward.</p>
+<p class="quoted">His appointment had thus been made under a misunderstanding.  He was
+not the proper man; and there was nothing to do but to inform him of
+the fact.  It was notified to him by his new President that his
+appointment must be revoked, or that a Harvard doctor's degree must
+forthwith be procured.</p>
+<p class="quoted">Although it was already the spring of the year, our Subject, being a
+man of spirit, took up the challenge, turned his back upon literature
+(which in view of his approaching duties might have seemed his more
+urgent concern) and spent the weeks that were left him, in writing a
+metaphysical thesis and grinding his psychology, logic and history of
+philosophy up again, so as to pass our formidable ordeals.</p>
+<p class="quoted">When the thesis came to be read by our committee, we could not pass it.
+Brilliancy and originality by themselves won't save a thesis for the
+doctorate; it must also exhibit a heavy technical apparatus of
+learning; and this our candidate had neglected to bring to bear.  So,
+telling him that he was temporarily rejected, we advised him to pad out
+the thesis properly, and return with it next year, at the same time
+informing his new President that this signified nothing as to his
+merits, that he was of ultra Ph.D. quality, and one of the strongest
+men with whom we had ever had to deal.</p>
+<p class="quoted">To our surprise we were given to understand in reply that the quality
+<em>per se</em> of the man signified nothing in this connection, and that
+three magical letters were the thing seriously required.  The College
+had always gloried in a list of faculty members who bore the doctor's
+title, and to make a gap in the galaxy, and admit a common fox without
+a tail, would be a degradation impossible to be thought of.  We wrote
+again, pointing out that a Ph.D. in philosophy would prove little
+anyhow as to one's ability to teach literature; we sent separate
+letters in which we outdid each other in eulogy of our candidate's
+powers, for indeed they were great; and at last, <em>mirabile dictu</em>, our
+eloquence prevailed.  He was allowed to retain his appointment
+provisionally, on condition that one year later at the farthest his
+miserably naked name should be prolonged by the sacred appendage the
+lack of which had given so much trouble to all concerned.</p>
+<p class="quoted">Accordingly he came up here the following spring with an adequate
+thesis (known since in print as a most brilliant contribution to
+metaphysics), passed a first-rate examination, wiped out the stain, and
+brought his college into proper relations with the world again.
+Whether his teaching, during that first year, of English Literature was
+made any the better by the impending examination in a different
+subject, is a question which I will not try to solve.</p>
+<p class="quoted">I have related this incident at such length because it is so
+characteristic of American academic conditions at the present day.
+Graduate schools still are something of a novelty, and higher diplomas
+something of a rarity.  The latter, therefore, carry a vague sense of
+preciousness and honor, and have a particularly &quot;up-to-date&quot;
+appearance, and it is no wonder if smaller institutions, unable to
+attract professors already eminent, and forced usually to recruit their
+faculties from the relatively young, should hope to compensate for the
+obscurity of the names of their officers of instruction by the
+abundance of decorative titles by which those names are followed on the
+pages of the catalogues where they appear.  The dazzled reader of the
+list, the parent or student, says to himself, &quot;This must be a terribly
+distinguished crowd,&mdash;their titles shine like the stars in the
+firmament; Ph.D.'s, S.D.'s, and Litt.D.'s, bespangle the page as if
+they were sprinkled over it from a pepper caster.&quot;</p>
+<p class="quoted">Human nature is once for all so childish that every reality becomes a
+sham somewhere, and in the minds of Presidents and Trustees the Ph.D.
+degree is in point of fact already looked upon as a mere advertising
+resource, a manner of throwing dust in the Public's eyes.  &quot;No
+instructor who is not a Doctor&quot; has become a maxim in the smaller
+institutions which represent demand; and in each of the larger ones
+which represent supply, the same belief in decorated scholarship
+expresses itself in two antagonistic passions, one for multiplying as
+much as possible the annual output of doctors, the other for raising
+the standard of difficulty in passing, so that the Ph.D. of the special
+institution shall carry a higher blaze of distinction than it does
+elsewhere.  Thus we at Harvard are proud of the number of candidates
+whom we reject, and of the inability of men who are not <em>distingues</em> in
+intellect to pass our tests.</p>
+<p class="quoted">America is thus as a nation rapidly drifting towards a state of things
+in which no man of science or letters will be accounted respectable
+unless some kind of badge or diploma is stamped upon him, and in which
+bare personality will be a mark of outcast estate.  It seems to me high
+time to rouse ourselves to consciousness, and to cast a critical eye
+upon this decidedly grotesque tendency.  Other nations suffer terribly
+from the Mandarin disease.  Are we doomed to suffer like the rest?</p>
+<p class="quoted">Our higher degrees were instituted for the laudable purpose of
+stimulating scholarship, especially in the form of &quot;original research.&quot;
+Experience has proved that great as the love of truth may be among men,
+it can be made still greater by adventitious rewards.  The winning of a
+diploma certifying mastery and marking a barrier successfully passed,
+acts as a challenge to the ambitious; and if the diploma will help to
+gain bread-winning positions also, its power as a stimulus to work is
+tremendously increased.  So far, we are on innocent ground; it is well
+for a country to have research in abundance, and our graduate schools
+do but apply a normal psychological spur.  But the institutionizing on
+a large scale of any natural combination of need and motive always
+tends to run into technicality and to develop a tyrannical Machine with
+unforeseen powers of exclusion and corruption.  Observation of the
+workings of our Harvard system for twenty years past has brought some
+of these drawbacks home to my consciousness, and I should like to call
+the attention of my readers to this disadvantageous aspect of the
+picture, and to make a couple of remedial suggestions, if I may.</p>
+<p class="quoted">In the first place, it would seem that to stimulate study, and to
+increase the <em>gelehrtes Publikum</em>, the class of highly educated men in
+our country, is the only positive good, and consequently the sole
+direct end at which our graduate schools, with their diploma-giving
+powers, should aim.  If other results have developed they should be
+deemed secondary incidents, and if not desirable in themselves, they
+should be carefully guarded against.</p>
+<p class="quoted">To interfere with the free development of talent, to obstruct the
+natural play of supply and demand in the teaching profession, to foster
+academic snobbery by the prestige of certain privileged institutions,
+to transfer accredited value from essential manhood to an outward
+badge, to blight hopes and promote invidious sentiments, to divert the
+attention of aspiring youth from direct dealings with truth to the
+passing of examinations,&mdash;such consequences, if they exist, ought
+surely to be regarded as drawbacks to the system, and an enlightened
+public consciousness ought to be keenly alive to the importance of
+reducing their amount.  Candidates themselves do seem to be keenly
+conscious of some of these evils, but outside of their ranks or in the
+general public no such consciousness, so far as I can see, exists; or
+if it does exist, it fails to express itself aloud.  Schools, Colleges,
+and Universities, appear enthusiastic over the entire system, just as
+it stands, and unanimously applaud all its developments.</p>
+<p class="quoted">I beg the reader to consider some of the secondary evils which I have
+enumerated.  First of all, is not our growing tendency to appoint no
+instructors who are not also doctors an instance of pure sham?  Will
+any one pretend for a moment that the doctor's degree is a guarantee
+that its possessor will be successful as a teacher?  Notoriously his
+moral, social and personal characteristics may utterly disqualify him
+for success in the class-room; and of these characteristics his
+doctor's examination is unable to take any account whatever.  Certain
+bare human beings will always be better candidates for a given place
+than all the doctor-applicants on hand; and to exclude the former by a
+rigid rule, and in the end to have to sift the latter by private
+inquiry into their personal peculiarities among those who know them,
+just as if they were not doctors at all, is to stultify one's own
+procedure.  You may say that at least you guard against ignorance of
+the subject by considering only the candidates who are doctors; but how
+then about making doctors in one subject teach a different subject?
+This happened in the instance by which I introduced this article, and
+it happens daily and hourly in all our colleges?  The truth is that the
+Doctor-Monopoly in teaching, which is becoming so rooted an American
+custom, can show no serious grounds whatsoever for itself in reason.
+As it actually prevails and grows in vogue among us, it is due to
+childish motives exclusively.  In reality it is but a sham, a bauble, a
+dodge, whereby to decorate the catalogues of schools and colleges.</p>
+<p class="quoted">Next, let us turn from the general promotion of a spirit of academic
+snobbery to the particular damage done to individuals by the system.</p>
+<p class="quoted">There are plenty of individuals so well endowed by nature that they
+pass with ease all the ordeals with which life confronts them.  Such
+persons are born for professional success.  Examinations have no
+terrors for them, and interfere in no way with their spiritual or
+worldly interests.  There are others, not so gifted who nevertheless
+rise to the challenge, get a stimulus from the difficulty, and become
+doctors, not without some baleful nervous wear and tear and retardation
+of their purely inner life, but on the whole successfully, and with
+advantage.  These two classes form the natural Ph.D.'s for whom the
+degree is legitimately instituted.  To be sure, the degree is of no
+consequence one way or the other for the first sort of man, for in him
+the personal worth obviously outshines the title.  To the second set of
+persons, however, the doctor ordeal may contribute a touch of energy
+and solidity of scholarship which otherwise they might have lacked, and
+were our candidates all drawn from these classes, no oppression would
+result from the institution.</p>
+<p class="quoted">But there is a third class of persons who are genuinely, and in the
+most pathetic sense, the institution's victims.  For this type of
+character the academic life may become, after a certain point, a
+virulent poison.  Men without marked originality or native force, but
+fond of truth and especially of books and study, ambitious of reward
+and recognition, poor often, and needing a degree to get a teaching
+position, weak in the eyes of their examiners,&mdash;among these we find the
+veritable <em>chair a canon</em> of the wars of learning, the unfit in the
+academic struggle for existence.  There are individuals of this sort
+for whom to pass one degree after another seems the limit of earthly
+aspiration.  Your private advice does not discourage them.  They will
+fail, and go away to recuperate, and then present themselves for
+another ordeal, and sometimes prolong the process into middle life.  Or
+else, if they are less heroic morally they will accept the failure as a
+sentence of doom that they are not fit, and are broken-spirited men
+thereafter.</p>
+<p class="quoted">We of the university faculties are responsible for deliberately
+creating this new class of American social failures, and heavy is the
+responsibility.  We advertise our &quot;schools&quot; and send out our
+degree-requirements, knowing well that aspirants of all sorts will be
+attracted, and at the same time we set a standard which intends to pass
+no man who has not native intellectual distinction.  We know that there
+is no test, however absurd, by which, if a title or decoration, a
+public badge or mark, were to be won by it, some weakly suggestible or
+hauntable persons would not feel challenged, and remain unhappy if they
+went without it.  We dangle our three magic letters before the eyes of
+these predestined victims, and they swarm to us like moths to an
+electric light.  They come at a time when failure can no longer be
+repaired easily and when the wounds it leaves are permanent; and we say
+deliberately that mere work faithfully performed, as they perform it,
+will not by itself save them, they must in addition put in evidence the
+one thing they have not got, namely this quality of intellectual
+distinction.  Occasionally, out of sheer human pity, we ignore our high
+and mighty standard and pass them.  Usually, however, the standard, and
+not the candidate, commands our fidelity.  The result is caprice,
+majorities of one on the jury, and on the whole a confession that our
+pretensions about the degree cannot be lived up to consistently.  Thus,
+partiality in the favored cases; in the unfavored, blood on our hands;
+and in both a bad conscience,&mdash;are the results of our administration.</p>
+<p class="quoted">The more widespread becomes the popular belief that our diplomas are
+indispensable hall-marks to show the sterling metal of their holders,
+the more widespread these corruptions will become.  We ought to look to
+the future carefully, for it takes generations for a national custom,
+once rooted, to be grown away from.  All the European countries are
+seeking to diminish the check upon individual spontaneity which state
+examinations with their tyrannous growth have brought in their train.
+We have had to institute state examinations too; and it will perhaps be
+fortunate if some day hereafter our descendants, comparing machine with
+machine, do not sigh with regret for old times and American freedom,
+and wish that the <em>regime</em> of the dear old bosses might be reinstalled,
+with plain human nature, the glad hand and the marble heart, liking and
+disliking, and man-to-man relations grown possible again.  Meanwhile,
+whatever evolution our state-examinations are destined to undergo, our
+universities at least should never cease to regard themselves as the
+jealous custodians of personal and spiritual spontaneity.  They are
+indeed its only organized and recognized custodians in America to-day.
+They ought to guard against contributing to the increase of officialism
+and snobbery and insincerity as against a pestilence; they ought to
+keep truth and disinterested labor always in the foreground, treat
+degrees as secondary incidents, and in season and out of season make it
+plain that what they live for is to help men's souls, and not to
+decorate their persons with diplomas.</p>
+<p class="quoted">There seem to be three obvious ways in which the increasing hold of the
+Ph.D. Octopus upon American life can be kept in check.</p>
+<p class="quoted">The first way lies with the universities.  They can lower their
+fantastic standards (which here at Harvard we are so proud of) and give
+the doctorate as a matter of course, just as they give the bachelor's
+degree, for a due amount of time spent in patient labor in a special
+department of learning, whether the man be a brilliantly gifted
+individual or not.  Surely native distinction needs no official stamp,
+and should disdain to ask for one.  On the other hand, faithful labor,
+however commonplace, and years devoted to a subject, always deserve to
+be acknowledged and requited.</p>
+<p class="quoted">The second way lies with both the universities and colleges.  Let them
+give up their unspeakably silly ambition to bespangle their lists of
+officers with these doctorial titles.  Let them look more to substance
+and less to vanity and sham.</p>
+<p class="quoted">The third way lies with the individual student, and with his personal
+advisers in the faculties.  Every man of native power, who might take a
+higher degree, and refuses to do so, because examinations interfere
+with the free following out of his more immediate intellectual aims,
+deserves well of his country, and in a rightly organized community,
+would not be made to suffer for his independence.  With many men the
+passing of these extraneous tests is a very grievous interference
+indeed.  Private letters of recommendation from their instructors,
+which in any event are ultimately needful, ought, in these cases,
+completely to offset the lack of the breadwinning degree; and
+instructors ought to be ready to advise students against it upon
+occasion, and to pledge themselves to back them later personally, in
+the market-struggle which they have to face.</p>
+<p class="quoted">It is indeed odd to see this love of titles&mdash;and such titles&mdash;growing
+up in a country or which the recognition of individuality and bare
+manhood have so long been supposed to be the very soul.  The
+independence of the State, in which most of our colleges stand,
+relieves us of those more odious forms of academic politics which
+continental European countries present.  Anything like the elaborate
+university machine of France, with its throttling influences upon
+individuals is unknown here.  The spectacle of the &quot;Rath&quot; distinction
+in its innumerable spheres and grades, with which all Germany is
+crawling to-day, is displeasing to American eyes; and displeasing also
+in some respects is the institution of knighthood in England, which,
+aping as it does an aristocratic title, enables one's wife as well as
+one's self so easily to dazzle the servants at the house of one's
+friends.  But are we Americans ourselves destined after all to hunger
+after similar vanities on an infinitely more contemptible scale?  And
+is individuality with us also going to count for nothing unless stamped
+and licensed and authenticated by some title-giving machine?  Let us
+pray that our ancient national genius may long preserve vitality enough
+to guard us from a future so unmanly and so unbeautiful!</p>
+
+</blockquote>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Lindsay (Carlton): should i eat more post its
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/William James - The Varieties of Religious Experience.html b/William James - The Varieties of Religious Experience.html
new file mode 100644 (file)
index 0000000..676d1c7
--- /dev/null
@@ -0,0 +1,881 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>William James - The Varieties of Religious Experience</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>William James - The Varieties of Religious Experience</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">William James - Varieties of Religious Experience (<code>In progress</code>)</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Lectures I and II</a>
+</dt>
+<dt>
+<a href="#sec3">Lecture III: &amp;quot;The Reality of the Unseen&amp;quot;</a>
+</dt>
+<dt>
+<a href="#sec4">Lectures IV and V: &amp;quot;The Religion of Healthy Mindedness&amp;quot;</a>
+</dt>
+<dt>
+<a href="#sec5">Lectures VI and VII: &amp;quot;The Sick Soul&amp;quot;</a>
+</dt>
+<dt>
+<a href="#sec6">Lecture VIII: &amp;quot;The Divided Self, and the Process of Its Unificiation&amp;quot;</a>
+</dt>
+<dt>
+<a href="#sec7">Lectures IX and X: &amp;quot;Conversion&amp;quot;</a>
+</dt>
+<dt>
+<a href="#sec8">Lectures XI - XIII: Saintliness</a>
+</dt>
+<dt>
+<a href="#sec9">Lectures XIV-XV: The Value of Saintliness</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+William James - <a href="http://www.gutenberg.org/etext/621">Varieties of Religious Experience</a> (<code>In progress</code>)</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<p>The <em>Varieties of Religious Experience</em> is a set of twenty lectures on
+religious experience from a psychological perspective. The quality of
+the method used is a bit suspect, but my understanding is that it was
+one of the first pyschological surveys of religion, and so could
+perhaps be forgiven of a few flaws.</p>
+
+<p>I found parts to be boring, and others to have flawed reasoning, but
+with a few lectures that were interesting. At the very least the
+lectures give a reasonable glimpse into the religous fashion of the
+late 1800s. There is a small bit of social commentary thrown in that
+is cited by John Gatto in his <em>Underground History of American
+Education</em>, which is why I chose to read this.</p>
+
+<h3><a name="sec2" id="sec2"></a>
+Lectures I and II</h3>
+
+<p class="first">The first two lectures lay the groundwork for the lecture series. The
+first covers a few views on what religious experience is, and gives
+refutations (although not terribly good ones now, perhaps they were
+seen as fine in the early 1900s) to a few deterministic theories. The
+second lecture defines the scope of the topic to be covered, and
+limits the definitions of religion and spirituality.</p>
+
+
+<blockquote>
+<p class="quoted">
+Religion, therefore, as I now ask you arbitrarily to take it, shall
+mean for us <em>the feelings, acts, and experiences of individual men in
+their solitude, so far as they apprehend themselves to stand in
+relation to whatever they may consider the divine</em>.  Since the
+relation may be either moral, physical, or ritual, it is evident that
+out of religion in the sense in which we take it, theologies,
+philosophies, and ecclesiastical organizations may secondarily grow.
+In these lectures, however, as I have already said, the immediate
+personal experiences will amply fill our time, and we shall hardly
+consider theology or ecclesiasticism at all.</p>
+
+</blockquote>
+
+<p>In the second lecture James's first extremely arbitrary distinction is
+made; he compares the stoicism espoused by Marcus Aurelius to
+Christian writings and draws what I think is a nonexistent difference
+between the two. It is my opinion that the Stoic is just as religious
+by James's definition as the Christian; the stoic merely sees the
+Universe as his god and makes conformance to the natural order his
+ideal. The Stoic actively embraces the natural order just as the
+Christian actively loves his god; the difference is merely in whether
+God is seen as a definite individual or not.</p>
+
+<blockquote>
+<p class="quoted">
+If we compare stoic with Christian ejaculations we see much more
+than a difference of doctrine; rather is it a difference of
+emotional mood that parts them.  When Marcus Aurelius reflects on
+the eternal reason that has ordered things, there is a frosty
+chill about his words which you rarely find in a Jewish, and
+never in a Christian piece of religious writing.  The universe is
+&quot;accepted&quot; by all these writers; but how devoid of passion or
+exultation the spirit of the Roman Emperor is!  Compare his fine
+sentence:  &quot;If gods care not for me or my children, here is a
+reason for it,&quot; with Job's cry:  &quot;Though he slay me, yet will I
+trust in him!&quot; and you immediately see the difference I mean.
+The anima mundi, to whose disposal of his own personal destiny
+the Stoic consents, is there to be respected and submitted to,
+but the Christian God is there to be loved; and the difference of
+emotional atmosphere is like that between an arctic climate and
+the tropics, though the outcome in the way of accepting actual
+conditions uncomplainingly may seem in abstract terms to be much
+the same.</p>
+
+</blockquote>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Lecture III: &amp;quot;The Reality of the Unseen&amp;quot;</h3>
+
+<p class="first">The third lecture consists of a brief overview of various
+interpretations of the structure of the unseen world. An argument for
+a dualistic universe is then given using a few passages on spiritual
+encounters as supposed proof. James criticizes strict rationalism as
+well.</p>
+
+<blockquote>
+<p class="quoted">
+Nevertheless, if we look on man's whole mental life as it exists, on
+the life of men that lies in them apart from their learning and
+science, and that they inwardly and privately follow, we have to
+confess that the part of it of which rationalism can give an account
+is relatively superficial.  It is the part that has the prestige
+undoubtedly, for it has the loquacity, it can challenge you for
+proofs, and chop logic, and put you down with words.  But it will fail
+to convince or convert you all the same, if your dumb intuitions are
+opposed to its conclusions.  If you have intuitions at all, they come
+from a deeper level of your nature than the loquacious level which
+rationalism inhabits.  Your whole subconscious life, your impulses,
+your faiths, your needs, your divinations, have prepared the premises,
+of which your consciousness now feels the weight of the result; and
+something in you absolutely <em>knows</em> that that result must be truer than
+any logic-chopping rationalistic talk, however clever, that may
+contradict it.  This inferiority of the rationalistic level in
+founding belief is just as manifest when rationalism argues for
+religion as when it argues against it.  That vast literature of proofs
+of God's existence drawn from the order of nature, which a century ago
+seemed so overwhelmingly convincing, to-day does little more than
+gather dust in libraries, for the simple reason that our generation
+has ceased to believe in the kind of God it argued for.  Whatever sort
+of a being God may be, we <em>know</em> to-day that he is nevermore that mere
+external inventor of &quot;contrivances&quot; intended to make manifest his
+&quot;glory&quot; in which our great-grandfathers took such satisfaction, though
+just how we know this we cannot possibly make clear by words either to
+others or to ourselves.  I defy any of you here fully to account for
+your persuasion that if a God exist he must be a more cosmic and
+tragic personage than that Being.</p>
+
+</blockquote>
+
+
+<h3><a name="sec4" id="sec4"></a>
+Lectures IV and V: &amp;quot;The Religion of Healthy Mindedness&amp;quot;</h3>
+
+<p class="first">Lecture IV is an interesting read and surveys a few positive minded
+philosophies, but Lecture V focuses entirely on the <em>mind-cure</em>
+movement. William James then gives a terrible argument for the
+validity of <em>mind-cure</em>, and compares it to science while neglecting the
+complete lack of objectivity in the methods of test the effects of
+<em>mind-cure</em>.</p>
+
+<blockquote>
+<p class="quoted">
+It is a deliberately optimistic scheme of life, with both a
+speculative and a practical side.  In its gradual development during
+the last quarter of a century, it has taken up into itself a number
+of contributory elements, and it must now be reckoned with as a
+genuine religious power.  It has reached the stage, for example, when
+the demand for its literature is great enough for insincere stuff,
+mechanically produced for the market, to be to a certain extent
+supplied by publishers&mdash;a phenomenon never observed, I imagine, until
+a religion has got well past its earliest insecure beginnings.</p>
+<p class="quoted">...</p>
+<p class="quoted">The plain fact remains that the spread of the movement has been
+due to practical fruits, and the extremely practical turn of
+character of the American people has never been better shown than
+by the fact that this, their only decidedly original contribution
+to the systematic philosophy of life, should be so intimately
+knit up with concrete therapeutics.  To the importance of
+mind-cure the medical and clerical professions in the United
+States are beginning, though with much recalcitrancy and
+protesting, to open their eyes.  It is evidently bound to develop
+still farther, both speculatively and practically, and its latest
+writers are far and away the ablest of the group. It matters
+nothing that, just as there are hosts of persons who cannot pray,
+so there are greater hosts who cannot by any possibility be
+influenced by the mind-curers' ideas.  For our immediate purpose,
+the important point is that so large a number should exist who
+<em>can</em> be so influenced.  They form a psychic type to be studied
+with respect.</p>
+
+</blockquote>
+
+<p>The lectures are ended with an argument for the validity of <em>mind-cure</em>
+that compares it directly to science with a clear anti-science bias.</p>
+
+<blockquote>
+<p class="quoted">
+These are exceedingly trivial instances [<em>the first-hand accounts of
+mind-cure working given in the lecture</em>], but in them, if we
+have anything at all, we have the method of experiment and
+verification.  For the point I am driving at now, it makes no
+difference whether you consider the patients to be deluded
+victims of their imagination or not.  That they seemed to
+<em>themselves</em> to have been cured by the experiments tried was enough
+to make them converts to the system.  And although it is evident
+that one must be of a certain mental mould to get such results
+(for not every one can get thus cured to his own satisfaction any
+more than every one can be cured by the first regular
+practitioner whom he calls in), yet it would surely be pedantic
+and over-scrupulous for those who <em>can</em> get their savage and
+primitive philosophy of mental healing verified in such
+experimental ways as this, to give them up at word of command for
+more scientific therapeutics.</p>
+<p class="quoted">What are we to think of all this?  Has science made too wide a
+claim?</p>
+<p class="quoted">I believe that the claims of the sectarian scientist are, to say
+the least, premature.  The experiences which we have been
+studying during this hour (and a great many other kinds of
+religious experiences are like them) plainly show the universe to
+be a more many-sided affair than any sect, even the scientific
+sect, allows for.  What, in the end, are all our verifications
+but experiences that agree with more or less isolated systems of
+ideas (conceptual systems) that our minds have framed?  But why
+in the name of common sense need we assume that only one such
+system of ideas can be true?  The obvious outcome of our total
+experience is that the world can be handled according to many
+systems of ideas, and is so handled by different men, and will
+each time give some characteristic kind of profit, for which he
+cares, to the handler, while at the same time some other kind of
+profit has to be omitted or postponed.  Science gives to all of
+us telegraphy, electric lighting, and diagnosis, and succeeds in
+preventing and curing a certain amount of disease. Religion in
+the shape of mind-cure gives to some of us serenity, moral poise,
+and happiness, and prevents certain forms of disease as well as
+science does, or even better in a certain class of persons.
+Evidently, then, the science and the religion are both of them
+genuine keys for unlocking the world's treasure-house to him who
+can use either of them practically.  Just as evidently neither is
+exhaustive or exclusive of the other's simultaneous use.  And
+why, after all, may not the world be so complex as to consist of
+many interpenetrating spheres of reality, which we can thus
+approach in alternation by using different conceptions and
+assuming different attitudes, just as mathematicians handle the
+same numerical and spatial facts by geometry, by analytical
+geometry, by algebra, by the calculus, or by quaternions, and
+each time come out right?  On this view religion and science,
+each verified in its own way from hour to hour and from life to
+life, would be co-eternal.  Primitive thought, with its belief in
+individualized personal forces, seems at any rate as far as ever
+from being driven by science from the field to-day.  Numbers of
+educated people still find it the directest experimental channel
+by which to carry on their intercourse with reality</p>
+
+</blockquote>
+
+<p>He draws a very strong conclusion that would be difficult to draw from
+even quality evidence and objective trials; this drawn from subjective
+personal accounts with no controlled testing method. A representative
+example follows of his evidence follows.</p>
+
+<blockquote>
+<p class="quoted">
+&quot;One of my first experiences in applying my teaching was two
+months after I first saw the healer.  I fell, spraining my right
+ankle, which I had done once four years before, having then had
+to use a crutch and elastic anklet for some months, and carefully
+guarding it ever since.  As soon as I was on my feet I made the
+positive suggestion (and felt it through all my being):  'There
+is nothing but God, and all life comes from him perfectly.  I
+cannot be sprained or hurt, I will let him take care of it.'
+Well, I never had a sensation in it, and I walked two miles that
+day.&quot;</p>
+
+</blockquote>
+
+<p>Ignoring any other problems in William James's argument, it is clear
+that his conclusion is far too heavy to rest upon the evidence he has
+chosen to use.</p>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Lectures VI and VII: &amp;quot;The Sick Soul&amp;quot;</h3>
+
+<p class="first">The lectures on the Sick Soul are filled with rather weak quotations
+(excepting a few short passages of Tolstoy). The reader is reminded
+over and over how terrible and painful it is to be working through
+these horrid expressions of melancholy which aren't really so
+terrible.</p>
+
+<p>James's view is that a state of melancholy is merely a transitional
+stage that comes before a second mental birth occurs, and allows for a
+deep religious belief to set in. Most of the remainder of the lecture
+series is dedicated to analyzing the mind of the Second Born which he
+sees are far deeper spiritually than the simple positive Once Born
+type (depsite his previous praise of <em>mind-cure</em>).</p>
+
+
+<h3><a name="sec6" id="sec6"></a>
+Lecture VIII: &amp;quot;The Divided Self, and the Process of Its Unificiation&amp;quot;</h3>
+
+<p class="first">Here the lectures return to things mildly interesting with an overview
+of heterogenous personalities and a few passages on unificiation of
+conflicting desires. James splits unificiations into gradual and
+sudden ones giving examples of each. This lecture is the bridge
+between lectures V through VII and the material on conversion.</p>
+
+
+<h3><a name="sec7" id="sec7"></a>
+Lectures IX and X: &amp;quot;Conversion&amp;quot;</h3>
+
+
+<ul>
+<li>conversion allows for unification of divided self</li>
+<li>Definition of Association</li>
+<li>Conversion is sudden change of <em>the habitual center of  personal energy</em></li>
+<li>Examples of conversion
+
+<ul>
+<li>Common people, stereotypical conversion types</li>
+<li>Seemingly of suspect quality</li>
+</ul></li>
+<li>Note of the trouble of not being able to be religious
+
+<ul>
+<li>Painted in a negative light!</li>
+</ul></li>
+
+<li>Focus on instantaneous conversion
+
+<ul>
+<li>Give prototypical example</li>
+</ul></li>
+</ul>
+
+<blockquote>
+<p class="quoted">
+&quot;Coming out of the cafe I met the carriage of Monsieur B. [the
+proselyting friend].  He stopped and invited me in for a drive,
+but first asked me to wait for a few minutes whilst he attended
+to some duty at the church of San Andrea delle Fratte.  Instead
+of waiting in the carriage, I entered the church myself to look
+at it.  The church of San Andrea was poor, small, and empty; I
+believe that I found myself there almost alone.  No work of art
+attracted my attention; and I passed my eyes mechanically over
+its interior without being arrested by any particular thought.  I
+can only remember an entirely black dog which went trotting and
+turning before me as I mused.  In an instant the dog had
+disappeared, the whole church had vanished, I no longer saw
+anything, . . . or more truly I saw, O my God, one thing alone.
+&quot;Heavens, how can I speak of it?  Oh no! human words cannot
+attain to expressing the inexpressible.  Any description, however
+sublime it might be, could be but a profanation of the
+unspeakable truth.</p>
+<p class="quoted">&quot;I was there prostrate on the ground, bathed in my tears, with my
+heart beside itself, when M. B. called me back to life.  I could
+not reply to the questions which followed from him one upon the
+other.  But finally I took the medal which I had on my breast,
+and with all the effusion of my soul I kissed the image of the
+Virgin, radiant with grace, which it bore.  Oh, indeed, it was
+She! It was indeed She! [What he had seen had been a vision of
+the Virgin.]</p>
+<p class="quoted">&quot;I did not know where I was:  I did not know whether I was
+Alphonse or another.  I only felt myself changed and believed
+myself another me; I looked for myself in myself and did not find
+myself.  In the bottom of my soul I felt an explosion of the most
+ardent joy; I could not speak; I had no wish to reveal what had
+happened.  But I felt something solemn and sacred within me which
+made me ask for a priest.  I was led to one; and there alone,
+after he had given me the positive order, I spoke as best I
+could, kneeling, and with my heart still trembling.  I could give
+no account to myself of the truth of which I had acquired a
+knowledge and a faith.  All that I can say is that in an instant
+the bandage had fallen from my eyes, and not one bandage only,
+but the whole manifold of bandages in which I had been brought
+up.  One after another they rapidly disappeared, even as the mud
+and ice disappear under the rays of the burning sun.&quot;</p>
+
+</blockquote>
+
+<ul>
+<li>Notes recent protestant phenomemon of instantaneous conversion</li>
+<li>Gives psychological explanation for instant conversion
+
+<ul>
+<li>Field of conciousness</li>
+<li>Subconcious on margin
+
+<ul>
+<li>Subconcious life can affect concious existance</li>
+<li>Note: cites Freud &amp; friends as reliable</li>
+</ul></li>
+</ul></li>
+</ul>
+
+<blockquote>
+<p class="quoted">
+In the wonderful explorations by Binet, Janet, Breuer, Freud,
+Mason, Prince, and others, of the subliminal consciousness of
+patients with hysteria, we have revealed to us whole systems of
+underground life, in the shape of memories of a painful sort
+which lead a parasitic existence, buried outside of the primary
+fields of consciousness, and making irruptions thereinto with
+hallucinations, pains, convulsions, paralyses of feeling and of
+motion, and the whole procession of symptoms of hysteric disease
+of body and of mind.  Alter or abolish by suggestion these
+subconscious memories, and the patient immediately gets well.
+His symptoms were automatisms, in Mr. Myers's sense of the word.
+These clinical records sound like fairy-tales when one first
+reads them, yet it is impossible to doubt their accuracy; and,
+the path having been once opened by these first observers,
+similar observations have been made elsewhere.  They throw, as I
+said, a wholly new light upon our natural constitution.</p>
+
+</blockquote>
+
+<ul>
+<li>Conversion is a transfer of energies from the subconcious
+
+<ul>
+<li>Changes center of focus in the field of conciousness
+
+<ul>
+<li>Disproves religious nature of instant conversion argument</li>
+</ul></li>
+</ul></li>
+<li>Notes that there are no discernable differences between instant
+converts and slow converts</li>
+</ul>
+
+<blockquote>
+<p class="quoted">
+The believers in the non-natural character of sudden conversion
+have had practically to admit that there is no unmistakable
+class-mark distinctive of all true converts.  The super-normal
+incidents, such as voices and visions and overpowering
+impressions of the meaning of suddenly presented scripture texts,
+the melting emotions and tumultuous affections connected with the
+crisis of change, may all come by way of nature, or worse still,
+be counterfeited by Satan.  The real witness of the spirit to the
+second birth is to be found only in the disposition of the
+genuine child of God, the permanently patient heart, the love of
+self eradicated.  And this, it has to be admitted, is also found
+in those who pass no crisis, and may even be found outside of
+Christianity altogether.</p>
+
+</blockquote>
+
+<ul>
+<li>Instant conversion is a natural result of exposing a person with a
+rich subconcious existence to religion and is merely one type of
+conversion</li>
+</ul>
+
+<blockquote>
+<p class="quoted">
+Sharp distinctions are difficult in these regions, and Professor Coe's
+numbers are small.  But his methods were careful, and the results
+tally with what one might expect; and they seem, on the whole, to
+justify his practical conclusion, which is that if you should expose
+to a converting influence a subject in whom three factors unite:
+first, pronounced emotional sensibility; second, tendency to
+automatisms; and third, suggestibility of the passive type; you might
+then safely predict the result: there would be a sudden conversion, a
+transformation of the striking kind.</p>
+
+</blockquote>
+
+<ul>
+<li>Finishes with discussion of pre-conversion emotion
+
+<ul>
+<li>Usually melancholy</li>
+<li>Disguist at sin</li>
+</ul></li>
+<li>Post Conversion feeling
+
+<ul>
+<li>New self</li>
+<li>Clean</li>
+</ul></li>
+</ul>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Lectures XI - XIII: Saintliness</h3>
+
+<ul>
+<li>Descriptive assement of fruits of conversion
+
+<ul>
+<li>general discussion of what causes differing character
+
+<ul>
+<li>Impulse vs Inhibition
+
+<ul>
+<li>Strong emotions shut down inhibition</li>
+</ul></li>
+</ul></li>
+<li>Application of general principles to the results of conversion
+
+<ul>
+<li>Top over point -&gt; God works through Subliminal</li>
+<li>Ignore how the Subliminal works
+
+<ul>
+<li>[It seems that this is done to avoid concluding that there is
+no god]</li>
+<li>[Minimization of importance of natural processes in
+post-convesion]</li>
+</ul></li>
+<li>Saintliness
+
+<ul>
+<li>Four universal inner conditions</li>
+<li>Four results of the inner conditions</li>
+<li>EXAMPLES
+
+<ul>
+<li>Prescence of a higher &amp; friendly power</li>
+<li>Charity (agape) love
+
+<ul>
+<li>Charity not unique to theistic religions, therefore it
+should be seen as coordinate rather than subordinate to
+the topic of the lecture series (page 296)</li>
+</ul></li>
+<li>Inward Tranquillity
+
+<ul>
+<li>Sombre constitution results in resignation and submission</li>
+<li>Cheerful constitution results in joyous consent</li>
+</ul></li>
+<li>Purity
+
+<ul>
+<li>Internal discord leads to suffering</li>
+</ul></li>
+<li>Ascetecism
+
+<ul>
+<li>result of extreme pursuit of purity</li>
+<li>List of sources of ascetic behavior</li>
+<li>Ascetecism in monks
+
+<ul>
+<li>Obedience
+
+<ul>
+<li>Low reasons
+
+<ul>
+<li>Obedience expedient in ecclesiastical organizations</li>
+<li>External counsel at certain times is better than
+internal</li>
+</ul></li>
+<li>High Reason
+
+<ul>
+<li>Inner softening</li>
+</ul></li>
+<li>Catholic view as sacrifice
+
+<ul>
+<li>[quote p.274 &quot;sacrifice which man offers to God...&quot;]</li>
+<li>passages by member of the order of St Ignatius</li>
+</ul></li>
+</ul></li>
+<li>Poverty
+
+<ul>
+<li>Things steal freedom, therefore a life of doing/being
+is superior</li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul>
+
+
+<h3><a name="sec9" id="sec9"></a>
+Lectures XIV-XV: The Value of Saintliness</h3>
+
+<ul>
+<li>Critique of Saintliness
+
+<ul>
+<li>Using empirical methods (unlike Catholics)
+
+<ul>
+<li>Humans cannot differentiate between natural and supernatural
+effects</li>
+</ul></li>
+<li>(Defense of Methodology)
+
+<ul>
+<li>Current religious views result of empiricism
+
+<ul>
+<li>Rejection of former gods over time as they cease to serve our
+needs</li>
+</ul></li>
+<li>Must be skeptical (not unreasonably so however) of current
+beliefs
+
+<ul>
+<li>Humans are fallible; admitting this brings us closer to truth
+by enabling discussion of flaws in beliefs</li>
+<li>Quite probably that no one religion is entirely correct</li>
+</ul></li>
+</ul></li>
+</ul></li>
+<li>Concerned with personal religious experiences, and not with
+instutitional religion [reiteration from second lecture]
+
+<ul>
+<li>Ideas of a prophet -&gt; heterodoxy -&gt; heresy (if accepted by
+others) -&gt; orthodxy (if survives persection)
+
+<ul>
+<li>Cycle then begins anew</li>
+</ul></li>
+<li>Religion itself cannot be blamed for evils committed</li>
+</ul></li>
+<li>Extreme Saintliness due to excess
+
+<ul>
+<li>In men, excess is due to lack of balance, or excessively strong
+personality elements mixed with weak ones
+
+<ul>
+<li>If all faculities are strong and cooperate one has a strong
+character rather than one plagued by excess</li>
+<li>Extremely saintly people have strong spiritual faculities, but
+deficient ability to perceive extravagane
+
+<ul>
+<li>Leads to excessie self-denial</li>
+<li>Still useful as archetypes</li>
+</ul></li>
+</ul></li>
+</ul></li>
+<li>Four Virtues &amp; Unbalanced Forms
+
+<ul>
+<li>Devoutness
+
+<ul>
+<li>Fanatacism
+
+<ul>
+<li>Strong character mixed with narrow mind</li>
+</ul></li>
+<li>Theopathy (cointed by WJ to describe excess devoutness)
+
+<ul>
+<li>Excess of devotion with feeble mind</li>
+<li>Person becomes absorbed in inward love of/from God</li>
+</ul></li>
+</ul></li>
+<li>Purity
+
+<ul>
+<li>Narrow mindedness results on love of God replacing all other
+love</li>
+<li>In aggressive types stamps external disorder from existence</li>
+<li>In passive types disorder is eliminated internall by secluding
+self
+
+<ul>
+<li>Example: Lous of Gonzaga</li>
+<li>Such a life was seen as good in the 16th century, but in the
+early 20th was seen as repulsive due to secular changes (more
+value being placed on helping society than merely saving
+oneself)</li>
+</ul></li>
+</ul></li>
+<li>Charity / Tenderness
+
+<ul>
+<li>Saintly 'Resist No Evil' versus Worldy Pragmatic Standpoint
+
+<ul>
+<li>No simple answer</li>
+</ul></li>
+<li>Perfect conduct relation between actor, objects acted upon, and
+recipients of the action
+
+<ul>
+<li>Best intentions fail when executed incorrectly or addressed
+to the wrong recipient</li>
+<li>Thus cannot judge charity by actor alone</li>
+</ul></li>
+<li>Saintly charity works in a perfect world
+
+<ul>
+<li>Excessive in the World That Is</li>
+<li>Evil takes advantage of charity</li>
+<li>However, the world would be far worse without charitable
+people
+
+<ul>
+<li>Treating others charitably inspires others to become
+better</li>
+<li>Exposure to an excessively charitable person softens a
+person</li>
+<li>Without this type all would lie in spiritual stagnation</li>
+</ul></li>
+<li>Therefore even excessive charity has value
+
+<ul>
+<li>Force destroys enemies</li>
+<li>Prudence at best resists enemies</li>
+<li>Non-resistance / Charity turns enemies into friends</li>
+</ul></li>
+<li>Though excessive, the saint makes the world a better place
+
+<ul>
+<li>Compare to Utopianists and Anarchists</li>
+</ul></li>
+</ul></li>
+</ul></li>
+<li>Ascetecism
+
+<ul>
+<li>Virtue most prone to excess</li>
+<li>It seems at first those wo are excessively ascetic are still
+inwardly attached to the world
+
+<ul>
+<li>If one were truly liberated he would not need excessive
+moritification</li>
+</ul></li>
+<li>Different view: Ascetic sees wrongs in the world, and rather
+than ignore them he conquers them internally
+
+<ul>
+<li>One who does not fear Death seems strong</li>
+</ul></li>
+<li>Ascetecism is a profounder way of handling excistence than
+simple optimistic naturalism
+
+<ul>
+<li>In the modern time, people should throw away useless
+asceticism and embrace useful aspects</li>
+<li>Attributes of early 20th century life and weakened churching
+breed weaker character
+
+<ul>
+<li>Militarism used as a subtitute for religious ascetecism
+
+<ul>
+<li>Poor subtitute
+
+<ul>
+<li>Speaks to the base and brutish aspects of human nature</li>
+</ul></li>
+</ul></li>
+<li>Ascetic poverty much superior to militarism/war
+
+<ul>
+<li>WJ believes it <strong>must</strong> be embraced to fight evils of the
+time [quote page 319-320]</li>
+<li>Desire to gain wealth breeds cowardice and corruption
+
+<ul>
+<li>Wealthy man enslaved to riches</li>
+<li>Poor man lacks chains
+- Single attributes of saintliness are found in the non-religious
+- Combination of all forms is religious in nature
+- Flows from sense of divine order
+- Saintly person palces happiness internally rather than deriving
+from comfort
+- Saintly attributes mixed with narrow mind results in terrible
+excessive forms
+- We should not, however, place blame for narrow mindedness
+entirely on the individual
+- Essentials vs Accidents of saintliness
+- Dislike of Saintly character
+- Man traditionally worships strong leaders
+- Saints are weak and passive
+- Male vs Female nature [think Yin vs Yang]
+- Many suppose there is one ideal type of character
+- Empiricism rejects this as foolish
+- On the one hande the saintly character is better than the
+strongman becaue he is adapted to life in a perfect society
+- On the other in the real world he would be ill adapted
+- Mixture of the two characters useful [think Nietzsche's
+uebermensch or Taoist]
+- Saintly character has real value</li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul></li>
+</ul>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">    To Wise Man's Son and Wednesday's Child all is white that is not black
+      They dance in symbiotic deadlock; one step forward two steps back
+     Playing karmic snakes and ladders (All your sins will find you out)
+     When all your gains are lost in vain on cosmic wings and roundabouts
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Window Maker Themes.html b/Window Maker Themes.html
new file mode 100644 (file)
index 0000000..39a4b4a
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>Window Maker Themes</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>Window Maker Themes</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Nifty Background</a>
+</dt>
+<dt>
+<a href="#sec2">Pixel GNU</a>
+</dt>
+<dt>
+<a href="#sec3">Pixel Linux</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec4">Original</a>
+</dt>
+<dt>
+<a href="#sec5">Two</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Simplistic Gray</a>
+</dt>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<p>For some reason I still use <a href="http://windowmaker.info">Window Maker</a> after all these years. Once
+upon a time I gazed in awe of the old graybeards who still used <a href="http://fvwm.org">FVWM</a>
+and <a href="http://xwinman.org/vtwm.php">TWM</a>, and here I am many years later using a mostly abandoned
+window manager. At least it can look nice.</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Nifty Background</h2>
+
+<p><a class="image-link" href="img/themes/niftybg.jpg">
+<img src="img/themes/niftybg_thumbnail.png" alt="" /></a></p>
+
+<p>This I think is my finest theme. I use this nowadays with my <em>Fractal
+Fire</em> <a href="Backgrounds.html">background</a> on my laptop.</p>
+
+<p><a href="files/themes/niftybg.tar.gz">Download</a></p>
+
+
+<h2><a name="sec2" id="sec2"></a>
+Pixel GNU</h2>
+
+<p><a class="image-link" href="img/themes/pixel_gnu.jpg">
+<img src="img/themes/pixel_gnu_thumbnail.png" alt="" /></a></p>
+
+<p>I still use this on my workstation today; it is a nice subdued theme.</p>
+
+<p><a href="files/themes/pixel_gnu.tar.gz">Download</a></p>
+
+
+<h2><a name="sec3" id="sec3"></a>
+Pixel Linux</h2>
+
+<p class="first">These are the first themes I ever made that I don't think are
+atrocious looking. I had a thing for pixelate images when I was
+fifteen.</p>
+
+<h3><a name="sec4" id="sec4"></a>
+Original</h3>
+
+<p><a class="image-link" href="img/themes/pixel_linux.jpg">
+<img src="img/themes/pixel_linux_thumbnail.png" alt="" /></a></p>
+
+<p><a href="files/themes/pixel_linux.tar.gz">Download</a></p>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Two</h3>
+
+<p><a class="image-link" href="img/themes/pixel_linux_2.jpg">
+<img src="img/themes/pixel_linux_2_thumbnail.png" alt="" /></a></p>
+
+<p>A variant on the original with slightly different images.</p>
+
+<p><a href="files/themes/pixel_linux_2.tar.gz">Download</a></p>
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Simplistic Gray</h2>
+
+<p><a class="image-link" href="img/themes/simplistic_gray.jpg">
+<img src="img/themes/simplistic_gray_thumbnail.png" alt="" /></a></p>
+
+<p>A very simple gray theme that uses no pixmaps. This is what I used
+when I had a poor little 166MHz i586 with a very depressing 16M of
+RAM.</p>
+
+<p><a href="files/themes/simplistic_gray.tar.gz">Download</a></p>
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">    To Wise Man's Son and Wednesday's Child all is white that is not black
+      They dance in symbiotic deadlock; one step forward two steps back
+     Playing karmic snakes and ladders (All your sins will find you out)
+     When all your gains are lost in vain on cosmic wings and roundabouts
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/Wisdom.html b/Wisdom.html
new file mode 100644 (file)
index 0000000..6484e49
--- /dev/null
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>The Wisdom of the Ancients</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>The Wisdom of the Ancients</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Mencius</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">III.B.1</a>
+</dt>
+<dt>
+<a href="#sec3">VI.A.10</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec4">Qohelet</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec5">One</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">Søren Kierkegaard</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec7">Either/Or I</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec8">Nietzsche</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec9">Beyond Good and Evil</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here -->
+<h2><a name="sec1" id="sec1"></a>
+Mencius</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+III.B.1</h3>
+
+<blockquote>
+<p class="quoted">
+Ch'en Tai said, &quot;When you refused even to see them, the feudal lords
+appeared insignificant to you. Now that you have seen them, they are
+either kings, or, at least, leaders of the feudal lords. Moreover,
+it is said in the <em>Records</em>, 'Bend the foot in order to straighten
+the yard.' That seems worth doing.&quot;</p>
+<p class="quoted">&quot;Once,&quot; said Mencius, &quot;Duke Ching of Ch'i went hunting and summoned
+his gamekeeper with a pennon. The gamekeeper did not come, and the
+Duke was going to have him put to death. 'A man whose mind is set on
+high ideals never forgets that he may end in a ditch; a man of valor
+never forgets that he may forfeit his head.' What did Conficius find
+praiseworthy in the gamekeeper? His refusal to answer to a form of
+summons to which he was not entitled. What can one do about those
+who go without even being summoned? Moreover, the saying, 'Bend the
+foot in order to straighten the yard' refers to profit. If it is for
+profit, I suppose one might just as well bend the yard to straighten
+the foot.</p>
+<p class="quoted">&quot;Once, Viscount Chien of Chao sent Wang Liang to drive the chariot
+for his favorite, Hsi. In the whole day they failed to catch one
+single bird. Hsi reported to his master, 'He is the worst charioteer
+in the world.' Someone told Wang Liang of this. Liang asked, 'May I
+have another chance?' It was with difficulty that Hsi was persuaded,
+but in one morning they caught ten birds. Hsi reported to his
+master, 'He is the best charioteer in the world.' 'I shall make him
+drive for you,' said Viscount Chien. He asked Wang Liang, but
+Wang Liang refused. 'I drove for him according to the proper rules,'
+said he, 'and we did not catch a single bird all day. Then I used
+underhand methods, and we caught ten birds in one morning. The <em>Book
+of Odes</em> says,</p>
+<p class="quoted"></p>
+
+<p class="verse">
+He never failed to drive correctly,<br />
+And his arrows went straight for the target<br />
+</p><br />
+</p>
+<p class="quoted">I am not used to driving for small men. May I be excused?'</p>
+<p class="quoted">&quot;Even a charioteer is ashamed to be in league with an archer. When
+doing so means catching enough birds to pile up like a mountain, he
+would still rather not do it. What can one do about those who bend
+the Way in order to please others? You are futher mistaken. There
+has never been a man who could straighten others by bending
+himself.&quot;</p>
+
+</blockquote>
+
+
+<h3><a name="sec3" id="sec3"></a>
+VI.A.10</h3>
+
+<blockquote>
+<p class="quoted">
+Mencius said, &quot;Fish is what I want; bear's palm is also what I
+want. If I cannot have both, I would rather take bear's palm than
+fish. Life is what I want; dutifulness is also what I want. If I
+cannot have both, I would rather take dutifulness than life. On the
+one hand, though life is what I want, there is something I want more
+than life. That is why I do not cling to life at all costs. On the
+other hand, though death is what I loathe, there is something I
+loathe more than death. That is why there are troubles I do not
+avoid. If there is nothing a man wants more than life, then why
+should he have scruples about any means, so long as it will serve to
+keep him alive? if there is nothing a man loathes more than death,
+then why should have have scruples about any means, so long as it
+helps him to avoid trouble? Yet there are ways of remaining alive
+and ways of avoiding death to which a man will not resort. In other
+words, there are things a man wants more than life and there are
+also things he loathes more than death. This is an attitude not
+confined to the moral man but common to all men. The moral man simply
+never loses it.</p>
+<p class="quoted">&quot;Here is a basketful of rice and a bowful of soup. Getting them will
+mean life; not getting them will mean death. When these are given
+with abuse, even a wayfarer would not accept them; when these are
+given after being trampled upon, even a beggar would not accept
+them. Yet when it comes to ten thousand bushels of grain one is
+supposed to accept without asking if it is in accordance with the
+rites or if it is right to do so. What benefit are then thousand
+bushels of grain to me? [Do I accept them] for the sake of beautiful
+houses, the enjoyment of wives and concubines, or for the sake of
+the gratitude my needy acquaintances will show? What I would not
+accept in the first instance when it was a matter of life and death
+I now accept for the sake of beautiful houses; what I would not
+accept when it was a matter of life and death I now accept for the
+enjoyment of wives and concubines; what I would not accept when it
+was a matter of life and death I now accept for the sake of the
+gratitude my needy acquaintances will show me. Is there no way of
+putting a stop to this? This way of thinking is known as losing
+one's original heart.&quot;</p>
+
+</blockquote>
+
+
+
+<h2><a name="sec4" id="sec4"></a>
+Qohelet</h2>
+
+<h3><a name="sec5" id="sec5"></a>
+One</h3>
+
+<p class="verse">
+&nbsp;&nbsp;1 The words of the Preacher, the son of David, king in Jerusalem.<br />
+&nbsp;&nbsp;2 Vanity of vanities, saith the Preacher, vanity of vanities; all is vanity.<br />
+&nbsp;&nbsp;3 What profit hath a man of all his labour which he taketh under the sun?<br />
+&nbsp;&nbsp;4 One generation passeth away, and another generation cometh: but the earth<br />
+abideth for ever.<br />
+&nbsp;&nbsp;5 The sun also ariseth, and the sun goeth down, and hasteth to his place<br />
+where he arose.<br />
+&nbsp;&nbsp;6 The wind goeth toward the south, and turneth about unto the north; it<br />
+whirleth about continually, and the wind returneth again according to his<br />
+circuits.<br />
+&nbsp;&nbsp;7 All the rivers run into the sea; yet the sea is not full; unto the place<br />
+from whence the rivers come, thither they return again.<br />
+&nbsp;&nbsp;8 All things are full of labour; man cannot utter it: the eye is not<br />
+satisfied with seeing, nor the ear filled with hearing.<br />
+&nbsp;&nbsp;9 The thing that hath been, it is that which shall be; and that which is done<br />
+is that which shall be done: and there is no new thing under the sun.<br />
+&nbsp;&nbsp;10 Is there any thing whereof it may be said, See, this is new? it hath been<br />
+already of old time, which was before us.<br />
+&nbsp;&nbsp;11 There is no remembrance of former things; neither shall there be any<br />
+remembrance of things that are to come with those that shall come after.<br />
+&nbsp;&nbsp;12 I the Preacher was king over Israel in Jerusalem.<br />
+&nbsp;&nbsp;13 And I gave my heart to seek and search out by wisdom concerning all things<br />
+that are done under heaven: this sore travail hath God given to the sons of man<br />
+to be exercised therewith.<br />
+&nbsp;&nbsp;14 I have seen all the works that are done under the sun; and, behold, all is<br />
+vanity and vexation of spirit.<br />
+&nbsp;&nbsp;15 That which is crooked cannot be made straight: and that which is wanting<br />
+cannot be numbered.<br />
+&nbsp;&nbsp;16 I communed with mine own heart, saying, Lo, I am come to great estate, and<br />
+have gotten more wisdom than all they that have been before me in Jerusalem:<br />
+yea, my heart had great experience of wisdom and knowledge.<br />
+&nbsp;&nbsp;17 And I gave my heart to know wisdom, and to know madness and folly: I<br />
+perceived that this also is vexation of spirit.<br />
+&nbsp;&nbsp;18 For in much wisdom is much grief: and he that increaseth knowledge<br />
+increaseth sorrow.<br />
+</p>
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+Søren Kierkegaard</h2>
+
+<h3><a name="sec7" id="sec7"></a>
+Either/Or I</h3>
+
+<blockquote>
+<p class="quoted">
+A feature in which our age certainly excels that age in Greece is that
+our age is more depressed and therefore deeper in despair. Thus, our
+age is sufficiently depressed to know that there is something called
+responsibility and that this means something. Therefore, although
+everyone wants to rule, no one wants to have responsibility. It is
+still fresh in our memory that a French statesman, when offered a
+portfolio the second time, declared that he would accept it but on the
+condition that the secretary of state be made responsible. It is well
+known that the king in France is not responsible, but the prime
+minister is; the prime minister does not wish to be responsible but
+wants to be prime minister provided that the secretary of state will
+be responsible; ultimately it ends, of course, with the watchmen or
+street commissioners becoming responsible. Would not this inverted
+story of responsibility be an appropriate subject for Aristophanes! On
+the other hand, why are the government and the governors so afraid of
+assuming responsibility, unless it is because they fear an opposition
+party that in turn continually pushes away responsibility on a similar
+scale. When one imagines these two powers face to face with each other
+but unable to catch hold of each other because the one is always
+disappearing and is replaced by the other&mdash;such a situation would
+certainly not be without comic power.</p>
+
+</blockquote>
+
+
+
+<h2><a name="sec8" id="sec8"></a>
+Nietzsche</h2>
+
+<h3><a name="sec9" id="sec9"></a>
+Beyond Good and Evil</h3>
+
+<blockquote>
+<p class="quoted">
+<strong>30.</strong> Our highest insights must&mdash;and should&mdash;sound
+like follies and sometimes like crimes when they are heard without
+permission by those who are not predisposed and predestined for
+them. The difference between the exoteric and the esoteric, formerly
+known to philosophers&mdash;among the Indians as among the Greek,
+Persians, and Muslims, in short, wherever one believed in an order of
+rank and <em>not</em> in equality and equal rights&mdash;does not so much
+consists in this, that the exoteric approach comes from the outside
+and sees, estimates, measures, and judges from the outside, not the
+inside; what is much more essential is that the exoteric approach sees
+things from below, the esoteric looks <em>down from above</em>. There
+are heights of the soul from which even tragedy ceases to look tragic;
+and rolling together all the woe of the world&mdash;who could dare to
+decide whether its sight would <em>necessarily</em> seduce us and
+compel us to feel pity and thus double this woe?</p>
+<p class="quoted">What serves the higher type of men as nourishment or delectation must
+almost be poison for a very different and inferior type. The virtues
+of the common man might perhaps signify vices and weaknesses in a
+philosopher. It could be possible that a man of a high type, when
+degenerating and perishing, might only at that point acquire qualities
+that would require those in the lower sphere into which he had sunk to
+begin to venerate him like a saint. There are books that have opposite
+values for soul and health, depending on whether the lower soul, the
+lower vitality, or the higher and more vigorous ones turn to them: in
+the former case, these books are dangerous and lead to crumbling and
+disintegration; in the latter, heralds' cries that call the bravest to
+<em>their</em> courage. Books for all the world are always
+foul-smelling books: the smell of small people clings to them. Where
+the people eat and drink, even where they venerate, it usually
+stinks. One should not go to church if one wants to breathe
+<em>pure</em> air.</p>
+
+</blockquote>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">* jeffcovey becomes too groggy to read the directions and becomes
+  the year's first nasal spray overdose fatality.
+</p>
+<p class="cke-timestamp">Last Modified:
+    January 21, 2013</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/img/latex/latex2png-Term Logic__1000903687973200244.png b/img/latex/latex2png-Term Logic__1000903687973200244.png
new file mode 100644 (file)
index 0000000..7327371
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1000903687973200244.png differ
diff --git a/img/latex/latex2png-Term Logic__1578431659330548867.png b/img/latex/latex2png-Term Logic__1578431659330548867.png
new file mode 100644 (file)
index 0000000..5d497d8
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1578431659330548867.png differ
diff --git a/img/latex/latex2png-Term Logic__1704608037914088017.png b/img/latex/latex2png-Term Logic__1704608037914088017.png
new file mode 100644 (file)
index 0000000..ee09513
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1704608037914088017.png differ
diff --git a/img/latex/latex2png-Term Logic__1820230203585672063.png b/img/latex/latex2png-Term Logic__1820230203585672063.png
new file mode 100644 (file)
index 0000000..f56e824
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1820230203585672063.png differ
diff --git a/img/latex/latex2png-Term Logic__1820230203588184659.png b/img/latex/latex2png-Term Logic__1820230203588184659.png
new file mode 100644 (file)
index 0000000..f77ad3f
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1820230203588184659.png differ
diff --git a/img/latex/latex2png-Term Logic__1990136469440439988.png b/img/latex/latex2png-Term Logic__1990136469440439988.png
new file mode 100644 (file)
index 0000000..0f653f6
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1990136469440439988.png differ
diff --git a/img/latex/latex2png-Term Logic__1990139104632252084.png b/img/latex/latex2png-Term Logic__1990139104632252084.png
new file mode 100644 (file)
index 0000000..6b5ed6f
Binary files /dev/null and b/img/latex/latex2png-Term Logic__1990139104632252084.png differ
diff --git a/img/latex/latex2png-Term Logic__2257733438607490157.png b/img/latex/latex2png-Term Logic__2257733438607490157.png
new file mode 100644 (file)
index 0000000..3aec4f1
Binary files /dev/null and b/img/latex/latex2png-Term Logic__2257733438607490157.png differ
diff --git a/img/latex/latex2png-Term Logic__598849921279338722.png b/img/latex/latex2png-Term Logic__598849921279338722.png
new file mode 100644 (file)
index 0000000..00c701d
Binary files /dev/null and b/img/latex/latex2png-Term Logic__598849921279338722.png differ
diff --git a/img/latex/latex2png-Term Logic__662057013302028111.png b/img/latex/latex2png-Term Logic__662057013302028111.png
new file mode 100644 (file)
index 0000000..e1bcdcf
Binary files /dev/null and b/img/latex/latex2png-Term Logic__662057013302028111.png differ
diff --git a/img/latex/latex2png-Term Logic__930112774001846957.png b/img/latex/latex2png-Term Logic__930112774001846957.png
new file mode 100644 (file)
index 0000000..8352977
Binary files /dev/null and b/img/latex/latex2png-Term Logic__930112774001846957.png differ
diff --git a/index.html b/index.html
new file mode 100644 (file)
index 0000000..abcc074
--- /dev/null
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>The Home of Your Friendly Neighborhood Terrorist</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="viewport"
+         content="width=device-width, initial-scale=1.0" />
+    <link href="https://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>The Home of Your Friendly Neighborhood Terrorist</h1>
+   <div class="contents">
+<dl>
+<dt>
+<a href="#sec1">Sections</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec2">Boring Technical Stuff (I Know I Know, You're Probably Here for This)</a>
+</dt>
+<dt>
+<a href="#sec3">Perhaps Interesting</a>
+</dt>
+<dt>
+<a href="#sec4"><em>Et cetera</em></a>
+</dt>
+<dt>
+<a href="#sec5">Unabashed Navel Gazing</a>
+</dt>
+</dl>
+</dd>
+<dt>
+<a href="#sec6">About Me / Contact</a>
+</dt>
+<dd>
+<dl>
+<dt>
+<a href="#sec7">GnuPG</a>
+</dt>
+<dt>
+<a href="#sec8">Email</a>
+</dt>
+<dt>
+<a href="#sec9">Jabber</a>
+</dt>
+<dt>
+<a href="#sec10">IRC</a>
+</dt>
+<dt>
+<a href="#sec11">A Picture</a>
+</dt>
+<dt>
+<a href="#sec12">Site Software</a>
+</dt>
+<dt>
+<a href="#sec13">Ancient History</a>
+</dt>
+</dl>
+</dd>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here --><p>Greetings, my name is Clinton and you have stumbled upon my personal
+website. This is a continually evolving project as most things on the
+web are.</p>
+
+<p>You might want to check out my <a href="http://journal.unknownlamer.org/">weblog</a> (warning: contains pictures of
+cats and rants about OpenAFS and Common Lisp).</p>
+
+<h2><a name="sec1" id="sec1"></a>
+Sections</h2>
+
+<h3><a name="sec2" id="sec2"></a>
+Boring Technical Stuff (I Know I Know, You're Probably Here for This)</h3>
+
+<ul>
+<li><a href="Code.html">Code</a>
+
+<ul>
+<li><a href="http://unknownlamer.org/darcsweb/browse">darcsweb</a></li>
+<li><a href="http://git.hcoop.net/?a=project_list;o=age;pf=clinton">gitweb</a> (although a lot of my time is spent on <a href="http://git.hcoop.net/?a=project_list;o=age;pf=hcoop">HCoop code</a>)</li>
+</ul></li>
+<li><a href="Lisp.html">Lisp Stuff</a></li>
+<li><a href="Android.html">Android</a></li>
+</ul>
+
+
+<h3><a name="sec3" id="sec3"></a>
+Perhaps Interesting</h3>
+
+<ul>
+<li><a href="Cooking.html">Cooking</a></li>
+<li><a href="Homebrewing.html">Homebrewing</a></li>
+<li><a href="Book%20List.html">Things I Have Read</a></li>
+</ul>
+
+
+<h3><em><a name="sec4" id="sec4"></a>Et cetera</em></h3>
+
+<ul>
+<li><a href="Imagery.html">Imagery</a></li>
+
+<li><a href="Music.html">Music</a></li>
+</ul>
+
+
+<h3><a name="sec5" id="sec5"></a>
+Unabashed Navel Gazing</h3>
+
+<ul>
+<li><a href="Bicycle.html">Bicycle</a></li>
+<li><a href="Kilt.html">Kilt</a></li>
+<li><a href="Maytag.html">Cat</a></li>
+</ul>
+
+
+
+
+<h2><a name="sec6" id="sec6"></a>
+About Me / Contact</h2>
+
+<p class="first">I am a mild mannered hacker and metalhead.</p>
+
+<p>I hack Lisp and am on the board of a <a href="http://hcoop.net">hosting cooperative</a> that you
+should join.</p>
+
+<p>I welcome criticism and suggestions to improve anything I have
+written here.</p>
+
+<h3><a name="sec7" id="sec7"></a>
+GnuPG</h3>
+
+<p><a href="email-key.asc">BCE8 C667 7CD2 7139 735C 2F99 DB28 E55B 381E 3395</a> General use key. I
+sign my mail with this and you can send me encrypted messages using it
+if you fear the orbital mind control lasers.</p>
+
+<p><a href="software-signing-key.asc">F169 C3BC 9751 843F 9497 42BE 3F59 9AAE 7C43 A9F4</a> (key used for
+signing software release tarballs). <strong>Notice</strong>: I forgot the passphrase
+and lost the revocation (I know, I'm a terrible person) and so this
+key was regenerated <code>2010-04-16</code>. Or perhaps <em>The Network</em> got to me.</p>
+
+
+<h3><a name="sec8" id="sec8"></a>
+Email</h3>
+
+<p><code>clinton at unknownlamer dot gro</code> (a simple puzzle)</p>
+
+
+<h3><a name="sec9" id="sec9"></a>
+Jabber</h3>
+
+<p><code>clinton at hcoop dot net</code> (this also works as an email address and must
+be protected as a result)</p>
+
+
+<h3><a name="sec10" id="sec10"></a>
+IRC</h3>
+
+<p class="first">I hang out on Freenode and oftc as <code>unknown_lamer</code> in various
+channels. <code>/whois</code> will guide you to me.</p>
+
+
+<h3><a name="sec11" id="sec11"></a>
+A Picture</h3>
+
+<table class="image" width="100%">
+  <tr><td align="center"><img src="img/photos/me/2009-10-31.jpg" alt="A Furry Young Lad" /></td></tr>
+  <tr><td align="center" class="image-caption">A Furry Young Lad</td></tr>
+</table>
+
+
+<h3><a name="sec12" id="sec12"></a>
+Site Software</h3>
+
+<p class="first">I use <a href="http://www.mwolson.org/projects/MuseMode.html">muse-mode</a> to author the site because <a href="http://emacswiki.org">Emacs</a> is all powerful, and
+the closest approximation to a good user interface available on any
+modern computer system. Muse allows me to simply write with very low
+overhead (I spend most of my time in Emacs, and having hyperlinks and
+a reasonable preview in the file buffer is quite useful). The file
+format is quite hairy, but luckily the code is Free Software and, if
+needed, I could easily write a publishing backend that transcoded my
+site to an easier to parse format. There are advantages to being a
+programmer.</p>
+
+<p>I use darcs to push updates to the site and manage my muse files. As
+such there is a handy <a href="http://feeds.unknownlamer.org/rss/site-updates">updates feed</a> courtesy of a small Lisp program I
+wrote and darcs.</p>
+
+<p>A <a href="Site%20Software.html">more detailed description</a> of my setup is available.</p>
+
+
+<h3><a name="sec13" id="sec13"></a>
+Ancient History</h3>
+
+<p><a href="http://unknownlamer.org/index.1999_2006.html">The Old Site</a> is still available. Links to pages there will remain
+stable indefinitely so as to not break the Holy Command of Our Sovran
+Hypertextia. Be warned I may have been a teenager when most of it was
+written.</p>
+
+
+
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="https://validator.w3.org/check/referer"><img
+       src="https://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="https://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="https://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="https://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="https://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">&lt;Sonarman&gt; WHAT??!??! you don't want to attend my roundtable on
+           neomarxist deconstruction schemes for modern
+           capitalism? YOU'RE PROPPING UP THE SYSTEM, PIG.
+&lt;Sonarman&gt; brb latte
+</p>
+<p class="cke-timestamp">Last Modified:
+    December  5, 2019</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/planner-cke.el.html b/planner-cke.el.html
new file mode 100644 (file)
index 0000000..df6afe4
--- /dev/null
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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">
+  <head>
+    <title>planner-cke.el</title>
+    <meta name="generator" content="muse.el" />
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <link href="http://feeds.unknownlamer.org/rss/site-updates" 
+          rel="alternate" type="application/rss+xml" title="Updates Feed" />
+
+<link rel="stylesheet" href="default.css" />
+  </head>
+  <body>
+    <h1>planner-cke.el</h1>
+   <div class="contents">
+<dl>
+</dl>
+</div>
+
+
+<!-- Page published by Emacs Muse begins here --><p>;;; Planner Mode Settings
+(require 'planner)</p>
+
+<p>;;; Basic Config
+(setq planner-carry-tasks-forward 1)
+(setq planner-project &quot;clintons-plans&quot;)</p>
+
+<p>(setq planner-use-other-window nil)</p>
+
+<p>;;; Planner template
+(setq planner-day-page-template
+<p style="text-align: center;">
+&quot;* Tasks\n\n\n* Schedule\n\n\n* Notes\n\n\n* Timeclock\n\n\n* Accomplishments\n\n&quot;)
+</p>
+
+<p>;;; General Key Bindings
+(global-set-key [?\C-c ?p ?p] #'plan)
+(global-set-key [?\C-c ?p ?d] #'planner-goto-today)
+(global-set-key [?\C-c ?p ?b] #'planner-create-task-from-buffer)
+(global-set-key [?\C-c ?p ?B] #'cke-planner-create-task-from-buffer-extended)
+(global-set-key [?\C-c ?p ?t] #'planner-create-task)
+(global-set-key [?\C-c ?p ?T] #'cke-planner-create-task-extended)
+(global-set-key [?\C-c ?r]    #'remember)</p>
+
+<p>;; My emacs runs continually and this ensures that my todo list will
+;; be in front of me when I wake up in the morning
+(add-hook 'midnight-hook #'(lambda ()
+<p style="text-align: center;">
+;; Rebind hook to nil to supress prompts
+;; for auto created cyclic tasks
+(let ((planner-create-task-hook nil)
+;; Only try to create cyclic tasks
+;; when new page is created
+;; automatically because it is
+;; annoying as hell to have the
+;; prompts for my cyclic tasks to
+;; come up when scheduling future
+;; tasks.
+(planner-mode-hook (cons #'planner-cyclic-create-tasks-maybe
+planner-mode-hook)))
+(plan))))
+</p>
+
+<p>;;; Extra task interfaces
+(require 'planner-w3m)
+(require 'planner-bibtex)
+(require 'planner-bookmark)</p>
+
+<p>(require 'planner-publish)</p>
+
+<p>(setq planner-html-inner-header
+<p style="text-align: center;">
+&quot;&lt;calendar arrows=\&quot;t\&quot;&gt;
+&quot;)
+</p>
+
+<p>(setq planner-calendar-prev-month-button
+<p style="text-align: center;">
+&quot;&lt;&lt;&quot;)
+(setq planner-calendar-next-month-button
+&quot;&gt;&gt;&quot;)
+</p>
+
+<p>;;; Remember
+(require 'remember-planner)
+(setq remember-handler-functions '(remember-planner-append))
+(setq remember-annotation-functions planner-annotation-functions)</p>
+
+<p>;; Local Keybindings
+(define-key planner-mode-map [?\C-c ?n] #'planner-create-note-from-task)
+(define-key planner-mode-map [?\C-c ?d] #'planner-deadline-change)</p>
+
+<p>(require 'planner-gnus)
+(planner-gnus-insinuate)</p>
+
+<p>;; Prompt for a deadline in addition to start date when creating new tasks
+(require 'planner-deadline)</p>
+
+<p>(planner-calendar-insinuate)
+(define-key global-map [?\C-c ?p ?c] #'calendar)</p>
+
+
+<p>;;; Ranking customizations
+(require 'planner-rank)</p>
+
+<p>;; Asks for importance before deadline to allow adding importance to
+;; tasks without a deadline.
+(defun cke-planner-deadline-add (date)
+<blockquote>
+<p class="quoted">(interactive (list (planner-read-date nil t)))
+;; Overload this for the extent because I don't care
+;; about manually setting the urgency; a task lacking a
+;; deadline is for me one with 'average' urgency.
+(cond (date (planner-deadline-add date))
+(t
+(flet ((planner-rank-read-importance-and-urgency
+()
+(list
+(string-to-number
+(read-string &quot;Importance: &quot;
+nil
+nil
+(number-to-string
+planner-rank-default-importance)))
+planner-rank-default-urgency)))
+(planner-rank-change)))))</p>
+</blockquote>
+
+<p>(defun cke-planner-call-extended (fun)
+<blockquote>
+<p class="quoted">(let ((planner-create-task-hook
+(cons #'(lambda ()
+(call-interactively #'cke-planner-deadline-add))
+planner-create-task-hook)))
+(call-interactively fun)))</p>
+</blockquote>
+
+<p>(defun cke-planner-create-task-extended ()
+<blockquote>
+<p class="quoted">&quot;Prompt for deadline and/or importance when creating a task&quot;
+(interactive)
+(cke-planner-call-extended #'planner-create-task))</p>
+</blockquote>
+
+<p>(defun cke-planner-create-task-from-buffer-extended ()
+<blockquote>
+<p class="quoted">&quot;Prompt for deadline and/or importance when creating a task from a buffer&quot;
+(interactive)
+(cke-planner-call-extended #'planner-create-task-from-buffer))</p>
+</blockquote>
+
+<p>(setq planner-sort-tasks-key-function
+<p style="text-align: center;">
+<a name="'planner-sort-tasks-by-rank)" id="'planner-sort-tasks-by-rank)"></a>
+</p>
+
+<p>(setq planner-rank-importance-vs-urgency-factor 1.5)</p>
+
+<p>(setq planner-rank-priority-A-valve 6.49)
+(setq planner-rank-priority-B-valve 4.49)</p>
+
+<p>;;; note: tenative
+;(setq planner-rank-deadline-urgency-map-list '(-1 0 4 10 21 30 90 180 365))</p>
+
+<p>(define-key planner-mode-map [?\C-c ?i] #'planner-rank-change)</p>
+
+<p>;;; Cyclic Tasks
+(require 'planner-cyclic)</p>
+
+<p>(setq planner-cyclic-diary-file &quot;~/plans/diary.cyclic-tasks&quot;)</p>
+
+<p>;; Cyclic tasks are only created when #'plan is run by midnight-mode
+(remove-hook 'planner-mode-hook 'planner-cyclic-create-tasks-maybe)</p>
+
+<p>;;; Task IDs
+(require 'planner-id)</p>
+
+<p>(setq planner-id-tracking-file &quot;~/plans/.planner-id&quot;)</p>
+
+
+<p>;;; Experimental
+(defun cke-planner-get-annot ()
+<blockquote>
+<p class="quoted">(interactive)
+(kill-new (or (run-hook-with-args-until-success
+'planner-annotation-functions)
+&quot;&quot;)))</p>
+</blockquote>
+
+<p>(define-key global-map [?\C-c ?p ?a] #'cke-planner-get-annot)</p>
+
+<p>(require 'planner-schedule)
+;(require 'planner-timeclock)
+;(require 'planner-timeclock-summary)</p>
+
+<p>(setq timeclock-file (cke-personal-file &quot;timelog&quot;))</p>
+
+<p>;(planner-timeclock-summary-insinuate)</p>
+
+<p>(define-key planner-mode-map [?\C-c ?\C-o] #'(lambda ()
+<p style="text-align: center;">
+(interactive)
+(planner-task-open)
+(timeclock-out)))
+</p>
+
+<p>(require 'planner-calendar)</p>
+
+<p>(setq planner-calendar-today-page-name &quot;index&quot;)</p>
+
+<p>;; 2018-10-26 seems to be broken...
+;(eval-after-load &quot;muse-publish&quot;</p>
+
+
+
+<p>(require 'planner-accomplishments)</p>
+
+<p>(setq planner-accomplishments-status-display
+<p style="text-align: center;">
+'((&quot;_&quot; . &quot;Unfinished&quot;)
+; (&quot;o&quot; . &quot;In progress&quot;)
+; (&quot;D&quot; . &quot;Delegated&quot;)
+(&quot;P&quot; . &quot;Postponed&quot;)
+(&quot;X&quot; . &quot;Completed&quot;)
+(&quot;C&quot; . &quot;Cancelled&quot;)))
+</p>
+
+<p>(planner-accomplishments-insinuate)</p>
+
+<p>;;; Special task creation functions</p>
+
+<p>(defun cke-planner-create-book-tasks-range (title start end)
+<blockquote>
+<p class="quoted">&quot;Create undated tasks for reading individual sections of a
+book&quot;
+(interactive &quot;MTitle: \nnStart: \nnEnd: &quot;)
+(dotimes (chapter-base (- (1+ end) start))
+(planner-create-task (format &quot;Reading: %s: Chapter %d&quot;
+title (+ chapter-base start))
+nil nil &quot;Reading&quot; &quot;P&quot;)))</p>
+</blockquote>
+
+<p>(defun cke-planner-create-book-tasks (title chapters)
+<blockquote>
+<p class="quoted">&quot;Create undated tasks for reading individual sections of a
+book&quot;
+(interactive &quot;MTitle: \nnChapters: &quot;)
+(cke-planner-create-book-tasks-range title 1 chapters))</p>
+</blockquote>
+
+<p>(defun cke-planner-create-bicycle-light-tasks ()
+<blockquote>
+<p class="quoted">(interactive)
+(let ((cke-date (planner-read-date))
+(planner-default-task-priority &quot;A&quot;))
+(mapc (lambda (task-description)
+(planner-create-task task-description cke-date nil &quot;Bicycle&quot;))
+'(&quot;Charge headlight&quot;
+&quot;Charge LD-600 AAAs&quot;
+&quot;Charge LD-1000 AAs&quot;))))</p>
+</blockquote>
+
+<p>(global-set-key [?\C-c ?p ?e ?b] #'cke-planner-create-book-tasks)
+(global-set-key [?\C-c ?p ?e ?B] #'cke-planner-create-book-tasks-range)
+(global-set-key [?\C-c ?p ?e ?l] #'cke-planner-create-bicycle-light-tasks)</p>
+
+
+<p>;;; Diary Integration
+;; (require 'planner-diary)</p>
+
+<p>(setq diary-file &quot;~/plans/diary&quot;)
+;; (add-hook 'diary-display-hook 'fancy-diary-display)</p>
+
+<p>;; (setq planner-diary-string &quot;* Schedule&quot;)
+;; (setq planner-diary-use-diary t)
+;; (planner-diary-insinuate)</p>
+
+<p>;;; Appointments
+(require 'planner-appt)</p>
+
+<p>(setq planner-appt-task-use-appointments-section-flag t)</p>
+
+<p>(planner-appt-use-tasks)
+(planner-appt-insinuate)</p>
+
+<p>;;; BBDB
+(require 'planner-bbdb)</p>
+
+<p>;;; VC Integration
+(require 'planner-log-edit)</p>
+
+<p>;;; Misc Local Keybindings
+(define-key planner-mode-map [?\C-c (control shift ?p)] #'planner-task-pending)</p>
+
+<p>;;; Faces
+(custom-set-faces
+<blockquote>
+<p class="quoted">'(planner-cancelled-task-face ((t (:foreground &quot;gray70&quot; :strike-through &quot;red&quot; :height 0.85))))
+'(planner-completed-task-face ((t (:foreground &quot;gray70&quot; :strike-through &quot;green&quot; :height 0.85))))
+'(planner-low-priority-task-face ((t (:foreground &quot;cyan&quot;)))))</p>
+</blockquote>
+
+<p>;;; Works in Progress</p>
+
+<p>;; Next
+;; 1. overlay modification hooks
+;;    a. behavior
+;;    b. modifying overlay when text length changes
+;; 2. regex matching
+;;    a. match groups
+;; 3. integrate with planner
+;;    a. use planner deadline functions to match task deadline
+;;    b. insert overlay
+;;       i. manage overlay size when task is changed
+;;    c. hook into planner
+;; 4. Cleanup
+;;    a. create a category for the deadline overlay
+;;       i. move properties from function to plist on category
+(defun cke-planner-overlay-test ()
+<blockquote>
+<p class="quoted">(save-selected-window
+(switch-to-buffer (get-buffer-create &quot;<em>foo</em>&quot;))
+(let ((cke-overlay (or (car (overlays-at 8))
+(make-overlay 8 13))))
+(overlay-put cke-overlay 'before-string &quot;foo1&quot;)
+(overlay-put cke-overlay 'invisible t))))</p>
+</blockquote>
+
+<p>;; Version control integration
+(defun vc-darcs-init-version ()
+<blockquote>
+<p class="quoted">nil)</p>
+</blockquote>
+
+<p>;; this needs to only try to check in new files of the planner
+;; project, and then only when they are real files and not transient
+;; report buffers
+(defadvice planner-prepare-file (after cke-planner-darcs-add
+<p style="text-align: center;">
+disable)
+&quot;Add empty planner files to the current darcs repo if the
+planner projects under vc&quot;
+(set-buffer-modified-p t)
+(save-buffer)
+(when (and (buffer-file-name)
+(eq (muse-project-of-file (buffer-file-name))
+planner-project))
+(let ((vc-default-init-version nil))
+(if (not (condition-case nil
+(vc-register nil nil)
+(error t)))
+(vc-checkin (buffer-file-name) nil &quot;Initial Checkin&quot;)))))
+</p>
+
+<p>(ad-unadvise #'planner-prepare-file)</p>
+  <!-- Page published by Emacs Muse ends here -->
+
+  <p class="cke-buttons">
+    <!-- validating badges, any browser, etc -->
+    <a href="http://validator.w3.org/check/referer"><img
+       src="http://www.w3.org/Icons/valid-xhtml10"
+       alt="Valid XHTML 1.0!" /></a>
+    
+    <a href="http://www.anybrowser.org/campaign/"><img
+       src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
+       ]" /></a>
+
+    <a href="http://www.debian.org/"><img
+       src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
+    
+    <a href="http://hcoop.net/">
+      <img src="img/buttons/hcoop.png" 
+       alt="[ Hosted by HCoop]" />
+    </a>
+
+    <a href="http://www.fsf.org/register_form?referrer=114">
+      <img src="img/buttons/fsf_member.png"
+       alt="[ FSF Associate Member ]" />
+    </a>
+  </p>
+
+<p class="cke-footer">Mike: I WAS NOT MICROWAVED.
+</p>
+<p class="cke-timestamp">Last Modified:
+    October 26, 2018</p>
+  </body>
+</html>
\ No newline at end of file
diff --git a/resume.pdf b/resume.pdf
new file mode 100644 (file)
index 0000000..e3e3612
Binary files /dev/null and b/resume.pdf differ