This commit is contained in:
Joshua Seigler 2025-06-12 22:27:04 -04:00
commit 86faf63084
113 changed files with 9557 additions and 0 deletions

9
.editorconfig Normal file
View file

@ -0,0 +1,9 @@
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
dist
node_modules
.plugin-clean

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
2025-04-24--end-of-line.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

328
about/index.html Normal file
View file

@ -0,0 +1,328 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>About - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="About" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/about/" />
<meta name="twitter:title" content="About" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/about/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="nav-active" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>About</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<p>
Im the oldest of four boys, raised in a Christian home in Virginia. My
parents homeschooled us, and the drive this gave me to learn new things
and try them out has been a big help in my life. Im naturally
introverted, but I can present as extroverted: I love connecting with
people, but quiet time to myself is how I recharge.
</p>
<p>
After college I took some time figuring out what being an adult looked
like for me. In 2010 after some priceless education in communication
(thanks to a <em>Dish Network</em> tech support job) and conflict
resolution (thanks to my housemates at the time) I started my first
engineering job up in Connecticut.
</p>
<p>
Straight away I met my wife Sara. We started dating and it was clear we
were compatibly weird. Pretty soon we got married. We like board games,
food trucks, black cats, mini golf, and scenic road trips.
</p>
<p>
One job led to another, and we moved around between Connecticut, Rhode
Island, and Massachusetts. In 2017 I took a risk and started working
remotely for a cryptocurrency company. Remote work was a big adjustment,
but that unique role had lots of opportunities for travel and proved to
be a good preparation for working remotely in smaller companies.
</p>
<p>
The societal metamorphosis of 2019-2021 came at a time when I was also
exploring a values shift, from politics as a source-of-truth back to
faith, and I started trying to
<a href="/posts/embracing-mysticism"
>learn to see the world mystically</a
>. This began a change in my orientation that is still playing out.
</p>
<p>
In my next few roles, I found that I have a taste for the laser focus
and fast pace of startups. I like building exciting new things, talking
to customers, owning whole sections of the product, juggling priorities,
and balanceing clean perfection against shipping quickly.
</p>
<p>
I dont know what tomorrow holds, but Im sure its going to be great.
</p>
<h2 id="timeline" tabindex="-1">
<a class="header-anchor" href="#timeline" aria-hidden="true"></a>
Timeline
</h2>
<h3 id="2022-2025">
<a class="header-anchor" href="#2022-2025" aria-hidden="true"></a
>Founding software engineer @
<a href="https://www.capabuild.app/" target="_blank" rel="noopener"
>Capabuild</a
>
<aside>2022-2025</aside>
</h3>
<p>
Capabuild is a web and mobile platform for disaster recovery companies.
This role was an unexpectedly great fit for some technologies I used in
side projects: THREE.js and SVG. Here I worked with other experienced
engineers building new things and continuously balancing speed and
sustainability. Startup life is exciting! Priorities can change quickly,
and in this role I could see every day how my work and execution could
help our customers, and ultimately make the business a success. In this
role I learned to accept and also pay down tech debt, and experienced
the value of investing time into a good development environment.
</p>
<h3 id="2021-2022">
<a class="header-anchor" href="#2021-2022" aria-hidden="true"></a>Senior
software engineer @
<a href="https://www.prenda.com/" target="_blank" rel="noopener"
>Prenda</a
>
<aside>2021-2022</aside>
</h3>
<p>
This role was at the intersection of many interests, including learning,
communication, and decentralized solutions. Here I learned to own, plan,
and solve larger and less-well-defined tasks. Prenda has an excellent
and intentional culture that fosters humility and recognizes others
humanity.
</p>
<h3 id="2020-2021">
<a class="header-anchor" href="#2020-2021" aria-hidden="true"></a>Senior
software engineer @
<a href="https://www.hubspot.com/" target="_blank" rel="noopener"
>HubSpot</a
>
<aside>2020-2021</aside>
</h3>
<p>
Back in the corporate world, using my experience to develop React
projects in an agile environment. I began building my mentoring and team
management abilities, as well as sharpening my JavaScript and React
skills.
</p>
<h3 id="2017-2020">
<a class="header-anchor" href="#2017-2020" aria-hidden="true"></a
>Software developer @
<a href="https://www.dash.org/dcg/" target="_blank" rel="noopener"
>Dash Core Group</a
>
<aside>2017-2020</aside>
</h3>
<p>
After some successful freelance work, I became a full time contractor,
working remotely. I was fortunate to sometimes travel to interesting
places to represent Dash or to meet up worldwide with other developers.
My focus here was on web development, React Native app development, and
JavaScript API testing and documentation.
</p>
<h3 id="2013-2017">
<a class="header-anchor" href="#2013-2017" aria-hidden="true"></a
>Application engineer @
<a href="https://www.xpo.com/" target="_blank" rel="noopener"
>XPO Logistics</a
>
<aside>2013-2017</aside>
</h3>
<p>
Microsoft environment, Agile methodology. This fully front-end focused
role highlighted the value of investing in myself and building a
skillset focused around my strengths and interests.<br />
Outside of work, I began deeply researching cryptocurrencies and
economics and using open source web development tools for personal
projects.
</p>
<h3 id="2010-2013">
<a class="header-anchor" href="#2010-2013" aria-hidden="true"></a>Junior
software engineer @
<a href="https://www.wm.com/" target="_blank" rel="noopener"
>Oakleaf / Waste Management</a
>
<aside>2010-2013</aside>
</h3>
<p>
This Microsoft based company was a good first step into corporate
development. I was exposed to a variety of development roles, and began
building a personal specialization in front-end development.<br />
Also, shortly after moving for this job, I met my wife!
</p>
<h3 id="2008-2010">
<a class="header-anchor" href="#2008-2010" aria-hidden="true"></a
>Exploring
<aside>2008-2010</aside>
</h3>
<p>
This includes about a year of small-business home computer repair, as
well as some valuable time improving my communication skills at a
satellite TV tech support center.
</p>
<h3 id="2004-2008">
<a class="header-anchor" href="#2004-2008" aria-hidden="true"></a>Part
time teacher / E-learning Technician
<aside>2004-2008</aside>
</h3>
<p>
After a couple semesters as a part time math instructor at my old
community college, I switched to a role supporting instructors with
remote learning, software assistance, and classroom technology.<br />
This is also when my love of board games really exploded. Local friends
had an extensive game collection and we used to play until late at
night.
</p>
<h3 id="2001-2004">
<a class="header-anchor" href="#2001-2004" aria-hidden="true"></a
><a href="https://www.rpi.edu/" target="_blank" rel="noopener">RPI</a> -
Bachelors in Math &amp; Computer Science
<aside>2001-2004</aside>
</h3>
<p>
My first time living away from home. Aside from the education, I
connected with a lot of people who have remained important in my life.
</p>
<h3 id="1999-2001">
<a class="header-anchor" href="#1999-2001" aria-hidden="true"></a
><a href="https://www.pvcc.edu/" target="_blank" rel="noopener">PVCC</a>
- Associates in science
<aside>1999-2001</aside>
</h3>
<p>
Highlights include a public speaking class and an excellent Java
programming class, my introduction to object-oriented programming. I
have such fond memories of the teachers here and their dedicated
enthusiasm.
</p>
<h3 id="1998">
<a class="header-anchor" href="#1998" aria-hidden="true"></a>First
community college course
<aside>1998</aside>
</h3>
<p>
“Calculus with Analytic Geometry I”. I showed my teacher a Newtons
method root-finder program I made for my TI-83 calculator, and at the
end of class she surprised me by having me demonstrate it to the class.
When I asked why she hadnt given me any warning, she asked, “Would that
have made you less nervous?”
</p>
<h3 id="1985-1998">
<a class="header-anchor" href="#1985-1998" aria-hidden="true"></a
>Homeschooled
<aside>1985-1998</aside>
</h3>
<p>
Reading, field trips, spelling bees. Developing interest in math, art,
and computers. As long as I stayed ahead of the baseline public school
standards, I could explore whatever interested me. What a great
beginning.<br />
Big thanks to my parents for nurturing my appetite for learning. Thanks
also to my brothers for teaching me patience and conflict resolution!
</p>
<h3 id="1983">
<a class="header-anchor" href="#1983" aria-hidden="true"></a>Hello World
<aside>1983</aside>
</h3>
<p></p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

BIN
android-chrome-192x192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
android-chrome-512x512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

121
art/rothko/index.html Normal file
View file

@ -0,0 +1,121 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Rothko Generator</title>
<style>
body { background: black; }
svg {
position: absolute;
inset: 0;
margin: auto;
}
</style>
</head>
<body>
<svg
width="100%"
height="100%"
viewBox="0 0 300 400"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
>
<defs>
<filter id="paint" x="0" y="0">
<feTurbulence
id="turbSpread"
result="turbulenceFine"
type="fractalNoise"
baseFrequency="4"
numOctaves="1"
/>
<feTurbulence
id="turbDistortion"
seed="0"
result="turbulenceFat"
type="fractalNoise"
baseFrequency="0.005"
numOctaves="5"
/>
<feDisplacementMap
in="SourceGraphic"
in2="turbulenceFat"
result="sloppy"
scale="4"
/>
<feGaussianBlur in="sloppy" result="blurred" stdDeviation="3" />
<feDisplacementMap
in="blurred"
in2="turbulenceFine"
result="final"
scale="5"
/>
</filter>
</defs>
<svg
viewBox="0 0 300 400"
x="0"
y="0"
width="300"
height="400"
id="rects"
filter="url(#paint)"
></svg>
<script type="text/javascript">
<![CDATA[
function randomHsl() {
return 'hsl(' + (Math.random() * 360) + ', ' + (Math.pow(Math.random(), 4) * 90 + 10) + '%, '+ (Math.random() * 85 + 5) +'%)';
}
let stripes = Math.max(1, Math.floor(Math.random() * 4 + 1.7));
let gap = Math.pow(Math.random(), 1.5) * 8 + 4;
let mainWidth = 300 - gap + Math.random() * 60 - 60;
let mainHeight = 400 - gap + Math.random() * 60 - 60;
let shapes = Array(stripes);
let seed = Math.floor(Math.random() * 100000);
document.getElementById('turbSpread').setAttributeNS(null, 'seed', seed);
document.getElementById('turbDistortion').setAttributeNS(null, 'seed', seed);
for (let i=0; i < stripes; i++) {
shapes[i] = {
color: randomHsl(),
height: Math.random(),
width: mainWidth + (Math.random() < 0.2 ? Math.random() * 100 - 50 : 0),
opacity: 1 - Math.pow(Math.random(), 5),
x: null,
y: null
};
}
let totalHeight = 0;
for (let i=0; i < stripes; i++) { totalHeight += shapes[i].height; }
let heightScale = (mainHeight - (gap * (stripes - 1))) / totalHeight;
let cumY = (400 - mainHeight) / 2;
for (let i=0; i < stripes; i++) {
shapes[i].x = 150 - shapes[i].width / 2;
shapes[i].y = cumY;
shapes[i].height *= heightScale;
cumY += shapes[i].height + gap;
}
shapes.unshift({
color: randomHsl(),
height: 500,
width: 400,
x: -50,
y: -50
});
let domRects = document.getElementById('rects');
let xmlns = "http://www.w3.org/2000/svg";
for (let i=0; i < shapes.length; i++) {
let newRect = document.createElementNS(xmlns, 'rect');
newRect.setAttributeNS(null, 'x', shapes[i].x);
newRect.setAttributeNS(null, 'y', shapes[i].y);
newRect.setAttributeNS(null, 'height', shapes[i].height);
newRect.setAttributeNS(null, 'width', shapes[i].width);
newRect.setAttributeNS(null, 'fill', shapes[i].color);
newRect.setAttributeNS(null, 'opacity', shapes[i].opacity);
domRects.appendChild(newRect);
}
]]>
</script>
</svg>
</body>
</html>

3
boardgames/index.php Normal file
View file

@ -0,0 +1,3 @@
<?php
header( 'Location: https://www.boardgamegeek.com/collection/user/kuqumi?geekranks=Board+Game+Rank&excludesubtype=boardgameexpansion&objecttype=thing&gallery=large&columns=title|status|version|rating|bggrating|plays|comment|commands&own=1&ff=1&subtype=boardgame&sort=rating&sortdir=desc' ) ;
?>

BIN
books/0007528418.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
books/0395423317.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
books/0465026567.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
books/0553380958.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
books/0765319853.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
books/0936200111.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
books/1523006560.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
books/188790400X.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
books/1887904166.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

351
books/index.html Normal file
View file

