summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Wilkie <antigravityd@gmail.com>2023-07-30 07:44:09 -0500
committerDuncan Wilkie <antigravityd@gmail.com>2023-07-30 07:44:09 -0500
commitb03a002bce552485b47d3bb89b5ccd7a0e9b4e26 (patch)
tree4464a9775c36712427bf87529775684960f2c419
parente1b7e1f50709c89b7b6448bd86999a5a562f0e1b (diff)
Forgot to sync this a bunch of times.
-rw-r--r--assets/cv.pdfbin0 -> 88875 bytes
-rwxr-xr-xbuild-n-publish.sh42
-rw-r--r--dnw/static-pages.scm31
-rw-r--r--dnw/theme.scm4
-rw-r--r--org/.dir-locals.el4
-rw-r--r--org/.dir-locals.el~4
-rw-r--r--org/actors/actors.org37
-rw-r--r--org/anarchofoss/anarchofoss.org75
-rw-r--r--org/anarchofoss/anarchofoss.org~5
-rw-r--r--org/haunt/haunt.org43
-rw-r--r--org/test.org19
-rw-r--r--org/trinity/trinity.org21
-rw-r--r--org/trusting-trust/trust.org24
-rw-r--r--posts/test.html42
-rw-r--r--posts/test.html~42
15 files changed, 273 insertions, 120 deletions
diff --git a/assets/cv.pdf b/assets/cv.pdf
new file mode 100644
index 0000000..721d1b5
--- /dev/null
+++ b/assets/cv.pdf
Binary files differ
diff --git a/build-n-publish.sh b/build-n-publish.sh
new file mode 100755
index 0000000..9ee2df9
--- /dev/null
+++ b/build-n-publish.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Build and publish the HTML site:
+haunt build && haunt publish
+
+# Uses https://github.com/LukeEmmet/html2gmi
+# Converts the site into text/gemini; outputs to ./gemini.
+# There is a publisher which copies that to /home/gemini/gemini/content on the remote.
+
+root=$(dirname $0)
+
+remotename=functorial.xyz
+remotedir=/home/gemini/gemini/content
+
+shopt -s nullglob
+
+rm -rf $root/gemini
+mkdir $root/gemini $root/gemini/pages $root/gemini/posts $root/gemini/assets $root/gemini/assets/image
+
+for page in $root/site/*.html; do
+ out=$root/gemini/$(basename $page ".html").gmi
+ html2gmi --input $page --output $out --emitImagesAsLinks --prettyTables --citationMarkers;
+ sed -i 's/\.html/.gmi/g' $out
+
+done
+
+for page in $root/site/pages/*.html $root/site/posts/*.html; do
+ out=$root/gemini/$(basename $(dirname $page))/$(basename $page ".html").gmi
+ html2gmi --input $page --output $out --emitImagesAsLinks --prettyTables --citationMarkers;
+ sed -i 's/\.html/.gmi/g' $out
+done
+
+for pic in $root/site/assets/image/*; do
+ cp $pic $root/gemini/assets/image/
+done
+
+cp $root/site/assets/cv.pdf $root/gemini/assets/
+cp $root/site/assets/pubkey.txt $root/gemini/assets/
+cp $root/site/feed.xml $root/gemini/
+
+rsync -r gemini/* root@$remotename:$remotedir
+ssh root@functorial.xyz "systemctl restart agate"
diff --git a/dnw/static-pages.scm b/dnw/static-pages.scm
index 578e009..bc49b10 100644
--- a/dnw/static-pages.scm
+++ b/dnw/static-pages.scm
@@ -20,12 +20,15 @@
influences-page))
;; TODO: tags-template
+;; TODO: convert static pages to ox-haunt; maintaining manually the SHTML is a pain.
;; building index-page
(define about
`(section (@ (id "about"))
(div
(p "My name is Duncan. I live below the Mason-Dixon.")
- (p "I write down thoughts I think are interesting here."))))
+ (p "I write down thoughts I think are interesting here; the content is mirrored to " ,(hyperlink "http://dnw.i2p" "I2P") " and "
+ ,(hyperlink "gemini://functorial.xyz" "Gemini")
+ " . I couldn't make heads or tails of Tor onion services; email me if you know how to marry a torrc with an nginx.conf."))))
(define (recents site posts)
`(section (@ (id "recent"))
@@ -60,22 +63,21 @@
"with dual degrees in math and physics, and have at various times been employed as a dishwasher, maintainence guy, tutor, "
"data science intern, embedded developer, and research scientist. I am currently unemployed.")
(p "Had I my druthers, I would like to be able to make a career out of decentralized science, "
- "doing physics research and teaching not dependent on the state or the university system and their insidious pollution"
- "of the discipline. "
+ "doing physics research and teaching not dependent on the state or the university system. "
"In the interim, I'm in no way above contributing to society more directly. Hire me; I'll learn anything. I have a "
- ,(hyperlink "/assets/cv.pdf" "terrible CV") " you can read.")
+ ,(hyperlink "/assets/cv.pdf" "CV") ".")
(h1 "Academic Interests")
(h2 "Physical Science")
(p "I've planned on studying physics since I was 5. I enjoy studing almost anything that's natural and dead, "
"and all my other interests are largely subsidiary to this. "
"I like the areas where physics intersects with math, particularly when it does so in mathematically-exciting ways. "
- "I also " (emph "loved") " my classes about emergent phenomena: thermodynamic, statistical, and condensed-matter physics. "
+ "I also " (em "loved") " my classes about emergent phenomena: thermodynamic, statistical, and condensed-matter physics. "
"I spent the latter half of my time working under Jeff Chancellor's Space Radiation Transport and Applied Nuclear Physics "
"(SpaRTAN physics) research group, doing embedded design of radiation detectors and writing improvements for transport code.")
(h2 "Mathematics")
(p "I view math primarily as a tool for physical science and philosophy in general. "
"Accordingly, I want to get to the frontier of the discipline as fast as possible: I probably will need to make new tools. "
- "The only domain that seems not to have borne much practical fruit, except as a " (emph "target") " for developing "
+ "The only domain that seems not to have borne much practical fruit, except as a " (em "target") " for developing "
"\"real\" tools, is number theory. "
"However, I particularly like topology/geometry and algebra, and would prefer if analysis and discrete math borrowed "
"as many of its tools and methods as possible.")
@@ -102,18 +104,17 @@
(h2 "Praxeology")
(p "There simply is not enough time in a person's life for autarkic, first-principles generation of every part of every thing "
"one's primary interests depend on. "
- "It is critically important to understand and verify those steps, but it is necessary to outsource their production. "
- "In order to understand the principles under which this outsourcing occurs, why it's even possible at all, "
- "and how it need not be vicious, one must study the category of action. "
- "Austrian economics, and more generally praxeology, does so correctly. "
+ "Nevertheless, understanding those parts is important, even critical. "
+ "A general understanding of human action, particularly of catallactic action, is understanding of this outsourcing itself. "
+ "Austrian economics helps one act in the world—explicating the function of social institutions as no other approach. "
"The critical error of conventional economics, as with many social- and life-science disciplines, "
"is thoughtless application of the methods of physical science, without careful consideration of whether the philosophical "
- "conditions the correctness of those methods depend are present. "
+ "conditions on which the correctness of those methods depend are present. "
"These fail spectacularly in analysis of action: the wants and desires of humans are not immutable, comparable quantities. "
"However, Austrian economists tend to thoughtlessly reject methodological precision due to superficial association "
"with these historical fallacies. "
"A mathematical, in the truest sense, grounding for the reasoning of Mises, Rothbard, and Hoppe "
- "is a longstanding pet project of mine. ")
+ "is a longstanding pet project of mine.")
(h2 "Foundations: Philosophy and Theology")
(p "All of this again rests on some foundational definitions and propositions about the nature of reality, truth, reason, mind, "
"beauty, and morality. "
@@ -121,8 +122,8 @@
"I am metaphysically an ardent platonist, and believe that analysis of the problem of perception in a platonist context "
"contains parts identifiable with mathematics and science. "
"This analysis, however, carries little further: I am attracted to methodological anarchy, which holds "
- "that there is no essential distinction between practice, philosophy, teaching, and history of science (and mathematics)."
- "Anything and everything there is fair game—and many scientific revolutions are the result of such foundational assaults.")
+ "that there is no essential distinction between practice, philosophy, teaching, and history of science (and mathematics). "
+ "Anything and everything there is fair game—and many scientific revolutions are the spoils of such foundational assaults.")
(p "That the philosophical tradition which created the modern world emerged almost exclusively out of Abrahamic religion, "
"and that its sustaining manifestation is almost exclusively owed to Protestant Christians, carries tremedous weight with me."
" I see no essential difference between these theological premises and philosophy, save methodology—"
@@ -166,7 +167,7 @@
(define influences
`((h1 "Influences")
- (p "Anything and everything I can think of that's affected how I think. ")
+ (p "Any and every third-party I can think of that's affected how I think. ")
(h2 "Blogs")
(h2 "Books and Monographs")
(h2 "Scholarly Articles")
diff --git a/dnw/theme.scm b/dnw/theme.scm
index 69688bc..fd17cb0 100644
--- a/dnw/theme.scm
+++ b/dnw/theme.scm
@@ -19,7 +19,7 @@
(define nav-bar-tabs '(("Me" "/pages/me.html")
("Friends" "/pages/friends.html")
("Influences" "/pages/influences.html")
- ("Projects" "/posts/tag/Project.html")))
+ ("Projects" "https://git.functorial.xyz/dnw")))
(define dnw-title "Through the Heart of Every Man")
@@ -47,7 +47,7 @@
", a static site generator written in "
,(hyperlink "https://gnu.org/software/guile" "Guile Scheme")
". The source code is available "
- ,(hyperlink "https://github.com/Antigravityd/functorial.xyz" "here")
+ ,(hyperlink "https://git.functorial.xyz/dnw/functorial.xyz" "here")
".")))
(define* (base-template site body #:key title)
diff --git a/org/.dir-locals.el b/org/.dir-locals.el
new file mode 100644
index 0000000..d00959c
--- /dev/null
+++ b/org/.dir-locals.el
@@ -0,0 +1,4 @@
+;;; Directory Local Variables
+;;; For more information see (info "(emacs) Directory Variables")
+
+((org-mode . ((eval . (add-hook 'after-save-hook #'ox-haunt-export-to-html 0 t)))))
diff --git a/org/.dir-locals.el~ b/org/.dir-locals.el~
new file mode 100644
index 0000000..d00959c
--- /dev/null
+++ b/org/.dir-locals.el~
@@ -0,0 +1,4 @@
+;;; Directory Local Variables
+;;; For more information see (info "(emacs) Directory Variables")
+
+((org-mode . ((eval . (add-hook 'after-save-hook #'ox-haunt-export-to-html 0 t)))))
diff --git a/org/actors/actors.org b/org/actors/actors.org
new file mode 100644
index 0000000..2ff6070
--- /dev/null
+++ b/org/actors/actors.org
@@ -0,0 +1,37 @@
+#+TITLE: What Is An Actor?
+#+DATE:
+#+TAGS: Praxeology, Empiricism, Philosophy, Philosophy of Science
+
+I've been reading Mises' /Human Action/ recently, and engaging with the praxeological method. It's done wonders for my economic thinking, and stimulated some thoughts about philosophical and scientific frameworks in general. I've found Mises' lack of rigor in thought (compared to the mathematics and physics to which I'm accustomed) somewhat annoying; maybe this /Man, Economy, and State/ behemoth that's on the stack after HA will resolve that, or I'll be forced to do it myself. In any case, I've been thinking about what an "actor" in a Miscesian sense actually means, as that seems to be the obvious starting point for formalization.
+
+* Acting Man and His Problem of Perception
+
+I actually claim to be able to tackle the problem of knowledge in general from the perspective of human action, and therefore, develop a framework for analyzing all methodology. This starts from this analysis, how acting man perceives the world.
+
+Our favorite Robinson Crusoe washes up to his island with no memory. He encounters five fundamental givens, which together enable him to act:
+
+- Sensation,
+- Memory,
+- Thought,
+- Abstract thought[fn:1],
+- Unease, and
+- Agency.
+
+Sensation is the ultimate given; it is the substance on which thoughts act and of which memory is composed. It refers to particular /feelings/, in the strict sense: "input" to the brain's program, if one permits a computational analogy tortured all-too-easily. That which they happen to is "I." Memory is a collection of stored sensations not currently happening. Remembering itself is a sensation, and accordingly can be remembered—ordering the memory one remembers having by set containment yields a perception of time. The "I"s of these sensations throughout memory, ordered with respect to time, is the "self." Thought is the process of transforming, combining, manipulating, and producing sensation. It appears to be intentional and dynamical. It is a sensation itself. Abstract thoughts are a class of thoughts whereby the self identifies commonalities between sensations (happening across time, space, memories; across even abstract thoughts themselves) and concieves of that which is common as a sensation in itself, separate (although derived from) the sensations of first order. This can be things like "cup," "predator," "catallactics," or (after a couple thousand years of mathematical progress) "0." Unease is the sensation of there being some sort of grading or ranking on sensations (or, at least, on some of them). Some sensations are preferred to other sensations. Agency is the /belief/ that by thinking certain thoughts (including, but not limited to, thoughts inducing bodily responses) sensations engendering less unease may be made more common.
+
+These conditions are sufficient to meet Mises' prerequisites for action.
+
+They're also necessary for a mind to be capable of action (or, really, to be regarded as a "mind," I should think). For, what if our Crusoe has all but one? Each case leads to Miscesian "contentment or satisfaction." If he lacks sensation, then there is no "he," there is nothing for him to think on, there is nothing to perform action, nothing for his memory to record or his thoughts to abstract from. The case is vacuous. If he lacks memory, then even if he can think, sense, feel unease, and abstract, he is incapable of identifying temporal patterns through the abstract thought (which he may be nevertheless able to apply to information at hand in a particular instant), and accordingly unable to know that there existed an uneasy sensation he might otherwise avoid. As without thought there is no abstract thought, the next case is dispensed with for the same reasons. Without unease, there is no reason for him to prefer one particular sensation to any other, and so no reason for him to purposefully alter anything. Without agency he lacks, as Mises puts it, "the expectation that purposeful behavior has the power to remove or at least to alleviate the felt uneasiness," and so similarly lacks reason to take purposeful action.
+
+So, Crusoe takes action (by assumption). On the basis of his (confused, malformed, naïve) abstractions over sensation, he takes action designed to engender more propitious sensation. And inevitably fails. What is his recourse? Nothing, presuming he considers the entailing sensations to have less unease than those besetting him, other than reevaluating his abstractions and their suitability for his sensations on the basis of his memories regarding the action (those from before, the thoughts leading him to the action, and the sensation after). And so, he comes, through action, to optimize *perception*: the relation of sensations to abstractions.
+
+Perception always entails these two components. Without sensation, there obviously is no perception (what are you perceiving?). However, without abstractions there /also/ is no perception. With a raw sensation alone, there is /no/ way to decode the information into manageable components. How could I, without abstraction, deduce that the visual stimuli my brain is currently receiving support the sentence "there is a multimeter to the left of my computer monitor?" I must, on the basis of past experience deduce that material objects as such exist, and then that there are such objects called multimeters or computer monitors, that these objects have certain qualities that lead them to look certain ways, that abstract concepts like space, proximity, and direction exist, that "left" is one such direction, that it is that direction and not the other, and so on and so forth. And, importantly, not all sensations may be paired with all abstractions ("multimeter" seems not to be meaningfully related to "Turbo Lover by Judas Priest"). Even if I experience as bare a sensation I can think of, say "pain" with no further qualification, I must have the abstraction of the concept of pain, from past similar experience, to even note it as something deviating from the default.
+
+There are many conclusions one reaches in refining perception through action. Pretty quickly, one must realize that there are material objects that exist independent of your immediate sensing of them (object permanence). Less quickly, one might come to the conclusion that the abstract thoughts one has point to abstract objects independent of human experience (metaphysical platonism, a by-no-means-settled philosophical position). If one acts in the context of a society, one might learn the abstraction of language, and how to map sensations (including abstractions) onto words, or that other people exist whose input is sometimes valuable. These other people have acted in the past, have abstracted, related, and had that perception tested. Perhaps they've borrowed the perception of people still-older. Knowledge or classes of knowlege believed, on the basis of perception, to be inter-contextually or super-contextually useful in action is said to be "true."
+
+I therefore identify three approaches to increasing human knowledge (i.e. improving perception): finding new sensations, finding new abstractions, and improving the relation between the two, all on the basis of existing knowledge, in the interest of perfecting action's capacity to remove unease. The first may be termed "practice," or "experiment;" the second, "mathematics;" the third, "science." [fn:2]
+
+* Footnotes
+[fn:2] Note that this has the desirable epistemological property of characterizing fields of inquiry on the basis of eternal, /a priori/ categories of human experience, not on the basis of a particular methodology. This allows one to identify deeply historical developments as a primitive predecessor of modern understanding (e.g. myth as mathematics), and prevents the usual "No True Scotsman" nonsense that confounds traditional, analytical accounts of these fields on methodological basis. A reasonable criticism is that the additional things satisfying the definition merely confound terms; however, in arguing against those additional things, I believe you'll find their unsuitability for directing gainful action to be their ultimate rebuttal, and accordingly, it's more reasonable to consider them bad exemplars of the purpose they serve, common to their methodologically-developed analogs (and often derivatives) today.
+
+[fn:1] I use the slightly more unwieldly "abstract thought" as opposed to "abstraction" to avoid confusion in the final analysis, which adopts the platonist view that abstraction objects exist independent of human experience, as that which engenders abstract thought, just as material objects engender concrete sensation.
diff --git a/org/anarchofoss/anarchofoss.org b/org/anarchofoss/anarchofoss.org
new file mode 100644
index 0000000..9b05eae
--- /dev/null
+++ b/org/anarchofoss/anarchofoss.org
@@ -0,0 +1,75 @@
+#+TITLE: Free Software: A Shining Example of Nongovernmental Externality Control
+#+DATE: <2023-07-30 Sun>
+#+TAGS: Praxeology, Economics, Free Software, Libertarianism
+
+One of the most common arguments against anarcho-capitalism alleges the absolute necessity of coercion in provisioning public goods, or preventing tragedy of the commons. There are obvious theoretical rebuttals from an Austrian perspective (how does the /state/ know what is a "public good?"), but for the sound rhetorical strategy of engaging your opposition on his own terms counterexamples are required—ideally, ones more concrete than medieval Iceland. The absolute /dominance/ of the Free Software movement, with 77% of web servers, 71% of smartphone/tablets, 100% of top supercomputers, and 38% of embedded devices using operating systems in approximate compliance with its principles [fn:1], means it should live near the top of the Austro-libertarian rhetorical toolkit.
+
+* The Economic Problem
+
+Charging for a program almost necessarily entails concealing its source code and legally restricting how the software may be used, modified, and shared. For if the user pays for the source, and copyright or contract does not restrict what he may do with it in-hand, the demand for that product and the fact that copying is nearly cost-free together mean he has an incentive to distribute what he has acquired at a much lower price, as he need not recoup the capital its creator invested up front.
+
+The non-technical minarchist might wonder what the problem is. But there are two:
+- the means of legally restricting user behavior amount to intellectual property law, and so are incompatible with a Rothbardian theory of property rights and contract law;
+- technical users prefer having a program to having the experience of running a program.
+The first should need no explanation. However, exactly what a technically-competent user means by "having a program" probably does. The Free Software Foundation ties all this up in its eponymous term, "Free Software," defined thus:
+
+#+begin_quote
+
+...
+“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy,
+distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. To understand the concept, you
+should think of “free” as in “free speech,” not as in “free beer.” We sometimes call it “libre software,” borrowing the French or Spanish word
+for “free” as in freedom, to show we do not mean the software is gratis.
+
+You may have paid money to get copies of a free program, or you may have obtained copies at no charge. But regardless of how you got your
+copies, you always have the freedom to copy and change the software, even to sell copies.
+
+We campaign for these freedoms because everyone deserves them. With these freedoms, the users (both individually and collectively) control
+the program and what it does for them. When users don't control the program, we call it a “nonfree” or “proprietary” program. The nonfree
+program controls the users, and the developer controls the program; this makes the program an instrument of unjust power.
+
+...
+
+A program is free software if the program's users have the four essential freedoms: [1]
+
+- The freedom to run the program as you wish, for any purpose (freedom 0).
+- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
+- The freedom to redistribute copies so you can help others (freedom 2).
+- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
+
+A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree. While we can distinguish various nonfree
+distribution schemes in terms of how far they fall short of being free, we consider them all equally unethical.
+...
+
+#+end_quote
+
+While not excluding the operation of the market process, this nevertheless presents a "market failure:" users who share these values of the Free Software Foundation desire software with the described liberties more than software without, but providing said liberties makes it difficult for the market to price it "correctly." A price makes it less valuable. This appears, on every level, to be a case where the neoclassical economist would identify a dead-weight loss, and perscribe some tailor-made state intervention.
+
+But, possibly due to government's eternal and absolute technical incompetence, this intervention never materialized. And free software outcompetes commercial software in every domain, save markets that are both older than widespread free software and whose users desire only the experience of running programs (to name it: the desktop/laptop space).
+
+How?
+
+* The GNU Solution
+
+The FSF's founder, Richard Stallman, ran into the problems of commercial software at the MIT Artificial Intelligence Lab in the 70s. He characterizes its initial state as a "software-sharing community," where "[w]henever people from another
+university or a company wanted to port and use a program, we gladly let them. If you saw someone using an unfamiliar and interesting
+program, you could always ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program."[fn:2] Commercializing interests, exploiting extensively intellectual property priveleges, brought about the demise of this perceived utopia, tearing apart the society of the AI lab. Stallman responded by "building his own," from the ground up: an operating system and then a philosophical, social, and political movement, with the end of promoting the kind of environment surrounding software that was lost at MIT.
+
+It is this GNU operating system, based exclusively on freely-licensed software, written by Stallman, the wider GNU project, and others entirely, whose derivatives dominate all serious computing in the current day. Not only did the non-state, entrepreneurial solution to the externality work, it /outcompeted/ its commercial alternative in a market that, if anything, had state actors hampering it (governments funding nonfree software startups, buying and using nonfree software, etc). The software, rather than being written to be sold later, is funded /ex ante/ or /ex post facto/, via crowdfunding or donations either to individual maintainers/projects or to foundations that organize such development. These donations come from individual users, politically-motivated idealists, or corporations whose bottom line depends to some extent on such projects. Lots of development is uncompensated, and are projects that a person develops primarily for personal use or interest and simply chooses to share for the benefit of others, at no cost to himself (indeed, often at a net benefit to himself: having users helps test the software, baazar-style development means that development responsibilities may be delegated, and prominent open-source maintainership is an excellent recommendation to prospective employers).
+
+A hard example for interventionists to chew on, indeed!
+
+* A Pragmatic Lesson: Copyleft
+
+Free sofware contains an additional lesson for libertarians: that of pragmatism. Stallman sought to establish a particular end in a legally-hostile system; ordinarily, there would be nothing preventing someone from copying, modifying, and redistributing the fruits of the project's labor under nonfree licenses, frustrating that end.
+
+So, he chose to exploit the legally-hostile system to prevent this practical harm to freedom, restricting users' freedom to make others less free. Most of the GNU code proper is licensed under the GNU Public License, which contains so-called "copyleft" provisions, mandate that derivative works be licensed under the same terms. Copyleft uses copyright to destroy copyright, so to speak.
+
+Often, libertarians fall into myopic fixations on the ideal free society, to the neglect of the reality that the fastest realistic path to it almost certainly will involve some stopgap policies that, in isolation, would be unacceptable on libertarian terms [fn:3]. Taking a page out of copyleft's book, adopting instead additudes and policy perscriptions that celebrate and optimize for any increase in freedom, even if strictly incompatible with ideals, would go a long way towards securing libertarian ends.
+
+* Footnotes
+[fn:3] Dave Smith calls this "being too autistic."
+
+[fn:2] [[http://www.gnu.org/gnu/thegnuproject.html][About the GNU Project - GNU Project - Free Software Foundation]]
+
+[fn:1] TODO: insert relevant sources of the Wikipeda page "Usage share of operating systems".
diff --git a/org/anarchofoss/anarchofoss.org~ b/org/anarchofoss/anarchofoss.org~
new file mode 100644
index 0000000..8f38f42
--- /dev/null
+++ b/org/anarchofoss/anarchofoss.org~
@@ -0,0 +1,5 @@
+#+TITLE: Free Software: A Shining Example of Nongovernmental Externality Control
+#+DATE:
+#+TAGS: Praxeology, Empiricism, Philosophy, Philosophy of Science
+
+The most common economic argument against the anarcho-capitalism alleges the absolute necessity of coercion in provisioning public goods, or preventing the tragedy of the commons. There are obvious theoretical rebuttals from an Austrian perspective (how does the /state/ know what is a "public good?"), but for the sound rhetorical strategy of engaging your opposition on his own terms counterexamples are required—hopefully more accessible than medieval Iceland.
diff --git a/org/haunt/haunt.org b/org/haunt/haunt.org
new file mode 100644
index 0000000..78741b0
--- /dev/null
+++ b/org/haunt/haunt.org
@@ -0,0 +1,43 @@
+# -*- after-save-hook: (ox-haunt-export-to-html); -*-
+
+#+TITLE: Building a Site with Haunt
+#+TAGS: Programming, Lisp, Web, Emacs, Org
+#+DATE: <2023-06-27 Tue>
+
+Hello! This is my first post on this website, which I've created over the last several days with the static site generator [[https:dthompson.us/projects/haunt][Haunt]]. It's my first time really delving into Web tech; I think for pedagogical purposes it was a really effective choice: I know Scheme already from reading SICP and my use of Guix, and Haunt is sufficiently minimal, low-level, and little-used that I learn a good bit of HTML syntax and have to style things with CSS. Conversely, it does enough that it'll be really easy to maintain once up-and-running with it, much moreso than writing bare HTML.
+
+* An Overview of Haunt
+
+Haunt, fundamentally, views websites as programs (according to the manual). The actual facts on the ground are a little rockier: the documentation hasn't been updated in a /long/ time, and there are undocumented releases on the git repository with extensive, new convenience featues. The fundamental object is the =site=: a record containing all of the top-level information about the website. Among this information is a list of "builder" procedures which synthesize individual pages of the website from input, Scheme code, and external files. The outputs of these builders are "page" objects (something which the command line tells me is deprecated in favor of "serialized-artifacts," which aren't documented anywhere), which are copied into the output directory. There are also "readers," which take as input "posts," blog posts written in a sensible markup format, and output pages representing the posts, alongside corresponding modifications to the site to present a correct aggregation of those posts. Useful, and only in the latest v0.3.0 release, is the =publisher= argument, which takes a description of how to copy all output pages to a remote. The only method currently is rsync, but that's all that's much better than nothing.
+
+The CLI is bare: =haunt build= to produce output pages, =haunt serve= to pop the output on localhost:8080 (with =--watch= to refresh on file changes), and =haunt publish= to run the publisher on what's been =haunt build='ed most recently.
+
+Styling is manual, with CSS, unless you would like to build CSS inline style propagation logic into SHTML and rewrite all the Haunt default logic to use it (good idea!). If you decide to also use Haunt, be sure to
+
+* Practical Advice
+
+Look to the source code of existing sites. Some examples:
+
+- [[https://dthompson.us][dthompson.us]]
+- [[https://bendersteed.tech][bendersteed.tech]]
+- [[https://jakob.space][jakob.space]]
+- This one (see footer).
+
+Generally, what's needed is:
+
+- Make an =assets= directory with CSS, fonts, top-level images, etc.
+- Define a =theme= (creates header and footers for posts, alongside some other stuff)
+- Define some static pages
+- Integrate your chosen post format, and point Haunt at the place the posts live
+
+I highly recommend the [[https://git.sr.ht/~jakob/ox-haunt][ox-haunt]] package, if you already use Emacs and Org. It provides some minor tweaks to =org-export-html= so as to integrate seamlessly with Haunt; that's how I've written this. As I don't know too much about Org, and generally just use it as a markup language, I had to stumble into the following information:
+
+- Metadata goes at the top of the file, e.g. =#+TITLE: Building a Site with Haunt=
+- The correct format to be interpreted as Haunt post tags is: =#+TAGS: Programming, Lisp, Web, Emacs, Org=
+- The =#+DATE: <2023-06-27 Tue>= can be populated automatically with =C-c .= / =org-time-stamp=.
+- putting =# -​*- after-save-hook: (ox-haunt-export-to-html); -​*-= at the very top of the file (note: zero-width space to satisfy Org-mode; beware copying) will automatically update the HTML files on saving the Org-mode post.
+- Putting posts in their own directory makes managing post-specific images easier.
+
+* What I'm Doing With This Site
+
+Succinctly, writing about anything and everything which takes my fancy. Some of it may not be for you; I will likely write a fair bit about libertarian politics and Christianity. But that should be orthogonal to the rest of it. Take what you like, and leave the rest.
diff --git a/org/test.org b/org/test.org
deleted file mode 100644
index cc586c5..0000000
--- a/org/test.org
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- after-save-hook: (ox-haunt-export-to-html); -*-
-
-#+TITLE: Building a Site with Haunt
-#+TAGS: Programming, Lisp, Web, Emacs, Org
-#+DATE: <2023-06-23 Fri>
-
-Hello! This is my first post on this website, which I've created over the last several days with the static site generator [[https:dthompson.us/projects/haunt][Haunt]]. It's my first time really delving into Web tech; I think for pedagogical purposes it was a really effective choice: I know Scheme already from reading SICP and my use of Guix, and Haunt is sufficiently minimal, low-level, and little-used that I learn a good bit of HTML syntax and have to style things with CSS. Conversely, it does enough that it'll be really easy to maintain once up-and-running with it, much moreso than writing bare HTML.
-
-* An Overview of Haunt
-
-Haunt, fundamentally, views websites as programs (according to the manual). The actual facts on the ground are a little rockier: the documentation hasn't been updated in a /long/ time, and there are undocumented releases on the git repository with extensive, new convenience featues that seem very basic. The fundamental object is the =site=: a record containing all of the top-level information about the website. Among them are a list of "builder" procedures which synthesize individual pages of the website from input, Scheme code, and external files. The outputs of these builders are "page" objects (something which the command line tells me is deprecated in favor of "serialized-artifacts," which aren't documented anywhere), which are copied into the output directory. There are also "readers," which take as input "posts," blog posts written in a sensible markup format, and output pages representing the posts, alongside corresponding modifications to the site to present a correct aggregation of those posts. Useful, and only in the latest v0.3.0 release, is the =publisher= argument, which takes a description of how to copy all output pages to a remote. The only method currently is rsync, but that's all that's much better than nothing.
-
-The CLI is bare: =haunt build= to produce output pages, =haunt serve= to pop the output on localhost:8080 (with =--watch= to refresh on file changes), and =haunt publish= to run the publisher on what's been =haunt build='ed most recently.
-
-Styling is manual, with CSS, unless you would like to build CSS inline style propagation logic into SHTML and rewrite all the Haunt default logic to use it (good idea!). If you decide to also use Haunt, be sure to
-
-* What I'm Doing With This Site
-
-Succinctly, writing about anything and everything which takes my fancy. Some of it may not be for you; I will likely write a fair bit about libertarian politics and Christianity. But that should be orthogonal to the rest of it. Take what you like, and leave the rest.
diff --git a/org/trinity/trinity.org b/org/trinity/trinity.org
new file mode 100644
index 0000000..5e14870
--- /dev/null
+++ b/org/trinity/trinity.org
@@ -0,0 +1,21 @@
+#+TITLE: Trinity Concepts
+#+DATE: <2023-07-09 Sun>
+#+TAGS: Philosophy, Christianity, Mises
+
+I was reading Mises' /Human Action/ the other day, and was struck by the following paragraph:
+
+#+begin_quote
+
+The pricing process is a social process. It is consummated by an interaction of all members of the society. All collaborate and cooperate, each in the particular role he has chosen for himself in the framework of the division of labor. Competing in cooperation and cooperating in competition all people are instrumental in bringing about the result, viz., the price structure of the market, the allocation of the factors of production to the various lines of want-satisfaction, and the determination of the share of each individual. These three events are not three different matters. They are only different aspects of one indivisible phenomenon which our analytical scrutiny separates into three parts. In the market process they are accomplished /uno actu/. Only people preposessed by socialist leanings who cannot free themselves from longing glances at socialist methods speak of three different processes in dealing with market phenomena: the determination of prices, the direction of productive efforts, and distribution.
+
+--- Ludwig von Mises, /Human Action/, XVI.3
+
+#+end_quote
+
+Its praxeological content, though interesting is mostly irrelevant to the point I want to make. Islamic apologists often identify the Trinity as a bald contradiction in the nature of Christian יהוה—a single entity composed of three parts? Fully God and fully man? Surely incompatible with reason. Mises argument, I believe, lifts to this context: "...the omnipotent, omniscient, omnipresent nature of God, his physical manifestation in the person of Jesus, and his spirit inhabiting the hearts of the justified...these three aspects are not different matters. They are only different aspects of one individible phenomenon which our analytical scrutiny separates into three parts. In actuality, they exist /unus res/."
+
+I'd like to identify anything satisfying Mises' characterization—amenable to analysis, but ontologically inseparable—as *Trinity Concepts*. I maintain a list of examples, with links to explanatory posts, if extant, below. Email me with more if you encounter any.
+
+- The /bona fide/ Trinity
+- The pricing process
+- Acting agents
diff --git a/org/trusting-trust/trust.org b/org/trusting-trust/trust.org
new file mode 100644
index 0000000..ceb2b2e
--- /dev/null
+++ b/org/trusting-trust/trust.org
@@ -0,0 +1,24 @@
+#+TITLE: Trusting Trust is a Problem for Formal Methods—and That Should Scare Us
+#+DATE: <2023-06-30 Fri>
+#+TAGS: Programming, Formal Methods, AI, Electronics
+
+* The Problem...
+In 1984, Ken Thompson gave a Turing award lecture. You would think it'd be about his systems programming accomplishments: Multics, UNIX, the B language, etc. Instead, he gave [[https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf][Reflections on Trusting Trust]] a now-classic lecture outlining a particularly devious class of software bug that can be, in its most insidious form, self-replicating, undetectable, and absolutely compromising. His critical takeaway? "You can't trust code that you did not totally create yourself."
+
+Well, what's one to do, then? Is every single person required to write everyting from scratch all the time? Are our computer science students to write their programs by hand, and only graduate to the privelege of running them once they've built their own hardware? It certainly seems a stretch. But Thompson's security concerns are valid; he demonstrated a real bug that real software certainly /could/ have, and that's worrisome, even if it's unlikely any actual system contains a bug. Still more worrisome: it points out that /it's not actually possible to know/ what assumptions are being made when evaluating security. "The compiler implements its specification." Who, actually, are you trusting? Since virtually all modern compilers are self-hosting, or are written in another language whose compiler is self-hosting (and always, invariably, run on some hardware), the answer, very often, amounts to "every single person who has worked on every single piece of software and hardware since 'memory' was cycling electric currents in mercury." For, if any of these people at any point along the chain decided to inject a Trojan horse, and had sufficient intellect to implement one sufficiently sophisticated (who are you to say they /aren't/? You're the one depending on them long-dead, after all) that one can propagate through subsequent recompilations, system wipes, novel processor implementations, and so on, all the way to a CVE 10 in your Debian credential database today. Yeah, maybe they didn't. These people are some of my heroes too. But, shouldn't it bother us that we can't rule out such a ridiculous possibility, deductively, once and for all?
+
+Now more than ever, as we're allegedly on the dawn of AGI, this should be front-of-mind. While the greats of the past were smart, we will meet a whole different /kind/ of smart of our own making. Which makes an AGI's inability to pull this cleverness off /much/ more suspect than the men of the past. Would you trust silicon designed by a machine? You may have to (and probably, if Intel would tell us, you already are). Worse still, would you trust that these unknown men of the past were in the magic Goldilocks zone, being too dumb to implement a sustaining Trojan, and simultaneously smart enough to not have /accidentally/ implemented a self-replicating bug of a kind unknown that an AGI can exploit?
+
+This is a problem people are thinking about. In the open-source world, the [[https://bootstrappable.org/][Bootstrappable]] project is intent on making /software/ cleanly source-auditable. But, as Thompson tells us, this is insufficient. Even if you did, through great effort, conduct a full source audit of every step along this audit process, you're still trusting your processor, your display, your bootloader, your firmware, your disk controller, Southbridge, microcode, kernel, shell, and every piece of low-level hardware and software you need to make running the [[https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/][357-byte bootstrap seed]] possible at all. Not to mention the entire external system you use to get the sources you're auditing onto the boot disk in the first place.
+
+In academia and embedded programming, there's renewed emphasis on formal verificion of critical programs. Modern CPU manufacturers, in order to avoid a repeat of the [[https://en.wikipedia.org/wiki/Pentium_FDIV_bug][FDIV]] debacle. Even [[https://sel4.systems/][whole kernels]] have been formally verified at this point. These prevent needing to "totally create yourself" the entire software stack—once proven, common wisdom goes, you don't have to audit or even /maintain/ the program! It's Bug Free™! But, these verifications have the same problem: who watches the watcher? They all presume correctness of the proof-checker, which is usually a programming language, and usually compiles to C. And, of course, they all run on hardware whose correctness is anyone's guess.
+
+We're taking great pains to build out a chain of trust, through formal methods and full-source bootstraps. However, we've neglected its first link. There's no choice: you have to develop your own, visually-auditable, correct hardware. From the ground up. Johnny-von-Neumann style.
+
+* And a Solution
+
+I propose the design and construction of a mainframe-style computer called ROTTIE (Root Of TrusT In Everything). It will be a PDP-1-style machine: discrete transistor logic, paper-tape input and output, magnetic-core memory, register state blinks, high-ish-voltage operation (to reduce cosmic-ray interference), significant line-noise injection (to avoid LED attacks, and prevent undetectable collusion between possibly-compromised transistors). Precise descriptions of its design, construction, and verification (precisely outlining the hopefully-minimal propositions, (meta)physical and epistemic, on which its correctness depends) will be produced and distributed /in print/, for others to review and imitate as they so desire. The hope is that the only thing the correctness of the system, and those correctly bootstrapped from it, depends on will be things like "transistors are transistors," "wire is wire," "classical electrodynamics is approximately correct," and "FOL+ZFC does not entail a contradiction."
+
+The tooling used in the construction will be exclusively tech as least as trustworthy, e.g. all measurements of voltages and electrical characteristic checks must be done with vacuum-tube or discrete-component test equipment, with the design thereof distributed alongside the construction instructions. To take things to their fullest extent, one might want to do everything, from construction of power generation equipment to mining, extraction, and synthesis of wire and electrical components, onesself, and it might be desirable to at least include descriptions of that process, so that nothing falls from "thin air." Additionally, there may be information-theoretical arguments (and possible design elements on which such arguments could be predicated) that even /if/ some or all of the transistors were compromised and, say, running a full-blown computer in an SMD package, they could not adversely influence program execution, because they never obtain sufficient information about the state of a computation.
+
+Once this is accomplished, and trust in the hardware is warranted, trustworthy software and hardware can at last be developed. This computer can compute hashes, check proofs, control IC manufacturing and testing, flash trusted hardware over JTAG, and so on. It lets us perform formal verification workloads, design, build, and probabilistically test trustworthy hardware, and /roots/ a clear chain of software trust, bringing security as inviolable as the physics and mathematics it depends on.
diff --git a/posts/test.html b/posts/test.html
deleted file mode 100644
index 6304857..0000000
--- a/posts/test.html
+++ /dev/null
@@ -1,42 +0,0 @@
-title: Building a Site with Haunt
-date: <2023-06-23 Fri>
-tags: Programming, Lisp, Web, Emacs, Org
----
-<div id="table-of-contents" role="doc-toc">
-<h2>Table of Contents</h2>
-<div id="text-table-of-contents" role="doc-toc">
-<ul>
-<li><a href="#org8ccaa76">1. An Overview of Haunt</a></li>
-<li><a href="#org0a85fbd">2. What I'm Doing With This Site</a></li>
-</ul>
-</div>
-</div>
-<p>
-Hello! This is my first post on this website, which I've created over the last several days with the static site generator <a href="https:dthompson.us/projects/haunt">Haunt</a>. It's my first time really delving into Web tech; I think for pedagogical purposes it was a really effective choice: I know Scheme already from reading SICP and my use of Guix, and Haunt is sufficiently minimal, low-level, and little-used that I learn a good bit of HTML syntax and have to style things with CSS. Conversely, it does enough that it'll be really easy to maintain once up-and-running with it, much moreso than writing bare HTML.
-</p>
-
-<div id="outline-container-org8ccaa76" class="outline-2">
-<h2 id="org8ccaa76"><span class="section-number-2">1.</span> An Overview of Haunt</h2>
-<div class="outline-text-2" id="text-1">
-<p>
-Haunt, fundamentally, views websites as programs (according to the manual). The actual facts on the ground are a little rockier: the documentation hasn't been updated in a <i>long</i> time, and there are undocumented releases on the git repository with extensive, new convenience featues that seem very basic. The fundamental object is the <code>site</code>: a record containing all of the top-level information about the website. Among them are a list of "builder" procedures which synthesize individual pages of the website from input, Scheme code, and external files. The outputs of these builders are "page" objects (something which the command line tells me is deprecated in favor of "serialized-artifacts," which aren't documented anywhere), which are copied into the output directory. There are also "readers," which take as input "posts," blog posts written in a sensible markup format, and output pages representing the posts, alongside corresponding modifications to the site to present a correct aggregation of those posts. Useful, and only in the latest v0.3.0 release, is the <code>publisher</code> argument, which takes a description of how to copy all output pages to a remote. The only method currently is rsync, but that's all that's much better than nothing.
-</p>
-
-<p>
-The CLI is bare: <code>haunt build</code> to produce output pages, <code>haunt serve</code> to pop the output on localhost:8080 (with <code>--watch</code> to refresh on file changes), and <code>haunt publish</code> to run the publisher on what's been <code>haunt build</code>'ed most recently.
-</p>
-
-<p>
-Styling is manual, with CSS, unless you would like to build CSS inline style propagation logic into SHTML and rewrite all the Haunt default logic to use it (good idea!). If you decide to also use Haunt, be sure to
-</p>
-</div>
-</div>
-
-<div id="outline-container-org0a85fbd" class="outline-2">
-<h2 id="org0a85fbd"><span class="section-number-2">2.</span> What I'm Doing With This Site</h2>
-<div class="outline-text-2" id="text-2">
-<p>
-Succinctly, writing about anything and everything which takes my fancy. Some of it may not be for you; I will likely write a fair bit about libertarian politics and Christianity. But that should be orthogonal to the rest of it. Take what you like, and leave the rest.
-</p>
-</div>
-</div>
diff --git a/posts/test.html~ b/posts/test.html~
deleted file mode 100644
index c992573..0000000
--- a/posts/test.html~
+++ /dev/null
@@ -1,42 +0,0 @@
-title: Building a Site with Haunt
-date: <2023-06-23 Fri>
-tags: Programming, Lisp, Web, Emacs, Org
----
-<div id="table-of-contents" role="doc-toc">
-<h2>Table of Contents</h2>
-<div id="text-table-of-contents" role="doc-toc">
-<ul>
-<li><a href="#org20e7ea5">1. An Overview of Haunt</a></li>
-<li><a href="#org0bd00ee">2. What I'm Doing With This Site</a></li>
-</ul>
-</div>
-</div>
-<p>
-Hello! This is my first post on this website, which I've created over the last several days with the static site generator <a href="https:dthompson.us/projects/haunt">Haunt</a>. It's my first time really delving into Web tech; I think for pedagogical purposes it was a really effective choice: I know Scheme already from reading SICP and my use of Guix, and Haunt is sufficiently minimal, low-level, and little-used that I learn a good bit of HTML syntax and have to style things with CSS. Conversely, it does enough that it'll be really easy to maintain once up-and-running with it, much moreso than writing bare HTML.
-</p>
-
-<div id="outline-container-org20e7ea5" class="outline-2">
-<h2 id="org20e7ea5"><span class="section-number-2">1.</span> An Overview of Haunt</h2>
-<div class="outline-text-2" id="text-1">
-<p>
-Haunt, fundamentally, views websites as programs (according to the manual). The actual facts on the ground are a little rockier: the documentation hasn't been updated in a <i>long</i> time, and there are undocumented releases on the git repository with extensive, new convenience featues that seem very basic. The fundamental object is the <code>site</code>: a record containing all of the top-level information about the website. Among them are a list of "builder" procedures which synthesize individual pages of the website from input, Scheme code, and external files. The outputs of these builders are "page" objects (something which the command line tells me is deprecated in favor of "serialized-artifacts," which aren't documented anywhere), which are copied into the output directory. There are also "readers," which take as input "posts," blog posts written in a sensible markup format, and output pages representing the posts, alongside corresponding modifications to the site to present a correct aggregation of those posts. Useful, and only in the latest v0.3.0 release, is the <code>publisher</code> argument, which takes a description of how to copy all output pages to a remote. The only method currently is rsync, but that's all that's much better than nothing.
-</p>
-
-<p>
-The CLI is bare: <code>haunt build</code> to produce output pages, <code>haunt serve</code> to pop the output on localhost:8080 (with <code>--watch</code> to refresh on file changes), and <code>haunt publish</code> to run the publisher on what's been <code>haunt build</code>'ed most recently.
-</p>
-
-<p>
-Styling is manual, with CSS, unless you would like to build CSS inline style propagation logic into SHTML and rewrite all the Haunt default logic to use it (good idea!).
-</p>
-</div>
-</div>
-
-<div id="outline-container-org0bd00ee" class="outline-2">
-<h2 id="org0bd00ee"><span class="section-number-2">2.</span> What I'm Doing With This Site</h2>
-<div class="outline-text-2" id="text-2">
-<p>
-Succinctly, writing about anything and everything which takes my fancy. Some of it may not be for you; I will likely write a fair bit about libertarian politics and Christianity. But that should be orthogonal to the rest of it. Take what you like, and leave the rest.
-</p>
-</div>
-</div>