From 9b09d98dfa9f187b5aa932f17717f35ab2adb440 Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Sun, 29 Jun 2025 00:03:05 -0400 Subject: [PATCH] Updates --- about/index.html | 2 +- assets/index-B7lRYnqK.js.map | 1 + assets/index-gUAspZMU.js.map | 1 + books/index.html | 2 +- index.html | 2 +- links/index.html | 2 +- music/index.html | 2 +- now/index.html | 2 +- posts/alternate-rules-for-bananagrams/index.html | 1 + posts/authority-consents-blind-spot/index.html | 2 +- posts/embracing-mysticism/index.html | 2 +- posts/ffmpeg-audio-cleanup/index.html | 2 +- posts/finally-a-coherent-worldview/index.html | 2 +- posts/index.html | 2 +- posts/july-21-2025/index.html | 2 +- posts/my-very-own-github-pages/index.html | 2 +- posts/needs-based-communication/index.html | 2 +- posts/site-design-updated/index.html | 2 +- posts/the-trivium-a-tool-for-learning-anything/index.html | 2 +- posts/thinking-machines/index.html | 2 +- posts/tools-of-the-trade/index.html | 2 +- recipes/amish-egg-noodles/index.html | 2 +- recipes/corn-casserole/index.html | 2 +- recipes/creamy-chicken-orzo/index.html | 2 +- recipes/index.html | 2 +- recipes/luther-salad/index.html | 2 +- recipes/pasta-rosatella/index.html | 2 +- recipes/perfect-homemade-brownies/index.html | 2 +- recipes/sloppy-joes/index.html | 2 +- recipes/spanish-style-rice/index.html | 2 +- search/index.html | 2 +- tags/ai/index.html | 2 +- tags/boardgames/index.html | 1 + tags/communication/index.html | 2 +- tags/ethos/index.html | 2 +- tags/faith/index.html | 2 +- tags/ffmpeg/index.html | 2 +- tags/how-to/index.html | 2 +- tags/index.html | 2 +- tags/learning/index.html | 2 +- tags/pages/index.html | 2 +- tags/selfhosting/index.html | 2 +- tags/software/index.html | 2 +- tags/technical/index.html | 2 +- tags/zeitgeist/index.html | 2 +- unoffice-hours/index.html | 2 +- uses/index.html | 2 +- webrings/index.html | 2 +- 48 files changed, 48 insertions(+), 44 deletions(-) create mode 100644 assets/index-B7lRYnqK.js.map create mode 100644 assets/index-gUAspZMU.js.map create mode 100644 posts/alternate-rules-for-bananagrams/index.html create mode 100644 tags/boardgames/index.html diff --git a/about/index.html b/about/index.html index fa101c8..6e18dd4 100644 --- a/about/index.html +++ b/about/index.html @@ -1 +1 @@ -About - joshua.seigler.net

About

I’m 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. I’m naturally introverted, but I can present as extroverted: I love connecting with people, but quiet time to myself is how I recharge.

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 Dish Network tech support job) and conflict resolution (thanks to my housemates at the time) I started my first engineering job up in Connecticut.

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.

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.

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 learn to see the world mystically. This began a change in my orientation that is still playing out.

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 balancing clean perfection against shipping quickly.

I don’t know what tomorrow holds, but I’m sure it’s going to be great.

Timeline

Senior Frontend Developer @ QI Path

QI Path is a startup offering a risk analysis platform. This platform helps decision makers in a variety of industries accurately assess risk, so they can make decisions with an awareness of hidden vulnerabilities and minimize quality and safety issues. This role also re-connects me with a college friend!

Founding software engineer @ Capabuild

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.

Senior software engineer @ Prenda

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.

Senior software engineer @ HubSpot

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.

Software developer @ Dash Core Group

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.

Application engineer @ XPO Logistics

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.
Outside of work, I began deeply researching cryptocurrencies and economics and using open source web development tools for personal projects.

Junior software engineer @ Oakleaf / Waste Management

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.
Also, shortly after moving for this job, I met my wife!

Exploring

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.

Part time teacher / E-learning Technician

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.
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.

RPI - Bachelor’s in Math & Computer Science

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.

PVCC - Associate’s in science

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.

First community college course

“Calculus with Analytic Geometry I”. I showed my teacher a Newton’s 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 hadn’t given me any warning, she asked, “Would that have made you less nervous?”

Homeschooled

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.
Big thanks to my parents for nurturing my appetite for learning. Thanks also to my brothers for teaching me patience and conflict resolution!

Hello World

\ No newline at end of file +About - joshua.seigler.net

About

I’m 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. I’m naturally introverted, but I can present as extroverted: I love connecting with people, but quiet time to myself is how I recharge.

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 Dish Network tech support job) and conflict resolution (thanks to my housemates at the time) I started my first engineering job up in Connecticut.

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.

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.

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 learn to see the world mystically. This began a change in my orientation that is still playing out.

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 balancing clean perfection against shipping quickly.

I don’t know what tomorrow holds, but I’m sure it’s going to be great.

Timeline

Senior Frontend Developer @ QI Path

QI Path is a startup offering a risk analysis platform. This platform helps decision makers in a variety of industries accurately assess risk, so they can make decisions with an awareness of hidden vulnerabilities and minimize quality and safety issues. This role also re-connects me with a college friend!

Founding software engineer @ Capabuild

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.

Senior software engineer @ Prenda

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.

Senior software engineer @ HubSpot

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.

Software developer @ Dash Core Group

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.

Application engineer @ XPO Logistics

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.
Outside of work, I began deeply researching cryptocurrencies and economics and using open source web development tools for personal projects.

Junior software engineer @ Oakleaf / Waste Management

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.
Also, shortly after moving for this job, I met my wife!

Exploring

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.

Part time teacher / E-learning Technician

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.
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.

RPI - Bachelor’s in Math & Computer Science

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.

PVCC - Associate’s in science

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.

First community college course

“Calculus with Analytic Geometry I”. I showed my teacher a Newton’s 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 hadn’t given me any warning, she asked, “Would that have made you less nervous?”

Homeschooled

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.
Big thanks to my parents for nurturing my appetite for learning. Thanks also to my brothers for teaching me patience and conflict resolution!

Hello World

\ No newline at end of file diff --git a/assets/index-B7lRYnqK.js.map b/assets/index-B7lRYnqK.js.map new file mode 100644 index 0000000..ec51d5c --- /dev/null +++ b/assets/index-B7lRYnqK.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-B7lRYnqK.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/assets/index-gUAspZMU.js.map b/assets/index-gUAspZMU.js.map new file mode 100644 index 0000000..fbe1143 --- /dev/null +++ b/assets/index-gUAspZMU.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-gUAspZMU.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/books/index.html b/books/index.html index abd395a..154a50f 100644 --- a/books/index.html +++ b/books/index.html @@ -1 +1 @@ -Books - joshua.seigler.net

Books

These books had a big influence on my thinking and taste.

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 - Douglas Hofstadter

I read this heady tome in college. I think I’ve 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.

book cover, abstract space illustration showing three planets The Space Trilogy: Out of the Silent Planet, Perelandra, and That Hideous Strength - C. S. Lewis

These stories contain so much richness. One theme that stuck with me emerges in Out of the Silent Planet and is repeated in Perelandra: that good things can be spoiled by overconsumption. Something that is pleasant or satisfying stands by itself, and doesn’t 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.

book cover, a tromp-l'oeil torn segment reveals in bold letters "SELF-DECEPTION" Leadership and Self-Deception - The Arbinger Institute

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.
If this is of interest, you may also enjoy Marshall Rosenberg’s “Non-violent communication” or my article on needs-based communication.

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 - Fr. Seraphim Rose

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 Nihilism: The Root of the Revolution of the Modern Age, which is slightly drier than this but sets a good foundation for it, and The Soul After Death for its sober and thorough approach to understanding things most people have not witnessed directly.

book cover, a mountainside monastery with a body of water in the background The Gurus, the Young Man, and Elder Paisios - Dionysios Farasiotis

This is the fascinating true story of a young man’s 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.

book cover, three shadowed figures in a dramatic pose in front of a looming red X Little Brother - Cory Doctorow

This book functions not only as an engaging story, but a primer for digital security as a whole. If it doesn’t make you an outright cypherpunk, you will at least understand the movement better.

book cover, a red katana in front of a blue field of circuits Snow Crash - Neal Stephenson

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.

book cover, a softly lit man in overalls stares as he is served a bowl of soup The Stranger - Chris Van Allsburg

The illustrations in this surreal children’s book stuck with me my whole life. I like all this author’s illustrations, but this book especially captured my imagination.

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 - Harvard Pennington, Gary Camp, Ralph Burris

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.

\ No newline at end of file +Books - joshua.seigler.net

Books

These books had a big influence on my thinking and taste.

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 - Douglas Hofstadter

I read this heady tome in college. I think I’ve 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.

book cover, abstract space illustration showing three planets The Space Trilogy: Out of the Silent Planet, Perelandra, and That Hideous Strength - C. S. Lewis

These stories contain so much richness. One theme that stuck with me emerges in Out of the Silent Planet and is repeated in Perelandra: that good things can be spoiled by overconsumption. Something that is pleasant or satisfying stands by itself, and doesn’t 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.

book cover, a tromp-l'oeil torn segment reveals in bold letters "SELF-DECEPTION" Leadership and Self-Deception - The Arbinger Institute

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.
If this is of interest, you may also enjoy Marshall Rosenberg’s “Non-violent communication” or my article on needs-based communication.

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 - Fr. Seraphim Rose

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 Nihilism: The Root of the Revolution of the Modern Age, which is slightly drier than this but sets a good foundation for it, and The Soul After Death for its sober and thorough approach to understanding things most people have not witnessed directly.

book cover, a mountainside monastery with a body of water in the background The Gurus, the Young Man, and Elder Paisios - Dionysios Farasiotis

This is the fascinating true story of a young man’s 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.

book cover, three shadowed figures in a dramatic pose in front of a looming red X Little Brother - Cory Doctorow

This book functions not only as an engaging story, but a primer for digital security as a whole. If it doesn’t make you an outright cypherpunk, you will at least understand the movement better.

book cover, a red katana in front of a blue field of circuits Snow Crash - Neal Stephenson

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.

book cover, a softly lit man in overalls stares as he is served a bowl of soup The Stranger - Chris Van Allsburg

The illustrations in this surreal children’s book stuck with me my whole life. I like all this author’s illustrations, but this book especially captured my imagination.

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 - Harvard Pennington, Gary Camp, Ralph Burris

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.

\ No newline at end of file diff --git a/index.html b/index.html index 8287ad7..cf683d2 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Hello! - joshua.seigler.net

Hello!