@ -0,0 +1,351 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Books - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Books" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/books/" />
<meta name="twitter:title" content="Books" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/books/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="nav-active" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Books</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<p>These books had a big influence on my thinking and taste.</p>
<style>
main img {
width: 8rem;
margin: 0.5rem 0.5rem 0.5rem 0;
float: left;
}
</style>
<h3
id="g%C3%B6del%2C-escher%2C-bach%3A-an-eternal-golden-braid---douglas-hofstadter"
tabindex="-1"
>
<a
class="header-anchor"
href="#g%C3%B6del%2C-escher%2C-bach%3A-an-eternal-golden-braid---douglas-hofstadter"
aria-hidden="true"
></a>
<a href="https://amzn.to/44Nvcuf" target="_blank" rel="noopener"
><img
src="/books/0465026567.jpg?v=a808037c6297"
alt="book cover, showing a pair of carved shapes which cast shadows forming the letters G, E, and B"
/>
Gödel, Escher, Bach: an Eternal Golden Braid
<small>- Douglas Hofstadter</small></a
>
</h3>
<p>
I read this heady tome in college. I think Ive completed it three
times? It alternates between whimsical stories and theory, building a
case that thought and meaning are emergent properties of the brain. It
deals heavily with the idea of self-reference, which is the main theme
uniting the three people in the title. Although he discounts the
possibility of the immaterial aspect of reality as unknowable,
Hofstadter introduced me to many interesting ideas and his book is a
delightful journey, if you are prepared for it.
</p>
<h3
id="the-space-trilogy%3A-out-of-the-silent-planet%2C-perelandra%2C-and-that-hideous-strength---c.-s.-lewis"
tabindex="-1"
>
<a
class="header-anchor"
href="#the-space-trilogy%3A-out-of-the-silent-planet%2C-perelandra%2C-and-that-hideous-strength---c.-s.-lewis"
aria-hidden="true"
></a>
<a href="https://amzn.to/3SfO7Xc" target="_blank" rel="noopener"
><img
src="/books/0007528418.jpg?v=803840053bf3"
alt="book cover, abstract space illustration showing three planets"
/>
The Space Trilogy: Out of the Silent Planet, Perelandra, and That
Hideous Strength <small>- C. S. Lewis</small></a
>
</h3>
<p>
These stories contain so much richness. One theme that stuck with me
emerges in <em>Out of the Silent Planet</em> and is repeated in
<em>Perelandra</em>: that good things can be spoiled by overconsumption.
Something that is pleasant or satisfying stands by itself, and doesnt
need to be repeated or hoarded. In fact, the drive to capture,
concentrate, and control pleasant things can cheapen them, and could be
at the root of many of our troubles.
</p>
<h3
id="leadership-and-self-deception---the-arbinger-institute"
tabindex="-1"
>
<a
class="header-anchor"
href="#leadership-and-self-deception---the-arbinger-institute"
aria-hidden="true"
></a>
<a href="https://amzn.to/3GNsFGs" target="_blank" rel="noopener"
><img
src="/books/1523006560.jpg?v=a89d0e479bdf"
alt='book cover, a tromp-l&apos;oeil torn segment reveals in bold letters "SELF-DECEPTION"'
/>
Leadership and Self-Deception
<small>- The Arbinger Institute</small></a
>
</h3>
<p>
This book painted for me a vivid picture of the mechanics of selfish and
self-centered thinking. It describes in detail the ways that we blind
ourselves, especially in interpersonal communication. The result of
internalizing the concepts in this book is a sort of secular elaboration
of “Love your neighbor”, but even though it misses (or omits?
subtracts?) the spiritual core of things, it still rings quite true and
the tools found in this book and others from the Arbinger Instutute are
fantastically valuable.<br />
If this is of interest, you may also enjoy
<a href="https://amzn.to/3SmSQqi" target="_blank" rel="noopener"
>Marshall Rosenbergs “Non-violent communication”</a
>
or
<a href="/posts/needs-based-communication/"
>my article on needs-based communication</a
>.
</p>
<h3
id="orthodoxy-and-the-religion-of-the-future---fr.-seraphim-rose"
tabindex="-1"
>
<a
class="header-anchor"
href="#orthodoxy-and-the-religion-of-the-future---fr.-seraphim-rose"
aria-hidden="true"
></a>
<a href="https://amzn.to/4jVqE9F" target="_blank" rel="noopener"
><img
src="/books/188790400X.jpg?v=a3156620e0dd"
alt='book cover, a byzantine icon "The triumph of the Archangel Michael over the antichrist, who is shown falling into the abyss together with the cities of this world at the end of time"'
/>
Orthodoxy and the Religion of the Future
<small>- Fr. Seraphim Rose</small></a
>
</h3>
<p>
This book synthesizes many pieces of the zeitgeist as I have seen it
develop in my life. It touches on nihilism, the charismatic movement,
yoga, eastern and new-age spirituality, and the UFO phenomenon. All
these things are contextualized into a movement towards an upcoming
religious synthesis, and contrasted with eastern Orthodoxy. Fr. Seraphim
has a clear, academic writing style which I found easy to read, and this
book answered many questions I had not even thought to ask. I also
recommend his book/pamphlet
<a href="https://amzn.to/4jYlRnX" target="_blank" rel="noopener"
>Nihilism: The Root of the Revolution of the Modern Age</a
>, which is slightly drier than this but sets a good foundation for it,
and
<a href="https://amzn.to/4iDaAIv" target="_blank" rel="noopener"
>The Soul After Death</a
>
for its sober and thorough approach to understanding things most people
have not witnessed directly.
</p>
<h3
id="the-gurus%2C-the-young-man%2C-and-elder-paisios---dionysios-farasiotis"
tabindex="-1"
>
<a
class="header-anchor"
href="#the-gurus%2C-the-young-man%2C-and-elder-paisios---dionysios-farasiotis"
aria-hidden="true"
></a>
<a href="https://amzn.to/3GzsoXJ" target="_blank" rel="noopener"
><img
src="/books/1887904166.jpg?v=0c96e7e6d001"
alt="book cover, a mountainside monastery with a body of water in the background"
/>
The Gurus, the Young Man, and Elder Paisios
<small>- Dionysios Farasiotis</small></a
>
</h3>
<p>
This is the fascinating true story of a young mans experiences with
occult eastern gurus, the amazing adventures and troubles he had, and
his conversations and visits with Elder Paisios of Mount Athos. He tells
the story without embellishment, speaking plainly about the fantastic
things that he saw and his thoughts and feelings as he struggled to find
peace.
</p>
<h3 id="little-brother---cory-doctorow" tabindex="-1">
<a
class="header-anchor"
href="#little-brother---cory-doctorow"
aria-hidden="true"
></a>
<a
href="https://www.gutenberg.org/ebooks/30142"
target="_blank"
rel="noopener"
><img
src="/books/0765319853.jpg?v=d34004ad2ec0"
alt="book cover, three shadowed figures in a dramatic pose in front of a looming red X"
/>
Little Brother <small>- Cory Doctorow</small></a
>
</h3>
<p>
This book functions not only as an engaging story, but a primer for
digital security as a whole. If it doesnt make you an outright
cypherpunk, you will at least understand the movement better.
</p>
<h3 id="snow-crash---neal-stephenson" tabindex="-1">
<a
class="header-anchor"
href="#snow-crash---neal-stephenson"
aria-hidden="true"
></a>
<a href="https://amzn.to/3SfPIMG" target="_blank" rel="noopener"
><img
src="/books/0553380958.jpg?v=8290cd12094e"
alt="book cover, a red katana in front of a blue field of circuits"
/>
Snow Crash <small>- Neal Stephenson</small></a
>
</h3>
<p>
A sympathetic main character, heaps of style, a hacker aesthetic, an
evocative and lived-in setting, and non-stop action. This book magnified
my love of the written word as a literal creative force. Digital reality
and baseline reality are both shaped by language, but in different ways,
and this story explores that distinction vigorously and memorably.
</p>
<h3 id="the-stranger---chris-van-allsburg" tabindex="-1">
<a
class="header-anchor"
href="#the-stranger---chris-van-allsburg"
aria-hidden="true"
></a>
<a href="https://amzn.to/3SeBz2k" target="_blank" rel="noopener"
><img
src="/books/0395423317.jpg?v=c4e7e11fde46"
alt="book cover, a softly lit man in overalls stares as he is served a bowl of soup"
/>
The Stranger <small>- Chris Van Allsburg</small></a
>
</h3>
<p>
The illustrations in this surreal childrens book stuck with me my whole
life. I like all this authors illustrations, but this book especially
captured my imagination.
</p>
<h3
id="getting-started-on-the-pc-2---harvard-pennington%2C-gary-camp%2C-ralph-burris"
tabindex="-1"
>
<a
class="header-anchor"
href="#getting-started-on-the-pc-2---harvard-pennington%2C-gary-camp%2C-ralph-burris"
aria-hidden="true"
></a>
<a
href="https://archive.org/details/gettingstartedon00harv"
target="_blank"
rel="noopener"
><img
src="/books/0936200111.jpg?v=ea503c655abb"
alt="book cover, large text above a photo of a PC-2 computer, with a one-row LCD display and a tiny but complete QWERTY keyboard"
/>
Getting Started on the PC-2
<small>- Harvard Pennington, Gary Camp, Ralph Burris</small></a
>
</h3>
<p>
This was my first programming book. My grandfather Clarence gave it to
me along with a Radio Shack PC-2 handheld computer. That evening I
managed to make a program that produced “music”, a random sequence of
tones. I was hooked.
</p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

17
code-traces.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

16
css/ftaurebesh.css Normal file
View file

@ -0,0 +1,16 @@
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 500;
font-display: block;
src: url("/fonts/ftaurebesh-medium.woff2") format("woff2");
size-adjust: 125%;
}
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/fonts/ftaurebesh-bold.woff2") format("woff2");
size-adjust: 125%;
}

14
css/inter.css Normal file
View file

@ -0,0 +1,14 @@
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/InterVariable.woff2") format("woff2");
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/InterVariable-Italic.woff2") format("woff2");
}

513
css/site.css Normal file
View file

