commit d790e6b782295dd8e683a08982ba47283f749425
parent 7938fd10fb6b3ae4b96520023a83e8672a08cab3
Author: alex wennerberg <alex@alexwennerberg.com>
Date: Sat, 8 Apr 2023 13:45:41 -0400
converted to devine-mode
Diffstat:
13 files changed, 194 insertions(+), 211 deletions(-)
diff --git a/README.md b/README.md
@@ -7,5 +7,4 @@ for your purposes.
Mostly shell scripts
-Dependencies:
-[smu](https://github.com/Gottox/smu)
+ls | entry ./build.sh for autobuild
diff --git a/TODO b/TODO
@@ -1 +1,3 @@
External Link CSS jbauer
+favicon
+svg version of my avi
diff --git a/build.sh b/build.sh
@@ -4,13 +4,29 @@ outdir=_site
mkdir -p $outdir
+# build nav
+
+function nav () {
+ echo "<nav><ul><section class='site-nav'>"
+ for file in ./src/*.html; do
+ fn=`basename ${file%.*}`
+ echo "<li><a href='`basename $file`'>$fn</a></li>"
+ done
+ echo "</section></ul></nav><main>"
+}
+
+navstr=`nav`
+
+# copy over files
for i in ./src/*; do
- if [[ $i == *.md ]]
+ if [[ $i == *.html ]]
then
a=`basename ${i%.*}`
+ # sed title
fn=$outdir/$a.html
cat templates/header.html > $fn
- smu $i >> $fn
+ echo $navstr >> $fn
+ cat $i >> $fn
cat templates/footer.html >> $fn
else
b=`basename $i`
diff --git a/src/404.md b/src/404.md
@@ -1,5 +0,0 @@
-# 404 Not Found
-
-The page you were looking for was not found on this server. This resulted in
-the server instead showing you this page, and returning the [HTTP Response
-Code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) 404 Not Found. It may have at some point been deleted, or you may have been misdirected. We hope you can find your way.
diff --git a/src/about.html b/src/about.html
@@ -0,0 +1,37 @@
+<h1>About</h1>
+<p>Hello, I am Alex (he/him). I write and have written poetry, nonfiction and
+prose, and my current primary interests are exploring alternatives to
+mainstream software and computing (details below) and their ability to build
+creative, cooperative, non-commercial relationships and communities. </p>
+<p><img src="me.jpg" alt="" /></p>
+<p>I studied Physics and English at Truman State University in Kirksville,
+Missouri graduating in 2016, lived in Chicago for four years, then San
+Francisco for two. I currently live in Brooklyn, NYC. I published the poetry
+book Harm (2016) through Bottlecap Press, and have self-published and locally
+distributed three chapbooks since then. Reach out if you'd like a physical
+copy. My poetry has appeared in Prelude, Tenderness Lit and Peach Mag, among
+elsewhere.</p>
+<p>I believe strongly in non-commercial, collaboratively-produced free and open
+source software. I believe computers, predominately, have become primarily
+instruments of increasing bureaucratization, domination and control, and this
+ideology pervades even "alternative" tech. I believe that a more radical
+re-evaluation of computing and its role in our world is necessary. I do not
+take a pessimistic outlook here: I believe these technologies exist and can be
+built.</p>
+<p>Some of my current technical interests, currently, are:
+<ul>
+<li><a href="https://git.sr.ht/~vdupras/duskos">Dusk OS</a></li>
+<li><a href="https://100r.co/site/uxn.html">uxn</a></li>
+<li><a href="https://permacomputing.net/">permacomputing</a></li>
+<li><a href="https://github.com/alexwennerberg/nanomail">nanomail</a></li>
+</ul>
+</p>
+<p>Some of my "finished" projects:
+<ul>
+<li><a href="https://flounder.online">flounder.online</a></li>
+<li><a href="https://github.com/alexwennerberg/crabmail">crabmail mailing list archive</a></li>
+<li><a href="https://alex.flounder.online/poetry/">poetry</a></li>
+</ul>
+</p>
+<p>I'm also deeply interested in philosophy, literature, political organizing, and art.</p>
+<p>I recently moved to NYC and am interested in meeting people and communities with similar interests and am happy to get in touch. Contact information is in the site footer.</p>
diff --git a/src/about.md b/src/about.md
@@ -1,39 +0,0 @@
-# About
-
-Hello, I am Alex (he/him). I write and have written poetry, nonfiction and
-prose, and my current primary interests are exploring alternatives to
-mainstream software and computing (details below) and their ability to build
-creative, cooperative, non-commercial relationships and communities.
-
-
-
-I studied Physics and English at Truman State University in Kirksville,
-Missouri graduating in 2016, lived in Chicago for four years, then San
-Francisco for two. I currently live in Brooklyn, NYC. I published the poetry
-book Harm (2016) through Bottlecap Press, and have self-published and locally
-distributed three chapbooks since then. Reach out if you'd like a physical
-copy. My poetry has appeared in Prelude, Tenderness Lit and Peach Mag, among
-elsewhere.
-
-I believe strongly in non-commercial, collaboratively-produced free and open
-source software. I believe computers, predominately, have become primarily
-instruments of increasing bureaucratization, domination and control, and this
-ideology pervades even "alternative" tech. I believe that a more radical
-re-evaluation of computing and its role in our world is necessary. I do not
-take a pessimistic outlook here: I believe these technologies exist and can be
-built.
-
-Some of my current technical interests, currently, are:
-* [Dusk OS](https://git.sr.ht/~vdupras/duskos)
-* [uxn](https://100r.co/site/uxn.html)
-* [permacomputing](https://permacomputing.net/)
-* [nanomail](https://github.com/alexwennerberg/nanomail)
-
-Some of my "finished" projects:
-* [flounder.online](https://flounder.online)
-* [crabmail mailing list archive](https://github.com/alexwennerberg/crabmail)
-* [poetry](https://alex.flounder.online/poetry/)
-
-I'm also deeply interested in philosophy, literature, political organizing, and art.
-
-I recently moved to NYC and am interested in meeting people and communities with similar interests and am happy to get in touch. Contact information is in the site footer.
diff --git a/src/compting.md b/src/compting.md
@@ -1,3 +0,0 @@
-# Computing
-
-Hi Foo
diff --git a/src/index.html b/src/index.html
@@ -0,0 +1,5 @@
+<h1>Alex Wennerberg's Digital Home</h1>
+<p>Welcome to my webpage. It is currently a work in progress. You may find more of
+what you're looking for on <a href="https://alexwennerberg.com">alexwennerberg.com</a> while I set
+things up here.</p>
+<p>:)</p>
diff --git a/src/index.md b/src/index.md
@@ -1,7 +0,0 @@
-# Alex Wennerberg's Digital Home
-
-Welcome to my webpage. It is currently a work in progress. You may find more of
-what you're looking for on [alexwennerberg.com](https://alexwennerberg.com) while I set
-things up here.
-
-:)
diff --git a/src/infrastructure.html b/src/infrastructure.html
@@ -0,0 +1,28 @@
+<h1>hello world</h1>
+<p>alexw.nyc is sent to you by a small computer that I am a caretaker of and
+which resides in my home.</p>
+<p>Here is a technical overview:</p>
+<ul>
+<li>Hardware: Raspberry Pi 3B</li>
+<li>Disk: 256GB Sandisk SD card</li>
+<li>ISP: Verizon FIOS</li>
+<li>OS: Alpine Linux, diskless install</li>
+<li>Web server: lighttpd</li>
+</ul>
+<p>(TODO insert picture here)</p>
+<h2>prerequisites</h2>
+<p>Bringing my digital infrastructure home required a few prerequisites:
+<ul>
+<li>A stable, relatively fast home internet connection</li>
+<li>An ISP that will not stop me from doing this (this remains to be seen)</li>
+<li>Relatively good sysadmin and networking skills</li>
+</ul>
+</p>
+<h2>counter cloud strategies</h2>
+<p>I was inspired by christina cochior's talk on <a href="https://www.youtube.com/watch?v=fx3XcKy7LJY&t=1200s">counter cloud strategies</a> and the related work <a href="https://varia.zone/atnofs-publication.html">a traversal network of feminist servers</a></p>
+<p>The web today is becoming highly centralized, and most of us are completely
+removed from the digital infrastrucure we depend upon. The web of the cloud is
+not a community, it is a corporate-controlled ad-ridden monoculture. I believe
+in building spaces that are independent of this world, spaces of creativity,
+play, community and understanding. I view the current world of cloud
+infrastructure as antithetical to this.</p>
diff --git a/src/infrastructure.md b/src/infrastructure.md
@@ -1,30 +0,0 @@
-# hello world
-
-alexw.nyc is sent to you by a small computer that I am a caretaker of and
-which resides in my home.
-
-Here is a technical overview:
-
-* Hardware: Raspberry Pi 3B
-* Disk: 256GB Sandisk SD card
-* ISP: Verizon FIOS
-* OS: Alpine Linux, diskless install
-* Web server: lighttpd
-
-(TODO insert picture here)
-
-## prerequisites
-Bringing my digital infrastructure home required a few prerequisites:
-* A stable, relatively fast home internet connection
-* An ISP that will not stop me from doing this (this remains to be seen)
-* Relatively good sysadmin and networking skills
-
-## counter cloud strategies
-I was inspired by christina cochior's talk on [counter cloud strategies](https://www.youtube.com/watch?v=fx3XcKy7LJY&t=1200s) and the related work [a traversal network of feminist servers](https://varia.zone/atnofs-publication.html)
-
-The web today is becoming highly centralized, and most of us are completely
-removed from the digital infrastrucure we depend upon. The web of the cloud is
-not a community, it is a corporate-controlled ad-ridden monoculture. I believe
-in building spaces that are independent of this world, spaces of creativity,
-play, community and understanding. I view the current world of cloud
-infrastructure as antithetical to this.
diff --git a/src/server-guide.html b/src/server-guide.html
@@ -0,0 +1,103 @@
+<h1>Alex's Guide to running a home server (WIP, DRAFT)</h1>
+<p>This is a living guide to hosting digital infrastructure. I'm writing this out
+of a dissatisfaction with a lot of existing approaches to running a home server. It
+seems to me that a lot of self-hosting guides mirror the approaches and
+infrastructure of big tech.</p>
+<p>This is a living document, and I will update it as I learn more. If you have
+suggestions or corrections, please contact me.</p>
+<h2>Principles</h2>
+<h3>Keep it simple</h3>
+<p>Your system should be as simple as possible. Use lightweight tools: this often
+means that you will be using things that are not mainstream, as mainstream
+tools are often designed primarily with large, modern, distributed,
+high-traffic services in mind: not what we are doing here. You may find
+yourself using Linux tools that are quite old, from an era were simpler and
+more straightforward infrastructure was more common.</p>
+<h3>No cloud services</h3>
+<p>Some self-hosting guides will say, set up your home server then use a cloud
+proxy server, or put things behind Cloudflare. In my view, this defeats the
+purpose: if you want true digital self-sufficiency, you should control as much
+of your infrastructure as possible.</p>
+<h3>Accept limitations</h3>
+<p>There are things that you won't be able to do on self-hosted infrastructure.
+Rather than compromise another principle to attempt them, accept and work
+within these limitations. For example: you will probably not achieve 100%
+uptime with your service. Accept this and communicate it to your site visitors</p>
+<h2>Operating System</h2>
+<p>I choose <strong>Linux</strong> as my operating system. Alternatives to consider, in order of
+feasibility, are OpenBSD and Plan9. This guide is focused on Linux because it
+is the operating system I am most familiar with, and it is so ubiquitous that
+it is easy to find resources, software and guides for configuring Linux.</p>
+<p>In terms of distros, I choose <strong>Alpine Linux</strong>. Alpine Linux is a very minimal
+distro. I am both familiar with it and philosophically aligned with it. Alpine
+Linux uses musl rather than glibc, which may cause software incompatibilities,
+but this is less of a concern for the kind of thing you'll be hosting in the
+cloud. Unlike something like Raspberry Pi OS, there won't be a step by step
+"how-to" guide for running Alpine on the Raspberry Pi. You'll need to develop a
+bit of understanding about your operating system. You are welcome to use
+another Linux distro if you'd prefer.</p>
+<h2>TLDs</h2>
+<p>Unfortunately, a lot of TLDs are operated by <a href="https://en.wikipedia.org/wiki/Identity_Digital">Identity
+Digital</a> or a similar
+for-profit company. These companies are rent-seekers: they seek to profit on
+the natural abundance of digital infrastructure by creating walled gardens to
+exploit. Companies like this exist all throughout the infrastructure of the
+internet, and it is difficult to avoid them, but it is something to consider
+when choosing a TLD. Preferring TLDs operated as nonprofits (e.g. .org) or at
+least as public-private partnerships is a good idea.</p>
+<p>I chose .nyc as my TLD, which is a public-private partnership between the City
+of NY and Verisign.</p>
+<p>TODO -- update this section. This may be misinformation or incomplete</p>
+<p>Some TLDs may have difficulty sending email.</p>
+<h2>ISP</h2>
+<p>Your ISP may or may not "officially" let you self-host a web server or other
+traffic on your network. Whether this is actually enforced depends on your
+location and ISP. Do whatever research you can on your ISP, and consider a
+local ISP if available.</p>
+<p>A better connection is preferable, but you can still self-host with relatively
+low upload speeds so long as you lean harder into the third principle (accept
+limitations).</p>
+<p>Your ISP may or may not have a static IP adress, in which case you may need to
+set up DDNS to handle DNS records.</p>
+<h2>Hardware</h2>
+<p>In terms of hardware, you should be fine with any hardware that can run Linux.
+Personally, I use a Raspberry Pi 3B, because I already have one lying around.
+This setup is so light that you can probably get away with something as
+lightweight as the Raspberry Pi Zero. </p>
+<h3>Comments on the Raspberry Pi</h3>
+<p>Installing Alpine Linux on the Raspberry Pi is a bit of a challenge, by which I
+mean, you will not find any guide that will tell you exactly everything you
+need to do. Instead, you should develop an understanding of your specific needs
+and how different installation methods may or may not meet them. </p>
+<p>Raspberry Pis boot from an SD card, and SD card wear is a problem: SD cards an
+unreliable storage medium, and may fail for any reason. I have not found
+reliable information about SD card wear and how to avoid it, so I tried the SD
+card as inherently unstable and make sure to have regular backups.</p>
+<h2>Router</h2>
+<p>I use <em>OpenWRT</em> as my router software. I much prefer this to using proprietary,
+commercial software, whose security I cannot vouch for. </p>
+<p>OpenWRT does not auto-update. You'll need to keep on top of security updates
+and patch your router regularly. </p>
+<h3>Configuration</h3>
+<p>I put my publicly-facing infrastructure on a separate VLAN so it should not be
+able to access anything else if it is compromised.</p>
+<h2>Security</h2>
+<p>Opening up your network to the public internet means that you'll have to take
+security seriously. A misconfiguration can mean compromising your server, and
+potentially anything else on your network that the server may have access to.</p>
+<p>I do not have any IOT devices, such as a "smart" TV, thermostat, etc. The only
+devices on my network are my home laptop, work laptop, and cell phone. I
+recommend this as a general principle, not just if you're operating a home server.</p>
+<p>Move carefully and make sure you understand things thoroughly before you make
+your server accessible to the public</p>
+<h2>Software</h2>
+<p>Learn Linux a bit. Be able to navigate around your filesystem and understand
+how things are laid out. </p>
+<h3>Firewall</h3>
+<p>I use ufw as my firewall, and block all in and out ports by default. I then allowlist the needed ports. A good place to start is: DNS, NTP, HTTP, HTTPS</p>
+<h3>Web Server</h3>
+<p>I use lihgttpd as my </p>
+<h3>Monitoring</h3>
+<p>I use rrdtool for monitoring, which is an older and much lighter-weight alternative to something like Prometheus</p>
+<h2>Other helpful resources</h2>
+<p>For anyone interested in setting up their own home infrastructure, I am happy to help, please send me an email at <a href="mailto:alex@alexwennerberg.com">alex@alexwennerberg.com</a></p>
diff --git a/src/server-guide.md b/src/server-guide.md
@@ -1,123 +0,0 @@
-# Alex's Guide to running a home server (WIP, DRAFT)
-
-This is a living guide to hosting digital infrastructure. I'm writing this out
-of a dissatisfaction with a lot of existing approaches to running a home server. It
-seems to me that a lot of self-hosting guides mirror the approaches and
-infrastructure of big tech.
-
-This is a living document, and I will update it as I learn more. If you have
-suggestions or corrections, please contact me.
-
-## Principles
-### Keep it simple
-Your system should be as simple as possible. Use lightweight tools: this often
-means that you will be using things that are not mainstream, as mainstream
-tools are often designed primarily with large, modern, distributed,
-high-traffic services in mind: not what we are doing here. You may find
-yourself using Linux tools that are quite old, from an era were simpler and
-more straightforward infrastructure was more common.
-
-### No cloud services
-Some self-hosting guides will say, set up your home server then use a cloud
-proxy server, or put things behind Cloudflare. In my view, this defeats the
-purpose: if you want true digital self-sufficiency, you should control as much
-of your infrastructure as possible.
-
-### Accept limitations
-There are things that you won't be able to do on self-hosted infrastructure.
-Rather than compromise another principle to attempt them, accept and work
-within these limitations. For example: you will probably not achieve 100%
-uptime with your service. Accept this and communicate it to your site visitors
-
-## Operating System
-I choose **Linux** as my operating system. Alternatives to consider, in order of
-feasibility, are OpenBSD and Plan9. This guide is focused on Linux because it
-is the operating system I am most familiar with, and it is so ubiquitous that
-it is easy to find resources, software and guides for configuring Linux.
-
-In terms of distros, I choose **Alpine Linux**. Alpine Linux is a very minimal
-distro. I am both familiar with it and philosophically aligned with it. Alpine
-Linux uses musl rather than glibc, which may cause software incompatibilities,
-but this is less of a concern for the kind of thing you'll be hosting in the
-cloud. Unlike something like Raspberry Pi OS, there won't be a step by step
-"how-to" guide for running Alpine on the Raspberry Pi. You'll need to develop a
-bit of understanding about your operating system. You are welcome to use
-another Linux distro if you'd prefer.
-
-## TLDs
-Unfortunately, a lot of TLDs are operated by [Identity
-Digital](https://en.wikipedia.org/wiki/Identity_Digital) or a similar
-for-profit company. These companies are rent-seekers: they seek to profit on
-the natural abundance of digital infrastructure by creating walled gardens to
-exploit. Companies like this exist all throughout the infrastructure of the
-internet, and it is difficult to avoid them, but it is something to consider
-when choosing a TLD. Preferring TLDs operated as nonprofits (e.g. .org) or at
-least as public-private partnerships is a good idea.
-
-I chose .nyc as my TLD, which is a public-private partnership between the City
-of NY and Verisign.
-
-TODO -- update this section. This may be misinformation or incomplete
-
-Some TLDs may have difficulty sending email.
-
-## ISP
-Your ISP may or may not "officially" let you self-host a web server or other
-traffic on your network. Whether this is actually enforced depends on your
-location and ISP. Do whatever research you can on your ISP, and consider a
-local ISP if available.
-
-A better connection is preferable, but you can still self-host with relatively
-low upload speeds so long as you lean harder into the third principle (accept
-limitations).
-
-Your ISP may or may not have a static IP adress, in which case you may need to
-set up DDNS to handle DNS records.
-
-## Hardware
-In terms of hardware, you should be fine with any hardware that can run Linux.
-Personally, I use a Raspberry Pi 3B, because I already have one lying around.
-This setup is so light that you can probably get away with something as
-lightweight as the Raspberry Pi Zero.
-
-### Comments on the Raspberry Pi
-Installing Alpine Linux on the Raspberry Pi is a bit of a challenge, by which I
-mean, you will not find any guide that will tell you exactly everything you
-need to do. Instead, you should develop an understanding of your specific needs
-and how different installation methods may or may not meet them.
-
-Raspberry Pis boot from an SD card, and SD card wear is a problem: SD cards an
-unreliable storage medium, and may fail for any reason. I have not found
-reliable information about SD card wear and how to avoid it, so I tried the SD
-card as inherently unstable and make sure to have regular backups.
-
-## Router
-I use *OpenWRT* as my router software. I much prefer this to using proprietary,
-commercial software, whose security I cannot vouch for.
-
-OpenWRT does not auto-update. You'll need to keep on top of security updates
-and patch your router regularly.
-
-### Configuration
-I put my publicly-facing infrastructure on a separate VLAN so it should not be
-able to access anything else if it is compromised
-
-## Security
-Opening up your network to the public internet means that you'll have to take
-security seriously. A misconfiguration can mean compromising your server, and
-potentially anything else on your network that the server may have access to.
-
-I do not have any IOT devices, such as a "smart" TV, thermostat, etc. The only
-devices on my network are my home laptop, work laptop, and cell phone. I
-recommend this as a general principle, not just if you're operating a home server.
-
-
-## Software
-Learn Linux a bit. Be able to navigate around your filesystem and understand
-how things are laid out.
-
-### Firewall
-
-### Web Server
-TBD
-