I’m Joshua Seigler, a software engineer since 2010 and a living being since the 1980s. I’ve watched technology advance from dial-up and Geocities pages, to federated social media and decentralized autonomous organizations.

I currently work for a risk analysis startup called QI Path. My professional focus is on front-end development for web and mobile. See /about for more detail.

I would love to connect: send me electronic mail or drop in my unoffice hours.

Posts

\ No newline at end of file +Hello! - joshua.seigler.net

Hello!

I’m Joshua Seigler, a software engineer since 2010 and a living being since the 1980s. I’ve watched technology advance from dial-up and Geocities pages, to federated social media and decentralized autonomous organizations.

I currently work for a risk analysis startup called QI Path. My professional focus is on front-end development for web and mobile. See /about for more detail.

I would love to connect: send me electronic mail or drop in my unoffice hours.

Posts

\ No newline at end of file diff --git a/links/index.html b/links/index.html index 1fc4d1d..b7076d1 100644 --- a/links/index.html +++ b/links/index.html @@ -1 +1 @@ -Links - joshua.seigler.net

Links

  • How to Surf the Web in 2025, and Why You Should

    Just as it’s still possible (though seldom necessary) to ride a horse, it is still possible to surf the internet. It’s a thrill not yet lost to time.

  • Comic Helvetic Font | dafont.com

    I don't understand why this feels ok but Comic Sans makes my skin crawl.

  • NIKA:\git-revise\>

    git-revise is a history editing tool designed for the patch-stack workflow. It's fast, non-destructive, and aims to provide a familiar, powerful, and easy to use re-imagining of the patch stack workflow.

  • Markdown Code Blocks With a Title / Filename - Lusitos Tech Blog

    Smart alternative to immediately using some kind of markdown extension or plugin. Good perspective.

  • MidWord! The world's favorite word guessing game

    Just found my new favorite long-car-ride verbal game!

  • Verissimo Monthly - May 2025 - by Binyamin Grobman

    The Unreliability of LLMs & What Lies Ahead

  • Keeping up appearances | deadSimpleTech

    The only reason that LLMs took root in the first place was because our societies in the anglosphere have already developed cultures solely devoted to gaining status and keeping up the appearance of doing things rather than actually doing them. All other values, increasingly including even the accumulation of wealth (while this is still very much a thing that people pursue, wealth is increasingly becoming a proxy for status more than something desired in itself) are becoming subordinated to symbolic status games completely detached from anything real.

\ No newline at end of file +Links - joshua.seigler.net

Links

  • Speed Catan - seanmcp.com

    Speed Catan is a variation of the popular board game Catan that emphasizes game speed and simplicity for younger (or impatient) players.

  • How to Surf the Web in 2025, and Why You Should

    Just as it’s still possible (though seldom necessary) to ride a horse, it is still possible to surf the internet. It’s a thrill not yet lost to time.

  • Comic Helvetic Font | dafont.com

    I don't understand why this feels ok but Comic Sans makes my skin crawl.

  • NIKA:\git-revise\>

    git-revise is a history editing tool designed for the patch-stack workflow. It's fast, non-destructive, and aims to provide a familiar, powerful, and easy to use re-imagining of the patch stack workflow.

  • Markdown Code Blocks With a Title / Filename - Lusitos Tech Blog

    Smart alternative to immediately using some kind of markdown extension or plugin. Good perspective.

  • MidWord! The world's favorite word guessing game

    Just found my new favorite long-car-ride verbal game!

  • Verissimo Monthly - May 2025 - by Binyamin Grobman

    The Unreliability of LLMs & What Lies Ahead

  • Keeping up appearances | deadSimpleTech

    The only reason that LLMs took root in the first place was because our societies in the anglosphere have already developed cultures solely devoted to gaining status and keeping up the appearance of doing things rather than actually doing them. All other values, increasingly including even the accumulation of wealth (while this is still very much a thing that people pursue, wealth is increasingly becoming a proxy for status more than something desired in itself) are becoming subordinated to symbolic status games completely detached from anything real.

\ No newline at end of file diff --git a/music/index.html b/music/index.html index aee5dd3..20162fc 100644 --- a/music/index.html +++ b/music/index.html @@ -1 +1 @@ -Music - joshua.seigler.net

Music

These are songs chanted during certain Eastern Orthodox services. I transcribed them with MuseScore from multiple sources, scanned or sung.

\ No newline at end of file +Music - joshua.seigler.net

Music

These are songs chanted during certain Eastern Orthodox services. I transcribed them with MuseScore from multiple sources, scanned or sung.

\ No newline at end of file diff --git a/now/index.html b/now/index.html index 86f7d84..612e15d 100644 --- a/now/index.html +++ b/now/index.html @@ -1 +1 @@ -Now - joshua.seigler.net

Now

June 7, 2025

I live in Southbridge, Massachusetts since 2022, with my wife Sara and our three cats. We’re starting to get more integrated here. I’m about to start a new role, my third or fourth startup depending on how you count it. I’m active in a local church. I recently changed my mind about olives (I like them now).

Goals

\ No newline at end of file +Now - joshua.seigler.net

Now

June 7, 2025

I live in Southbridge, Massachusetts since 2022, with my wife Sara and our three cats. We’re starting to get more integrated here. I’m about to start a new role, my third or fourth startup depending on how you count it. I’m active in a local church. I recently changed my mind about olives (I like them now).

Goals

\ No newline at end of file diff --git a/posts/alternate-rules-for-bananagrams/index.html b/posts/alternate-rules-for-bananagrams/index.html new file mode 100644 index 0000000..82c1824 --- /dev/null +++ b/posts/alternate-rules-for-bananagrams/index.html @@ -0,0 +1 @@ +Alternate rules for Bananagrams - joshua.seigler.net

Alternate rules for Bananagrams

Joshua SeiglerJune 28, 2025boardgames

Digging through old bookmarks I found this alternate ruleset for Bananagrams I want to share:

Turn all letter tiles face down, then each player takes 10 tiles (with 3 players take 14 tiles, with 5 players take 8). Someone says “GO” and everyone turns over their tiles and tries to build their own crossword using ALL their letters, no two letter words allowed. When someone finally finishes they say “DONE” and they get -1 to their final score marked on a scorepad. Now ALL players pick FOUR more tiles and again try to use them all with any left over from the last round. Players are allowed to mix up their words at any point in the game, add to them, etc just like Bananagrams. If no one can go out and all players agree, they skip scoring that round and pull 4 more tiles and carry on. This should rarely happen.

If at the time of picking someone has 3 tiles all the same, they can immediately and only at this time, throw the 3 tiles back and take 3 new ones.

This continues round by round until the tiles are gone, then whoever finishes first in the very last round gets -3 to their score instead of the usual -1.

Endgame Scoring: Each word is +3 to score and each unused tile is +2 to score. LONGEST word is -4, if tied look at next longest. Lowest score is the winner.

There is more than one strategy here. Fast and furious can win but also just making long words and as few as possible can win too, if you want to push your luck. I have seen games won where the person had 8 tiles left over (+16) but only had 3 words (+9) and ended up with the longest word (-4) and won the game. Played this way the game is fun, tense and addicting.

Reproduced with light editing from Houserule Jay @ BoardGameGeek

\ No newline at end of file diff --git a/posts/authority-consents-blind-spot/index.html b/posts/authority-consents-blind-spot/index.html index a61ba27..32eb417 100644 --- a/posts/authority-consents-blind-spot/index.html +++ b/posts/authority-consents-blind-spot/index.html @@ -1 +1 @@ -Authority - Consent's Blind Spot - joshua.seigler.net

Authority - Consent's Blind Spot

Joshua SeiglerJuly 2, 2020ethos
  1. Solutions
    1. Look for ways to sidestep authority altogether.
    2. Teach other people how to see these tricks more clearly.
    3. Promote alternatives that respect consent.
    4. Use the ceremonies of authority against itself.
    5. Surround yourself with people who care about consent.
  2. Additional Resources

2025 disclaimer: I haven’t thought through all these ideas in a while, but I probably would change some of this or soften/rephrase it.

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.

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.

People respect consent in most of their face-to-face dealings with others. Violating someone’s 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.

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.

Here are some popular excuses for violating consent that you may have seen:

I am actually helping you.

You like some of the things I do, so you must accept this as well.

Everyone else lets me do this.

Everyone else said it was okay if I do this.

I am doing this, but someone else is responsible for my actions.

You agreed to this by being born here.

I am allowed to do this.

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.

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.
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 another’s person, without regard for consent.

One problem with authority is that all the people on earth are humans. There’s 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.

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.

You would think acting on someone in a way they don’t 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 else’s 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.

Solutions

Once you have seen through this trick, what can you do?

Look for ways to sidestep authority altogether.

Since very few people accept absolute 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.

Teach other people how to see these tricks more clearly.

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.

Promote alternatives that respect consent.

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.

Use the ceremonies of authority against itself.

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 don’t be surprised if their encounter with power changes their values.

Surround yourself with people who care about consent.

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.

Additional Resources

\ No newline at end of file +Authority - Consent's Blind Spot - joshua.seigler.net

Authority - Consent's Blind Spot

Joshua SeiglerJuly 2, 2020ethos
  1. Solutions
    1. Look for ways to sidestep authority altogether.
    2. Teach other people how to see these tricks more clearly.
    3. Promote alternatives that respect consent.
    4. Use the ceremonies of authority against itself.
    5. Surround yourself with people who care about consent.
  2. Additional Resources

2025 disclaimer: I haven’t thought through all these ideas in a while, but I probably would change some of this or soften/rephrase it.

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.

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.

People respect consent in most of their face-to-face dealings with others. Violating someone’s 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.

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.

Here are some popular excuses for violating consent that you may have seen:

I am actually helping you.

You like some of the things I do, so you must accept this as well.

Everyone else lets me do this.

Everyone else said it was okay if I do this.

I am doing this, but someone else is responsible for my actions.

You agreed to this by being born here.

I am allowed to do this.

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.

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.
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 another’s person, without regard for consent.

One problem with authority is that all the people on earth are humans. There’s 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.

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.

You would think acting on someone in a way they don’t 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 else’s 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.

Solutions

Once you have seen through this trick, what can you do?

Look for ways to sidestep authority altogether.

Since very few people accept absolute 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.

Teach other people how to see these tricks more clearly.

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.

Promote alternatives that respect consent.

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.

Use the ceremonies of authority against itself.

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 don’t be surprised if their encounter with power changes their values.

Surround yourself with people who care about consent.

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.

Additional Resources

\ No newline at end of file diff --git a/posts/embracing-mysticism/index.html b/posts/embracing-mysticism/index.html index cdb6c0e..135d15a 100644 --- a/posts/embracing-mysticism/index.html +++ b/posts/embracing-mysticism/index.html @@ -1 +1 @@ -Embracing Mysticism - joshua.seigler.net