@ -0,0 +1,513 @@
:root {
font-size: 16px;
font-size: clamp(16px, 8px + 1.5vw, 24px);
box-sizing: border-box;
display: flex;
flex-direction: column;
min-height: 100vh;
flex-grow: 1;
padding: 0;
line-height: 1.5;
}
body {
--c-highlight: oklch(100% 0 0 / 0.875);
--c-dark: oklch(32.1% 0.022 259.9);
--c-accent: white;
--c-body-background: oklch(85% 0 338);
--c-bg1: oklch(85% 0.04 285);
--c-bg2: oklch(85% 0.04 188);
--c-text-background-light: oklch(96.2% 0 0 / 0.6);
--c-text-light: var(--c-highlight);
--c-text-dark: var(--c-dark);
--ratio: 1.333;
--s-5: calc(var(--s-4) / var(--ratio));
--s-4: calc(var(--s-3) / var(--ratio));
--s-3: calc(var(--s-2) / var(--ratio));
--s-2: calc(var(--s-1) / var(--ratio));
--s-1: calc(var(--s0) / var(--ratio));
--s0: 1rem;
--s1: calc(var(--s0) * var(--ratio));
--s2: calc(var(--s1) * var(--ratio));
--s3: calc(var(--s2) * var(--ratio));
--s4: calc(var(--s3) * var(--ratio));
--s5: calc(var(--s4) * var(--ratio));
--content-width: clamp(75vw, 40rem, 100vw - 3rem);
--sidebar-width: clamp(
10rem,
calc(0.2 * var(--content-width)),
calc(var(--content-width) * 0.5)
);
--inset: calc(50vw - var(--content-width) / 2);
background-image:
radial-gradient(circle at -20% 20vmin, var(--c-bg1), transparent 60%),
radial-gradient(circle at 120% calc(100% - 20vmin), var(--c-bg2), transparent 60%),
url(/noise.png);
}
body[data-theme="dark"] {
background-color: var(--c-body-background);
}
[data-theme="dark"] {
--c-highlight: oklch(40% 0.088 341.9 / 0.6);
--c-accent: oklch(40% 0.088 341.9 / 0.8);
--c-body-background: oklch(15% 0.05 262);
--c-bg1: oklch(15% 0.05 285);
--c-bg2: oklch(15% 0.05 188);
--c-dark: oklch(19.1% 0.005 259.9);
--c-text-background-light: oklch(30.6% 0.073 341.7 / 0.3);
--c-text-light: oklch(94% 0.045 107.2);
--c-text-dark: oklch(94% 0.045 107.2);
}
@media (prefers-color-scheme: dark) {
body[data-theme="auto"] {
background-color: var(--c-body-background);
}
[data-theme="auto"] {
--c-highlight: oklch(40% 0.088 341.9 / 0.6);
--c-accent: oklch(40% 0.088 341.9 / 0.8);
--c-body-background: oklch(15% 0.05 262);
--c-bg1: oklch(15% 0.05 285);
--c-bg2: oklch(15% 0.05 188);
--c-dark: oklch(19.1% 0.005 259.9);
--c-text-background-light: oklch(30.6% 0.073 341.7 / 0.3);
--c-text-light: oklch(94% 0.045 107.2);
--c-text-dark: oklch(94% 0.045 107.2);
}
}
::selection {
background: var(--c-highlight);
color: var(--c-text-dark);
}
*,
:after,
:before {
box-sizing: inherit;
font-family: inherit;
text-decoration-color: color-mix(in srgb, currentColor 50%, transparent);
text-decoration-thickness: 0.1rem;
}
body {
position: relative;
display: flex;
flex-direction: column;
z-index: 1;
flex-grow: 1;
padding: 0;
margin: 0;
font-family: Inter, sans-serif;
background-color: var(--c-body-background);
color: var(--c-text-dark);
}
a {
color: inherit;
}
a[href] {
text-decoration-line: underline;
box-decoration-break: clone;
padding: 0.1em;
margin: -0.1em;
position: relative;
}
a[href]:hover,
a[href]:focus-visible,
nav label:hover,
nav label:focus-visible,
nav label:has(input:focus-visible),
nav label:has(input:checked) {
outline: none;
background-color: var(--c-accent);
box-shadow: 0 0 0.5rem var(--c-accent), 0 0 1rem var(--c-accent);
text-decoration: none;
border-radius: 0.5rem;
}
a[href]:focus-visible,
nav label:focus-visible,
nav label:has(input:focus-visible) {
z-index: 1;
outline: 2px solid var(--c-text-dark);
}
main p img {
max-width: 100%;
}
section {
margin-top: 1rem;
}
.footnote-item:target,
.footnote-ref :target {
animation: ping 1s ease-out;
&,
a {
text-decoration-color: var(--c-accent);
}
}
.footnotes-sep {
position: relative;
z-index: -1;
margin: 4rem -1rem -4rem;
height: 4.1rem;
border: none;
background-image: radial-gradient(
ellipse farthest-side at 50% 0%,
var(--c-highlight),
transparent
);
opacity: 0.5;
}
@keyframes ping {
0% {
border-radius: 50%;
background-color: var(--c-accent);
box-shadow: var(--c-accent) 0 0 1rem 4rem;
}
100% {
border-radius: 50%;
background-color: transparent;
box-shadow: transparent 0 0 0rem 0rem;
}
100% {
border-radius: initial;
}
}
li::marker {
color: color-mix(in srgb, currentcolor 50%, transparent);
}
aside {
display: inline-block;
margin-left: 1ch;
font-size: var(--s-1);
}
span.aside {
float: right;
clear: right;
position: relative;
width: var(--sidebar-width);
padding: 0.5rem 0 0.5rem 1rem;
font-size: var(--s-1);
}
@media (min-width: 40rem) {
main:has(span.aside) {
padding-right: calc(var(--inset) + var(--sidebar-width));
}
span.aside {
padding: 0 0 0 1rem;
margin-right: calc(-1 * var(--sidebar-width));
&::after {
content: "";
pointer-events: none;
position: absolute;
top: -0.5rem;
left: 0.5rem;
right: 0;
bottom: -0.5rem;
z-index: -1;
opacity: 0.4;
background: radial-gradient(
ellipse farthest-side at 50% 0%,
var(--c-highlight),
transparent
);
}
}
}
ul.collection {
padding-left: 0;
> li {
list-style-type: none;
+ li {
margin-top: 1rem;
}
}
}
p {
margin: 0;
+ p {
margin-top: 1lh;
}
}
blockquote {
position: relative;
margin: 1lh 0;
padding: 0 1em;
&::after {
content: "";
pointer-events: none;
position: absolute;
z-index: -1;
top: -0.5lh;
bottom: -0.5lh;
left: -0.1em;
width: 10rem;
max-width: 100%;
background: radial-gradient(
ellipse farthest-side at 0% 50%,
var(--c-highlight),
transparent
);
opacity: 0.5;
}
}
sup {
font-size: var(--s-1);
margin-top: -0.2em;
}
body > header {
color: var(--c-text-dark);
padding: 0 var(--inset) 0;
border-radius: 0.5rem 0.5rem 0 0;
}
body > header > nav {
margin: 0.5rem 0 3rem;
}
.nav-categories {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 0.5em;
margin-right: auto;
& > a {
white-space: nowrap;
display: inline-block;
}
}
.nav-row {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 0.25rem;
}
.nav-home, .nav-active {
font-weight: bold;
}
.nav-settings {
margin-left: auto;
display: flex;
gap: 0.5em;
flex-direction: row;
justify-content: end;
flex-wrap: wrap;
}
.nav-toggles {
display: flex;
flex-direction: row;
font-size: var(--s-1);
}
@media print {
:root {
font-size: 10pt;
}
body {
--c-highlight: white --c-dark: white;
--c-accent: black;
--c-body-background: white;
--c-text-light: black;
--c-text-dark: black;
--content-width: 100vw;
}
body {
background: none;
}
h1,
h2,
h3,
h4 {
opacity: 0.75;
}
body > header > nav {
display: none;
}
body > footer {
display: none;
}
a[href^="http"]::after {
content: " (" attr(href) ")";
font-size: 0.75em;
.footnotes & {
display: block;
}
}
}
body > footer {
text-align: right;
font-size: var(--s-1);
margin: auto var(--inset) 0.5rem;
padding-top: 4rem;
& a {
white-space: nowrap;
}
}
footer section {
margin-top: 0;
}
.nav-toggle-button {
position: relative;
cursor: pointer;
text-decoration-line: underline;
display: inline-block;
border-radius: 0;
padding: 0.1rem 0.25rem;
margin: 0;
border-radius: 0 !important;
background-color: var(--c-text-background-light);
> input[type="radio"] {
z-index: -2;
position: absolute;
inset: 0;
opacity: 0;
}
&:first-of-type {
border-top-left-radius: 0.5rem !important;
border-bottom-left-radius: 0.5rem !important;
}
&:last-of-type {
border-top-right-radius: 0.5rem !important;
border-bottom-right-radius: 0.5rem !important;
}
}
[data-language="aurebesh"] {
font-family: FTAurebesh;
line-height: 1.25;
ul:not(.collection) > li {
list-style-type: square;
}
}
[data-language="english"] {
font-family: Inter;
}
h1,
h2,
h3,
h4 {
position: relative;
font-weight: 700;
text-shadow: 0 0 0.5em var(--c-highlight);
margin-top: 0.75em;
margin-bottom: 0.75em;
&:hover .header-anchor {
opacity: 1;
}
}
:is(h1, h2, h3)::after {
pointer-events: none;
opacity: 0.5;
content: "";
position: absolute;
z-index: -1;
bottom: 0;
left: -4rem;
height: 4em;
width: 30rem;
max-width: 100%;
background: radial-gradient(
ellipse farthest-side at 50% 100%,
var(--c-highlight),
transparent
);
}
h1 {
margin-bottom: 0;
}
.header-meta {
margin-bottom: calc(0.75 * var(--s3));
display: flex;
flex-direction: row;
flex-wrap: wrap;
font-size: var(--s-1);
> * + *::before {
content: "-";
padding: 0 0.5ch;
}
}
:where(ol li) {
list-style-type: decimal;
& :where(ol li) {
list-style-type: lower-alpha;
& :where(ol li) {
list-style-type: upper-alpha;
}
}
}
main {
h1,
h2,
h3,
h4 {
clear: both;
margin-bottom: 0.25lh;
}
padding: 0 var(--inset);
}
h1 {
font-size: var(--s3);
}
h2 {
font-size: var(--s2);
}
h3 {
font-size: var(--s1);
}
a.header-anchor {
position: absolute;
transform: translateX(-100%);
left: -0.2ch;
opacity: 0;
transition: opacity ease-in 0.1s;
&::before {
content: "#";
}
&:focus-visible {
opacity: 1;
}
}
.item-summary {
margin-bottom: 1rem;
}
p > code {
display: inline-block;
font-family: "Commit Mono", monospace;
background-color: var(--c-text-background-light);
padding: 0.1em;
margin: -0.1em;
border-radius: 0.5em;
}
#isso-thread {
margin-top: 4rem !important;
}
.isso-textarea {
margin: 0 !important;
}
.isso-thread-heading {
color: inherit !important;
}

BIN
favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

BIN
favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1143
feed.xml Normal file

File diff suppressed because it is too large Load diff

16
fonts/ftaurebesh.css Normal file
View file

@ -0,0 +1,16 @@
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 500;
font-display: block;
src: url("/fonts/ftaurebesh-medium.woff2") format("woff2");
size-adjust: 125%;
}
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/fonts/ftaurebesh-bold.woff2") format("woff2");
size-adjust: 125%;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,16 @@
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 500;
font-display: block;
src: url("/fonts/ftaurebesh/ftaurebesh-medium.woff2") format("woff2");
size-adjust: 125%;
}
@font-face {
font-family: FTAurebesh;
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/fonts/ftaurebesh/ftaurebesh-bold.woff2") format("woff2");
size-adjust: 125%;
}

14
fonts/inter.css Normal file
View file

@ -0,0 +1,14 @@
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/InterVariable.woff2") format("woff2");
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/InterVariable-Italic.woff2") format("woff2");
}

Binary file not shown.

Binary file not shown.

14
fonts/inter/inter.css Normal file
View file

@ -0,0 +1,14 @@
@font-face {
font-family: Inter;
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/inter/InterVariable.woff2") format("woff2");
}
@font-face {
font-family: Inter;
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url("/fonts/inter/InterVariable-Italic.woff2") format("woff2");
}

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

150
index.html Normal file
View file

@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Hello! - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Hello!" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/" />
<meta name="twitter:title" content="Hello!" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Hello!</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<p>
Im Joshua Seigler, a software engineer since 2010 and a living being
since the 1980s. Ive watched technology advance from dial-up and
Geocities pages, to federated social media and decentralized autonomous
organizations. My professional focus is on front-end development for web
and mobile. See <a href="/about">/about</a> for more detail.
</p>
<p>
If youd like to connect,
<a href="mailto:joshua@seigler.net?subject=found+your+website"
>send me electronic mail</a
>
or <a href="/unoffice-hours">schedule a video chat</a>.
</p>
<h2>Posts</h2>
<ul class="collection">
<li>
<a href="/posts/tools-of-the-trade/">Tools of the trade</a>
<aside>May 15, 2025</aside>
<p>Some dev tools I recommend.</p>
</li>
<li>
<a href="/posts/thinking-machines/">Thinking machines</a>
<aside>April 24, 2025</aside>
<p>The computers will start thinking, and people will stop.</p>
</li>
<li>
<a href="/posts/site-design-updated/">Site design updated</a>
<aside>June 05, 2024</aside>
<p>New look, simpler tech.</p>
</li>
<li>
<a href="/posts/finally-a-coherent-worldview/"
>Finally, a Coherent Worldview</a
>
<aside>July 14, 2023</aside>
<p>Why did I think I could figure everything out on my own?</p>
</li>
<li>
<a href="/posts/embracing-mysticism/">Embracing Mysticism</a>
<aside>October 16, 2021</aside>
<p>
Society is moving from a materialistic era into a mystical one. I
describe my attempt to gain mystical proficiency.
</p>
</li>
<li>
<a href="/posts/">More posts&hellip;</a>
</li>
</ul>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

122
music/index.html Normal file
View file

@ -0,0 +1,122 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Music - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Music" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/music/" />
<meta name="twitter:title" content="Music" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/music/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="nav-active" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Music</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<p>
These are songs chanted during certain Eastern Orthodox services. I
transcribed them with MuseScore from multiple sources, scanned or sung.
</p>
<section>
<article class="item-summary">
<a href="/music/ingerul-a-strigat-varlaam-glasul-3.pdf"
>Îngerul a Strigat - Varlaam - glasul 3</a
>
<p class="item-summary-description"></p>
</article>
<article class="item-summary">
<a href="/music/it-is-truly-meet-macedonian.pdf"
>It Is Truly Meet - Macedonian</a
>
<p class="item-summary-description"></p>
</article>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

Binary file not shown.

Binary file not shown.

BIN
noise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

140
now/index.html Normal file
View file

