commit 8b8b265b22360904139e240e3524f9469989ec6b
parent 0a1809047fc7913ec012314b9b25bfcf6fd74b29
Author: Jake Bauer <jbauer@paritybit.ca>
Date: Fri, 3 Mar 2023 13:40:06 -0500
*
Diffstat:
8 files changed, 184 insertions(+), 57 deletions(-)
diff --git a/content/blog/index.md b/content/blog/index.md
@@ -21,6 +21,9 @@ year old—may not match my current views or practices.
<button type="submit">Search</button>
</form>
+[Styling External Links](/blog/styling-external-links)<br>
+<span class="date">March 2, 2023</span>
+
[Free Software is an Abject Failure](/blog/free-software-is-an-abject-failure)<br>
<span class="date">November 8, 2021</span>
diff --git a/content/blog/styling-external-links.md b/content/blog/styling-external-links.md
@@ -0,0 +1,71 @@
+Title: Styling External Links
+Author: Jake Bauer
+Date: 2023-03-02
+Summary: Adding a much-loved feature from Wikipedia to any site in just one line of CSS.
+
+# [%title]
+
+**Author:** [%author] | **Published:** [%date]
+
+Long time no see! While I have a few other, longer blog posts still cooking,
+I figured I'd post about a cool bit of CSS I came across on [eli_oat's
+site](http://eli.li/portal) which adds a marker to every link on a site that
+points to an external domain.
+
+This means that links which point to pages on the same site (or within the same
+domain, if configured like that) look like this:
+[paritybit.ca](http://www.paritybit.ca/), whereas links which point to any
+external domain look like this: [example.com](http://example.com).
+
+I find this super useful on sites like Wikipedia so that you know when clicking
+a link will take you off the site or if it will just take you to another
+Wikipedia article. I find it equally useful for sites that are also personal
+wikis or which frequently reference a mixture of original and external content.
+If that sounds like your site, I encourage you to add this bit of CSS too!
+
+The original CSS as pilfered is:
+
+```
+a[href^="http"]:where(:not([href*="domain.tld/"]))::after {
+ content: "⬈"
+}
+```
+
+Which selects all `<a>` tags with attribute `href` beginning with `"http"`, but
+not those which contain `domain.tld/`, and adds an arrow symbol after the text
+inside of those tags.
+
+For my site, I've changed the arrow symbol to be skinnier (`U+FE0E U+2197`) and
+made sure this only applies inside of `<article>` tags so that my `<nav>` and
+`<footer>` are not affected. I've also written another small bit of CSS to make
+sure that clickable images that lead to an external domain don't have an arrow
+next to them (because that looks a bit awkward). The CSS on my site is:
+
+```
+article a[href^="http"]:where(:not([href*="paritybit.ca/"]))::after{
+ content: "︎↗"
+}
+
+figure a::after{
+ content: "" !important
+}
+```
+
+Images on my site are always within figure tags, and tend to be structured like:
+
+```
+<figure>
+ <a href="example.com">
+ <img src="example.com/img.png">
+ </a>
+ <figcaption>An image</figcaption>
+</figure>
+```
+
+which is why this works for me, though this could also be done by adding
+something like `class="img"` to the `<a>` tags and using that to select them instead.
+
+If you're using a customizable static site generator and want to make this work
+without CSS or in browsers which don't support all these CSS features (such as
+NetSurf or fairly old versions of Safari), you could add something similar to
+your website build pipeline that appends the symbol to every external link.
diff --git a/content/garden/index.md b/content/garden/index.md
@@ -34,6 +34,7 @@ Here are links, documents, and other things I found interesting that I want to g
* [Sick Systems](https://www.issendai.com/psychology/sick-systems.html)
* [Google Didn't Break Your Brain: A History of Distraction](https://aeon.co/essays/google-didnt-break-your-brain-a-history-of-distraction)
* [The Dangers of Autocomplete](https://junaidmubeen.substack.com/p/the-dangers-of-autocomplete)
+* [The Super Tiny Compiler](https://github.com/jamiebuilds/the-super-tiny-compiler)
## 🌾 The Plots
diff --git a/content/garden/openbsd-nas.md b/content/garden/openbsd-nas.md
@@ -102,7 +102,13 @@ which lets me go to `localhost:8385` in my browser when I'm SSHed into the NAS.
## Backups
-Using OpenBSD's built-in `dump(1)`, after an initial dump of the filesystem is created at level `0`, incremental backups are done to an external drive from `/etc/daily.local`:
+Using OpenBSD's built-in `dump(1)`, a level 0 dump of the filesystem is created
+once a month followed by daily incremental backups at level 1:
+
+```
+next_part "Creating new level 0 dump..."
+dump -0auf /var/backups/syncthing/$(date +%Y%m%d).dump.0 /var/syncthing
+```
```
next_part "Backing up filesystems:"
diff --git a/content/links.md b/content/links.md
@@ -263,6 +263,7 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://13brane.net/">13brane</a> (<a href="https://13brane.net/rss.xml">feed</a>)</li>
<li><a href="https://alexschroeder.ch/">Alex Schroeder: Diary</a> (<a href="https://alexschroeder.ch/wiki/feed/full/">feed</a>)</li>
<li><a href="https://alex.flounder.online/">Alex's Gemlog</a> (<a href="https://alex.flounder.online/gemlog/atom.xml">feed</a>)</li>
+<li><a href="https://alice.pages.igalia.com/">alice's blog</a> (<a href="https://alice.pages.igalia.com/blog/feed/feed.xml">feed</a>)</li>
<li><a href="https://analogoffice.net/">Analog Office</a> (<a href="https://analogoffice.net/feed.xml">feed</a>)</li>
<li><a href="https://apenwarr.ca/">apenwarr</a> (<a href="https://apenwarr.ca/log/rss.php">feed</a>)</li>
<li><a href="https://www.archcloudlabs.com/">Arch Cloud Labs</a> (<a href="https://www.archcloudlabs.com/index.xml">feed</a>)</li>
@@ -285,6 +286,7 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://www.daemonology.net/">Daemonic Dispatches</a> (<a href="https://www.daemonology.net/blog/index.rss">feed</a>)</li>
<li><a href="https://degrowther.smol.pub/">degrowther</a> (<a href="https://degrowther.smol.pub/atom.xml">feed</a>)</li>
<li><a href="https://www.devever.net/">devever.net/~hl</a> (<a href="https://www.devever.net/~hl/index.feed">feed</a>)</li>
+<li><a href="https://doing-stupid-things.as59645.net/">Doing stupid things (with packets and OpenBSD)</a> (<a href="https://doing-stupid-things.as59645.net/feed.xml">feed</a>)</li>
<li><a href="https://drewdevault.com/">Drew DeVault's blog</a> (<a href="https://drewdevault.com/feed.xml">feed</a>)</li>
<li><a href="https://dusty.phillips.codes/">Dusty Phillips Codes</a> (<a href="https://dusty.phillips.codes/index.xml">feed</a>)</li>
<li><a href="https://fabiensanglard.net/">fabiensanglard.net</a> (<a href="https://fabiensanglard.net/rss.xml">feed</a>)</li>
@@ -292,9 +294,12 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://100r.co/">Hundred Rabbits</a> (<a href="https://100r.co/links/rss.xml">feed</a>)</li>
<li><a href="https://icyphox.sh/">icyphox's blog</a> (<a href="https://icyphox.sh/blog/feed.xml">feed</a>)</li>
<li><a href="https://randomthoughts.dk/">In a stream of Random Thoughts ..</a> (<a href="https://randomthoughts.dk/index.xml">feed</a>)</li>
+<li><a href="https://infrequently.org/">Infrequently Noted</a> (<a href="https://infrequently.org/feed/">feed</a>)</li>
+<li><a href="https://www.inkandswitch.com/">Ink & Switch</a> (<a href="https://www.inkandswitch.com/index.xml">feed</a>)</li>
<li><a href="https://j3s.sh/">j3s.sh</a> (<a href="https://j3s.sh/feed.atom">feed</a>)</li>
<li><a href="http://www.jeffgeerling.com/">Jeff Geerling's Blog</a> (<a href="http://www.jeffgeerling.com/blog.xml">feed</a>)</li>
<li><a href="https://blog.jim-nielsen.com/">Jim Nielsen’s Blog</a> (<a href="https://blog.jim-nielsen.com/feed.xml">feed</a>)</li>
+<li><a href="https://notes.jim-nielsen.com/">Jim Nielsen’s Notes</a> (<a href="https://notes.jim-nielsen.com/feed.xml">feed</a>)</li>
<li><a href="http://feeds.feedburner.com/">Jonathan Crowe</a> (<a href="http://feeds.feedburner.com/jonathancrowe">feed</a>)</li>
<li><a href="https://jcs.org/">joshua stein</a> (<a href="https://jcs.org/rss">feed</a>)</li>
<li><a href="https://jvns.ca/">Julia Evans</a> (<a href="https://jvns.ca/atom.xml">feed</a>)</li>
@@ -305,6 +310,7 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://mwl.io/">Michael W Lucas</a> (<a href="https://mwl.io/feed">feed</a>)</li>
<li><a href="https://www.ecliptik.com/">micheal@ecliptik.com</a> (<a href="https://www.ecliptik.com/feed.xml">feed</a>)</li>
<li><a href="https://milofultz.com/">Milo Land</a> (<a href="https://milofultz.com/rss.xml">feed</a>)</li>
+<li><a href="http://muezza.ca/">Muezza.ca Thoughts</a> (<a href="http://muezza.ca/thoughts/rss.xml">feed</a>)</li>
<li><a href="https://n-o-d-e.net/">N O D E</a> (<a href="https://n-o-d-e.net/rss/rss.xml">feed</a>)</li>
<li><a href="https://blog.networkprofile.org/">NetworkProfile.org</a> (<a href="https://blog.networkprofile.org/rss/">feed</a>)</li>
<li><a href="https://nullprogram.com/">null program</a> (<a href="https://nullprogram.com/feed/">feed</a>)</li>
@@ -331,6 +337,7 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://systemstack.dev/">System Stack</a> (<a href="https://systemstack.dev/index.xml">feed</a>)</li>
<li><a href="https://bsdly.blogspot.com/">That grumpy BSD guy</a> (<a href="https://bsdly.blogspot.com/feeds/posts/default">feed</a>)</li>
<li><a href="https://ftrv.se/">The only good system is a sound system</a> (<a href="https://ftrv.se/posts.atom">feed</a>)</li>
+<li><a href="https://www.spicyweb.dev/">The Spicy Web</a> (<a href="https://www.spicyweb.dev/feed.xml">feed</a>)</li>
<li><a href="https://thesephist.com/">thesephist</a> (<a href="https://thesephist.com/index.xml">feed</a>)</li>
<li><a href="https://tomasp.net/">Tomas Petricek - Languages and tools, open-source, philosophy of science and F# coding</a> (<a href="https://tomasp.net/rss.xml">feed</a>)</li>
<li><a href="http://tonsky.me/">tonsky.me</a> (<a href="http://tonsky.me/blog/atom.xml">feed</a>)</li>
@@ -369,6 +376,7 @@ content of any site below does not necessarily represent my views or opinions.</
<li><a href="https://www.youtube.com/">Ben Eater</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA">feed</a>)</li>
<li><a href="https://www.youtube.com/">Gamer's Nexus</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UChIs72whgZI9w6d6FhwGGHA">feed</a>)</li>
<li><a href="https://www.youtube.com/">Gosforth Handyman</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UC8HX5CxoGOt2q1uT7uQxLOw">feed</a>)</li>
+<li><a href="https://www.youtube.com/">Hardware Haven</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UCgdTVe88YVSrOZ9qKumhULQ">feed</a>)</li>
<li><a href="https://www.youtube.com/">jdh</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UCUzQJ3JBuQ9w-po4TXRJHiA">feed</a>)</li>
<li><a href="https://www.youtube.com/">Martijn Doolaard</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UClkUhTjFbQbtGfS14h9Vw5g">feed</a>)</li>
<li><a href="https://www.youtube.com/">Rag 'n' Bone Brown</a> (<a href="https://www.youtube.com/feeds/videos.xml?channel_id=UCVyE_6jEtVZGmYGXtUOL5FQ">feed</a>)</li>
diff --git a/content/uses.md b/content/uses.md
@@ -8,54 +8,60 @@ The software and hardware I use to get work done. Inspired by
## Software
-As far as operating systems go, I have used OpenBSD, Artix Linux, Alpine Linux,
-Debian, Ubuntu, Kubuntu, Linux Mint, OpenSUSE, MacOS, Windows, and have tried
-various others (including Gentoo, FreeBSD, etc.). On those systems I eventually
-began using a tiling window manager and a bunch of hand-picked
-applications—which you can check out on the [old software page](/software)—but
-have since moved on from that to simpler, less fiddly setups.
-
-Over time, my choice in software has shifted from a philosophy of idealistic
-minimalism to one of pragmatism. These days, I prefer to use a tool that will
-work with minimal excess configuration over one that requires me to spend hours
-configuring it and learning keyboard shortcuts. I don't mind a bit of tinkering
-here and there, but I want a stable workstation and a set of tools that lets me get
-on with my work and doesn't impose unnecessary additional cognitive load.
-
-These days I run various OSes and have no strong preference for any particular
-desktop environment (right now I'm mainly running Fedora with GNOME),
-[Neovim](http://neovim.io/) is my editor of choice, Ungoogled-Chromium is my web
-browser of choice, and my interactive shell is [fish](http://fishshell.com/). I
-keep my [dotfiles](http://git.sr.ht/~jbauer/dotfiles) in a git repository (they
-are tailored to OpenBSD, but I use them on Linux too).
-
-On my servers I use OpenBSD wherever I can. Sometimes I use FreeBSD if I really
-need ZFS or Jails. I also use Debian when an application doesn't work well or
-doesn't have straightforward installation steps on the BSDs because it's
-typically the most well-supported option (e.g. for running Steam game servers).
-
-When it comes to colours, I prefer my systems and applications to have muted or
-monochrome colour schemes. I find very colourful interfaces distracting and
-prefer when colours are used sparingly to achieve a specific effect such as
-drawing a user's eyes to important UI elements or to make one part of text
-stand out strongly from another (e.g. highlighting spelling mistakes). I prefer
-light themes as I find them easier on my eyes for text-heavy work.
-
-Here is a screenshot of what a typical software setup looks like (though this
-is not necessarily representative of what I'm running at this very moment). It
-really is nothing fancy:
-
-<center><img src="/img/current-desktop.png" alt="A screenshot of my desktop on
-my MacBook running Linux Mint. Neofetch is displaying the hardware and software
-information of the system. I'm using a light theme." /></center>
-
-## Computing Hardware
+I have used a wide variety of operating systems (OpenBSD, FreeBSD, 9Front, many
+Linux distributions, MacOS, Windows). These days I run various OSes and have no
+strong preference for any particular desktop environment. At the moment,
+depending on the computer, I'm running [OpenBSD](https://www.openbsd.org) with
+[spectrwm](https://github.com/conformal/spectrwm) or [Fedora
+Linux](https://getfedora.org/) with GNOME.
+
+<figure>
+<img src="/img/current-desktop.png" alt="A screenshot of one of my desktops with two terminal windows open, one with vim and the other with a manpage. At the top is a statusbar showing workspaces, system information, and the date and time. Everything is monochrome light themed." />
+<figcaption>Spectrwm on OpenBSD with my preferred monochromatic light theme</figcaption>
+</figure>
+
+Over time, my choice in software has [shifted](/software) from a philosophy of
+idealistic minimalism to one of pragmatism. I don't mind a bit of tinkering
+here and there, but I want a stable workstation and a set of tools that lets me
+get on with my work.
+
+[Neovim](http://neovim.io/) is my editor of choice with a [monochromatic colour
+scheme](https://git.paritybit.ca/vim-monochrome/file/README.md.html), a few
+plugins, and a [simple
+configuration](https://git.paritybit.ca/dotfiles/file/.config/nvim/init.vim.html).
+
+[Ungoogled-Chromium](https://github.com/ungoogled-software/ungoogled-chromium)
+is my main web browser, but I also use Firefox on OpenBSD and for its dev tools
+otherwise. My only installed plugin is usually [uBlock
+Origin](https://ublockorigin.com/).
+
+My interactive shell is [fish](http://fishshell.com/), mainly for the superior
+tab completion and autosuggestion capabilities. I also maintain a configuration
+for \*sh shells in case I ever want to go back.
+
+My email client is [Mutt](http://www.mutt.org/) with a [very small
+configuration](https://git.paritybit.ca/dotfiles/file/.muttrc.html). I use this
+because I haven't found a good enough GUI client and this is the best of the
+terminal clients I've tried. Eventually I'd like to write my own but that's
+probably a fair ways off.
+
+My IRC client is [Irssi](https://irssi.org/) (also with a monochrome theme).
+I run it in a tmux session on one of my servers and use SSH to connect to it to
+chat instead of configuring a bouncer.
+
+I keep my [dotfiles](https://git.paritybit.ca/dotfiles/file/README.md.html) in
+a git repository (they are tailored to OpenBSD, but I use them on Linux too)
+for easy deployment and updating.
+
+## Hardware
### Workstation
+My main workstation is a custom-built PC with the following specs:
+
* **CPU:** AMD Ryzen 5 5600X
* **Cooler:** Stock Cooler from Ryzen 5 1600
-* **RAM:** 32GB G.Skill Ripjaws V @ 3600 MT/s
+* **RAM:** 32GB G.Skill Ripjaws V DDR4 @ 3600 MT/s
* **GPU:** Gigabyte AMD RX 6800 XT
* **PSU:** EVGA SuperNova G2 Gold 650W
* **Motherboard:** ASUS ROG STRIX B550-A
@@ -68,6 +74,11 @@ information of the system. I'm using a light theme." /></center>
[PCPartPicker build list](https://ca.pcpartpicker.com/user/Nescio_/saved/kpkWcf).
+I have no real need for a computer this powerful except for playing video
+games, which is something I do quite often with friends. These days Proton and
+Lutris are able to run all but one or two games I have on Linux without
+issues, so I rarely find myself booting into Windows.
+
### Peripherals
* **Keyboard:** Vortex Tab90M, Cherry MX Black
@@ -81,7 +92,7 @@ information of the system. I'm using a light theme." /></center>
* **CPU:** AMD Ryzen 5 1600
* **Cooler:** Stock Cooler from Ryzen 5 5600X
-* **RAM:** 16GB G.Skill Ripjaws V @ 2933 MT/s
+* **RAM:** 16GB G.Skill Ripjaws V DDR4 @ 2933 MT/s
* **GPU:** PowerColor Red Dragon RX 580 4GB
* **PSU:** Seasonic 430W
* **Motherboard:** AsRock AB350M Pro4
@@ -91,28 +102,47 @@ information of the system. I'm using a light theme." /></center>
### Laptop
-I currently use a 2009 MacBook Pro (model A1278) running Fedora.
+I currently use a 2009 MacBook Pro (model A1278) with the following specs:
* **CPU:** Intel Core 2 Duo P7550
-* **RAM:** 4+4GB DDR3
+* **RAM:** 8GB DDR3 @ 1066 MT/s
* **GPU:** NVIDIA GeForce 9400M
* **Storage:** Crucial 250GB SATA SSD
* **Screen:** 13" 1280x800 TFT LCD
-The most important factor that I look at when judging a laptop is the UI/UX. I
-don't want a laptop that feels cheap (wobbly screen, flexible or creaky chassis,
-terrible trackpad or keyboard, loud fans, etc). That is more important to me
-than performance. I also prefer a screen size between 12" and 14", with 13"
-being ideal.
+The most important factor that I look at when judging a laptop is its build
+quality. I don't want a laptop that feels cheap with a wobbly screen, flexible
+or creaky chassis, terrible trackpad or keyboard, loud fans, etc. That's more
+important to me than performance. I also prefer a screen between ~12" and ~13"
+large and with a 16:10 or 3:2 aspect ratio.
### Phone
+I have an iPhone 6 with 16GB of storage and 1GB of RAM which I got for free.
I use my phone for listening to podcasts/music, calling, texting, and taking
photos. This phone does those things perfectly, is relatively small, and still
receives security updates (I got one in February, 2023).
-* iPhone 6
- - 16GB Storage
- - 1GB RAM
- - Latest iOS available
+## Network
+
+My home network/servers are made up of old Dell and HP small form factor
+machines. I have five boxes in total with only two in active use. Two I got for
+free and the others I purchased for ~$100 or less.
+
+As these machines age and start to fail I aim to replace them with smaller,
+fanless mini PCs or single board computers. I may also sell a few of them off
+since I have far more than I really need (I was not expecting to receive the
+free computers).
+
+### Router/Firewall
+
+A Dell Optiplex 3010 SFF with an i5-3470 and 8GB of RAM [running
+OpenBSD](/garden/openbsd-router) connects to my cable modem and controls
+networking for my home. I've expanded the number of network ports on the back
+using PCIe cards.
+
+### File Server
+A Dell Optiplex 3020 MT with an i3-4150 and 6GB of RAM running OpenBSD acts as
+my [file server](/garden/openbsd-nas) running Syncthing and handling backups of
+all data synced to it.
diff --git a/static/subscriptions.opml b/static/subscriptions.opml
@@ -8,6 +8,7 @@
<outline type="rss" text="13brane" xmlUrl="https://13brane.net/rss.xml" htmlUrl=""/>
<outline type="rss" text="Alex Schroeder: Diary" xmlUrl="https://alexschroeder.ch/wiki/feed/full/" htmlUrl="https://alexschroeder.ch/wiki/feed/full/"/>
<outline type="rss" text="Alex's Gemlog" xmlUrl="https://alex.flounder.online/gemlog/atom.xml" htmlUrl=""/>
+ <outline type="rss" text="alice's blog" xmlUrl="https://alice.pages.igalia.com/blog/feed/feed.xml" htmlUrl="https://alice.pages.igalia.com/blog/"/>
<outline type="rss" text="Analog Office" xmlUrl="https://analogoffice.net/feed.xml" htmlUrl="https://analogoffice.net/"/>
<outline type="rss" text="apenwarr" xmlUrl="https://apenwarr.ca/log/rss.php" htmlUrl="https://apenwarr.ca/log/"/>
<outline type="rss" text="Arch Cloud Labs" xmlUrl="https://www.archcloudlabs.com/index.xml" htmlUrl=""/>
@@ -30,6 +31,7 @@
<outline type="rss" text="Daemonic Dispatches" xmlUrl="https://www.daemonology.net/blog/index.rss" htmlUrl=""/>
<outline type="rss" text="degrowther" xmlUrl="https://degrowther.smol.pub/atom.xml" htmlUrl="https://degrowther.smol.pub"/>
<outline type="rss" text="devever.net/~hl" xmlUrl="https://www.devever.net/~hl/index.feed" htmlUrl="https://www.devever.net/~hl/"/>
+ <outline type="rss" text="Doing stupid things (with packets and OpenBSD)" xmlUrl="https://doing-stupid-things.as59645.net/feed.xml" htmlUrl="https://doing-stupid-things.as59645.net/"/>
<outline type="rss" text="Drew DeVault's blog" xmlUrl="https://drewdevault.com/feed.xml" htmlUrl=""/>
<outline type="rss" text="Dusty Phillips Codes" xmlUrl="https://dusty.phillips.codes/index.xml" htmlUrl=""/>
<outline type="rss" text="fabiensanglard.net" xmlUrl="https://fabiensanglard.net/rss.xml" htmlUrl="https://fabiensanglard.net"/>
@@ -37,9 +39,12 @@
<outline type="rss" text="Hundred Rabbits" xmlUrl="https://100r.co/links/rss.xml" htmlUrl=""/>
<outline type="rss" text="icyphox's blog" xmlUrl="https://icyphox.sh/blog/feed.xml" htmlUrl=""/>
<outline type="rss" text="In a stream of Random Thoughts .." xmlUrl="https://randomthoughts.dk/index.xml" htmlUrl=""/>
+ <outline type="rss" text="Infrequently Noted" xmlUrl="https://infrequently.org/feed/" htmlUrl="https://infrequently.org/"/>
+ <outline type="rss" text="Ink & Switch" xmlUrl="https://www.inkandswitch.com/index.xml" htmlUrl="https://www.inkandswitch.com/index.xml"/>
<outline type="rss" text="j3s.sh" xmlUrl="https://j3s.sh/feed.atom" htmlUrl="https://j3s.sh/"/>
<outline type="rss" text="Jeff Geerling's Blog" xmlUrl="http://www.jeffgeerling.com/blog.xml" htmlUrl=""/>
<outline type="rss" text="Jim Nielsen’s Blog" xmlUrl="https://blog.jim-nielsen.com/feed.xml" htmlUrl="https://blog.jim-nielsen.com/feed.xml"/>
+ <outline type="rss" text="Jim Nielsen’s Notes" xmlUrl="https://notes.jim-nielsen.com/feed.xml" htmlUrl="https://notes.jim-nielsen.com"/>
<outline type="rss" text="Jonathan Crowe" xmlUrl="http://feeds.feedburner.com/jonathancrowe" htmlUrl="https://www.jonathancrowe.net"/>
<outline type="rss" text="joshua stein" xmlUrl="https://jcs.org/rss" htmlUrl=""/>
<outline type="rss" text="Julia Evans" xmlUrl="https://jvns.ca/atom.xml" htmlUrl="http://jvns.ca"/>
@@ -50,6 +55,7 @@
<outline type="rss" text="Michael W Lucas" xmlUrl="https://mwl.io/feed" htmlUrl="https://mwl.io"/>
<outline type="rss" text="micheal@ecliptik.com" xmlUrl="https://www.ecliptik.com/feed.xml" htmlUrl="https://www.ecliptik.com/feed.xml"/>
<outline type="rss" text="Milo Land" xmlUrl="https://milofultz.com/rss.xml" htmlUrl="http://www.milofultz.com/rss.xml"/>
+ <outline type="rss" text="Muezza.ca Thoughts" xmlUrl="http://muezza.ca/thoughts/rss.xml" htmlUrl="http://muezza.ca/thoughts/"/>
<outline type="rss" text="N O D E" xmlUrl="https://n-o-d-e.net/rss/rss.xml" htmlUrl="https://N-O-D-E.net"/>
<outline type="rss" text="NetworkProfile.org" xmlUrl="https://blog.networkprofile.org/rss/" htmlUrl=""/>
<outline type="rss" text="null program" xmlUrl="https://nullprogram.com/feed/" htmlUrl=""/>
@@ -76,6 +82,7 @@
<outline type="rss" text="System Stack" xmlUrl="https://systemstack.dev/index.xml" htmlUrl="https://systemstack.dev/index.xml"/>
<outline type="rss" text="That grumpy BSD guy" xmlUrl="https://bsdly.blogspot.com/feeds/posts/default" htmlUrl=""/>
<outline type="rss" text="The only good system is a sound system" xmlUrl="https://ftrv.se/posts.atom" htmlUrl="https://ftrv.se/posts.atom"/>
+ <outline type="rss" text="The Spicy Web" xmlUrl="https://www.spicyweb.dev/feed.xml" htmlUrl="https://www.spicyweb.dev/"/>
<outline type="rss" text="thesephist" xmlUrl="https://thesephist.com/index.xml" htmlUrl="https://thesephist.com/index.xml"/>
<outline type="rss" text="Tomas Petricek - Languages and tools, open-source, philosophy of science and F# coding" xmlUrl="https://tomasp.net/rss.xml" htmlUrl="http://tomasp.net"/>
<outline type="rss" text="tonsky.me" xmlUrl="http://tonsky.me/blog/atom.xml" htmlUrl=""/>
@@ -122,6 +129,7 @@
<outline type="rss" text="Ben Eater" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA" htmlUrl=""/>
<outline type="rss" text="Gamer's Nexus" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UChIs72whgZI9w6d6FhwGGHA" htmlUrl=""/>
<outline type="rss" text="Gosforth Handyman" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UC8HX5CxoGOt2q1uT7uQxLOw" htmlUrl="https://www.youtube.com/channel/UC8HX5CxoGOt2q1uT7uQxLOw"/>
+ <outline type="rss" text="Hardware Haven" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCgdTVe88YVSrOZ9qKumhULQ" htmlUrl="https://www.youtube.com/channel/UCgdTVe88YVSrOZ9qKumhULQ"/>
<outline type="rss" text="jdh" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCUzQJ3JBuQ9w-po4TXRJHiA" htmlUrl=""/>
<outline type="rss" text="Martijn Doolaard" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UClkUhTjFbQbtGfS14h9Vw5g" htmlUrl="https://www.youtube.com/channel/UClkUhTjFbQbtGfS14h9Vw5g"/>
<outline type="rss" text="Rag 'n' Bone Brown" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCVyE_6jEtVZGmYGXtUOL5FQ" htmlUrl="https://www.youtube.com/channel/UCVyE_6jEtVZGmYGXtUOL5FQ"/>
diff --git a/templates/header.html b/templates/header.html
@@ -7,7 +7,7 @@
<link rel="alternate" type="application/rss+xml" title="RSS feed" href="/feed.xml">
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABX1BMVEUAAAABAAAAAAAAAAAAAAAAAAAAAAC7amoAAABlPz8AAAAAAAAGAwMAAAAAAAAAAAC7d3cKBwe7d3e7d3eWX1/ny4+WX18CAQGHVlaTXl4BAAApGhpiPj7ny4/ny4/oy4/ozI/qz5Ona2u7d3d4TEzny48MCAhlQEC7d3e7d3cAAAAAAAC7d3e8d3cAAAC8d3fnzI+8dnYAAADpzJC9eHjny4+WX1+TXV13S0u7d3fny492S0vnzI/ny4+EU1PnzI8mFxe7d3cjFhZgPT3ny5AAAAC7d3fny4+7d3cAAADozJC6d3e7d3cAAADozI/my5Dny44AAAAAAAC7d3e4d3fkx5DpzY69c3O7d3eoamroy4+FVVWEVFR0Skq7d3e7d3e8d3cAAAC6eHi7eHi7eHi8dna8dnYAAADozJAAAADkyY28eXnqyJHqzY63eHi/dXXny48AAAC7d3e5dXW2dHSjLYEdAAAAcHRSTlMA9cj58gYaBOrflhjq44MI/ePbaP348u/u6Oba1sW+oosL/Pbv7ejnyLuXlI54RkM8Oy4iG/v38efl4ODf2tfT09LQz87FwbeimJeJf397ZUlIRTQvGxYP9/Xv4ODZz86yk4JxYlRQSjctJiYlJCAYM3tXUgAAAg1JREFUOMttk1V3ImEQRO8MQ3CChACBIHF3l427+7q7Tjfz/88+sNhk67Vuf3K6CuryXo2Yfo/HbwYnvDxW25EldVnBNpfdHjVErO2dJ9nsk51tS8SItreMmyLxV46qakxVndW4iNl0yExEjHxFEyfTcz7f3PT7La0EDInM1PxQRMJZTSQbE5OvtbNLuv6d0W5K1zM99DXf6RvTnrCY1XdExcjqKcD9RbFQKF7cAyS105AoQJsheT0EyqWUbdu2badKZeBEA2KFgCOJVxI+uNu169q9A4YqAxIEryWr+hnKG3aTNsowrX2S9vJFLGcLOLZbdAwMO4ZMMCKbegq/5luB+VlIak6CmJLXGzi3XTqHOQ2IiV9e6gMU3EABeJoRPx7p7AXW3cA6kOgQTw1YcwNrNcAvL/QBut1AN9CbET+m5PUWSm6gBH90UEyCsqnjMOUGvsJHzckoV2I4Q8BBq38AvHUMucZryZJOwmx/s98/C7exPkl7YUTilTc+mHre5E8Bw5UBGa2uO6BjwPf6T7p/AuM6WF03UTEWNQlwWVxJpVaKlwCfYgseOatFLtyjYy2RYzzWE5Y9byO0izo02bBv9nUhXA9tNfaBiu5/+OED3+/ksFYGPRL55irOkqOqy8sxVadvQGQv9Kh6Ri6Q6ejIBHKGiHXmLnAomG6UNz0a+k+/vRPBav3fXTdN/wUXrszXABeiEwAAAABJRU5ErkJggg==">
<title></title>
-<style>body{background-color:#fcfcfc;color:#111;line-height:1.4em;max-width:660px;margin:auto;padding-bottom:3em;font-family:"IBM Plex Serif", serif}header{text-align:center;margin:0.7em auto;font-size:2em;font-weight:bold}h1{font-style:oblique;margin-bottom:0;font-size:1.7em}h2,h3,h4,h5,h6{margin:1.5em 0 -0.3em;line-height:1.1em}nav{text-align:center}nav a{padding:0 0.5em;font-size:1.1em;font-weight:bold;text-decoration:none}nav a:hover{text-decoration:underline}a,nav a:visited{color:#134799}a:hover{text-decoration:none}a:visited{color:#551a8b}article a[href^="http"]:where(:not([href*="www.paritybit.ca/"]))::after{content:"︎↗"}figure a::after{content:""!important}img,video{max-width:100%}figcaption{margin-bottom:1.5em}blockquote{border-left:3px solid #134799;padding-left:0.5em}details{margin-left:1.5em}details p:first-of-type{margin-top:0.5em}summary:hover{cursor:pointer;background-color:#ddd}table{width:100%;text-align:left}table,td,th{border-collapse:collapse;margin-top:1em;padding:2px 4px;vertical-align: top}th{background-color:#ddd}tr:nth-child(even){background-color:#eee}pre{background-color:#ddd;overflow:auto;padding:0.5em;border:1px black solid}code{background-color:#ddd;font-family:"IBM Plex Mono", monospace;font-size:0.9em}.note{border:3px solid #134799;padding:10px 15px}.date{font-size:smaller;color:#565151}#icons{float:right}@media print{pre{white-space:pre-wrap}nav{display:none}}@media only screen and (max-width: 700px){body{max-width:90%}#icons{float:none}}</style>
+<style>body{background-color:#fcfcfc;color:#111;line-height:1.4em;max-width:660px;margin:auto;padding-bottom:3em;font-family:"IBM Plex Serif", serif}header{text-align:center;margin:0.7em auto;font-size:2em;font-weight:bold}h1{font-style:oblique;margin-bottom:0;font-size:1.7em}h2,h3,h4,h5,h6{margin:1.5em 0 -0.3em;line-height:1.1em}nav{text-align:center}nav a{padding:0 0.5em;font-size:1.1em;font-weight:bold;text-decoration:none}nav a:hover{text-decoration:underline}a,nav a:visited{color:#134799}a:hover{text-decoration:none}a:visited{color:#551a8b}article a[href^="http"]:where(:not([href*="paritybit.ca/"]))::after{content:"︎↗"}figure a::after{content:""!important}img,video{max-width:100%}figcaption{text-align:center}blockquote{border-left:3px solid #134799;padding-left:0.5em}details{margin-left:1.5em}details p:first-of-type{margin-top:0.5em}summary:hover{cursor:pointer;background-color:#ddd}table{width:100%;text-align:left}table,td,th{border-collapse:collapse;margin-top:1em;padding:2px 4px;vertical-align: top}th{background-color:#ddd}tr:nth-child(even){background-color:#eee}pre{background-color:#ddd;overflow:auto;padding:0.5em;border:1px black solid}code{background-color:#ddd;font-family:"IBM Plex Mono", monospace;font-size:0.9em}.note{border:3px solid #134799;padding:10px 15px}figcaption,.date{font-size:smaller;color:#565151}#icons{float:right}@media print{pre{white-space:pre-wrap}nav{display:none}}@media only screen and (max-width: 700px){body{max-width:90%}#icons{float:none}}</style>
</head>
<body>
<header>paritybit.ca</header>