Embracing Mysticism

Joshua SeiglerOctober 16, 2021faith ethos

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.

In mid-2020 Vin Armani (now Cyprian) started calling this change “The Dim Age”[1]. 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.

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 Pageau’s project The Symbolic World, which has some very accessible videos breaking down movies and other pop culture artifacts from a symbolic perspective [2]. These commentaries did not seem arbitrary or speculative, but pointed to cultural trends that I couldn’t un-see once I understood them. I binged a bunch more of his material, including eventually a book his brother Mattheiu wrote, The Language of Creation: Cosmic Symbolism in Genesis[3]. Through this I discovered a side of reality I had been almost completely oblivious to, and what’s more, an aspect of my faith which had somehow completely passed me by.

From there I started listening to the Lord of Spirits podcast. I learned that commonplace, obvious understanding of existence as material and spiritual 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.

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 didn’t 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 wanting more and more.

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.


  1. Free Man Beyond The Wall episode 478: We’ve Entered The ‘Dim Age’ ↩︎

  2. Symbolism and Propaganda in Popular Culture, The Fall of Loki (Into the Multiverse) ↩︎

  3. The Language of Creation: Cosmic Symbolism in Genesis: A Commentary, ISBN 978-1981549337 ↩︎

\ No newline at end of file +Embracing Mysticism - joshua.seigler.net

Embracing Mysticism

Joshua SeiglerOctober 16, 2021faith ethos

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.

In mid-2020 Vin Armani (now Cyprian) started calling this change “The Dim Age”[1]. 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.

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 Pageau’s project The Symbolic World, which has some very accessible videos breaking down movies and other pop culture artifacts from a symbolic perspective [2]. These commentaries did not seem arbitrary or speculative, but pointed to cultural trends that I couldn’t un-see once I understood them. I binged a bunch more of his material, including eventually a book his brother Mattheiu wrote, The Language of Creation: Cosmic Symbolism in Genesis[3]. Through this I discovered a side of reality I had been almost completely oblivious to, and what’s more, an aspect of my faith which had somehow completely passed me by.

From there I started listening to the Lord of Spirits podcast. I learned that commonplace, obvious understanding of existence as material and spiritual 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.

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 didn’t 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 wanting more and more.

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.


  1. Free Man Beyond The Wall episode 478: We’ve Entered The ‘Dim Age’ ↩︎

  2. Symbolism and Propaganda in Popular Culture, The Fall of Loki (Into the Multiverse) ↩︎

  3. The Language of Creation: Cosmic Symbolism in Genesis: A Commentary, ISBN 978-1981549337 ↩︎

\ No newline at end of file diff --git a/posts/ffmpeg-audio-cleanup/index.html b/posts/ffmpeg-audio-cleanup/index.html index ab00fcd..6a0e865 100644 --- a/posts/ffmpeg-audio-cleanup/index.html +++ b/posts/ffmpeg-audio-cleanup/index.html @@ -1,4 +1,4 @@ -FFmpeg audio cleanup - joshua.seigler.net

FFmpeg audio cleanup

Joshua SeiglerJune 26, 2025technical ffmpeg

I recently needed to process 20+ phone audio recordings. The files are mp3 recordings in stereo, made in an environment with echoes and noise from fans/heaters.

Although I could do it easily with Tenacity I didn’t want to use a manual process, since it would take days. So I tried using FFmpeg filters and Bash scripting.

I found an FFmpeg filter called compand which lets you map an input decibel range to an output decibel range. I also used the anlmdn filter to reduce noise, and the highpass filter to help with clarity.

I ran into a couple gotchas.

  1. mpv does something special for audio playback that prevents audio from clipping. vlc plays the file as it is.
  2. Because the compressor has an attack and decay (which is necessary for things to sound good) it can cause clipping if the volume rises sharply. Applying a delay parameter with half the duration of the attack length fixed this.

Here is the script:

process-audio.sh

#!/bin/bash
+FFmpeg audio cleanup - joshua.seigler.net

FFmpeg audio cleanup

Joshua SeiglerJune 26, 2025technical ffmpeg

I recently needed to process 20+ phone audio recordings. The files are mp3 recordings in stereo, made in an environment with echoes and noise from fans/heaters.

Although I could do it easily with Tenacity I didn’t want to use a manual process, since it would take days. So I tried using FFmpeg filters and Bash scripting.

I found an FFmpeg filter called compand which lets you map an input decibel range to an output decibel range. I also used the anlmdn filter to reduce noise, and the highpass filter to help with clarity.

I ran into a couple gotchas.

  1. mpv does something special for audio playback that prevents audio from clipping. vlc plays the file as it is.
  2. Because the compressor has an attack and decay (which is necessary for things to sound good) it can cause clipping if the volume rises sharply. Applying a delay parameter with half the duration of the attack length fixed this.

Here is the script:

process-audio.sh

#!/bin/bash
 if [ "$#" == "0" ]; then
   echo "Error: no arguments provided."
   echo "Usage: $0 file1 file2 file3 ..."
diff --git a/posts/finally-a-coherent-worldview/index.html b/posts/finally-a-coherent-worldview/index.html
index bda0870..1b1a576 100644
--- a/posts/finally-a-coherent-worldview/index.html
+++ b/posts/finally-a-coherent-worldview/index.html
@@ -1 +1 @@
-Finally, a Coherent Worldview - joshua.seigler.net

Finally, a Coherent Worldview

Joshua SeiglerJuly 14, 2023faith ethos

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.

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 don’t 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 ran to him while he was still far away!

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! It’s 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 don’t understand it at first.

\ No newline at end of file +Finally, a Coherent Worldview - joshua.seigler.net

Finally, a Coherent Worldview

Joshua SeiglerJuly 14, 2023faith ethos

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.

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 don’t 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 ran to him while he was still far away!

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! It’s 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 don’t understand it at first.

\ No newline at end of file diff --git a/posts/index.html b/posts/index.html index 2004dd5..d8a292e 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1 +1 @@ -Posts - joshua.seigler.net

Posts

\ No newline at end of file +Posts - joshua.seigler.net

Posts

\ No newline at end of file diff --git a/posts/july-21-2025/index.html b/posts/july-21-2025/index.html index 454cbf8..9727cb5 100644 --- a/posts/july-21-2025/index.html +++ b/posts/july-21-2025/index.html @@ -1 +1 @@ -War - joshua.seigler.net

War

Joshua SeiglerJune 21, 2025zeitgeist faith

Today the USA announced its bombing of three locations in Iran, including Iran’s main nuclear enrichment site, located under a mountain in Fordow. How far will things go?

Here is the only way I know of to have peace: live every day as if tomorrow you will face death, where it will be too late for repentance, too late for a change of heart. As St. Isaac the Syrian says[1]:

Take hold of your life before your light grows dark and you seek help and do not find it. This life has been given to you for repentance; do not waste it in vain pursuits.

Woe to us! We neither realize just how valuable our soul is, nor comprehend the type of life we have been called to lead. We place great significance on this present life, on illnesses, on the state of society, and on the sorrows, evils, and comforts of this world.

However, blessed is the person, O Lord Jesus Christ, who receives help from You. You, O Lord, are the only powerful One. Turn our faces away from the desire for this world so that we may covet You alone. Grant us, O Lord, understanding, so that we may comprehend just how deceitful this present world is, and so that we do not believe in this shadow as if it were the truth.

Seek the Lord, and be strengthened through hope. Seek His face through repentance, and you will be sanctified and cleansed from your sins, on account of the sanctity of His face. Hasten to the Lord, all of you who are guilty of sins, for He is able to forgive sins and overlook mistakes. For He made an oath and declared thus: “I live, says the Lord. I do not desire the death of the sinner until he repents from his evil way and lives” (Ez. 13:23).

May we not be tested beyond what we can bear, and may we have indestructible peace that is not of this world.


  1. Quote copied from St. Nectarios Monastery and OrthodoxWiki ↩︎

\ No newline at end of file +War - joshua.seigler.net

War

Joshua SeiglerJune 21, 2025zeitgeist faith

Today the USA announced its bombing of three locations in Iran, including Iran’s main nuclear enrichment site, located under a mountain in Fordow. How far will things go?

Here is the only way I know of to have peace: live every day as if tomorrow you will face death, where it will be too late for repentance, too late for a change of heart. As St. Isaac the Syrian says[1]:

Take hold of your life before your light grows dark and you seek help and do not find it. This life has been given to you for repentance; do not waste it in vain pursuits.

Woe to us! We neither realize just how valuable our soul is, nor comprehend the type of life we have been called to lead. We place great significance on this present life, on illnesses, on the state of society, and on the sorrows, evils, and comforts of this world.

However, blessed is the person, O Lord Jesus Christ, who receives help from You. You, O Lord, are the only powerful One. Turn our faces away from the desire for this world so that we may covet You alone. Grant us, O Lord, understanding, so that we may comprehend just how deceitful this present world is, and so that we do not believe in this shadow as if it were the truth.

Seek the Lord, and be strengthened through hope. Seek His face through repentance, and you will be sanctified and cleansed from your sins, on account of the sanctity of His face. Hasten to the Lord, all of you who are guilty of sins, for He is able to forgive sins and overlook mistakes. For He made an oath and declared thus: “I live, says the Lord. I do not desire the death of the sinner until he repents from his evil way and lives” (Ez. 13:23).

May we not be tested beyond what we can bear, and may we have indestructible peace that is not of this world.


  1. Quote copied from St. Nectarios Monastery and OrthodoxWiki ↩︎

\ No newline at end of file diff --git a/posts/my-very-own-github-pages/index.html b/posts/my-very-own-github-pages/index.html index 5a87979..9446929 100644 --- a/posts/my-very-own-github-pages/index.html +++ b/posts/my-very-own-github-pages/index.html @@ -1,4 +1,4 @@ -My Very Own GitHub Pages - joshua.seigler.net

My Very Own GitHub Pages

Joshua SeiglerJune 15, 2025how to technical selfhosting
  1. The objective
  2. How to do it
    1. Debian server preparation
    2. Caddy
    3. Webhooks
    4. Forgejo
  3. Conclusion

I recently started self-hosting Forgejo, but I wanted something to replace GitHub pages, which has been very convenient for publishing little website projects. My server runs Debian, so I decided to use webhook and Caddy. I’m very happy how it turned out.

The objective

When I push a gh-pages branch to any public repository on my Forgejo instance, the name of the repo is used as a domain name (e.g. marklink.pages.seigler.net) and the branch contents are automatically served with SSL. If I push updates to the branch, they are automatically published. If the branch or repo is deleted, the site is taken down.

How to do it

Debian server preparation