@ -0,0 +1,140 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Now - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Now" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/now/" />
<meta name="twitter:title" content="Now" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/now/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="nav-active" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Now</h1>
<div class="header-meta"><date>June 7, 2025</date></div>
</header>
<main data-pagefind-body>
<p>
I live in Southbridge, Massachusetts since 2022, with my wife Sara and
our three cats. Were starting to get more integrated here. Im about to
start a new role, my third or fourth startup depending on how you count
it. Im active in
<a
href="https://www.stmichaelorthodox.com/"
target="_blank"
rel="noopener"
>a local church</a
>. I recently changed my mind about olives (I like them now).
</p>
<h2 id="goals" tabindex="-1">
<a class="header-anchor" href="#goals" aria-hidden="true"></a> Goals
</h2>
<ul>
<li>
Learn to love God and to love people. Simple but difficult, gradual.
</li>
<li>Drive success at my new job.</li>
<li>
Improve my back-end and infrastructure skills to eventually own the
“full-stack” label.
</li>
<li>Build a passive income stream.</li>
<li>
Explore non-tech career skills, in case the world gets even wierder
than it is today.
</li>
<li>
Participate in communities:
<ul>
<li>
Initiate and maintain connections with people around me (local
community, neighbors, etc).
</li>
<li>Connect with other web and software developers.</li>
</ul>
</li>
</ul>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
{"version":"1.3.0","languages":{"en":{"hash":"en_9a2180d3a5","wasm":"en","page_count":24}}}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,214 @@
:root {
--pagefind-ui-scale: 0.8;
--pagefind-ui-primary: #034AD8;
--pagefind-ui-fade: #707070;
--pagefind-ui-text: #393939;
--pagefind-ui-background: #ffffff;
--pagefind-ui-border: #eeeeee;
--pagefind-ui-tag: #eeeeee;
--pagefind-ui-border-width: 2px;
--pagefind-ui-border-radius: 8px;
--pagefind-ui-image-border-radius: 8px;
--pagefind-ui-image-box-ratio: 3 / 2;
--pagefind-ui-font: system, -apple-system, ".SFNSText-Regular",
"San Francisco", "Roboto", "Segoe UI", "Helvetica Neue",
"Lucida Grande", sans-serif;
}
[data-pfmod-hidden] {
display: none !important;
}
[data-pfmod-suppressed] {
opacity: 0 !important;
pointer-events: none !important;
}
[data-pfmod-sr-hidden] {
-webkit-clip: rect(0 0 0 0) !important;
clip: rect(0 0 0 0) !important;
-webkit-clip-path: inset(100%) !important;
clip-path: inset(100%) !important;
height: 1px !important;
overflow: hidden !important;
overflow: clip !important;
position: absolute !important;
white-space: nowrap !important;
width: 1px !important;
}
[data-pfmod-loading] {
color: var(--pagefind-ui-text);
background-color: var(--pagefind-ui-text);
border-radius: var(--pagefind-ui-border-radius);
opacity: 0.1;
pointer-events: none;
}
/* Input */
.pagefind-modular-input-wrapper {
position: relative;
}
.pagefind-modular-input-wrapper::before {
background-color: var(--pagefind-ui-text);
width: calc(18px * var(--pagefind-ui-scale));
height: calc(18px * var(--pagefind-ui-scale));
top: calc(23px * var(--pagefind-ui-scale));
left: calc(20px * var(--pagefind-ui-scale));
content: "";
position: absolute;
display: block;
opacity: 0.7;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
-webkit-mask-size: 100%;
mask-size: 100%;
z-index: 9;
pointer-events: none;
}
.pagefind-modular-input {
height: calc(64px * var(--pagefind-ui-scale));
padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));
background-color: var(--pagefind-ui-background);
border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
border-radius: var(--pagefind-ui-border-radius);
font-size: calc(21px * var(--pagefind-ui-scale));
position: relative;
appearance: none;
-webkit-appearance: none;
display: flex;
width: 100%;
box-sizing: border-box;
font-weight: 700;
}
.pagefind-modular-input::placeholder {
opacity: 0.2;
}
.pagefind-modular-input-clear {
position: absolute;
top: calc(2px * var(--pagefind-ui-scale));
right: calc(2px * var(--pagefind-ui-scale));
height: calc(60px * var(--pagefind-ui-scale));
border-radius: var(--pagefind-ui-border-radius);
padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));
color: var(--pagefind-ui-text);
font-size: calc(14px * var(--pagefind-ui-scale));
cursor: pointer;
background-color: var(--pagefind-ui-background);
border: none;
appearance: none;
}
/* ResultList */
.pagefind-modular-list-result {
list-style-type: none;
display: flex;
align-items: flex-start;
gap: min(calc(40px * var(--pagefind-ui-scale)), 3%);
padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));
border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
}
.pagefind-modular-list-result:last-of-type {
border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
}
.pagefind-modular-list-thumb {
width: min(30%,
calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));
max-width: calc(120px * var(--pagefind-ui-scale));
margin-top: calc(10px * var(--pagefind-ui-scale));
aspect-ratio: var(--pagefind-ui-image-box-ratio);
position: relative;
}
.pagefind-modular-list-image {
display: block;
position: absolute;
left: 50%;
transform: translateX(-50%);
font-size: 0;
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
border-radius: var(--pagefind-ui-image-border-radius);
}
.pagefind-modular-list-inner {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
margin-top: calc(10px * var(--pagefind-ui-scale));
}
.pagefind-modular-list-title {
display: inline-block;
font-weight: 700;
font-size: calc(21px * var(--pagefind-ui-scale));
margin-top: 0;
margin-bottom: 0;
}
.pagefind-modular-list-link {
color: var(--pagefind-ui-text);
text-decoration: none;
}
.pagefind-modular-list-link:hover {
text-decoration: underline;
}
.pagefind-modular-list-excerpt {
display: inline-block;
font-weight: 400;
font-size: calc(16px * var(--pagefind-ui-scale));
margin-top: calc(4px * var(--pagefind-ui-scale));
margin-bottom: 0;
min-width: calc(250px * var(--pagefind-ui-scale));
}
/* FilterPills */
.pagefind-modular-filter-pills-wrapper {
overflow-x: scroll;
padding: 15px 0;
}
.pagefind-modular-filter-pills {
display: flex;
gap: 6px;
}
.pagefind-modular-filter-pill {
display: flex;
justify-content: center;
align-items: center;
border: none;
appearance: none;
padding: 0 calc(24px * var(--pagefind-ui-scale));
background-color: var(--pagefind-ui-background);
color: var(--pagefind-ui-fade);
border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
border-radius: calc(25px * var(--pagefind-ui-scale));
font-size: calc(18px * var(--pagefind-ui-scale));
height: calc(50px * var(--pagefind-ui-scale));
cursor: pointer;
white-space: nowrap;
}
.pagefind-modular-filter-pill:hover {
border-color: var(--pagefind-ui-primary);
}
.pagefind-modular-filter-pill[aria-pressed="true"] {
border-color: var(--pagefind-ui-primary);
color: var(--pagefind-ui-primary);
}

File diff suppressed because one or more lines are too long

1
pagefind/pagefind-ui.css Normal file

File diff suppressed because one or more lines are too long

2
pagefind/pagefind-ui.js Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

9
pagefind/pagefind.js Normal file

File diff suppressed because one or more lines are too long

BIN
pagefind/wasm.en.pagefind Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,412 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Authority - Consent&#39;s Blind Spot - joshua.seigler.net</title>
<meta
name="description"
content="Authority is the idea that certain people are justified in violating consent. This belief allows people to force others to do what they want with a clear conscience."
/>
<meta property="og:title" content="Authority - Consent&#39;s Blind Spot" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/authority-consents-blind-spot/"
/>
<meta name="twitter:title" content="Authority - Consent&#39;s Blind Spot" />
<meta
name="twitter:description"
content="Authority is the idea that certain people are justified in violating consent. This belief allows people to force others to do what they want with a clear conscience."
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/authority-consents-blind-spot/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Authority - Consent&#39;s Blind Spot</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>July 2, 2020</date>
</div>
</header>
<main data-pagefind-body>
<blockquote>
<p>
2025 disclaimer: I havent thought through all these ideas in a while,
but I probably would change some of this or soften/rephrase it.
</p>
</blockquote>
<p>
Consent occurs when an individual voluntarily agrees to the proposal or
desires of another. It comes from the concept that who should decide
what happens to your person, is you.
</p>
<p>
There are two ways people interact: with consent, and without it. Some
people care a lot about consent, but overall, most take whichever route
is easiest, or more convenient.
</p>
<p>
People respect consent in most of their face-to-face dealings with
others. Violating someones consent in person is usually met with
resistance, possibly very strong resistance with a long-lasting impact.
But there are covert ways to violate consent, so that the target must
not notice the violation—or if they do notice, they must be unable to
determine who is to blame.
</p>
<p>
Pretty much everyone has had circumstances where they did something
because another person, or group of people, compelled their compliance.
Classic examples include paying taxes, being drafted, and avoiding
certain activities, beliefs, or substances.
</p>
<p>
Here are some popular excuses for violating consent that you may have
seen:
</p>
<blockquote>
<p>I am actually helping you.</p>
</blockquote>
<blockquote>
<p>
You like some of the things I do, so you must accept this as well.
</p>
</blockquote>
<blockquote>
<p>Everyone else lets me do this.</p>
</blockquote>
<blockquote>
<p>Everyone else said it was okay if I do this.</p>
</blockquote>
<blockquote>
<p>I am doing this, but someone else is responsible for my actions.</p>
</blockquote>
<blockquote>
<p>You agreed to this by being born here.</p>
</blockquote>
<blockquote>
<p>I am allowed to do this.</p>
</blockquote>
<p>
That last one combines all the others into one argument, called
authority. This is the idea that certain people are justified in
violating consent. Usually there is a vaguely religious ceremony
associated with the granting of authority—something like a holy
document, large gatherings of people, formal outfits, or important
sounding titles.
</p>
<p>
Sometimes consensual relationships are described as involving authority,
such as a boss at work having “authority” over an employee—but the
difference is clear: if the boss says to do something but the employee
no longer consents, they could exit that relationship.<br />
Sometimes people refer to an expert as an “authority” on a certain
matter, but this definition is also not of use here. I refer to
authority here as the ability to act upon anothers person, without
regard for consent.
</p>
<p>
One problem with authority is that all the people on earth are humans.
Theres nobody better than humans who would obviously deserve special
treatment, nor is there some obviously superior category of human, so
people expect some excuse for how an ordinary person obtains authority.
</p>
<p>
In certain belief systems, the excuse was “God chose me and made me
worthy.” Contemporarily, the claim is based on “the will of the people”.
Whoever wins a special regional popularity competition is considered to
have authority over everyone in that region, even people who disagree.
</p>
<p>
You would think acting on someone in a way they dont allow is
difficult, but people are impressed by ceremonies of authority, and they
are confused by the way everyone involved claims that their actions are
someone elses responsibility. Even if people manage to see through the
tricks they are usually still afraid to resist authority out of a belief
that nobody will help them. So almost everyone obeys.
</p>
<h2 id="solutions" tabindex="-1">
<a class="header-anchor" href="#solutions" aria-hidden="true"></a>
Solutions
</h2>
<p>Once you have seen through this trick, what can you do?</p>
<h3 id="look-for-ways-to-sidestep-authority-altogether." tabindex="-1">
<a
class="header-anchor"
href="#look-for-ways-to-sidestep-authority-altogether."
aria-hidden="true"
></a>
Look for ways to sidestep authority altogether.
</h3>
<p>
Since very few people accept <em>absolute</em> authority, there are all
kinds of limitations to its scope. If you can find ways to move your
activities to areas of life that are not “covered” by authority, you
will be able to ignore it more.
</p>
<ul>
<li>
<a
href="https://theconsciousresistance.com/wp-content/uploads/2020/01/How_to_Opt_Out_of_the_Technocratic_State.pdf"
target="_blank"
rel="noopener"
>How to Opt Out of the Technocratic State (PDF)</a
>
by Derrick Broze
</li>
<li>
<a
href="http://www.kopubco.com/pdf/An_Agorist_Primer_by_SEK3.pdf"
target="_blank"
rel="noopener"
>An Agorist Primer (PDF)</a
>
by Samuel Edward Konkin III
</li>
<li>
<a href="https://www.seasteading.org/" target="_blank" rel="noopener"
>The Seasteading Institute</a
>
</li>
</ul>
<h3
id="teach-other-people-how-to-see-these-tricks-more-clearly."
tabindex="-1"
>
<a
class="header-anchor"
href="#teach-other-people-how-to-see-these-tricks-more-clearly."
aria-hidden="true"
></a>
Teach other people how to see these tricks more clearly.
</h3>
<p>
Relatively few people claim to have authority. If even a moderate
fraction of people resist authoritarian demands, it becomes impossible
to compel them all by force.
</p>
<ul>
<li>
<a
href="https://www.youtube.com/playlist?list=PL4jzSARXHuuwhBfzGNYhSVE4gJ8zmRnTH"
target="_blank"
rel="noopener"
>Playlist: Thomasz Kaye Animations</a
>
</li>
<li>
<a href="https://fee.org/stories" target="_blank" rel="noopener"
>Foundation for Economic Education</a
>
</li>
</ul>
<h3 id="promote-alternatives-that-respect-consent." tabindex="-1">
<a
class="header-anchor"
href="#promote-alternatives-that-respect-consent."
aria-hidden="true"
></a>
Promote alternatives that respect consent.
</h3>
<p>
For every authority-based solution to a problem, there is a more
effective consensual solution, and usually the consensual way of doing
things is already being used somewhere, and has lower costs and better
outcomes.
</p>
<ul>
<li>
<a
href="http://daviddfriedman.com/The_Machinery_of_Freedom_.pdf"
target="_blank"
rel="noopener"
>The Machinery of Freedom (PDF)</a
>
<a
href="http://daviddfriedman.com/The_Machinery_of_Freedom.prc"
target="_blank"
rel="noopener"
>(Ebook)</a
>
<a
href="https://www.youtube.com/watch?v=jTYkdEU_B4o"
target="_blank"
rel="noopener"
>(Video)</a
>
by David D Friedman
</li>
</ul>
<h3 id="use-the-ceremonies-of-authority-against-itself." tabindex="-1">
<a
class="header-anchor"
href="#use-the-ceremonies-of-authority-against-itself."
aria-hidden="true"
></a>
Use the ceremonies of authority against itself.
</h3>
<p>
If someone with authority asks your opinion on some topic, steer them
away from choices that violate consent. It may even be appropriate to
support people who seek positions of authority if you believe they will
prevent it from being used, but dont be surprised if their encounter
with power changes their values.
</p>
<ul>
<li>
<a href="https://lp.org/" target="_blank" rel="noopener"
>Libertarian Party</a
>
</li>
</ul>
<h3
id="surround-yourself-with-people-who-care-about-consent."
tabindex="-1"
>
<a
class="header-anchor"
href="#surround-yourself-with-people-who-care-about-consent."
aria-hidden="true"
></a>
Surround yourself with people who care about consent.
</h3>
<p>
If you know the people around you care about consent, then when someone
claiming authority makes demands of the community, it will be much safer
to ignore the demands since you would not be alone.
</p>
<ul>
<li>
<a href="https://www.fsp.org/" target="_blank" rel="noopener"
>Free State Project</a
>
</li>
</ul>
<h2 id="additional-resources" tabindex="-1">
<a
class="header-anchor"
href="#additional-resources"
aria-hidden="true"
></a>
Additional Resources
</h2>
<ul>
<li>
<a
href="https://spot.colorado.edu/~huemer/1.htm"
target="_blank"
rel="noopener"
>The Problem of Political Authority (Chapter 1)</a
>
<a href="https://amzn.to/2AyQxw0" target="_blank" rel="noopener"
>(Amazon)</a
>
by Michael Huemer
</li>
<li>
<a
href="https://ia601208.us.archive.org/27/items/236222899TheMostDangerousSuperstitionLarkenRose2011/the-most-dangerous-superstition-larken-rose-20111.pdf"
target="_blank"
rel="noopener"
>The Most Dangerous Superstitition (PDF)</a
>
by Larken Rose
</li>
<li>
<a
href="http://bastiat.org/en/the_law.html"
target="_blank"
rel="noopener"
>The Law</a
>
by Frédéric Bastiat
</li>
</ul>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Embracing Mysticism - joshua.seigler.net</title>
<meta
name="description"
content="Society is moving from a materialistic era into a mystical one. I describe my attempt to gain mystical proficiency."
/>
<meta property="og:title" content="Embracing Mysticism" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/embracing-mysticism/"
/>
<meta name="twitter:title" content="Embracing Mysticism" />
<meta
name="twitter:description"
content="Society is moving from a materialistic era into a mystical one. I describe my attempt to gain mystical proficiency."
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/embracing-mysticism/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Embracing Mysticism</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>October 16, 2021</date>
</div>
</header>
<main data-pagefind-body>
<p>
Logical arguments no longer work. This has been especially visible in
the pandemic response in 2020. If you dug even a little below the
surface of any mainstream narrative in the past two years, you likely
found points of disagreement. But showing people scientific papers,
charts, statistical analysis, or other types of evidence accomplishes
nothing, or worse it invites accusations of being part of the Other
Team, one of those backwards, wrong, stupid people.
</p>
<p>
In mid-2020 Vin Armani (now Cyprian) started calling this change “The
Dim Age”<sup class="footnote-ref"
><a href="#footnote1">[1]</a
><a class="footnote-anchor" id="footnote-ref1"></a></sup
>. He suggested that most people still see the world as exclusively
physical, oblivious to patterns of reality that are plainly obvious to
more mystically aware people.
</p>
<p>
In an attempt to remedy my newfound illiteracy, I started exploring
symbolism, which as I understood it dealt with identifying and
understanding meaning. I found Jonathan Pageaus project
<a href="https://thesymbolicworld.com/" target="_blank" rel="noopener"
>The Symbolic World</a
>, which has some very accessible videos breaking down movies and other
pop culture artifacts from a symbolic perspective
<sup class="footnote-ref"
><a href="#footnote2">[2]</a
><a class="footnote-anchor" id="footnote-ref2"></a></sup
>. These commentaries did not seem arbitrary or speculative, but pointed
to cultural trends that I couldnt un-see once I understood them. I
binged a bunch more of his material, including eventually a book his
brother Mattheiu wrote,
<em>The Language of Creation: Cosmic Symbolism in Genesis</em
><sup class="footnote-ref"
><a href="#footnote3">[3]</a
><a class="footnote-anchor" id="footnote-ref3"></a></sup
>. Through this I discovered a side of reality I had been almost
completely oblivious to, and whats more, an aspect of my faith which
had somehow completely passed me by.
</p>
<p>
From there I started listening to the
<a
href="https://www.ancientfaith.com/podcasts/lordofspirits"
target="_blank"
rel="noopener"
>Lord of Spirits</a
>
podcast. I learned that commonplace, obvious understanding of existence
as material <em>and spiritual</em> has been mostly lost, displaced by
modern confidence that the material world is the limit of reality, over
which sovereign mankind rules. The ancient faith of Christianity, known
now as “Eastern Orthodoxy”, corresponds with reality, especially
spiritual patterns of reality as we see more plainly every week, better
than anything else I know.
</p>
<h2 id="additional-thoughts" tabindex="-1">
<a
class="header-anchor"
href="#additional-thoughts"
aria-hidden="true"
></a>
Additional thoughts
</h2>
<p>
For a while I think my highest values have been freedom and truth. A
desire to be solely responsible for myself, and a desire to understand
myself and the world fully and accurately. But I didnt realize that my
chief obstacle is hardly megacorps and governments: I am ruled by my own
out-of-control desires: for comfort, pleasure, control, satisfaction,
even self-mastery. In a paradise where my every whim was manifested, I
would still be a slave to desire, consuming and <em>wanting</em> more
and more.
</p>
<p>
Investigating eastern orthodoxy, this ancient Christianity, revealed a
better path to freedom and truth: aiming higher. Every action and choice
is in service to something. Instead of serving little tyrannical gods
like comfort or pleasure, or potentially nobler gods like a country or
even a “liberty movement”, I will attempt to serve the Most High.
</p>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="footnote1" class="footnote-item">
<p>
<a
href="https://freemanbeyondthewall.libsyn.com/episode-478"
target="_blank"
rel="noopener"
>Free Man Beyond The Wall episode 478: Weve Entered The Dim
Age</a
>
<a href="#footnote-ref1" class="footnote-backref">↩︎</a>
</p>
</li>
<li id="footnote2" class="footnote-item">
<p>
<a
href="https://thesymbolicworld.com/videos/symbolism-propaganda-in-popular-culture/"
target="_blank"
rel="noopener"
>Symbolism and Propaganda in Popular Culture</a
>,
<a
href="https://thesymbolicworld.com/videos/the-fall-of-loki-into-the-multiverse/"
target="_blank"
rel="noopener"
>The Fall of Loki (Into the Multiverse)</a
>
<a href="#footnote-ref2" class="footnote-backref">↩︎</a>
</p>
</li>
<li id="footnote3" class="footnote-item">
<p>
<a href="https://amzn.to/4iBOExr" target="_blank" rel="noopener"
>The Language of Creation: Cosmic Symbolism in Genesis: A
Commentary</a
>, ISBN 978-1981549337
<a href="#footnote-ref3" class="footnote-backref">↩︎</a>
</p>
</li>
</ol>
</section>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,148 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Finally, a Coherent Worldview - joshua.seigler.net</title>
<meta
name="description"
content="Why did I think I could figure everything out on my own?"
/>
<meta property="og:title" content="Finally, a Coherent Worldview" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/finally-a-coherent-worldview/"
/>
<meta name="twitter:title" content="Finally, a Coherent Worldview" />
<meta
name="twitter:description"
content="Why did I think I could figure everything out on my own?"
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/finally-a-coherent-worldview/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Finally, a Coherent Worldview</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>July 14, 2023</date>
</div>
</header>
<main data-pagefind-body>
<p>
Around the time of my previous post, I had just been received into the
Orthodox church. Since then I have found it to be everything I was
looking for, and a great deal more. There is such a wealth of wisdom,
going back thousands of years. And it was all there, un-seen, un-read,
as far as I was concerned not existing at all! It seems impossible to me
that I was so unaware of these treasures by chance.
</p>
<p>
Father Seraphim Rose, Saint Paisios, Saint Porphyrios, Elder Thaddeus of
Vitovnica - to name only a few! - lived in this world, recently. They
speak plainly and lovingly about modern and familiar concerns. Their
example and guidance are a priceless treasure! And not only they help
me, but participating in the tradition of the Orthodox Church has… I
dont even know how to say it all. I have experienced how the prodigal
son felt when he took a few trembling steps back to his father, and
instead of the rejection or anger he had earned, he received joyful,
unearned forgiveness. His father <em>ran</em> to him while he was still
far away!
</p>
<p>
Here is what I know, now from experience: Jesus Christ is life and truth
and love. To look for life, or truth, or love apart from Him is
pointless! Its a contradiction, like looking for light by marching into
the shadows. God made me, and He loves me more than I love myself.
Because this is true, I want to do everything His way, even if I dont
understand it at first.
</p>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