In case you don’t have a basic server setup routine yet, this is a good start:

  • Change the default root password.
  • Create a new user and add it to the sudo group. In my examples below the user is joshua.
  • Use ssh-copy-id to install your ssl pubkey for easier login.
  • Disable/lock root’s password.
  • Disable root login over ssh and change the SSL port number. Pick a new port lower than 1024.
  • Edit your local ~/.ssh/config so you don’t have to specify the port number every time you connect.
  • On the server, install and enable ufw and fail2ban. In addition to allowing your custom SSL port, be sure to enable ports 80 and 443 with sudo ufw allow "WWW Full".

Caddy

I usually use nginx, but I wanted to give Caddy a shot, and it has been a great experience. I installed Caddy using the official instructions.
Here is the Caddyfile I made—you will need to change the domain names and the email. Email could be removed, but it is there so that SSL certificate issuers can contact you if there is a problem with your certificates.

/etc/caddy/Caddyfile

# Global options block
+My Very Own GitHub Pages - joshua.seigler.net

My Very Own GitHub Pages

Joshua SeiglerJune 15, 2025how to technical selfhosting
  1. The objective
  2. How to do it
    1. Debian server preparation
    2. Caddy
    3. Webhooks
    4. Forgejo
  3. Conclusion

I recently started self-hosting Forgejo, but I wanted something to replace GitHub pages, which has been very convenient for publishing little website projects. My server runs Debian, so I decided to use webhook and Caddy. I’m very happy how it turned out.

The objective

When I push a gh-pages branch to any public repository on my Forgejo instance, the name of the repo is used as a domain name (e.g. marklink.pages.seigler.net) and the branch contents are automatically served with SSL. If I push updates to the branch, they are automatically published. If the branch or repo is deleted, the site is taken down.

How to do it

Debian server preparation

In case you don’t have a basic server setup routine yet, this is a good start:

  • Change the default root password.
  • Create a new user and add it to the sudo group. In my examples below the user is joshua.
  • Use ssh-copy-id to install your ssl pubkey for easier login.
  • Disable/lock root’s password.
  • Disable root login over ssh and change the SSL port number. Pick a new port lower than 1024.
  • Edit your local ~/.ssh/config so you don’t have to specify the port number every time you connect.
  • On the server, install and enable ufw and fail2ban. In addition to allowing your custom SSL port, be sure to enable ports 80 and 443 with sudo ufw allow "WWW Full".

Caddy

I usually use nginx, but I wanted to give Caddy a shot, and it has been a great experience. I installed Caddy using the official instructions.
Here is the Caddyfile I made—you will need to change the domain names and the email. Email could be removed, but it is there so that SSL certificate issuers can contact you if there is a problem with your certificates.

/etc/caddy/Caddyfile