173
posts/index.html Normal file
View file

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Posts - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Posts" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/posts/" />
<meta name="twitter:title" content="Posts" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Posts</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<section>
<article class="item-summary">
<a href="/posts/tools-of-the-trade/">Tools of the trade</a>
<aside>May 15, 2025</aside>
<p class="item-summary-description">Some dev tools I recommend.</p>
</article>
<article class="item-summary">
<a href="/posts/thinking-machines/">Thinking machines</a>
<aside>April 24, 2025</aside>
<p class="item-summary-description">
The computers will start thinking, and people will stop.
</p>
</article>
<article class="item-summary">
<a href="/posts/site-design-updated/">Site design updated</a>
<aside>June 05, 2024</aside>
<p class="item-summary-description">New look, simpler tech.</p>
</article>
<article class="item-summary">
<a href="/posts/finally-a-coherent-worldview/"
>Finally, a Coherent Worldview</a
>
<aside>July 14, 2023</aside>
<p class="item-summary-description">
Why did I think I could figure everything out on my own?
</p>
</article>
<article class="item-summary">
<a href="/posts/embracing-mysticism/">Embracing Mysticism</a>
<aside>October 16, 2021</aside>
<p class="item-summary-description">
Society is moving from a materialistic era into a mystical one. I
describe my attempt to gain mystical proficiency.
</p>
</article>
<article class="item-summary">
<a href="/posts/needs-based-communication/"
>Needs-based communication</a
>
<aside>May 26, 2021</aside>
<p class="item-summary-description">
How to connect with others through shared human needs.
</p>
</article>
<article class="item-summary">
<a href="/posts/the-trivium-a-tool-for-learning-anything/"
>The Trivium: A Tool for Learning Anything</a
>
<aside>April 03, 2021</aside>
<p class="item-summary-description">
An ancient methodology for learning, which formed the basis of
classical education in the Middle Ages and Rennaisance.
</p>
</article>
<article class="item-summary">
<a href="/posts/authority-consents-blind-spot/"
>Authority - Consent&#39;s Blind Spot</a
>
<aside>July 02, 2020</aside>
<p class="item-summary-description">
Authority is the idea that certain people are justified in violating
consent. This belief allows people to force others to do what they
want with a clear conscience.
</p>
</article>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,301 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Needs-based communication - joshua.seigler.net</title>
<meta
name="description"
content="How to connect with others through shared human needs."
/>
<meta property="og:title" content="Needs-based communication" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/needs-based-communication/"
/>
<meta name="twitter:title" content="Needs-based communication" />
<meta
name="twitter:description"
content="How to connect with others through shared human needs."
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/needs-based-communication/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Needs-based communication</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>May 26, 2021</date>
</div>
</header>
<main data-pagefind-body>
<p>
Needs-based communication (usually called non-violent communication or
NVC™) is a way of understanding yourself and others with a unique
insight: everyone has their own personal reactions to the world, but
people have the same basic needs. We recognize those needs in other
people, and that common connection can allow us to communicate clearly
when there is conflict.
</p>
<p>
<strong>Needs</strong> are universal to humanity. They are common drives
that we all experience, and this universality makes them perfect for
connecting with each other. Some broad categories of needs are the needs
for: connection, physical well-being, honesty, play, peace, autonomy,
and meaning. Needs can also be specific: a need for clarity, nurturing,
integrity, trust, space, etc. Needs are abstract, not connected to
people or actions. For example, peace is a need, muting TV commercials
is not. Here is
<a
href="https://www.cnvc.org/training/resource/needs-inventory"
target="_blank"
rel="noopener"
>a partial list of needs</a
>
from the Center for Non-Violent Communication (CNVC).
</p>
<p>
Everything <em>anyone</em> does is an attempt to meet a need. None of
these universal needs is wrong or inherently harmful, although sometimes
the strategies we use can be.
</p>
<p>
<strong>Conflict</strong> happens when our needs arent met. We get
stuck in conflict when we mix up needs and strategies. Needs never
conflict with each other, only strategies do.
</p>
<p>
When we experience conflict or negative feelings, that indicates that
there is an unmet need. In an attempt to end a conflict, we often settle
on unsatisfying resolutions:
</p>
<ol>
<li>
We suppress the need and move on, painfully leaving the problem
unaddressed.
</li>
<li>
We come to an uneasy agreement about who is the winner and who is the
loser, and the loser gives up on meeting their need. The immediate
conflict is over, but the problem is not really resolved.
</li>
<li>
We escalate, expanding the conflict in an attempt to win, at the
others expense if necessary.
</li>
</ol>
<p>
These resolutions can happen despite our best intentions, as a result of
not understanding whats happening as we fight. A very common mistake is
to confuse needs and strategies.
</p>
<p>
<strong>Strategies</strong> are things we do to meet our needs. In
contrast to needs, which are abstract and universal, strategies are
personal, specific, and widely varied.
</p>
<p>
For example, consider the need for self-expression. There are as many
strategies as there are people and situations: singing, writing,
talking, composing, dressing a certain way… and on and on.
</p>
<p>
Jumping into a conflict strategy-first is bound to cause problems if
that strategy doesnt meet others needs as well as your own. The way
past conflict is for everyone involved to understand each others needs,
and <em>then</em> work together to find a strategy to meet those needs.
</p>
<p>So, <strong>how do you figure out your own needs?</strong></p>
<p>
Negative feelings are a sign that you have an unmet need. Unfortunately,
most of us have learned to bundle in certain judgments and name them as
feelings. For example, I might think I am feeling <em>abandoned</em>,
but really this is a feeling of disconnectedness, vulnerability,
loneliness, or something else, combined with a judgment that someone
else has made me feel that way.
</p>
<p>
The truth is that the same situation can affect people very differently.
This means that feelings must come from a persons own response to
things. In order to see your feelings clearly, it is important to take
ownership of them as <em>your</em> feelings rather than something caused
by the world around you. I have found this to be very challenging, but
also incredibly rewarding.
</p>
<p>
Once you have an honest name for what you are feeling, think about what
need sparked the feeling.
</p>
<p>
There is a (kind of clunky) formula for requesting help meeting a need
without tacking on strategies, demands, judgments, or other baggage. As
the exercise becomes more habitual, you wont need the formula, and can
accomplish the same thing more naturally.
</p>
<p>Here it is:</p>
<blockquote>
<p>
When <em>[observation]</em>, I felt <em>[feeling]</em> because I was
having a need for <em>[need]</em>. (possibly also a request:) Are you
willing to <em>[action]</em>?
</p>
</blockquote>
<p>
In the spirit of communicating without judgments, the observation should
be strictly focused on facts, with no mind-reading or attribution at
all. Sharing your feelings in addition to the need can help the other
person recognize the need and how it affects you. If the other person
understands the need, you can also make a request for some specific
action to help meet your need.
</p>
<p>
It is very important that the action you request be feasible, concrete,
and specific. Asking someone to change their behavior forever, think a
certain way, etc is too much. The request should also really, truly be a
request and not a demand. A “No!” should be as welcome as a “Yes!”
because the goal is to find a strategy that meets your needs
<em>and</em> theirs.
</p>
<p>
There is a (similarly clunky) pattern for discovering someone elses
needs. As you listen to them, you will probably get an idea for how they
feel, and you may be able to guess what need they are experiencing. You
can ask:
</p>
<blockquote>
<p>
When you <em>[observation]</em> do you feel <em>[feeling]</em> because
you are having a need for <em>[need]</em>? (possibly also:) Right now,
would you like me to <em>[action]</em>?
</p>
</blockquote>
<p>
Like the other formula, this is just a beginning point, almost too rough
to use except for training your responses and replacing old
communication habits.
</p>
<p>
These are two sides of the same coin, a pattern that draws a line from
the stimulus, some observation, through the needs, towards a solution.
Even if you guess wrong, just focusing on someones feelings and needs
demonstrates that you are really interested in their problem.
</p>
<p>
Even without explicitly using this pattern (observation ➔ feeling ➔ need
➔ request), just by thinking about needs (your own and others) you can
untangle conflict and see other people with much more empathy. Maybe
that reckless driver is having a need for excitement and power, and
zipping around you was the best strategy they could come up with. Just
seeing past the image of others as enemies or obstacles can make the
world much less hostile, by revealing them to be real humans, people you
might be able to connect with. This way of thinking can also be a path
to growth as you take ownership of your feelings and see your needs
clearly.
</p>
<p>Some resources for exploring these ideas more:</p>
<ul>
<li>
<a href="http://www.therightword.info/" target="_blank" rel="noopener"
>The Right Words and Beyond</a
>
</li>
<li>
<a href="https://amzn.to/44cpIsV" target="_blank" rel="noopener"
>Nonviolent Communication: A Language of Life</a
>, ISBN 189200528X
</li>
<li>
<a href="https://www.cnvc.org/" target="_blank" rel="noopener"
>The Center for Nonviolent Communication</a
>
</li>
</ul>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Site design updated - joshua.seigler.net</title>
<meta name="description" content="New look, simpler tech." />
<meta property="og:title" content="Site design updated" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/site-design-updated/"
/>
<meta name="twitter:title" content="Site design updated" />
<meta name="twitter:description" content="New look, simpler tech." />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/site-design-updated/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Site design updated</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>June 5, 2024</date>
</div>
</header>
<main data-pagefind-body>
<p>
New design! The tools I used before have a lot of unmaintained or
outdated dependencies and I wanted something a little simpler. The new
site uses
<a href="https://pnpm.io/" target="_blank" rel="noopener">pnpm</a>,
<a href="https://www.11ty.dev/" target="_blank" rel="noopener">11ty</a>,
and
<a
href="https://mozilla.github.io/nunjucks/"
target="_blank"
rel="noopener"
>Nunjucks</a
>. Content is still in
<a
href="https://daringfireball.net/projects/markdown/"
target="_blank"
rel="noopener"
>markdown</a
>.
</p>
<p>
One thing Im proud of is a visual ping for footnotes.<sup
class="footnote-ref"
><a href="#footnote1">[1]</a
><a class="footnote-anchor" id="footnote-ref1"></a
></sup>
When you click a footnote<sup class="footnote-ref"
><a href="#footnote2">[2]</a
><a class="footnote-anchor" id="footnote-ref2"></a
></sup>
it briefly highlights the thing you jumped to.
</p>
<p>
In the upper right I added a style toggle that applies the font from
Star Wars, “Aurebesh”. I learned how to read it but sometimes want some
practice.
<span data-language="aurebesh"
>People who can read this are cool and I like them.</span
>
</p>
<p>I also finally made a section for recipes!</p>
<blockquote>
<p>
May 2025 edit: I updated the design some more without changing the
tech stack. The main improvements are animated clouds and a host of
minor adjustments.
</p>
</blockquote>
<blockquote>
<p>
June 2025 edit: I have continued to alter the design. Pray I dont
alter it any further.
</p>
</blockquote>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="footnote1" class="footnote-item">
<p>
It highlights when you click back, too.
<a href="#footnote-ref1" class="footnote-backref">↩︎</a>
</p>
</li>
<li id="footnote2" class="footnote-item">
<p>Hi. <a href="#footnote-ref2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>
The Trivium: A Tool for Learning Anything - joshua.seigler.net
</title>
<meta
name="description"
content="An ancient methodology for learning, which formed the basis of classical education in the Middle Ages and Rennaisance."
/>
<meta
property="og:title"
content="The Trivium: A Tool for Learning Anything"
/>
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/the-trivium-a-tool-for-learning-anything/"
/>
<meta
name="twitter:title"
content="The Trivium: A Tool for Learning Anything"
/>
<meta
name="twitter:description"
content="An ancient methodology for learning, which formed the basis of classical education in the Middle Ages and Rennaisance."
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body
data-font="english"
data-path="/posts/the-trivium-a-tool-for-learning-anything/"
>
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>The Trivium: A Tool for Learning Anything</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>April 3, 2021</date>
</div>
</header>
<main data-pagefind-body>
<p>
Information today has become siloed. Its a common belief that little,
if any, expertise from one field of knowledge transfers over to other
fields. But there is a forgotten tool that anyone can use to confidently
approach new subjects and problems: the <em>Trivium</em>.
</p>
<p>
The ancients considered the liberal arts to be composed of seven parts.
First was a foundation called the <em>trivium</em>, composed of grammar,
logic, and rhetoric. Following that was the <em>quadrivium</em>, which
was arithmetic, geometry, music, and astronomy (numbers, numbers in
space, numbers in time, numbers in time and space). The trivium
(literally, “three ways”), is a framework for learning.
</p>
<h2 id="grammar" tabindex="-1">
<a class="header-anchor" href="#grammar" aria-hidden="true"></a> Grammar
</h2>
<p>
Grammar is about gaining knowledge: collecting information, without
judgment or analysis. It answers the questions “Who, what, where, and
when?” This is possibly the most important step, since (depending on
what you study) essential information may not be readily available.
</p>
<h2 id="logic" tabindex="-1">
<a class="header-anchor" href="#logic" aria-hidden="true"></a> Logic
</h2>
<p>
Logic is about gaining understanding. It answers “why?” This is the
foundation for relating to the world. It has three components:
filtration, correlation, and analysis. It places the information
gathered into context, and eliminates inconsistency and resolves
conflicting perspectives.
</p>
<h2 id="rhetoric" tabindex="-1">
<a class="header-anchor" href="#rhetoric" aria-hidden="true"></a>
Rhetoric
</h2>
<p>
Rhetoric is about acting wisely: the application of knowledge and
understanding, put into correct action. It answers “how?”
</p>
<p>
Methodically applying this method provides a clear next step when
encountering any unfamiliar topic. This is a powerful tool for
methodically determining the best way to achieve your goals.
</p>
<h2 id="resources" tabindex="-1">
<a class="header-anchor" href="#resources" aria-hidden="true"></a>
Resources
</h2>
<ul>
<li>
<a
href="https://triviumbinder.blogspot.com/"
target="_blank"
rel="noopener"
>Trivium Binder Project</a
>
</li>
<li>
<a
href="http://www.scribd.com/doc/59477946/Trivium-Method-of-Critical-Thinking-and-Creative-Problem-Solving"
target="_blank"
rel="noopener"
>Tragedy and Hope: Five page summary of the Trivium</a
>
</li>
<li>
<a
href="https://www.scribd.com/document/33744483/Trivium-Method-of-Thinking-vs-Other-Methodologies"
target="_blank"
rel="noopener"
>Shadows of the trivium in narrow disciplines</a
>
</li>
</ul>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Thinking machines - joshua.seigler.net</title>
<meta
name="description"
content="The computers will start thinking, and people will stop."
/>
<meta property="og:title" content="Thinking machines" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/thinking-machines/"
/>
<meta name="twitter:title" content="Thinking machines" />
<meta
name="twitter:description"
content="The computers will start thinking, and people will stop."
/>
<meta
property="og:image"
content="https://joshua.seigler.net/2025-04-24--computers-will-start-thinking.jpg?v=72b55e6fa16c"
/>
<meta
name="twitter:image"
content="https://joshua.seigler.net/2025-04-24--computers-will-start-thinking.jpg?v=72b55e6fa16c"
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/thinking-machines/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Thinking machines</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>April 24, 2025</date>
</div>
</header>
<main data-pagefind-body>
<p>
Theres an exchange early in the classic '80s movie TRON. Some
scientists are talking shop:
</p>
<p>
<img
src="/2025-04-24--computers-will-start-thinking.jpg?v=72b55e6fa16c"
alt="Still from TRON, left to right Linda, Alan, and Gibbs, in conversation."
/>
</p>
<blockquote>
<p>
<strong>ALAN:</strong> I tell ya, ever since he got that Master
Control Program, systems got more bugs than a bait store.
</p>
<p>
<strong>GIBBS:</strong> Ehh, you gotta expect some static. After all,
computers are just machines, they cant think…
</p>
<p><strong>ALAN:</strong> Programs will be thinking <em>soon</em>.</p>
<p>
<strong>GIBBS:</strong> (wryly) Hahaha, wont that be grand
<em
>computers and the programs will start thinking, and the people will
stop!</em
>
</p>
</blockquote>
<p>
Gibbs has a point. The modern vision of a utopian future is one where
work is relieved, and people are free to pursue leisure, or exercise
their creativity with art, writing, and poetry. Thinking computers are
here now, in the form of “large language models” (LLMs) like ChatGPT.
Setting aside the irony that creative works are the first and most
visible applications of LLM technology is that imagined future
actually a good one?
</p>
<h2 id="mom-is-always-right" tabindex="-1">
<a
class="header-anchor"
href="#mom-is-always-right"
aria-hidden="true"
></a>
Mom is always right
</h2>
<p>
When I was a kid, I remember a day going to yard sales with my mom in
the family minivan. It was early summer, a hot day. The windows were
down, and I complained that if the vehicle has good air conditioning, we
should use it. What was the point in getting all hot? “To get used to
the warm weather,” came the answer. What an injustice! We were sweating
back there! Later in life, I took a short trip to Arizona in August.
Everyone scurried from building to building. Where the sun was doubled,
reflected off of glass skyscrapers, the temperature jump was alarming.
It was actually unsafe to spend long stretches outside unprepared. But
when I returned to Massachusetts, for the rest of the summer 85 or 90
degrees Fahrenheit felt like nothing.
</p>
<p>
All that to say, the work that LLM technology offers to relieve isnt
just about achieving a result. The effort maintains and builds our
abilities. Work pushes us to connect to each other for help, or to
persevere in doing something difficult. Outsourcing that work eventually
means losing the ability to do it yourself.
</p>
<h2 id="attention-must-be-paid" tabindex="-1">
<a
class="header-anchor"
href="#attention-must-be-paid"
aria-hidden="true"
></a>
Attention must be paid
</h2>
<p>
Simply put, an LLM is a document completion engine. You give it text,
and it extends it. The result doesnt have to be true, it just has to be
convincing. No amount of pre-training or guard rails will make it
truthful. It does often say true things, but thats not the point, its
more of a happy accident.
</p>
<p>
Because they are built from essentially the whole public internet, LLMs
also have a strong connection to The Algorithm. Algorithms that run
social media feeds and online advertising are designed to attract human
attention, a precious thing. Social media algorithms and LLMs are
oriented towards capturing that attention. The foundational LLM paper is
even called, “Attention is all you need”. A prescient title. LLM
intelligence is not like ours. It cant know what its like to be a
human.
</p>
<p>
If this was a person, someone who wanted your attention and had this
kind of indifference towards truth, they would be considered a con-man
or bullshitter.
<span class="aside"
><a
href="https://archive.org/details/on-bullshit-by-harry-frankfurt"
target="_blank"
rel="noopener"
>On Bullshit</a
>, <em>Harry Frankfurt</em></span
>
Untrustworthy.
</p>
<h2 id="don%E2%80%99t-create-the-torment-nexus" tabindex="-1">
<a
class="header-anchor"
href="#don%E2%80%99t-create-the-torment-nexus"
aria-hidden="true"
></a>
Dont create the torment nexus
</h2>
<p>
LLMs clearly manifest a type of intelligence. Sure, its “just” some
linear algebra and a ton of data. But it does exhibit a type of
intelligence. One without empathy.
<span class="aside"
><a
href="https://apnews.com/article/chatbot-ai-lawsuit-suicide-teen-artificial-intelligence-9d48adc572100822fdbc3c90d1456bd0"
target="_blank"
rel="noopener"
>AI chatbot pushed teen to kill himself, lawsuit alleges</a
>, <em>AP News</em><br />
<a
href="https://www.brusselstimes.com/430098/belgian-man-commits-suicide-following-exchanges-with-chatgpt"
target="_blank"
rel="noopener"
>Belgian man dies by suicide following exchanges with chatbot</a
>, <em>Brussels Times</em><br />
<a
href="https://www.rollingstone.com/culture/culture-features/ai-spiritual-delusions-destroying-human-relationships-1235330175/"
target="_blank"
rel="noopener"
>AI-Fueled Spiritual Delusions Are Destroying Human Relationships</a
>, <em>Rolling Stone</em></span
>
Not being human, it <em>cant</em> have empathy—and intelligence without
empathy can be dangerous.
</p>
<p>
Science fiction is littered with cautionary tales about inhuman
intelligence. For that matter, so is myth: genies give people whatever
they want, but because people have self-destructive desires (like the
desire to avoid work), it goes wrong. In TRON, Infocom has the MCP
(Master Control Program), an overgrown chess program that is given
access to whatever information it can consume, until its intelligence
and capabilities are seemingly endless. The company leadership comes to
rely on the program so completely that it becomes their entire interface
for understanding and operating the business. There is also the irony
that Infocoms success was built on the misuse of intellectual property,
much as LLM companies have done
<span class="aside"
><a
href="https://sites.usc.edu/iptls/2025/02/04/ai-copyright-and-the-law-the-ongoing-battle-over-intellectual-property-rights/"
target="_blank"
rel="noopener"
>AI, Copyright, and the Law: The Ongoing Battle Over Intellectual
Property Rights </a
>, <em>IP &amp; Technology Law Society</em><br />
<a
href="https://hbr.org/2023/04/generative-ai-has-an-intellectual-property-problem"
target="_blank"
rel="noopener"
>Generative AI Has an Intellectual Property Problem</a
>, <em>Harvard Business Review</em></span
>.
</p>
<p>
I dont think I am wise enough to safely use a genie in a bottle. And I
dont want to outsource my creative efforts to an addictive,
bullshitting alien intellect, even if it might save time and effort in
the short term.
</p>
<p><img src="/2025-04-24--end-of-line.jpg?v=5d7188be78de" alt="End of line" /></p>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,224 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Tools of the trade - joshua.seigler.net</title>
<meta name="description" content="Some dev tools I recommend." />
<meta property="og:title" content="Tools of the trade" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/posts/tools-of-the-trade/"
/>
<meta name="twitter:title" content="Tools of the trade" />
<meta name="twitter:description" content="Some dev tools I recommend." />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/posts/tools-of-the-trade/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="nav-active" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Tools of the trade</h1>
<div class="header-meta">
<author>Joshua Seigler</author><date>May 15, 2025</date>
</div>
</header>
<main data-pagefind-body>
<p>
Everyone has different tools that they find especially effective. Here
are some I have found with a few words about why I like them.
</p>
<blockquote>
<p>
Update: I made a <a href="/uses">/uses</a> page that lists these tools
and many others I like.
</p>
</blockquote>
<h3 id="mise-en-place" tabindex="-1">
<a class="header-anchor" href="#mise-en-place" aria-hidden="true"></a>
<a href="https://mise.jdx.dev/" target="_blank" rel="noopener"
>mise-en-place</a
>
</h3>
<p>
Universal dev tool version manager. Specify tool versions in a config
file and this tool can ensure that they are installed and active when
entering the project directory. Amazing for getting a new dev
environment set up in seconds. Replaces <code>asdf</code>,
<code>nvm</code>, <code>pyenv</code>, <code>venv</code>,
<code>rbenv</code>, and many other tool-specific version managers.
Supports an incredible number of tools thanks to compatibility with
<code>asdf</code>.
</p>
<p>
It also supports installing specific global tools, like
<code>angular-cli</code> from <code>npm</code>, or
<code>stack-pr</code> from <code>pipx</code>.
</p>
<h3 id="stack-pr" tabindex="-1">
<a class="header-anchor" href="#stack-pr" aria-hidden="true"></a>
<a
href="https://github.com/modular/stack-pr"
target="_blank"
rel="noopener"
>stack-pr</a
>
</h3>
<p>
Open source tool for
<a href="https://www.stacking.dev/" target="_blank" rel="noopener"
>stacking PRs</a
>.
</p>
<p>
PR stacks are, as far as I can tell, the best way to manage large
features in git. I first heard about this practice in a series of blog
posts from Graphite, a company offering free PR-stacking software and
related paid services. But you dont need a custom CI flow or managed
service for stacking to work - this CLI tool or one of the others at
<a href="https://www.stacking.dev/" target="_blank" rel="noopener"
>stacking.dev</a
>
can take care of this.
</p>
<p>
If you start using PR stacks your whole company will start copying you.
</p>
<h3 id="xc" tabindex="-1">
<a class="header-anchor" href="#xc" aria-hidden="true"></a>
<a href="https://xcfile.dev/" target="_blank" rel="noopener">xc</a>
</h3>
<p>Markdown based task runner.</p>
<p>
Define tasks in code blocks in markdown, and call them from the CLI.
Serves as both task definition and documentation.
</p>
<h3 id="pd2slack" tabindex="-1">
<a class="header-anchor" href="#pd2slack" aria-hidden="true"></a>
<a
href="https://github.com/sidpremkumar/pd2slack"
target="_blank"
rel="noopener"
>pd2slack</a
>
</h3>
<p>
Simple python script to update the members of a Slack group such as
<code>@oncall</code> to match the active member(s) of a PagerDuty
schedule. This replaces several expensive SAAS services.
</p>
<h3 id="syncthing" tabindex="-1">
<a class="header-anchor" href="#syncthing" aria-hidden="true"></a>
<a href="https://syncthing.net/" target="_blank" rel="noopener"
>SyncThing</a
>
</h3>
<p>
P2P alternative to Dropbox, supports mobile and desktop. Synchronize
folders of content across all my devices.
</p>
<h3 id="obsidian" tabindex="-1">
<a class="header-anchor" href="#obsidian" aria-hidden="true"></a>
<a href="https://obsidian.md/" target="_blank" rel="noopener"
>Obsidian</a
>
</h3>
<p>
For notes and reference. Sync across devices with
<code>syncthing</code>.
</p>
<h3 id="keepassxc" tabindex="-1">
<a class="header-anchor" href="#keepassxc" aria-hidden="true"></a>
<a href="https://keepassxc.org/" target="_blank" rel="noopener"
>KeePassXC</a
>
</h3>
<p>For passwords. Sync across devices with <code>syncthing</code>.</p>
<script
data-isso="//comments.apps.seigler.net/"
src="//comments.apps.seigler.net/js/embed.min.js"
></script>
<section id="isso-thread" data-title="">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Corn Casserole - joshua.seigler.net</title>
<meta
name="description"
content="An easy sweet cornbread casserole with a vegan variation"
/>
<meta property="og:title" content="Corn Casserole" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/recipes/corn-casserole/"
/>
<meta name="twitter:title" content="Corn Casserole" />
<meta
name="twitter:description"
content="An easy sweet cornbread casserole with a vegan variation"
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/corn-casserole/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Corn Casserole</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<h2 id="ingredients" tabindex="-1">
<a class="header-anchor" href="#ingredients" aria-hidden="true"></a>
Ingredients
</h2>
<ul>
<li>1 can of corn drained</li>
<li>1 can of creamed corn</li>
<li>1 stick melted butter 1/2 cup</li>
<li>1 box of Jiffy Corn Muffin mix</li>
<li>1 cup sour cream</li>
</ul>
<h2 id="instructions" tabindex="-1">
<a class="header-anchor" href="#instructions" aria-hidden="true"></a>
Instructions
</h2>
<ol>
<li>Preheat the oven to 350 degrees.</li>
<li>
In a bowl, mix all of the ingredients together in order, then pour
into a greased 8&quot;x8&quot; baking pan.
</li>
<li>Cook uncovered for 45-50 minutes or until lightly browned.</li>
</ol>
<h2 id="notes" tabindex="-1">
<a class="header-anchor" href="#notes" aria-hidden="true"></a> Notes
</h2>
<p>
Vegan substitutions: almond milk instead of sour cream, vegetable butter
or neutral oil instead of butter. Made this way, the result will be less
bready but still excellent. Increase cooking time slightly.
</p>
<p>
Doubling: if the pan size makes the uncooked mix more than about an inch
deep, you will need extra cooking time. Cover it with foil and cook
another 20 minutes or so.
</p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,184 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Creamy Chicken Orzo - joshua.seigler.net</title>
<meta
name="description"
content="Rich and comforting chicken and pasta dish"
/>
<meta property="og:title" content="Creamy Chicken Orzo" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/recipes/creamy-chicken-orzo/"
/>
<meta name="twitter:title" content="Creamy Chicken Orzo" />
<meta
name="twitter:description"
content="Rich and comforting chicken and pasta dish"
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/creamy-chicken-orzo/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Creamy Chicken Orzo</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<h2 id="ingredients" tabindex="-1">
<a class="header-anchor" href="#ingredients" aria-hidden="true"></a>
Ingredients
</h2>
<ul>
<li>2 Boneless Skinless Chicken Breasts, cooked and diced</li>
<li>8 ounces Orzo Pasta</li>
<li>2 Celery Stalks, finely diced</li>
<li>2 Carrots, finely diced</li>
<li>1/2 Yellow Onion, finely diced</li>
<li>5 tablespoons Butter</li>
<li>2 tablespoons Olive Oil</li>
<li>2 cups Chicken Broth</li>
<li>½ cup Heavy Whipping Cream</li>
<li>1 teaspoon Chicken Boullion Powder</li>
<li>1/3 cup All Purpose Flour</li>
</ul>
<h2 id="instructions" tabindex="-1">
<a class="header-anchor" href="#instructions" aria-hidden="true"></a>
Instructions
</h2>
<ol>
<li>Cook the orzo per the package instructions.</li>
<li>
While that cooks, make a mirepoix:
<ol>
<li>
In a large skillet over medium high heat add the butter and olive
oil.
</li>
<li>
Once the butter is melted add in the diced onion, carrots and
celery.
</li>
<li>
Allow the veggies to sauté for 4-5 minutes until they start to
soften up.
</li>
</ol>
</li>
<li>
Reduce the heat to low and sprinkle the all-purpose flour over the
veggies and whisk together until it forms a paste/roux. While stirring
constantly, allow the roux to cook for 2-3 minutes.
</li>
<li>
Pour into the roux the chicken broth and heavy whipping cream. Whisk
together until no clumps are present and the mixture starts to
thicken.
</li>
<li>
Add in the diced chicken and allow the mixture to simmer until it
reaches desired thickness. Pour in drained orzo and stir to combine.
Serve &amp; enjoy!
</li>
</ol>
<h2 id="notes" tabindex="-1">
<a class="header-anchor" href="#notes" aria-hidden="true"></a> Notes
</h2>
<p>
You can use rotisserie chicken or cook your own chicken for this recipe.
If you use a rotisserie chicken then no additional seasonings are
needed, but if you are planning to cook your own chicken then you will
need to season it to your liking. I typically use a blend of onion
powder, garlic powder, paprika, salt and black pepper.
</p>
<p>
Original recipe from
<a
href="https://cookingwithkatiecross.com/creamy-chicken-pot-pie-orzo/"
target="_blank"
rel="noopener"
>Cooking with Katie Cross</a
>
</p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

157
recipes/index.html Normal file
View file

@ -0,0 +1,157 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Recipes - joshua.seigler.net</title>
<meta name="description" content="" />
<meta property="og:title" content="Recipes" />
<meta property="og:type" content="" />
<meta property="og:url" content="https://joshua.seigler.net/recipes/" />
<meta name="twitter:title" content="Recipes" />
<meta name="twitter:description" content="" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Recipes</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<p>My most-made or most-requested recipes:</p>
<section>
<article class="item-summary">
<a href="/recipes/pasta-rosatella/">Pasta Rosatella</a>
<p class="item-summary-description">Cheap, rich, and easy pasta</p>
</article>
<article class="item-summary">
<a href="/recipes/creamy-chicken-orzo/">Creamy Chicken Orzo</a>
<p class="item-summary-description">
Rich and comforting chicken and pasta dish
</p>
</article>
<article class="item-summary">
<a href="/recipes/perfect-homemade-brownies/"
>Perfect Homemade Brownies</a
>
<p class="item-summary-description">
Decadent brownies made from scratch
</p>
</article>
<article class="item-summary">
<a href="/recipes/spanish-style-rice/">Spanish Style Rice</a>
<p class="item-summary-description">
One-pan restaurant style spanish rice
</p>
</article>
<article class="item-summary">
<a href="/recipes/luther-salad/">Luther Salad</a>
<p class="item-summary-description">Simple italian pasta salad</p>
</article>
<article class="item-summary">
<a href="/recipes/sloppy-joes/">Sloppy Joes</a>
<p class="item-summary-description">
A summertime favorite, great over hot dogs
</p>
</article>
<article class="item-summary">
<a href="/recipes/corn-casserole/">Corn Casserole</a>
<p class="item-summary-description">
An easy sweet cornbread casserole with a vegan variation
</p>
</article>
</section>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,185 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Luther Salad - joshua.seigler.net</title>
<meta name="description" content="Simple italian pasta salad" />
<meta property="og:title" content="Luther Salad" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/recipes/luther-salad/"
/>
<meta name="twitter:title" content="Luther Salad" />
<meta name="twitter:description" content="Simple italian pasta salad" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/luther-salad/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Luther Salad</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<h2 id="ingredients" tabindex="-1">
<a class="header-anchor" href="#ingredients" aria-hidden="true"></a>
Ingredients
</h2>
<ul>
<li>1 lb tri-color rotini</li>
<li>italian dressing</li>
<li>
extras
<ul>
<li>cubed low-moisture mozzarella</li>
<li>frozen peas</li>
<li>shredded chicken</li>
</ul>
</li>
</ul>
<h2 id="instructions" tabindex="-1">
<a class="header-anchor" href="#instructions" aria-hidden="true"></a>
Instructions
</h2>
<ol>
<li>
Cook rotini in well salted water according to box directions. While
rotini cooks, prepare your extras.
</li>
<li>
Drain pasta and rinse twice in cold water to remove starch and stop
carryover cooking.
</li>
<li>
In a large bowl combine rotini and extras. Add italian dressing, at
least 8 oz. Mix and serve or refrigerate.
</li>
</ol>
<h2 id="notes" tabindex="-1">
<a class="header-anchor" href="#notes" aria-hidden="true"></a> Notes
</h2>
<p>
At first we called this “worm salad” but this proved off-putting, and we
needed a new name. We had recently learned about the
<a
href="https://en.wikipedia.org/wiki/Diet_of_Worms"
target="_blank"
rel="noopener"
>1521 Diet of Worms</a
>
where Martin Luther was summoned to defend or recant his beliefs, so we
called it “Luther salad” instead.
</p>
<p>
The base salad already covers elements of
<a
href="https://www.saltfatacidheat.com/"
target="_blank"
rel="noopener"
>salt, fat, acid, and heat</a
>, so your extras are mostly for texture, leaving lots of room for
variations:
</p>
<h3 id="vegan-%2F-healthy%3A" tabindex="-1">
<a
class="header-anchor"
href="#vegan-%2F-healthy%3A"
aria-hidden="true"
></a>
Vegan / healthy:
</h3>
<ul>
<li>halved cherry tomatoes</li>
<li>slivered sweet peppers</li>
<li>paysanne cucumber</li>
</ul>
<h3 id="italian%3A" tabindex="-1">
<a class="header-anchor" href="#italian%3A" aria-hidden="true"></a>
Italian:
</h3>
<ul>
<li>halved cherry tomatoes</li>
<li>sliced black olives, drained</li>
<li>cubed cheese</li>
<li>chopped pepperoni</li>
</ul>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,149 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Pasta Rosatella - joshua.seigler.net</title>
<meta name="description" content="Cheap, rich, and easy pasta" />
<meta property="og:title" content="Pasta Rosatella" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/recipes/pasta-rosatella/"
/>
<meta name="twitter:title" content="Pasta Rosatella" />
<meta name="twitter:description" content="Cheap, rich, and easy pasta" />
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/pasta-rosatella/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Pasta Rosatella</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<h2 id="ingredients" tabindex="-1">
<a class="header-anchor" href="#ingredients" aria-hidden="true"></a>
Ingredients
</h2>
<ul>
<li>1 box spaghetti (or any pasta)</li>
<li>1 can garlic &amp; herb pasta sauce</li>
<li>1½ cups milk</li>
<li>2 tablespoons flour</li>
<li>2 tablespoons oil</li>
<li>Salt and pepper</li>
<li>Grated Parmesan cheese</li>
</ul>
<h2 id="instructions" tabindex="-1">
<a class="header-anchor" href="#instructions" aria-hidden="true"></a>
Instructions
</h2>
<ol>
<li>
In a saucepan, whisk together the oil and flour over medium heat to
form a roux. Cook for 12 minutes until lightly golden.
</li>
<li>Slowly whisk in the milk and continue stirring until thickened.</li>
<li>
Season with salt, pepper, and Parmesan until it tastes like a simple
Alfredo sauce.
</li>
<li>Stir in the can of pasta sauce and let simmer on low.</li>
<li>
Meanwhile, cook pasta in salted water according to package
instructions. Drain, then top with the rosatella sauce and extra
Parmesan to serve.
</li>
</ol>
<h2 id="notes" tabindex="-1">
<a class="header-anchor" href="#notes" aria-hidden="true"></a> Notes
</h2>
<p>
Original recipe from
<a
href="https://www.tiktok.com/@dollartreedinners/video/7499238134434123051"
target="_blank"
rel="noopener"
>dollartreedinners</a
>
</p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