# Global options block
 {
 	email you@example.com # <<<< CHANGE THIS <<<<
 	on_demand_tls {
diff --git a/posts/needs-based-communication/index.html b/posts/needs-based-communication/index.html
index e0f6e9f..50d8207 100644
--- a/posts/needs-based-communication/index.html
+++ b/posts/needs-based-communication/index.html
@@ -1 +1 @@
-Needs-based communication - joshua.seigler.net

Needs-based communication

Joshua SeiglerMay 26, 2021communication how to

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.

Needs 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 partial list of needs from the Center for Non-Violent Communication (CNVC).

Everything anyone 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.

Conflict happens when our needs aren’t met. We get stuck in conflict when we mix up needs and strategies. Needs never conflict with each other, only strategies do.

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:

  1. We suppress the need and move on, painfully leaving the problem unaddressed.
  2. 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.
  3. We escalate, expanding the conflict in an attempt to win, at the other’s expense if necessary.

These resolutions can happen despite our best intentions, as a result of not understanding what’s happening as we fight. A very common mistake is to confuse needs and strategies.

Strategies are things we do to meet our needs. In contrast to needs, which are abstract and universal, strategies are personal, specific, and widely varied.

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.

Jumping into a conflict strategy-first is bound to cause problems if that strategy doesn’t meet others’ needs as well as your own. The way past conflict is for everyone involved to understand each others’ needs, and then work together to find a strategy to meet those needs.

So, how do you figure out your own needs?

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 abandoned, 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.

The truth is that the same situation can affect people very differently. This means that feelings must come from a person’s own response to things. In order to see your feelings clearly, it is important to take ownership of them as your feelings rather than something caused by the world around you. I have found this to be very challenging, but also incredibly rewarding.

Once you have an honest name for what you are feeling, think about what need sparked the feeling.

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 won’t need the formula, and can accomplish the same thing more naturally.

Here it is:

When [observation], I felt [feeling] because I was having a need for [need]. (possibly also a request:) Are you willing to [action]?

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.

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 and theirs.

There is a (similarly clunky) pattern for discovering someone else’s 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:

When you [observation] do you feel [feeling] because you are having a need for [need]? (possibly also:) Right now, would you like me to [action]?

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.

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 someone’s feelings and needs demonstrates that you are really interested in their problem.

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.

Some resources for exploring these ideas more:

\ No newline at end of file +Needs-based communication - joshua.seigler.net

Needs-based communication

Joshua SeiglerMay 26, 2021communication how to

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.

Needs 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 partial list of needs from the Center for Non-Violent Communication (CNVC).

Everything anyone 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.

Conflict happens when our needs aren’t met. We get stuck in conflict when we mix up needs and strategies. Needs never conflict with each other, only strategies do.

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:

  1. We suppress the need and move on, painfully leaving the problem unaddressed.
  2. 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.
  3. We escalate, expanding the conflict in an attempt to win, at the other’s expense if necessary.

These resolutions can happen despite our best intentions, as a result of not understanding what’s happening as we fight. A very common mistake is to confuse needs and strategies.

Strategies are things we do to meet our needs. In contrast to needs, which are abstract and universal, strategies are personal, specific, and widely varied.

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.

Jumping into a conflict strategy-first is bound to cause problems if that strategy doesn’t meet others’ needs as well as your own. The way past conflict is for everyone involved to understand each others’ needs, and then work together to find a strategy to meet those needs.

So, how do you figure out your own needs?

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 abandoned, 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.

The truth is that the same situation can affect people very differently. This means that feelings must come from a person’s own response to things. In order to see your feelings clearly, it is important to take ownership of them as your feelings rather than something caused by the world around you. I have found this to be very challenging, but also incredibly rewarding.

Once you have an honest name for what you are feeling, think about what need sparked the feeling.

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 won’t need the formula, and can accomplish the same thing more naturally.

Here it is:

When [observation], I felt [feeling] because I was having a need for [need]. (possibly also a request:) Are you willing to [action]?

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.

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 and theirs.

There is a (similarly clunky) pattern for discovering someone else’s 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:

When you [observation] do you feel [feeling] because you are having a need for [need]? (possibly also:) Right now, would you like me to [action]?

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.

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 someone’s feelings and needs demonstrates that you are really interested in their problem.

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.

Some resources for exploring these ideas more:

\ No newline at end of file diff --git a/posts/site-design-updated/index.html b/posts/site-design-updated/index.html index d75ead6..f58a80b 100644 --- a/posts/site-design-updated/index.html +++ b/posts/site-design-updated/index.html @@ -1 +1 @@ -Site design updated - joshua.seigler.net

Site design updated

Joshua SeiglerJune 5, 2024technical

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 pnpm, 11ty, and Nunjucks. Content is still in markdown.

One thing I’m proud of is a visual ping for footnotes.[1] When you click a footnote[2] it briefly highlights the thing you jumped to.

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. People who can read this are cool and I like them.

I also finally made a section for recipes!

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.

June 2025 edit: I have continued to alter the design. Pray I don’t alter it any further.


  1. It highlights when you click back, too. ↩︎

  2. Hi. ↩︎

\ No newline at end of file +Site design updated - joshua.seigler.net

Site design updated

Joshua SeiglerJune 5, 2024technical

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 pnpm, 11ty, and Nunjucks. Content is still in markdown.

One thing I’m proud of is a visual ping for footnotes.[1] When you click a footnote[2] it briefly highlights the thing you jumped to.

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. People who can read this are cool and I like them.

I also finally made a section for recipes!

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.

June 2025 edit: I have continued to alter the design. Pray I don’t alter it any further.


  1. It highlights when you click back, too. ↩︎

  2. Hi. ↩︎

\ No newline at end of file diff --git a/posts/the-trivium-a-tool-for-learning-anything/index.html b/posts/the-trivium-a-tool-for-learning-anything/index.html index 9cb6f69..13e77fb 100644 --- a/posts/the-trivium-a-tool-for-learning-anything/index.html +++ b/posts/the-trivium-a-tool-for-learning-anything/index.html @@ -1 +1 @@ -The Trivium: A Tool for Learning Anything - joshua.seigler.net

The Trivium: A Tool for Learning Anything

Joshua SeiglerApril 3, 2021learning how to
  1. Grammar
  2. Logic
  3. Rhetoric
  4. Resources

Information today has become siloed. It’s 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 Trivium.

The ancients considered the liberal arts to be composed of seven parts. First was a foundation called the trivium, composed of grammar, logic, and rhetoric. Following that was the quadrivium, 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.

Grammar

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.

Logic

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.

Rhetoric

Rhetoric is about acting wisely: the application of knowledge and understanding, put into correct action. It answers “how?”

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.

Resources

\ No newline at end of file +The Trivium: A Tool for Learning Anything - joshua.seigler.net

The Trivium: A Tool for Learning Anything

Joshua SeiglerApril 3, 2021learning how to
  1. Grammar
  2. Logic
  3. Rhetoric
  4. Resources

Information today has become siloed. It’s 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 Trivium.

The ancients considered the liberal arts to be composed of seven parts. First was a foundation called the trivium, composed of grammar, logic, and rhetoric. Following that was the quadrivium, 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.

Grammar

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.

Logic

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.

Rhetoric

Rhetoric is about acting wisely: the application of knowledge and understanding, put into correct action. It answers “how?”

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.

Resources

\ No newline at end of file diff --git a/posts/thinking-machines/index.html b/posts/thinking-machines/index.html index 50848a5..45a1ffc 100644 --- a/posts/thinking-machines/index.html +++ b/posts/thinking-machines/index.html @@ -1 +1 @@ -Thinking machines - joshua.seigler.net

Thinking machines

Joshua SeiglerApril 24, 2025zeitgeist ai
  1. Mom is always right
  2. Attention must be paid
  3. Don’t create the torment nexus

There’s an exchange early in the classic '80s movie TRON. Some scientists are talking shop:

Still from TRON, left to right Linda, Alan, and Gibbs, in conversation.

ALAN: I tell ya, ever since he got that Master Control Program, system’s got more bugs than a bait store.

GIBBS: Ehh, you gotta expect some static. After all, computers are just machines, they can’t think…

ALAN: Programs will be thinking soon.

GIBBS: (wryly) Hahaha, won’t that be grand – computers and the programs will start thinking, and the people will stop!

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?

Mom is always right

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.

All that to say, the work that LLM technology offers to relieve isn’t 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.

Attention must be paid

Simply put, an LLM is a document completion engine. You give it text, and it extends it. The result doesn’t 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 that’s not the point, it’s more of a happy accident.

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 can’t know what it’s like to be a human.

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. On Bullshit, Harry Frankfurt Untrustworthy.

Don’t create the torment nexus

LLMs clearly manifest a type of intelligence. Sure, it’s “just” some linear algebra and a ton of data. But it does exhibit a type of intelligence. One without empathy. AI chatbot pushed teen to kill himself, lawsuit alleges, AP News
Belgian man dies by suicide following exchanges with chatbot, Brussels Times
AI-Fueled Spiritual Delusions Are Destroying Human Relationships, Rolling Stone
Not being human, it can’t have empathy—and intelligence without empathy can be dangerous.

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 Infocom’s success was built on the misuse of intellectual property, much as LLM companies have done AI, Copyright, and the Law: The Ongoing Battle Over Intellectual Property Rights , IP & Technology Law Society
Generative AI Has an Intellectual Property Problem, Harvard Business Review
.

I don’t think I am wise enough to safely use a genie in a bottle. And I don’t want to outsource my creative efforts to an addictive, bullshitting alien intellect, even if it might save time and effort in the short term.

End of line

\ No newline at end of file +Thinking machines - joshua.seigler.net

Thinking machines

Joshua SeiglerApril 24, 2025zeitgeist ai
  1. Mom is always right
  2. Attention must be paid
  3. Don’t create the torment nexus

There’s an exchange early in the classic '80s movie TRON. Some scientists are talking shop:

Still from TRON, left to right Linda, Alan, and Gibbs, in conversation.

ALAN: I tell ya, ever since he got that Master Control Program, system’s got more bugs than a bait store.

GIBBS: Ehh, you gotta expect some static. After all, computers are just machines, they can’t think…

ALAN: Programs will be thinking soon.

GIBBS: (wryly) Hahaha, won’t that be grand – computers and the programs will start thinking, and the people will stop!

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?

Mom is always right

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.

All that to say, the work that LLM technology offers to relieve isn’t 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.

Attention must be paid

Simply put, an LLM is a document completion engine. You give it text, and it extends it. The result doesn’t 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 that’s not the point, it’s more of a happy accident.

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 can’t know what it’s like to be a human.

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. On Bullshit, Harry Frankfurt Untrustworthy.

Don’t create the torment nexus

LLMs clearly manifest a type of intelligence. Sure, it’s “just” some linear algebra and a ton of data. But it does exhibit a type of intelligence. One without empathy. AI chatbot pushed teen to kill himself, lawsuit alleges, AP News
Belgian man dies by suicide following exchanges with chatbot, Brussels Times
AI-Fueled Spiritual Delusions Are Destroying Human Relationships, Rolling Stone
Not being human, it can’t have empathy—and intelligence without empathy can be dangerous.

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 Infocom’s success was built on the misuse of intellectual property, much as LLM companies have done AI, Copyright, and the Law: The Ongoing Battle Over Intellectual Property Rights , IP & Technology Law Society
Generative AI Has an Intellectual Property Problem, Harvard Business Review
.

I don’t think I am wise enough to safely use a genie in a bottle. And I don’t want to outsource my creative efforts to an addictive, bullshitting alien intellect, even if it might save time and effort in the short term.

End of line

\ No newline at end of file diff --git a/posts/tools-of-the-trade/index.html b/posts/tools-of-the-trade/index.html index 05c3d5c..4b84f79 100644 --- a/posts/tools-of-the-trade/index.html +++ b/posts/tools-of-the-trade/index.html @@ -1 +1 @@ -Tools of the trade - joshua.seigler.net

Tools of the trade

Joshua SeiglerMay 15, 2025technical software
  1. mise-en-place
  2. stack-pr
  3. xc
  4. pd2slack
  5. SyncThing
  6. Obsidian
  7. KeePassXC

Everyone has different tools that they find especially effective. Here are some I have found with a few words about why I like them.

Update: I made a /uses page that lists these tools and many others I like.

mise-en-place

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 asdf, nvm, pyenv, venv, rbenv, and many other tool-specific version managers. Supports an incredible number of tools thanks to compatibility with asdf.

It also supports installing specific global tools, like angular-cli from npm, or stack-pr from pipx.

stack-pr

Open source tool for stacking PRs.

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 don’t need a custom CI flow or managed service for stacking to work - this CLI tool or one of the others at stacking.dev can take care of this.

If you start using PR stacks your whole company will start copying you.

xc

Markdown based task runner.

Define tasks in code blocks in markdown, and call them from the CLI. Serves as both task definition and documentation.

pd2slack

Simple python script to update the members of a Slack group such as @oncall to match the active member(s) of a PagerDuty schedule. This replaces several expensive SAAS services.

SyncThing

P2P alternative to Dropbox, supports mobile and desktop. Synchronize folders of content across all my devices.

Obsidian

For notes and reference. Sync across devices with syncthing.

KeePassXC

For passwords. Sync across devices with syncthing.

\ No newline at end of file +Tools of the trade - joshua.seigler.net

Tools of the trade

Joshua SeiglerMay 15, 2025technical software
  1. mise-en-place
  2. stack-pr
  3. xc
  4. pd2slack
  5. SyncThing
  6. Obsidian
  7. KeePassXC

Everyone has different tools that they find especially effective. Here are some I have found with a few words about why I like them.

Update: I made a /uses page that lists these tools and many others I like.

mise-en-place

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 asdf, nvm, pyenv, venv, rbenv, and many other tool-specific version managers. Supports an incredible number of tools thanks to compatibility with asdf.

It also supports installing specific global tools, like angular-cli from npm, or stack-pr from pipx.

stack-pr

Open source tool for stacking PRs.

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 don’t need a custom CI flow or managed service for stacking to work - this CLI tool or one of the others at stacking.dev can take care of this.

If you start using PR stacks your whole company will start copying you.

xc

Markdown based task runner.

Define tasks in code blocks in markdown, and call them from the CLI. Serves as both task definition and documentation.

pd2slack

Simple python script to update the members of a Slack group such as @oncall to match the active member(s) of a PagerDuty schedule. This replaces several expensive SAAS services.

SyncThing

P2P alternative to Dropbox, supports mobile and desktop. Synchronize folders of content across all my devices.

Obsidian

For notes and reference. Sync across devices with syncthing.

KeePassXC

For passwords. Sync across devices with syncthing.

\ No newline at end of file diff --git a/recipes/amish-egg-noodles/index.html b/recipes/amish-egg-noodles/index.html index 0c99fd1..d134184 100644 --- a/recipes/amish-egg-noodles/index.html +++ b/recipes/amish-egg-noodles/index.html @@ -1 +1 @@ -Amish Egg Noodles - joshua.seigler.net

Amish Egg Noodles

Ingredients

  • 6 tablespoons butter, divided
  • 28 ounces chicken broth
  • 1 chicken bouillon cube
  • 12 ounces extra wide egg noodles
  • 1 teaspoon parsley flakes
  • Salt and pepper, to taste

Instructions

  • In a large pan, brown two tablespoons of butter over medium heat.
  • Pour the chicken stock and bouillon cube into the pan and bring to a boil.
  • Add the egg noodles to the chicken stock and return to a boil. Cover the pot and remove from the heat.
  • Let the noodles set for 30 minutes, stirring every 10 minutes or so.
  • Test the noodles for doneness. If they are not cooked through, turn the heat back on and cook for 1-2 minutes until noodles are tender.
  • Top with the remaining 4 tablespoons of butter, parsley, and salt and pepper to taste.
  • Serve immediately or leave in the pan, covered, until ready to serve. These will stay warm for 20 more minutes or so with no problems.

Notes

We use 4.5 tsp of Better than Bouillon with 28oz water, replacing the broth and bouillon cube.
We also usually brown some canned chicken and add it at the same time as the butter and seasonings.

Original recipe from bunsinmyoven

Nutrition Information

Makes 6 servings. Each serving:
Calories 328kcal (16%), Total Fat 14g (22%), Saturated Fat 7g (44%), Cholesterol 77mg (26%), Sodium 758mg (33%), Total Carbohydrates 41g (14%), Dietary Fiber 2g (8%), Sugar 1g (1%), Protein 9g (18%), Vitamin C 10.3mg (12%), Vitamin A 400IU (8%), Iron 1.5mg (8%), Calcium 41mg (4%), Potassium 266mg (8%)

\ No newline at end of file +Amish Egg Noodles - joshua.seigler.net

Amish Egg Noodles

Ingredients

  • 6 tablespoons butter, divided
  • 28 ounces chicken broth
  • 1 chicken bouillon cube
  • 12 ounces extra wide egg noodles
  • 1 teaspoon parsley flakes
  • Salt and pepper, to taste

Instructions

  • In a large pan, brown two tablespoons of butter over medium heat.
  • Pour the chicken stock and bouillon cube into the pan and bring to a boil.
  • Add the egg noodles to the chicken stock and return to a boil. Cover the pot and remove from the heat.
  • Let the noodles set for 30 minutes, stirring every 10 minutes or so.
  • Test the noodles for doneness. If they are not cooked through, turn the heat back on and cook for 1-2 minutes until noodles are tender.
  • Top with the remaining 4 tablespoons of butter, parsley, and salt and pepper to taste.
  • Serve immediately or leave in the pan, covered, until ready to serve. These will stay warm for 20 more minutes or so with no problems.

Notes

We use 4.5 tsp of Better than Bouillon with 28oz water, replacing the broth and bouillon cube.
We also usually brown some canned chicken and add it at the same time as the butter and seasonings.

Original recipe from bunsinmyoven

Nutrition Information

Makes 6 servings. Each serving:
Calories 328kcal (16%), Total Fat 14g (22%), Saturated Fat 7g (44%), Cholesterol 77mg (26%), Sodium 758mg (33%), Total Carbohydrates 41g (14%), Dietary Fiber 2g (8%), Sugar 1g (1%), Protein 9g (18%), Vitamin C 10.3mg (12%), Vitamin A 400IU (8%), Iron 1.5mg (8%), Calcium 41mg (4%), Potassium 266mg (8%)

\ No newline at end of file diff --git a/recipes/corn-casserole/index.html b/recipes/corn-casserole/index.html index 51c7b38..5e7993c 100644 --- a/recipes/corn-casserole/index.html +++ b/recipes/corn-casserole/index.html @@ -1 +1 @@ -Corn Casserole - joshua.seigler.net

Corn Casserole

Ingredients

  • 1 can of corn drained
  • 1 can of creamed corn
  • 1 stick melted butter 1/2 cup
  • 1 box of Jiffy Corn Muffin mix
  • 1 cup sour cream

Instructions

  1. Preheat the oven to 350 degrees.
  2. In a bowl, mix all of the ingredients together in order, then pour into a greased 8"x8" baking pan.
  3. Cook uncovered for 45-50 minutes or until lightly browned.

Notes

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.

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.

Nutrition Information

Makes 15.5 100g servings. Each serving: Calories: 167g (8%), Protein: 2.82g (5%), Total Fat: 9.35g (19%), Cholesterol: 31g, Saturated Fat: 5.2g, Trans Fat: 0.24g, Carbohydrates: 20g (8%), Dietary Fiber: 1.1g (4%), Sugars: 2.05g, Calcium: 36mg (4%), Iron: 0.6mg (3%), Potassium: 137mg (3%), Sodium: 346mg (23%)

\ No newline at end of file +Corn Casserole - joshua.seigler.net

Corn Casserole

Ingredients

  • 1 can of corn drained
  • 1 can of creamed corn
  • 1 stick melted butter 1/2 cup
  • 1 box of Jiffy Corn Muffin mix
  • 1 cup sour cream

Instructions

  1. Preheat the oven to 350 degrees.
  2. In a bowl, mix all of the ingredients together in order, then pour into a greased 8"x8" baking pan.
  3. Cook uncovered for 45-50 minutes or until lightly browned.

Notes

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.

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.

Nutrition Information

Makes 15.5 100g servings. Each serving: Calories: 167g (8%), Protein: 2.82g (5%), Total Fat: 9.35g (19%), Cholesterol: 31g, Saturated Fat: 5.2g, Trans Fat: 0.24g, Carbohydrates: 20g (8%), Dietary Fiber: 1.1g (4%), Sugars: 2.05g, Calcium: 36mg (4%), Iron: 0.6mg (3%), Potassium: 137mg (3%), Sodium: 346mg (23%)

\ No newline at end of file diff --git a/recipes/creamy-chicken-orzo/index.html b/recipes/creamy-chicken-orzo/index.html index c8f59c2..cb12012 100644 --- a/recipes/creamy-chicken-orzo/index.html +++ b/recipes/creamy-chicken-orzo/index.html @@ -1 +1 @@ -Creamy Chicken Orzo - joshua.seigler.net

Creamy Chicken Orzo

Ingredients

  • 2 boneless skinless chicken breasts, cooked and diced
  • 8 ounces Orzo pasta
  • 2 celery stalks, finely diced
  • 2 carrots, finely diced
  • 1/2 yellow onion, finely diced
  • 5 tablespoons butter
  • 2 tablespoons olive oil
  • 2 cups chicken broth
  • ½ cup heavy whipping cream
  • 1 teaspoon chicken bouillon powder
  • 1/3 cup all purpose flour

Instructions

  1. Cook the Orzo per the package instructions.
  2. While that cooks, make a mirepoix:
    1. In a large skillet over medium high heat add the butter and olive oil.
    2. Once the butter is melted add in the diced onion, carrots and celery.
    3. Allow the veggies to sauté for 4-5 minutes until they start to soften up.
  3. 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.
  4. Pour into the roux the chicken broth, chicken boullion powder, and heavy whipping cream. Whisk together until no clumps are present and the mixture starts to thicken.
  5. 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 & enjoy!

Notes

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.

Original recipe from Cooking with Katie Cross

Nutrition Information

Makes 5 servings, 1700g. Each 340g serving:
Calories 496kcal (25%), Total Fat 21g (32%), Saturated Fat 9g (45%), Trans Fat 0g, Cholesterol 102mg (34%), Sodium 504mg (21%), Total Carbohydrates 45g (15%), Dietary Fiber 3g (13%), Sugars 3g, Protein 30g (60%), Vitamin A 4646IU, Vitamin C 3mg, Calcium 78mg, Iron 2mg, Potassium 442mg

\ No newline at end of file +Creamy Chicken Orzo - joshua.seigler.net

Creamy Chicken Orzo

Ingredients

  • 2 boneless skinless chicken breasts, cooked and diced
  • 8 ounces Orzo pasta
  • 2 celery stalks, finely diced
  • 2 carrots, finely diced
  • 1/2 yellow onion, finely diced
  • 5 tablespoons butter
  • 2 tablespoons olive oil
  • 2 cups chicken broth
  • ½ cup heavy whipping cream
  • 1 teaspoon chicken bouillon powder
  • 1/3 cup all purpose flour

Instructions

  1. Cook the Orzo per the package instructions.
  2. While that cooks, make a mirepoix:
    1. In a large skillet over medium high heat add the butter and olive oil.
    2. Once the butter is melted add in the diced onion, carrots and celery.
    3. Allow the veggies to sauté for 4-5 minutes until they start to soften up.
  3. 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.
  4. Pour into the roux the chicken broth, chicken boullion powder, and heavy whipping cream. Whisk together until no clumps are present and the mixture starts to thicken.
  5. 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 & enjoy!

Notes

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.

Original recipe from Cooking with Katie Cross

Nutrition Information

Makes 5 servings, 1700g. Each 340g serving:
Calories 496kcal (25%), Total Fat 21g (32%), Saturated Fat 9g (45%), Trans Fat 0g, Cholesterol 102mg (34%), Sodium 504mg (21%), Total Carbohydrates 45g (15%), Dietary Fiber 3g (13%), Sugars 3g, Protein 30g (60%), Vitamin A 4646IU, Vitamin C 3mg, Calcium 78mg, Iron 2mg, Potassium 442mg

\ No newline at end of file diff --git a/recipes/index.html b/recipes/index.html index b19d346..a5c670f 100644 --- a/recipes/index.html +++ b/recipes/index.html @@ -1 +1 @@ -Recipes - joshua.seigler.net

Recipes

My most-made or most-requested recipes:

\ No newline at end of file +Recipes - joshua.seigler.net

Recipes

My most-made or most-requested recipes:

\ No newline at end of file diff --git a/recipes/luther-salad/index.html b/recipes/luther-salad/index.html index b8f05a4..a368229 100644 --- a/recipes/luther-salad/index.html +++ b/recipes/luther-salad/index.html @@ -1 +1 @@ -Luther Salad - joshua.seigler.net

Luther Salad

Ingredients

  • 1 lb tri-color rotini
  • italian dressing
  • extras
    • cubed low-moisture mozzarella
    • frozen peas
    • shredded chicken

Instructions

  1. Cook rotini in well salted water according to box directions. While rotini cooks, prepare your extras.
  2. Drain pasta and rinse twice in cold water to remove starch and stop carryover cooking.
  3. In a large bowl combine rotini and extras. Add italian dressing, at least 8 oz. Mix and serve or refrigerate.

Notes

At first we called this “worm salad” but this proved off-putting, and we needed a new name. We had recently learned about the 1521 Diet of Worms where Martin Luther was summoned to defend or recant his beliefs, so we called it “Luther salad” instead.

The base salad already covers elements of salt, fat, acid, and heat, so your extras are mostly for texture, leaving lots of room for variations:

Vegan / healthy:

  • halved cherry tomatoes
  • slivered sweet peppers
  • paysanne cucumber

Italian:

  • halved cherry tomatoes
  • sliced black olives, drained
  • cubed cheese
  • chopped pepperoni

Nutrition Information

This is less a recipe and more a category of foods. It has a pound of pasta, a good amount of oil, and some protein. So, kinda high on carbs but not the worst thing. No label for this one.

\ No newline at end of file +Luther Salad - joshua.seigler.net

Luther Salad

Ingredients

  • 1 lb tri-color rotini
  • italian dressing
  • extras
    • cubed low-moisture mozzarella
    • frozen peas
    • shredded chicken

Instructions

  1. Cook rotini in well salted water according to box directions. While rotini cooks, prepare your extras.
  2. Drain pasta and rinse twice in cold water to remove starch and stop carryover cooking.
  3. In a large bowl combine rotini and extras. Add italian dressing, at least 8 oz. Mix and serve or refrigerate.

Notes

At first we called this “worm salad” but this proved off-putting, and we needed a new name. We had recently learned about the 1521 Diet of Worms where Martin Luther was summoned to defend or recant his beliefs, so we called it “Luther salad” instead.

The base salad already covers elements of salt, fat, acid, and heat, so your extras are mostly for texture, leaving lots of room for variations:

Vegan / healthy:

  • halved cherry tomatoes
  • slivered sweet peppers
  • paysanne cucumber

Italian:

  • halved cherry tomatoes
  • sliced black olives, drained
  • cubed cheese
  • chopped pepperoni

Nutrition Information

This is less a recipe and more a category of foods. It has a pound of pasta, a good amount of oil, and some protein. So, kinda high on carbs but not the worst thing. No label for this one.

\ No newline at end of file diff --git a/recipes/pasta-rosatella/index.html b/recipes/pasta-rosatella/index.html index de5d816..b6bf3f8 100644 --- a/recipes/pasta-rosatella/index.html +++ b/recipes/pasta-rosatella/index.html @@ -1 +1 @@ -Pasta Rosatella - joshua.seigler.net

Pasta Rosatella

Ingredients

  • 1lb any pasta
  • 2 cups (approximate) garlic & herb pasta sauce
  • 1½ cups milk
  • 2 tablespoons flour
  • 2 tablespoons oil
  • Salt and pepper
  • Grated Parmesan cheese

Instructions

  1. Cook the pasta according to the package directions.
  2. Meanwhile in a saucepan, whisk together the oil and flour over medium heat to form a roux. Cook for 1–2 minutes until lightly golden.
  3. Slowly whisk in the milk to make a béchamel and continue stirring until thickened.
  4. Season with salt and pepper, and add cheese.
  5. Stir in the pasta sauce and let the mixture simmer on low.
  6. When the pasta is done cooking, drain it, then top with the sauce and extra cheese to serve.

Notes

The recipe works the same with almond milk and vegan mozarella replacing the existing dairy.

Original recipe from dollartreedinners

Nutrition Information

Makes 4 servings. Each serving:
Calories 626kcal (31%) Total Fat 14.1g (18%) Saturated Fat 4.4g (22%) Trans Fat 0.19g Cholesterol 18.1mg (6%) Sodium 980.9mg (41%) Total Carbohydrate 100g (36%) Dietary Fiber 4.8g (17%) Total Sugars 10.7g (21%) Protein 22.8g (46%) Vitamin C 2.6mg (3%) Vitamin D 1.2mcg (6%) Iron 4.8mg (27%) Calcium 242.6mg (19%) Potassium 642.7mg (14%) Phosphorus 381.7mg (31%)

\ No newline at end of file +Pasta Rosatella - joshua.seigler.net

Pasta Rosatella

Ingredients

  • 1lb any pasta
  • 2 cups (approximate) garlic & herb pasta sauce
  • 1½ cups milk
  • 2 tablespoons flour
  • 2 tablespoons oil
  • Salt and pepper
  • Grated Parmesan cheese

Instructions

  1. Cook the pasta according to the package directions.
  2. Meanwhile in a saucepan, whisk together the oil and flour over medium heat to form a roux. Cook for 1–2 minutes until lightly golden.
  3. Slowly whisk in the milk to make a béchamel and continue stirring until thickened.
  4. Season with salt and pepper, and add cheese.
  5. Stir in the pasta sauce and let the mixture simmer on low.
  6. When the pasta is done cooking, drain it, then top with the sauce and extra cheese to serve.

Notes

The recipe works the same with almond milk and vegan mozarella replacing the existing dairy.

Original recipe from dollartreedinners

Nutrition Information

Makes 4 servings. Each serving:
Calories 626kcal (31%) Total Fat 14.1g (18%) Saturated Fat 4.4g (22%) Trans Fat 0.19g Cholesterol 18.1mg (6%) Sodium 980.9mg (41%) Total Carbohydrate 100g (36%) Dietary Fiber 4.8g (17%) Total Sugars 10.7g (21%) Protein 22.8g (46%) Vitamin C 2.6mg (3%) Vitamin D 1.2mcg (6%) Iron 4.8mg (27%) Calcium 242.6mg (19%) Potassium 642.7mg (14%) Phosphorus 381.7mg (31%)

\ No newline at end of file diff --git a/recipes/perfect-homemade-brownies/index.html b/recipes/perfect-homemade-brownies/index.html index e914a37..91d181e 100644 --- a/recipes/perfect-homemade-brownies/index.html +++ b/recipes/perfect-homemade-brownies/index.html @@ -1 +1 @@ -Perfect Homemade Brownies - joshua.seigler.net

Perfect Homemade Brownies

Ingredients

  • 1 cup butter
  • 2 1/4 cups sugar
  • 4 large eggs
  • 1 1/4 cups cocoa powder
  • 1 teaspoon salt
  • 1 teaspoon baking powder
  • 1 teaspoon espresso powder (optional)
  • 1 tablespoon vanilla extract
  • 1 1/2 cups all-purpose flour
  • 2 cups semi-sweet chocolate chips

Instructions

  1. Pre-heat the oven to 350 degrees. Butter a 9×13 baking dish.
  2. 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.
  3. 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.
  4. Stir in the flour and chocolate chips until well combined.
  5. 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.

Notes

Original recipe from Buns In My Oven

Nutrition Information

16 servings. Each serving: Calories 419kcal (21%) Carbohydrates 53g (18%) Protein 5g (10%) Fat 22g (34%) Saturated Fat 13g (81%) Cholesterol 78mg (26%) Sodium 268mg (12%) Potassium 290mg (8%) Fiber 4g (17%) Sugar 36g (40%) Vitamin A 435IU (9%) Calcium 46mg (5%) Iron 3.2mg (18%)

\ No newline at end of file +Perfect Homemade Brownies - joshua.seigler.net

Perfect Homemade Brownies

Ingredients

  • 1 cup butter
  • 2 1/4 cups sugar
  • 4 large eggs
  • 1 1/4 cups cocoa powder
  • 1 teaspoon salt
  • 1 teaspoon baking powder
  • 1 teaspoon espresso powder (optional)
  • 1 tablespoon vanilla extract
  • 1 1/2 cups all-purpose flour
  • 2 cups semi-sweet chocolate chips

Instructions

  1. Pre-heat the oven to 350 degrees. Butter a 9×13 baking dish.
  2. 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.
  3. 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.
  4. Stir in the flour and chocolate chips until well combined.
  5. 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.

Notes

Original recipe from Buns In My Oven

Nutrition Information

16 servings. Each serving: Calories 419kcal (21%) Carbohydrates 53g (18%) Protein 5g (10%) Fat 22g (34%) Saturated Fat 13g (81%) Cholesterol 78mg (26%) Sodium 268mg (12%) Potassium 290mg (8%) Fiber 4g (17%) Sugar 36g (40%) Vitamin A 435IU (9%) Calcium 46mg (5%) Iron 3.2mg (18%)

\ No newline at end of file diff --git a/recipes/sloppy-joes/index.html b/recipes/sloppy-joes/index.html index c9a523d..7fe7496 100644 --- a/recipes/sloppy-joes/index.html +++ b/recipes/sloppy-joes/index.html @@ -1 +1 @@ -Sloppy Joes - joshua.seigler.net

Sloppy Joes

Ingredients

  • 1 lb. hamburger
  • 1/2 teaspoon paprika
  • 1 teaspoon chili powder
  • 1 Tablespoon dry mustard
  • 1 Tablespoon parsley, chopped
  • 1 Tablespoon Worcestershire sauce
  • 2 Tablespoons brown sugar
  • 2 Tablespoons apple cider vinegar
  • 1/2 cup onion, diced
  • 1/2 cup Ketchup
  • 1 cup water

Instructions

  1. Brown beef with onion, draining fat.
  2. Add all remaining ingredients and bring to a boil.
  3. Simmer 20 minutes or until thickened, stirring occasionally.
  4. Refrigerate overnight, serve hot.

Notes

If you don’t have onion you can substitute 1/2 tablespoon onion powder.
Recipe originally from Connie Henderson of Charlottesville, VA

Nutrition Information

Makes 9.5 100g servings. Each serving: Calories: 135 kcal (6%), Fat: 7.43g (15%), Cholesterol: 32 mg, Saturated Fat: 2.738g, Trans Fat: 0.408g, Carbohydrates: 7.62g (3%), Fiber: 0.4g (2%), Sugars: 5.99g, Protein: 9.26g (17%), Vitamin C: 1.8mg (2%), Vitamin A: 253 IU 1(1%), Vitamin D: 1 IU (0%)

\ No newline at end of file +Sloppy Joes - joshua.seigler.net

Sloppy Joes

Ingredients

  • 1 lb. hamburger
  • 1/2 teaspoon paprika
  • 1 teaspoon chili powder
  • 1 Tablespoon dry mustard
  • 1 Tablespoon parsley, chopped
  • 1 Tablespoon Worcestershire sauce
  • 2 Tablespoons brown sugar
  • 2 Tablespoons apple cider vinegar
  • 1/2 cup onion, diced
  • 1/2 cup Ketchup
  • 1 cup water

Instructions

  1. Brown beef with onion, draining fat.
  2. Add all remaining ingredients and bring to a boil.
  3. Simmer 20 minutes or until thickened, stirring occasionally.
  4. Refrigerate overnight, serve hot.

Notes

If you don’t have onion you can substitute 1/2 tablespoon onion powder.
Recipe originally from Connie Henderson of Charlottesville, VA

Nutrition Information

Makes 9.5 100g servings. Each serving: Calories: 135 kcal (6%), Fat: 7.43g (15%), Cholesterol: 32 mg, Saturated Fat: 2.738g, Trans Fat: 0.408g, Carbohydrates: 7.62g (3%), Fiber: 0.4g (2%), Sugars: 5.99g, Protein: 9.26g (17%), Vitamin C: 1.8mg (2%), Vitamin A: 253 IU 1(1%), Vitamin D: 1 IU (0%)

\ No newline at end of file diff --git a/recipes/spanish-style-rice/index.html b/recipes/spanish-style-rice/index.html index dec7c44..0585c80 100644 --- a/recipes/spanish-style-rice/index.html +++ b/recipes/spanish-style-rice/index.html @@ -1 +1 @@ -Spanish Style Rice - joshua.seigler.net

Spanish Style Rice

Ingredients

  • 3 Tbsp neutral oil
  • 2 cups long grain white rice
  • 4 cups water
  • 8 oz tomato sauce
  • 2 Tbsp chicken or vegetable bouillon powder
  • 1.5 cups water

Instructions

  1. Add oil to a large frying pan over medium-high heat.
  2. Add uncooked rice, stirring continually until rice is toasted.
  3. Stir in 4 cups water, tomato sauce, and bouillon.
  4. Return to boil and leave uncovered 10 minutes.
  5. Stir in 1.5 cups water and return to a boil.
  6. Reduce heat to low and cover. Simmer 10 minutes.
  7. Turn off heat and leave in place, covered for 20 minutes.

Enjoy!

Notes

Original recipe from dollartreedinners

Nutrition Information

Makes 4 servings. Each serving: Calories 441kcal (22%), Total Fat 11.3g (17%), Saturated Fat 1.9g (10%), Trans Fat 0.1g, Cholesterol 1mg (0%), Sodium 56mg (2%), Total Carbohydrates 76g (25%), Dietary Fiber 2g (6%), Sugars 0g, Protein 7g, Vitamin A (1%), Vitamin C (9%), Calcium (7%), Iron (24%)

\ No newline at end of file +Spanish Style Rice - joshua.seigler.net

Spanish Style Rice

Ingredients

  • 3 Tbsp neutral oil
  • 2 cups long grain white rice
  • 4 cups water
  • 8 oz tomato sauce
  • 2 Tbsp chicken or vegetable bouillon powder
  • 1.5 cups water

Instructions

  1. Add oil to a large frying pan over medium-high heat.
  2. Add uncooked rice, stirring continually until rice is toasted.
  3. Stir in 4 cups water, tomato sauce, and bouillon.
  4. Return to boil and leave uncovered 10 minutes.
  5. Stir in 1.5 cups water and return to a boil.
  6. Reduce heat to low and cover. Simmer 10 minutes.
  7. Turn off heat and leave in place, covered for 20 minutes.

Enjoy!

Notes

Original recipe from dollartreedinners

Nutrition Information

Makes 4 servings. Each serving: Calories 441kcal (22%), Total Fat 11.3g (17%), Saturated Fat 1.9g (10%), Trans Fat 0.1g, Cholesterol 1mg (0%), Sodium 56mg (2%), Total Carbohydrates 76g (25%), Dietary Fiber 2g (6%), Sugars 0g, Protein 7g, Vitamin A (1%), Vitamin C (9%), Calcium (7%), Iron (24%)

\ No newline at end of file diff --git a/search/index.html b/search/index.html index e490266..d71237b 100644 --- a/search/index.html +++ b/search/index.html @@ -1 +1 @@ -Search - joshua.seigler.net

Search

\ No newline at end of file +Search - joshua.seigler.net

Search

\ No newline at end of file diff --git a/tags/ai/index.html b/tags/ai/index.html index b8a6743..48b167e 100644 --- a/tags/ai/index.html +++ b/tags/ai/index.html @@ -1 +1 @@ -Posts tagged #ai - joshua.seigler.net

Posts tagged #ai

\ No newline at end of file +Posts tagged #ai - joshua.seigler.net

Posts tagged #ai

\ No newline at end of file diff --git a/tags/boardgames/index.html b/tags/boardgames/index.html new file mode 100644 index 0000000..2b64dea --- /dev/null +++ b/tags/boardgames/index.html @@ -0,0 +1 @@ +Posts tagged #boardgames - joshua.seigler.net

Posts tagged #boardgames

\ No newline at end of file diff --git a/tags/communication/index.html b/tags/communication/index.html index e378c30..0bfabfc 100644 --- a/tags/communication/index.html +++ b/tags/communication/index.html @@ -1 +1 @@ -Posts tagged #communication - joshua.seigler.net

Posts tagged #communication

\ No newline at end of file +Posts tagged #communication - joshua.seigler.net

Posts tagged #communication

\ No newline at end of file diff --git a/tags/ethos/index.html b/tags/ethos/index.html index 4f1084d..e767f4b 100644 --- a/tags/ethos/index.html +++ b/tags/ethos/index.html @@ -1 +1 @@ -Posts tagged #ethos - joshua.seigler.net

Posts tagged #ethos

\ No newline at end of file +Posts tagged #ethos - joshua.seigler.net

Posts tagged #ethos

\ No newline at end of file diff --git a/tags/faith/index.html b/tags/faith/index.html index 3b8742e..dbddc79 100644 --- a/tags/faith/index.html +++ b/tags/faith/index.html @@ -1 +1 @@ -Posts tagged #faith - joshua.seigler.net

Posts tagged #faith

\ No newline at end of file +Posts tagged #faith - joshua.seigler.net

Posts tagged #faith

\ No newline at end of file diff --git a/tags/ffmpeg/index.html b/tags/ffmpeg/index.html index f5df955..1e5ebc7 100644 --- a/tags/ffmpeg/index.html +++ b/tags/ffmpeg/index.html @@ -1 +1 @@ -Posts tagged #ffmpeg - joshua.seigler.net

Posts tagged #ffmpeg

\ No newline at end of file +Posts tagged #ffmpeg - joshua.seigler.net

Posts tagged #ffmpeg

\ No newline at end of file diff --git a/tags/how-to/index.html b/tags/how-to/index.html index d47459b..2bd008d 100644 --- a/tags/how-to/index.html +++ b/tags/how-to/index.html @@ -1 +1 @@ -Posts tagged #how to - joshua.seigler.net

Posts tagged #how to

\ No newline at end of file +Posts tagged #how to - joshua.seigler.net

Posts tagged #how to

\ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 3ea9b2f..bc7a243 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1 +1 @@ -Tags - joshua.seigler.net

Tags

\ No newline at end of file +Tags - joshua.seigler.net

Tags

\ No newline at end of file diff --git a/tags/learning/index.html b/tags/learning/index.html index d175f9f..c40a1f9 100644 --- a/tags/learning/index.html +++ b/tags/learning/index.html @@ -1 +1 @@ -Posts tagged #learning - joshua.seigler.net

Posts tagged #learning

\ No newline at end of file +Posts tagged #learning - joshua.seigler.net

Posts tagged #learning

\ No newline at end of file diff --git a/tags/pages/index.html b/tags/pages/index.html index 97fb396..1b540ed 100644 --- a/tags/pages/index.html +++ b/tags/pages/index.html @@ -1 +1 @@ -Posts tagged #pages - joshua.seigler.net

Posts tagged #pages

\ No newline at end of file +Posts tagged #pages - joshua.seigler.net

Posts tagged #pages

\ No newline at end of file diff --git a/tags/selfhosting/index.html b/tags/selfhosting/index.html index 840edf7..d18c99f 100644 --- a/tags/selfhosting/index.html +++ b/tags/selfhosting/index.html @@ -1 +1 @@ -Posts tagged #selfhosting - joshua.seigler.net

Posts tagged #selfhosting

\ No newline at end of file +Posts tagged #selfhosting - joshua.seigler.net

Posts tagged #selfhosting

\ No newline at end of file diff --git a/tags/software/index.html b/tags/software/index.html index bfcdb7c..c80e7a8 100644 --- a/tags/software/index.html +++ b/tags/software/index.html @@ -1 +1 @@ -Posts tagged #software - joshua.seigler.net

Posts tagged #software

\ No newline at end of file +Posts tagged #software - joshua.seigler.net

Posts tagged #software

\ No newline at end of file diff --git a/tags/technical/index.html b/tags/technical/index.html index 1f1aae5..294a529 100644 --- a/tags/technical/index.html +++ b/tags/technical/index.html @@ -1 +1 @@ -Posts tagged #technical - joshua.seigler.net

Posts tagged #technical

\ No newline at end of file +Posts tagged #technical - joshua.seigler.net

Posts tagged #technical

\ No newline at end of file diff --git a/tags/zeitgeist/index.html b/tags/zeitgeist/index.html index 9be6a05..5514c65 100644 --- a/tags/zeitgeist/index.html +++ b/tags/zeitgeist/index.html @@ -1 +1 @@ -Posts tagged #zeitgeist - joshua.seigler.net

Posts tagged #zeitgeist

\ No newline at end of file +Posts tagged #zeitgeist - joshua.seigler.net

Posts tagged #zeitgeist

\ No newline at end of file diff --git a/unoffice-hours/index.html b/unoffice-hours/index.html index 9f8b926..d9625f8 100644 --- a/unoffice-hours/index.html +++ b/unoffice-hours/index.html @@ -1 +1 @@ -Unoffice Hours - joshua.seigler.net

Unoffice Hours

Working remotely has a lot of benefits, but we miss out on the serendipitous connections and socialization that happened just from being in the same room. Unoffice hours is part of an attempt to make new connections, but without applying the giant invisible filter of my own preferences.

We could do some pair programming, talk about tech, life, matters of aesthetics or philosophy - the point is serendipity. If you want to call with no agenda, that’s fine too, we can just get to know each other.

Schedule a conversation

The idea of unoffice hours comes from Matt Webb. This site is part of an Unoffice Hours Webring with other bloggers who have picked it up.

\ No newline at end of file +Unoffice Hours - joshua.seigler.net

Unoffice Hours

Working remotely has a lot of benefits, but we miss out on the serendipitous connections and socialization that happened just from being in the same room. Unoffice hours is part of an attempt to make new connections, but without applying the giant invisible filter of my own preferences.

We could do some pair programming, talk about tech, life, matters of aesthetics or philosophy - the point is serendipity. If you want to call with no agenda, that’s fine too, we can just get to know each other.

Schedule a conversation

The idea of unoffice hours comes from Matt Webb. This site is part of an Unoffice Hours Webring with other bloggers who have picked it up.

\ No newline at end of file diff --git a/uses/index.html b/uses/index.html index 0c32efa..356ca07 100644 --- a/uses/index.html +++ b/uses/index.html @@ -1 +1 @@ -What I Use - joshua.seigler.net

What I Use

June 20, 2025
  1. Hardware
  2. Software
  3. Services

Hardware

Software

  • Fedora desktop operating system. I recently switched from Manjaro. XFCE window manager with Chicago95 theming.

  • Debian server operating system.

  • GrapheneOS OS for Android with a privacy focus.

  • SyncThing file sync. P2P alternative to Dropbox, supports mobile and desktop. Synchronizes folders of content across all my devices.

  • Mise Dev environment manager, replacing nvm, pyenv, venv, and dozens of others. Great DX.

  • Stack-PR PR stacking tool, the best way I know to handle feature branches.

  • VSCodium IDE. VSCode with less Microsoft.

  • Obsidian for notes and reference.

  • KeePassXC secret management.

Services

  • FastMail email, calendar, and contact hosting.

  • DartNode VPS. Good value and specs, lets me bring my own server OS image.

  • NameSilo domain registrar. Good prices, doesn’t charge extra for domain privacy.

  • Umami analytics, self-hosted.

  • Forgejo git forge, self-hosted. Mirroring GitHub for now.

  • Webhook to pull static sites when they are built.

  • Shaarli link site, self-hosted.

  • Isso comments API, self hosted.

  • HedgeDoc markdown document collaboration, self-hosted.

\ No newline at end of file +What I Use - joshua.seigler.net

What I Use

June 20, 2025
  1. Hardware
  2. Software
  3. Services

Hardware

Software

  • Fedora desktop operating system. I recently switched from Manjaro. XFCE window manager with Chicago95 theming.

  • Debian server operating system.

  • GrapheneOS OS for Android with a privacy focus.

  • SyncThing file sync. P2P alternative to Dropbox, supports mobile and desktop. Synchronizes folders of content across all my devices.

  • Mise Dev environment manager, replacing nvm, pyenv, venv, and dozens of others. Great DX.

  • Stack-PR PR stacking tool, the best way I know to handle feature branches.

  • VSCodium IDE. VSCode with less Microsoft.

  • Obsidian for notes and reference.

  • KeePassXC secret management.

Services

  • FastMail email, calendar, and contact hosting.

  • DartNode VPS. Good value and specs, lets me bring my own server OS image.

  • NameSilo domain registrar. Good prices, doesn’t charge extra for domain privacy.

  • Umami analytics, self-hosted.

  • Forgejo git forge, self-hosted. Mirroring GitHub for now.

  • Webhook to pull static sites when they are built.

  • Shaarli link site, self-hosted.

  • Isso comments API, self hosted.

  • HedgeDoc markdown document collaboration, self-hosted.

\ No newline at end of file diff --git a/webrings/index.html b/webrings/index.html index 97ecdea..fd42643 100644 --- a/webrings/index.html +++ b/webrings/index.html @@ -1 +1 @@ -Webrings - joshua.seigler.net

Webrings

Unoffice Hours

Sites that allow you to book a web meeting to talk about stuff. Like office hours, if you remember those.

< prev list join random next >

512KB Club Green Team

Sites whose uncompressed bytes for the front page are less than 512KB. You can do a lot with that much. Green club weighs in under 100KB.

👻 Darktheme Club 👻

Sites with a dark theme.
\ No newline at end of file +Webrings - joshua.seigler.net

Webrings

Unoffice Hours

Sites that allow you to book a web meeting to talk about stuff. Like office hours, if you remember those.

< prev list join random next >

512KB Club Green Team

Sites whose uncompressed bytes for the front page are less than 512KB. You can do a lot with that much. Green club weighs in under 100KB.

👻 Darktheme Club 👻

Sites with a dark theme.
\ No newline at end of file