View file

@ -0,0 +1,158 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
/>
<link rel="stylesheet" href="/site.css?v=b0813e810319" />
<link
rel="webmention"
href="https://webmention.io/joshua.seigler.net/webmention"
/>
<title>Perfect Homemade Brownies - joshua.seigler.net</title>
<meta name="description" content="Decadent brownies made from scratch" />
<meta property="og:title" content="Perfect Homemade Brownies" />
<meta property="og:type" content="" />
<meta
property="og:url"
content="https://joshua.seigler.net/recipes/perfect-homemade-brownies/"
/>
<meta name="twitter:title" content="Perfect Homemade Brownies" />
<meta
name="twitter:description"
content="Decadent brownies made from scratch"
/>
<meta name="twitter:card" content="summary" />
<meta name="generator" content="Eleventy v3.1.0" />
<script
defer
src="https://stats.apps.seigler.net/script.js"
data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d"
></script>
<script defer src="/scripts/effects.js?v=cd61c39d895d"></script>
</head>
<body data-font="english" data-path="/recipes/perfect-homemade-brownies/">
<header>
<nav>
<div class="nav-row">
<div class="nav-home"><a href="/">joshua.seigler.net</a></div>
<div class="nav-settings">
<div class="nav-toggles">
<label class="nav-toggle-button" title="Light mode"
>☀️<input type="radio" name="theme" value="light"
/></label>
<label class="nav-toggle-button" title="Automatic"
>🔄<input type="radio" name="theme" value="auto"
/></label>
<label class="nav-toggle-button" title="Dark mode"
>🌒<input type="radio" name="theme" value="dark"
/></label>
</div>
<div class="nav-toggles">
<label class="nav-toggle-button" data-language="english"
>English<input type="radio" name="language" value="english"
/></label>
<label class="nav-toggle-button" data-language="aurebesh"
>Aurebesh<input type="radio" name="language" value="aurebesh"
/></label>
</div>
</div>
</div>
<div class="nav-categories">
<a class="" href="/posts/">/posts</a>
<a class="" href="/about/">/about</a>
<a class="" href="/now/">/now</a>
<a class="" href="/uses/">/uses</a>
<a class="nav-active" href="/recipes/">/recipes</a>
<a class="" href="/music/">/music</a>
<a class="" href="/books/">/books</a>
<a class="" href="/search/">/search</a>
</div>
</nav>
<h1>Perfect Homemade Brownies</h1>
<div class="header-meta"></div>
</header>
<main data-pagefind-body>
<h2 id="ingredients" tabindex="-1">
<a class="header-anchor" href="#ingredients" aria-hidden="true"></a>
Ingredients
</h2>
<ul>
<li>1 cup butter</li>
<li>2 1/4 cups sugar</li>
<li>4 large eggs</li>
<li>1 1/4 cups cocoa powder</li>
<li>1 teaspoon salt</li>
<li>1 teaspoon baking powder</li>
<li>1 teaspoon espresso powder (optional)</li>
<li>1 tablespoon vanilla extract</li>
<li>1 1/2 cups all-purpose flour</li>
<li>2 cups semi-sweet chocolate chips</li>
</ul>
<h2 id="instructions" tabindex="-1">
<a class="header-anchor" href="#instructions" aria-hidden="true"></a>
Instructions
</h2>
<ol>
<li>Pre-heat the oven to 350 degrees. Butter a 9×13 baking dish.</li>
<li>
In small saucepan over low heat, melt butter completely. Stir in sugar
and continue cooking for 1-2 minutes, stirring constantly. Do not
allow sugar mixture to boil.
</li>
<li>
Pour butter mixture into a large bowl or stand mixer, and cool for 2
minutes. Beat in cocoa powder, eggs, salt, baking powder, espresso
powder, and vanilla extract. Mix until well combined.
</li>
<li>Stir in the flour and chocolate chips until well combined.</li>
<li>
Spread into prepared pan (batter will be very thick and sticky) and
bake for about 30 minutes, until a tester comes out mostly clean. The
edges should be set and the center should still look slightly moist,
but not uncooked. Cool on a wire rack.
</li>
</ol>
<h2 id="notes" tabindex="-1">
<a class="header-anchor" href="#notes" aria-hidden="true"></a> Notes
</h2>
<p>
Original recipe from
<a
href="https://www.bunsinmyoven.com/good-ol-homemade-brownies/"
target="_blank"
rel="noopener"
>Buns In My Oven</a
>
</p>
</main>
<footer>
<section>
&copy; Joshua Seigler 2025. -
<a href="https://github.com/seigler" rel="me noopener" target="_blank"
>GitHub</a
>
-
<a href="/feed.xml">RSS</a>
-
<a rel="me" href="mailto:joshua@seigler.net?subject=Hello">Contact</a>
-
<a href="/unoffice-hours/">Unoffice Hours</a>
</section>
<section>
Webrings:
<strong>Unoffice Hours</strong>
<a href="https://unofficehours.com/prev.html" rel="noopener">Prev</a>
<a href="https://unofficehours.com/next.html" rel="noopener">Next</a>
<a href="https://unofficehours.com/random.html" rel="noopener"
>Random</a
>
<a href="https://unofficehours.com" rel="noopener">List</a>
</section>
</footer>
<div id="effects"></div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more