cmc/cleberg.net

My personal web garden & blog.

clone: git clone https://gitbay.org/cmc/cleberg.net.git

3f8b0e2bec1634b0a81b6a228a9c53a1174f56c9

verified · cmc

author: Christian Cleberg <hello@cleberg.net> · 2026-03-11T08:43:49Z

update titles
 content/blog/2018-11-28-aes-encryption.org         |   2 +-
 content/blog/2018-11-28-cpp-compiler.org           |   2 +-
 content/blog/2019-01-07-useful-css.org             |   2 +-
 content/blog/2019-09-09-audit-analytics.org        |   2 +-
 content/blog/2019-12-03-the-ansoff-matrix.org      |   2 +-
 content/blog/2019-12-16-password-security.org      |   2 +-
 content/blog/2020-01-25-linux-software.org         |   2 +-
 content/blog/2020-01-26-steam-on-ntfs.org          |   2 +-
 content/blog/2020-02-09-cryptography-basics.org    |   2 +-
 content/blog/2020-03-25-session-messenger.org      |   2 +-
 content/blog/2020-05-03-homelab.org                |   2 +-
 content/blog/2020-05-19-customizing-ubuntu.org     |   2 +-
 content/blog/2020-07-20-video-game-sales.org       |   2 +-
 content/blog/2020-07-26-business-analysis.org      |   2 +-
 content/blog/2020-08-22-redirect-github-pages.org  |   2 +-
 content/blog/2020-08-29-php-auth-flow.org          |   2 +-
 content/blog/2020-09-01-visual-recognition.org     |   2 +-
 content/blog/2020-09-22-internal-audit.org         |   2 +-
 content/blog/2020-09-25-happiness-map.org          |   2 +-
 content/blog/2020-10-12-mediocrity.org             |   2 +-
 content/blog/2020-12-27-website-redesign.org       |   2 +-
 content/blog/2020-12-28-neon-drive.org             |   2 +-
 content/blog/2020-12-29-zork.org                   |   2 +-
 content/blog/2021-01-01-seum.org                   |   2 +-
 content/blog/2021-01-04-fediverse.org              |   2 +-
 content/blog/2021-01-07-ufw.org                    |   2 +-
 content/blog/2021-02-19-macos.org                  |   2 +-
 content/blog/2021-03-19-clone-github-repos.org     |   2 +-
 content/blog/2021-03-28-gemini-capsule.org         |   2 +-
 content/blog/2021-03-28-vaporwave-vs-outrun.org    |   2 +-
 content/blog/2021-03-30-vps-web-server.org         |   2 +-
 content/blog/2021-04-17-gemini-server.org          |   2 +-
 content/blog/2021-04-23-php-comment-system.org     |   2 +-
 content/blog/2021-04-28-photography.org            |   2 +-
 content/blog/2021-05-30-changing-git-authors.org   |   2 +-
 content/blog/2021-07-15-delete-gitlab-repos.org    |   2 +-
 content/blog/2021-08-25-audit-sampling.org         |   2 +-
 content/blog/2021-10-09-apache-redirect.org        |   2 +-
 content/blog/2021-12-04-cisa.org                   |   2 +-
 content/blog/2022-02-10-leaving-the-office.org     |   2 +-
 content/blog/2022-02-10-njalla-dns-api.org         |   2 +-
 content/blog/2022-02-16-debian-and-nginx.org       |   2 +-
 content/blog/2022-02-17-exiftool.org               |   2 +-
 content/blog/2022-02-20-nginx-caching.org          |   2 +-
 content/blog/2022-02-22-tuesday.org                |   2 +-
 content/blog/2022-03-02-reliable-notes.org         |   2 +-
 content/blog/2022-03-03-financial-database.org     |   2 +-
 content/blog/2022-03-08-plex-migration.org         |   2 +-
 content/blog/2022-03-23-cloudflare-dns-api.org     |   2 +-
 content/blog/2022-03-23-nextcloud-on-ubuntu.org    |   2 +-
 content/blog/2022-03-24-server-hardening.org       |   2 +-
 content/blog/2022-03-26-ssh-mfa.org                |   2 +-
 content/blog/2022-04-02-nginx-reverse-proxy.org    |   2 +-
 content/blog/2022-04-09-pinetime.org               |   2 +-
 content/blog/2022-06-01-ditching-cloudflare.org    |   2 +-
 content/blog/2022-06-07-self-hosting-freshrss.org  |   2 +-
 content/blog/2022-06-16-terminal-lifestyle.org     |   2 +-
 content/blog/2022-06-22-daily-poetry.org           |   2 +-
 content/blog/2022-06-24-fedora-i3.org              |   2 +-
 content/blog/2022-07-01-git-server.org             |   2 +-
 content/blog/2022-07-14-gnupg.org                  |   2 +-
 content/blog/2022-07-25-curseradio.org             |   2 +-
 content/blog/2022-07-30-flac-to-opus.org           |   2 +-
 content/blog/2022-07-31-bash-it.org                |   2 +-
 content/blog/2022-08-31-privacy-com-changes.org    |   2 +-
 content/blog/2022-09-17-serenity-os.org            |   2 +-
 content/blog/2022-09-21-graphene-os.org            |   2 +-
 content/blog/2022-10-04-mtp-linux.org              |   2 +-
 content/blog/2022-10-04-syncthing.org              |   2 +-
 content/blog/2022-10-22-alpine-linux.org           |   2 +-
 content/blog/2022-10-30-linux-display-manager.org  |   2 +-
 content/blog/2022-11-07-self-hosting-matrix.org    |   2 +-
 content/blog/2022-11-11-nginx-tmp-errors.org       |   2 +-
 content/blog/2022-11-27-server-build.org           |   2 +-
 .../blog/2022-11-29-nginx-referrer-ban-list.org    |   2 +-
 content/blog/2022-12-01-nginx-compression.org      |   2 +-
 .../blog/2022-12-07-nginx-wildcard-redirect.org    |   2 +-
 content/blog/2022-12-17-st.org                     |   2 +-
 content/blog/2022-12-23-alpine-desktop.org         |   2 +-
 content/blog/2023-01-03-recent-website-changes.org |   2 +-
 .../blog/2023-01-05-mass-unlike-tumblr-posts.org   |   2 +-
 content/blog/2023-01-08-fedora-login-manager.org   |   2 +-
 content/blog/2023-01-21-flatpak-symlinks.org       |   2 +-
 content/blog/2023-01-23-random-wireguard.org       |   2 +-
 content/blog/2023-01-28-self-hosting-wger.org      |   2 +-
 content/blog/2023-02-02-exploring-hare.org         |   2 +-
 content/blog/2023-05-22-burnout.org                |   2 +-
 content/blog/2023-06-08-goaccess-geoip.org         |   2 +-
 content/blog/2023-06-08-self-hosting-baikal.org    |   2 +-
 content/blog/2023-06-18-unifi-ip-blocklist.org     |   2 +-
 content/blog/2023-06-20-audit-review-template.org  |   2 +-
 content/blog/2023-06-23-byobu.org                  |   2 +-
 content/blog/2023-06-23-self-hosting-convos.org    |   2 +-
 content/blog/2023-06-28-backblaze-b2.org           |   2 +-
 content/blog/2023-06-30-self-hosting-voyager.org   |   2 +-
 content/blog/2023-07-12-wireguard-lan.org          |   2 +-
 content/blog/2023-07-19-plex-transcoder-errors.org |   2 +-
 content/blog/2023-08-18-agile-auditing.org         |   2 +-
 content/blog/2023-09-15-self-hosting-gitweb.org    |   2 +-
 content/blog/2023-09-19-audit-sql-scripts.org      |   2 +-
 content/blog/2023-10-04-digital-minimalism.org     |   2 +-
 content/blog/2023-10-11-self-hosting-authelia.org  |   2 +-
 content/blog/2023-10-15-alpine-ssh-hardening.org   |   2 +-
 .../2023-10-17-self-hosting-anonymousoverflow.org  |   2 +-
 content/blog/2023-11-08-scli.org                   |   2 +-
 content/blog/2023-12-03-unifi-nextdns.org          |   2 +-
 content/blog/2024-01-08-dont-say-hello.org         |   2 +-
 content/blog/2024-01-09-macos-customization.org    |   2 +-
 content/blog/2024-01-13-local-llm.org              |   2 +-
 content/blog/2024-01-26-audit-dashboard.org        |   2 +-
 content/blog/2024-01-27-tableau-dashboard.org      |   2 +-
 content/blog/2024-02-06-zfs.org                    |   2 +-
 content/blog/2024-02-13-ubuntu-emergency-mode.org  |   2 +-
 .../blog/2024-02-21-self-hosting-otter-wiki.org    |   2 +-
 content/blog/2024-03-13-doom-emacs.org             |   2 +-
 .../blog/2024-03-15-self-hosting-ddns-updater.org  |   2 +-
 content/blog/2024-03-29-org-blog.org               |   2 +-
 .../2024-04-06-convert-onenote-to-markdown.org     |   2 +-
 .../blog/2024-04-08-docker-local-web-server.org    |   2 +-
 content/blog/2024-04-18-mu4e.org                   |   2 +-
 content/blog/2024-05-03-ubuntu-on-macos.org        |   2 +-
 .../blog/2024-06-19-deprecated-trusted-gpg-fix.org |   2 +-
 content/blog/2024-07-11-emacs-on-ipad.org          |   2 +-
 content/blog/2024-08-11-org-mode-features.org      |   2 +-
 content/blog/2024-08-25-n8n-sentiment-analysis.org |   2 +-
 .../blog/2024-09-20-prometheus-grafana-cloud.org   |   2 +-
 .../blog/2024-09-23-self-hosting-transmission.org  |   2 +-
 .../2024-10-31-continue-ollama-code-assistant.org  |   2 +-
 .../blog/2024-12-27-self-hosting-the-lounge.org    |   2 +-
 content/blog/2025-01-23-self-hosting-tandoor.org   |   2 +-
 content/blog/2025-02-11-obscura-vpn.org            |   2 +-
 content/blog/2025-02-24-email-migration.org        |   2 +-
 content/blog/2025-04-05-git-mirror.org             |   2 +-
 content/blog/2025-05-02-asahi-linux.org            |   2 +-
 content/blog/2025-05-30-it-audit-career.org        |   2 +-
 content/blog/2025-06-02-private-ios-apps.org       |   2 +-
 content/blog/2025-09-04-website-redesign.org       |   2 +-
 .../2025-09-25-minimalist-website-redesign.org     |   2 +-
 content/blog/2025-10-03-privacy-toolkit.org        |   2 +-
 content/blog/2025-10-06-rocket-league-macos.org    |   2 +-
 content/blog/2025-10-24-digital-garden.org         |   2 +-
 content/blog/2025-11-02-aerc-macos.org             |   2 +-
 content/blog/2025-11-13-wcag.org                   |   2 +-
 content/blog/2025-11-23-it-audit-ai.org            |   2 +-
 content/blog/2025-12-06-self-hosting-tor.org       |   2 +-
 .../2025-12-20-self-hosting-home-assistant.org     |   2 +-
 ...-31-emacs-carnival-2026-01-this-year-i-will.org |   2 +-
 ...026-02-02-emacs-carnival-2026-02-completion.org |   2 +-
 ...web-carnival-2026-02-intersecting-interests.org |   2 +-
 content/blog/2026-02-08-gnu-stow.org               |   2 +-
 .../2026-02-12-automating-weblorg-deployments.org  |   2 +-
 content/blog/2026-02-21-auditing-aws-iam.org       |   2 +-
 content/blog/2026-02-21-auditing-aws-passwords.org |   2 +-
 content/blog/2026-03-03-auditing-aws-s3.org        |   2 +-
 content/garden/macos.org                           |   2 +-
 content/garden/mkb.org                             |   2 +-
 content/garden/org-mode.org                        |   2 +-
 content/garden/quotes.org                          |   2 +-
 content/uses/index.org                             | 122 +++++++++------------
 theme/templates/index.html                         |  15 ++-
 160 files changed, 219 insertions(+), 234 deletions(-)

diff --git a/content/blog/2018-11-28-aes-encryption.org b/content/blog/2018-11-28-aes-encryption.org
index 34d08dd..afadf97 100644
--- a/content/blog/2018-11-28-aes-encryption.org
+++ b/content/blog/2018-11-28-aes-encryption.org
@@ -1,5 +1,5 @@
 #+date: [2018-11-28 Wed 00:00:00]
-#+title:       How AES Encryption Works
+#+title: aes encryption: what the math actually does
 #+description: Detailed explanation of AES encryption, including key handling, encryption modes, algorithm structure, and implementation considerations for secure data protection.
 #+slug:        aes-encryption
 #+filetags: :security:
diff --git a/content/blog/2018-11-28-cpp-compiler.org b/content/blog/2018-11-28-cpp-compiler.org
index 41989c9..be94aee 100644
--- a/content/blog/2018-11-28-cpp-compiler.org
+++ b/content/blog/2018-11-28-cpp-compiler.org
@@ -1,5 +1,5 @@
 #+date: [2018-11-28 Wed 00:00:00]
-#+title:       Inside the C++ Compiler
+#+title:       inside the c++ compiler
 #+description: Systematic presentation of the C++ compilation phases including preprocessing, compilation, assembly, and linking, with technical insights into each stage's function.
 #+slug:        cpp-compiler
 #+filetags: :linux:
diff --git a/content/blog/2019-01-07-useful-css.org b/content/blog/2019-01-07-useful-css.org
index 7ebec94..7ecf5ea 100644
--- a/content/blog/2019-01-07-useful-css.org
+++ b/content/blog/2019-01-07-useful-css.org
@@ -1,5 +1,5 @@
 #+date: [2019-01-07 Mon 00:00:00]
-#+title:       Real‑World CSS Techniques: Flexbox, Shadows, and Variables
+#+title: css notes: flexbox, shadows, variables
 #+description: Practical guide on applying CSS rules and constructs such as flexbox, box shadows, and variable usage to achieve standard web styling and layout objectives.
 #+slug:        useful-css
 #+filetags: :web:
diff --git a/content/blog/2019-09-09-audit-analytics.org b/content/blog/2019-09-09-audit-analytics.org
index eb2e6cf..ab94fca 100644
--- a/content/blog/2019-09-09-audit-analytics.org
+++ b/content/blog/2019-09-09-audit-analytics.org
@@ -1,5 +1,5 @@
 #+date: [2019-09-09 Mon 00:00:00]
-#+title:       Bringing Data Analytics Into Internal Audit
+#+title: audit analytics: pandas instead of pivot tables
 #+description: Examination of data analytical approaches applied within internal audit functions to improve risk evaluation, process efficiency, and decision support.
 #+slug:        audit-analytics
 #+filetags: :audit:
diff --git a/content/blog/2019-12-03-the-ansoff-matrix.org b/content/blog/2019-12-03-the-ansoff-matrix.org
index de073b7..7740a23 100644
--- a/content/blog/2019-12-03-the-ansoff-matrix.org
+++ b/content/blog/2019-12-03-the-ansoff-matrix.org
@@ -1,5 +1,5 @@
 #+date: [2019-12-03 Tue 00:00:00]
-#+title:       How the Ansoff Matrix Guides Business Growth
+#+title: ansoff matrix: business school diagram, limited shelf life
 #+description: Analytical description of the Ansoff Matrix, detailing market and product development strategies for measured business expansion and competitive positioning.
 #+slug:        the-ansoff-matrix
 #+filetags: :audit:
diff --git a/content/blog/2019-12-16-password-security.org b/content/blog/2019-12-16-password-security.org
index 37477aa..928dcf4 100644
--- a/content/blog/2019-12-16-password-security.org
+++ b/content/blog/2019-12-16-password-security.org
@@ -1,5 +1,5 @@
 #+date: [2019-12-16 Mon 00:00:00]
-#+title:       How to Secure Passwords: Best Practices and NIST Guidelines
+#+title: nist passwords: the guidelines nobody implements
 #+description: Compilation of guidelines for password generation, storage, protection, and compliance with established standards such as NIST for maintaining digital security.
 #+slug:        password-security
 #+filetags: :security:
diff --git a/content/blog/2020-01-25-linux-software.org b/content/blog/2020-01-25-linux-software.org
index 7e0c723..6238f09 100644
--- a/content/blog/2020-01-25-linux-software.org
+++ b/content/blog/2020-01-25-linux-software.org
@@ -1,5 +1,5 @@
 #+date: [2020-01-25 Sat 00:00:00]
-#+title:       Linux Essentials: Top Tools and Easy Setup Tips
+#+title: linux software: what i actually install first
 #+description: Inventory and description of key Linux applications including graphical and command-line tools, with installation instructions for various distributions.
 #+slug:        linux-software
 #+filetags: :linux:
diff --git a/content/blog/2020-01-26-steam-on-ntfs.org b/content/blog/2020-01-26-steam-on-ntfs.org
index fc64abb..5dfd6a9 100644
--- a/content/blog/2020-01-26-steam-on-ntfs.org
+++ b/content/blog/2020-01-26-steam-on-ntfs.org
@@ -1,5 +1,5 @@
 #+date: [2020-01-26 Sun 00:00:00]
-#+title:       How to Get Steam Running Smoothly on NTFS Drives in Linux
+#+title: steam ntfs linux: it works, mostly
 #+description: Procedures for mounting NTFS drives using ntfs-3g to enable reliable execution of Steam gaming software on Linux environments.
 #+slug:        steam-on-ntfs
 #+filetags: :linux:
diff --git a/content/blog/2020-02-09-cryptography-basics.org b/content/blog/2020-02-09-cryptography-basics.org
index 2d01374..7770e00 100644
--- a/content/blog/2020-02-09-cryptography-basics.org
+++ b/content/blog/2020-02-09-cryptography-basics.org
@@ -1,5 +1,5 @@
 #+date: [2020-02-09 Sunday 00:00:00]
-#+title:       A Practical Guide to Encryption, Keys, and Secure Communication
+#+title: cryptography basics: keys, certs, and why it matters
 #+description: Systematic overview of encryption methodologies, key categories, algorithmic frameworks, and their applications in data confidentiality and integrity.
 #+slug:        cryptography
 #+filetags: :security:
diff --git a/content/blog/2020-03-25-session-messenger.org b/content/blog/2020-03-25-session-messenger.org
index abdc46a..02d3d1d 100644
--- a/content/blog/2020-03-25-session-messenger.org
+++ b/content/blog/2020-03-25-session-messenger.org
@@ -1,5 +1,5 @@
 #+date: [2020-03-25 Wed 00:00:00]
-#+title:       Session Messenger: Is It Secure?
+#+title:       session messenger: is it secure?
 #+description: Technical description of the Session messaging protocol, including end-to-end encryption, metadata minimization, multi-device synchronization, and privacy-centric design.
 #+slug:        session-messenger
 #+filetags: :privacy:
diff --git a/content/blog/2020-05-03-homelab.org b/content/blog/2020-05-03-homelab.org
index 87dbd63..599c5be 100644
--- a/content/blog/2020-05-03-homelab.org
+++ b/content/blog/2020-05-03-homelab.org
@@ -1,5 +1,5 @@
 #+date: [2020-05-03 Sun 00:00:00]
-#+title:       My Homelab Setup: Gear, Network, and Lessons Learned
+#+title: homelab: rack, network, what broke
 #+description: Comprehensive instructions on assembling and configuring a homelab environment, emphasizing hardware selection, software deployment, and network setup for operational efficiency.
 #+slug:        homelab
 #+filetags: :self-hosting:
diff --git a/content/blog/2020-05-19-customizing-ubuntu.org b/content/blog/2020-05-19-customizing-ubuntu.org
index 4e79a27..aef0d7d 100644
--- a/content/blog/2020-05-19-customizing-ubuntu.org
+++ b/content/blog/2020-05-19-customizing-ubuntu.org
@@ -1,5 +1,5 @@
 #+date: [2020-05-19 Tue 00:00:00]
-#+title:       Tweak Your Ubuntu Look: A Beginner’s Guide to GNOME Customization
+#+title: ubuntu gnome customization: making it not look terrible
 #+description: Detailed instructions for modifying system appearance and interface elements in Ubuntu 20.04, including setting themes, icon packs, font adjustments, terminal configurations, and related customization parameters.
 #+slug:        customizing-ubuntu
 #+filetags: :linux:
diff --git a/content/blog/2020-07-20-video-game-sales.org b/content/blog/2020-07-20-video-game-sales.org
index b913f58..796d994 100644
--- a/content/blog/2020-07-20-video-game-sales.org
+++ b/content/blog/2020-07-20-video-game-sales.org
@@ -1,5 +1,5 @@
 #+date: [2020-07-20 Mon 00:00:00]
-#+title:       A Data-Driven Look at Video Game Sales (1980–2020)
+#+title: video game sales data: 40 years of numbers
 #+description: Presentation of analyzed data regarding global video game sales, covering platform distributions, genre classifications, and geographic market performance metrics.
 #+slug:        video-game-sales
 #+filetags: :personal:
diff --git a/content/blog/2020-07-26-business-analysis.org b/content/blog/2020-07-26-business-analysis.org
index ef4c5c4..7be3b2a 100644
--- a/content/blog/2020-07-26-business-analysis.org
+++ b/content/blog/2020-07-26-business-analysis.org
@@ -1,5 +1,5 @@
 #+date: [2020-07-26 Sun 00:00:00]
-#+title:       A Location Intelligence Framework: Mapping Urban Business Clusters with Python
+#+title: business location analysis: python maps, urban data
 #+description: Methodology for utilizing data science techniques and Foursquare API data to analyze and select promising business sites within urban environments.
 #+slug:        business-analysis
 #+filetags: :audit:
diff --git a/content/blog/2020-08-22-redirect-github-pages.org b/content/blog/2020-08-22-redirect-github-pages.org
index 364dd1e..95848b1 100644
--- a/content/blog/2020-08-22-redirect-github-pages.org
+++ b/content/blog/2020-08-22-redirect-github-pages.org
@@ -1,5 +1,5 @@
 #+date: [2020-08-22 Sat 00:00:00]
-#+title:       Configure GitHub Pages to Use Your Root Domain Instead of WWW
+#+title: github pages root domain: drop the www
 #+description: Stepwise instructions for configuring redirection of GitHub Pages sites from the www subdomain to the apex domain to improve domain resolution and access consistency.
 #+slug:        redirect-github-pages
 #+filetags: :web:
diff --git a/content/blog/2020-08-29-php-auth-flow.org b/content/blog/2020-08-29-php-auth-flow.org
index 5fd3f5f..8331be9 100644
--- a/content/blog/2020-08-29-php-auth-flow.org
+++ b/content/blog/2020-08-29-php-auth-flow.org
@@ -1,5 +1,5 @@
 #+date: [2020-08-29 Sat 00:00:00]
-#+title:       PHP User Authentication: Create, Validate, and Manage Sessions
+#+title: php auth: sessions from scratch
 #+description: Comprehensive guide to developing a secure user login system in PHP, including account creation, session management, and logout procedures.
 #+slug:        php-auth-flow
 #+filetags: :web:
diff --git a/content/blog/2020-09-01-visual-recognition.org b/content/blog/2020-09-01-visual-recognition.org
index ccbe71a..21bb8ed 100644
--- a/content/blog/2020-09-01-visual-recognition.org
+++ b/content/blog/2020-09-01-visual-recognition.org
@@ -1,5 +1,5 @@
 #+date: [2020-09-01 Tue 00:00:00]
-#+title:       How to Use IBM Watson Visual Recognition API for Image Analysis
+#+title: ibm watson vision api: before they killed it
 #+description: Technical overview and application instructions for using IBM Watson Visual Recognition service, with focus on API configuration, image input processing, and classification output handling.
 #+slug:        visual-recognition
 #+filetags: :linux:
diff --git a/content/blog/2020-09-22-internal-audit.org b/content/blog/2020-09-22-internal-audit.org
index 82b66ab..e5803ce 100644
--- a/content/blog/2020-09-22-internal-audit.org
+++ b/content/blog/2020-09-22-internal-audit.org
@@ -1,5 +1,5 @@
 #+date: [2020-09-22 Tue 00:00:00]
-#+title:       The Strategic Role of Internal Audit in Risk, Governance, and Compliance
+#+title: internal audit: what it does vs. what management thinks it does
 #+description: Analysis of internal audit processes, their contribution to risk management, governance frameworks, and compliance monitoring within corporate structures.
 #+slug:        internal-audit
 #+filetags: :audit:
diff --git a/content/blog/2020-09-25-happiness-map.org b/content/blog/2020-09-25-happiness-map.org
index ef84104..f40dbf7 100644
--- a/content/blog/2020-09-25-happiness-map.org
+++ b/content/blog/2020-09-25-happiness-map.org
@@ -1,5 +1,5 @@
 #+date: [2020-09-25 Fri 00:00:00]
-#+title:       Visualizing Global Happiness: A Choropleth Map with Python and Folium
+#+title: happiness choropleth: folium map, world data
 #+description: Instructions for creating an interactive choropleth map visualizing international happiness data based on metrics such as GDP, social support, health indicators, freedom indices, generosity, and corruption levels.
 #+slug:        happiness-map
 #+filetags: :personal:
diff --git a/content/blog/2020-10-12-mediocrity.org b/content/blog/2020-10-12-mediocrity.org
index 347e6af..04c0f99 100644
--- a/content/blog/2020-10-12-mediocrity.org
+++ b/content/blog/2020-10-12-mediocrity.org
@@ -1,5 +1,5 @@
 #+date: [2020-10-12 Mon 00:00:00]
-#+title:       When Good Is Good Enough—And When It Isn't
+#+title:       when good is good enough—and when it isn't
 #+description: Examination of decision-making principles relating to achieving sufficient quality levels, including trade-offs between perfection and adequacy in professional and operational contexts.
 #+slug:        mediocrity
 #+filetags: :personal:
diff --git a/content/blog/2020-12-27-website-redesign.org b/content/blog/2020-12-27-website-redesign.org
index c8995f0..79db447 100644
--- a/content/blog/2020-12-27-website-redesign.org
+++ b/content/blog/2020-12-27-website-redesign.org
@@ -1,5 +1,5 @@
 #+date: [2020-12-27 Sun 00:00:00]
-#+title:       Designing for Speed: A 5KB Site That Scores 100s on Lighthouse
+#+title: website redesign: 5kb, 100s on lighthouse, no framework
 #+description: Detailed process outlining methods for reducing website page size to approximately 5 kilobytes, enhancing loading speed, search engine indexing efficiency, and user interface responsiveness.
 #+slug:        website-redesign
 #+filetags: :web:
diff --git a/content/blog/2020-12-28-neon-drive.org b/content/blog/2020-12-28-neon-drive.org
index e9489d2..cf58f58 100644
--- a/content/blog/2020-12-28-neon-drive.org
+++ b/content/blog/2020-12-28-neon-drive.org
@@ -1,5 +1,5 @@
 #+date: [2020-12-28 Mon 00:00:00]
-#+title:       Outrun the Future: A Review of Neon Drive's Gameplay and Style
+#+title: neon drive: review
 #+description: Description of game mechanics, graphical style, and level design in Neon Drive, an arcade racing game inspired by 1980s synthwave aesthetics.
 #+slug:        neon-drive
 #+filetags: :personal:
diff --git a/content/blog/2020-12-29-zork.org b/content/blog/2020-12-29-zork.org
index 47bba75..fd0dc52 100644
--- a/content/blog/2020-12-29-zork.org
+++ b/content/blog/2020-12-29-zork.org
@@ -1,5 +1,5 @@
 #+date: [2020-12-29 Tue 00:00:00]
-#+title:       Your First Grue: Getting Started with Zork, the Iconic Text Adventure
+#+title: zork: the text adventure that started it all
 #+description: Detailed operational guide for navigating Zork, a text-based interactive fiction game from the 1980s. Includes instructions for exploration, puzzle resolution, and item collection.
 #+slug:        zork
 #+filetags: :personal:
diff --git a/content/blog/2021-01-01-seum.org b/content/blog/2021-01-01-seum.org
index 1e908d4..161d9cf 100644
--- a/content/blog/2021-01-01-seum.org
+++ b/content/blog/2021-01-01-seum.org
@@ -1,5 +1,5 @@
 #+date: [2021-01-01 Fri 00:00:00]
-#+title:       SEUM: Speedrunners from Hell
+#+title:       seum: speedrunners from hell
 #+description: Technical overview for utilizing the game SEUM, focusing on speedrunning techniques, gravity manipulation, teleportation functions, and level completion criteria.
 #+slug:        seum
 #+filetags: :personal:
diff --git a/content/blog/2021-01-04-fediverse.org b/content/blog/2021-01-04-fediverse.org
index 4b2f2cf..7893c8e 100644
--- a/content/blog/2021-01-04-fediverse.org
+++ b/content/blog/2021-01-04-fediverse.org
@@ -1,5 +1,5 @@
 #+date: [2021-01-04 Mon 00:00:00]
-#+title:       Navigating the Fediverse: User Manual for Decentralized Social Media
+#+title: fediverse: decentralized social, minus the algorithm
 #+description: Detailed introduction to the Fediverse network architecture, user registration procedures, platform navigation, and protocols ensuring content decentralization and censorship resistance.
 #+slug:        fediverse
 #+filetags: :privacy:
diff --git a/content/blog/2021-01-07-ufw.org b/content/blog/2021-01-07-ufw.org
index f334cf8..5398f57 100644
--- a/content/blog/2021-01-07-ufw.org
+++ b/content/blog/2021-01-07-ufw.org
@@ -1,5 +1,5 @@
 #+date: [2021-01-07 Thu 00:00:00]
-#+title:       Hardening Ubuntu Servers with UFW: A Step-by-Step Firewall Guide
+#+title: ufw hardening: firewall config you should have set up already
 #+description: Stepwise instructions for installation, configuration, enabling, and management of the Uncomplicated Firewall utility to secure network interfaces on Ubuntu server environments.
 #+slug:        ufw
 #+filetags: :linux:security:
diff --git a/content/blog/2021-02-19-macos.org b/content/blog/2021-02-19-macos.org
index 6f61a08..7e1bc78 100644
--- a/content/blog/2021-02-19-macos.org
+++ b/content/blog/2021-02-19-macos.org
@@ -1,5 +1,5 @@
 #+date: [2021-02-19 Fri 00:00:00]
-#+title:       macOS for Linux Users: Initial Setup and CLI Customization
+#+title: macos for linux users: what to fix first
 #+description: Comprehensive overview for first-time macOS users transitioning from other OS platforms, including system setup, terminal usage, and user interface customization.
 #+slug:        macos
 #+filetags: :linux:
diff --git a/content/blog/2021-03-19-clone-github-repos.org b/content/blog/2021-03-19-clone-github-repos.org
index c641ea0..9c9904a 100644
--- a/content/blog/2021-03-19-clone-github-repos.org
+++ b/content/blog/2021-03-19-clone-github-repos.org
@@ -1,5 +1,5 @@
 #+date: [2021-03-19 Fri 00:00:00]
-#+title:       GitHub and Sourcehut: Scripting Mass Clones and Remote Updates
+#+title:       github and sourcehut: scripting mass clones and remote updates
 #+description: Script-based methodology for cloning multiple repositories from GitHub and Sourcehut accounts. Includes automation techniques to streamline repository management and backups.
 #+slug:        clone-github-repos
 #+filetags: :personal:
diff --git a/content/blog/2021-03-28-gemini-capsule.org b/content/blog/2021-03-28-gemini-capsule.org
index a40464e..a2667f8 100644
--- a/content/blog/2021-03-28-gemini-capsule.org
+++ b/content/blog/2021-03-28-gemini-capsule.org
@@ -1,5 +1,5 @@
 #+date: [2021-03-28 Sun 00:00:00]
-#+title:       Getting Started with Gemini: Deploy Your First Capsule
+#+title: gemini capsule: deploy it, own your content
 #+description: Incremental procedural guide to initiate and maintain a Gemini capsule server. Covers installation, deployment, and operational best practices for beginners.
 #+slug:        gemini-capsule
 #+filetags: :linux:web:
diff --git a/content/blog/2021-03-28-vaporwave-vs-outrun.org b/content/blog/2021-03-28-vaporwave-vs-outrun.org
index 9f1ce0d..266eeb0 100644
--- a/content/blog/2021-03-28-vaporwave-vs-outrun.org
+++ b/content/blog/2021-03-28-vaporwave-vs-outrun.org
@@ -1,5 +1,5 @@
 #+date: [2021-03-28 Sun 00:00:00]
-#+title:       Exploring Vaporwave and Outrun: Color, Culture, and Sound
+#+title: vaporwave vs outrun: the aesthetic breakdown
 #+description: Systematic examination of Vaporwave and Outrun aesthetic frameworks, focusing on graphical elements, chromatic schemes, musical associations, and period-specific cultural influences.
 #+slug:        vaporwave-vs-outrun
 #+filetags: :personal:
diff --git a/content/blog/2021-03-30-vps-web-server.org b/content/blog/2021-03-30-vps-web-server.org
index 62a22c1..77ef4d2 100644
--- a/content/blog/2021-03-30-vps-web-server.org
+++ b/content/blog/2021-03-30-vps-web-server.org
@@ -1,5 +1,5 @@
 #+date: [2021-03-30 Tue 00:00:00]
-#+title:       From Shared Hosting to VPS: Web Server Setup Made Easy
+#+title: vps web server: get off shared hosting
 #+description: Instructional outline for setting up and maintaining a VPS environment configured for secure and scalable web hosting applications.
 #+slug:        vps-web-server
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2021-04-17-gemini-server.org b/content/blog/2021-04-17-gemini-server.org
index 5812567..5534b61 100644
--- a/content/blog/2021-04-17-gemini-server.org
+++ b/content/blog/2021-04-17-gemini-server.org
@@ -1,5 +1,5 @@
 #+date: [2021-04-17 Sat 00:00:00]
-#+title:       Agate Gemini Server Installation and Firewall Configuration
+#+title:       agate gemini server installation and firewall configuration
 #+description: Detailed directives for installation and configuration of a Gemini protocol server on Ubuntu, including network security and firewall setup.
 #+slug:        gemini-server
 #+filetags: :linux:web:
diff --git a/content/blog/2021-04-23-php-comment-system.org b/content/blog/2021-04-23-php-comment-system.org
index 8a8d26a..0976547 100644
--- a/content/blog/2021-04-23-php-comment-system.org
+++ b/content/blog/2021-04-23-php-comment-system.org
@@ -1,5 +1,5 @@
 #+date: [2021-04-23 Fri 00:00:00]
-#+title:       Building a Lightweight PHP Static Commenting System Without JavaScript
+#+title:       building a lightweight php static commenting system without javascript
 #+description: Technical walkthrough for constructing a lightweight, privacy-oriented static comment system using PHP, with no client-side scripting or external dependencies.
 #+slug:        php-comment-system
 #+filetags: :linux:web:
diff --git a/content/blog/2021-04-28-photography.org b/content/blog/2021-04-28-photography.org
index 85afbca..28072cf 100644
--- a/content/blog/2021-04-28-photography.org
+++ b/content/blog/2021-04-28-photography.org
@@ -1,5 +1,5 @@
 #+date: [2021-04-28 Wed 00:00:00]
-#+title:       Getting Started with Photography: Gear and Best Practices
+#+title: photography: gear and what actually matters
 #+description: Instructional document covering basic techniques in photography, including equipment selection, operational best practices, and methods for capturing high-quality images.
 #+slug:        photography
 #+filetags: :personal:
diff --git a/content/blog/2021-05-30-changing-git-authors.org b/content/blog/2021-05-30-changing-git-authors.org
index 35a12aa..09b25f0 100644
--- a/content/blog/2021-05-30-changing-git-authors.org
+++ b/content/blog/2021-05-30-changing-git-authors.org
@@ -1,5 +1,5 @@
 #+date: [2021-05-30 Sun 00:00:00]
-#+title:       Automated Script for Correcting Git Author Details in Multiple Projects
+#+title:       automated script for correcting git author details in multiple projects
 #+description: Detailed instructions for systematically updating the Git author name and email information in multiple repositories using command-line tools and scripts.
 #+slug:        changing-git-authors
 #+filetags: :personal:
diff --git a/content/blog/2021-07-15-delete-gitlab-repos.org b/content/blog/2021-07-15-delete-gitlab-repos.org
index 5e33f4d..4a0e432 100644
--- a/content/blog/2021-07-15-delete-gitlab-repos.org
+++ b/content/blog/2021-07-15-delete-gitlab-repos.org
@@ -1,5 +1,5 @@
 #+date: [2021-07-15 Thu 00:00:00]
-#+title:       Automated Deletion of All GitLab Repositories Using Python
+#+title:       automated deletion of all gitlab repositories using python
 #+description: Stepwise instructions for executing a Python script to delete all repositories associated with a GitLab account. Includes authentication and error handling procedures.
 #+slug:        delete-gitlab-repos
 #+filetags: :personal:
diff --git a/content/blog/2021-08-25-audit-sampling.org b/content/blog/2021-08-25-audit-sampling.org
index 5d72ba7..85c0732 100644
--- a/content/blog/2021-08-25-audit-sampling.org
+++ b/content/blog/2021-08-25-audit-sampling.org
@@ -1,5 +1,5 @@
 #+date: [2021-08-25 Wed 00:00:00]
-#+title:       Audit Sampling Made Easy: Using Pandas for Random and Stratified Samples
+#+title: audit sampling: pandas for random and stratified samples
 #+description: Presentation of methods for implementing audit sampling techniques including simple random, stratified, and systematic sampling using Python's Pandas library for precise audit outcomes.
 #+slug:        audit-sampling
 #+filetags: :audit:
diff --git a/content/blog/2021-10-09-apache-redirect.org b/content/blog/2021-10-09-apache-redirect.org
index d532498..e0cec7d 100644
--- a/content/blog/2021-10-09-apache-redirect.org
+++ b/content/blog/2021-10-09-apache-redirect.org
@@ -1,5 +1,5 @@
 #+date: [2021-10-09 Sat 00:00:00]
-#+title:       Setting Up Apache Rewrite Rules for Extensionless URLs
+#+title:       setting up apache rewrite rules for extensionless urls
 #+description: Technical guide to applying Apache mod_rewrite directives for transforming .html file requests into clean directory-style URL structures to enhance website navigation and indexing.
 #+slug:        apache-redirect
 #+filetags: :web:
diff --git a/content/blog/2021-12-04-cisa.org b/content/blog/2021-12-04-cisa.org
index c3683f5..f1fa87c 100644
--- a/content/blog/2021-12-04-cisa.org
+++ b/content/blog/2021-12-04-cisa.org
@@ -1,5 +1,5 @@
 #+date: [2021-12-04 Sat 00:00:00]
-#+title:       How I Prepared for and Passed the CISA Exam: A Practical Study Guide
+#+title: cisa exam: what the test measures vs. what the job requires
 #+description: Comprehensive outline of study materials, preparation strategies, and procedural advice for passing the CISA examination on the initial attempt.
 #+slug:        cisa
 #+filetags: :audit:
diff --git a/content/blog/2022-02-10-leaving-the-office.org b/content/blog/2022-02-10-leaving-the-office.org
index b015a3e..456c1d2 100644
--- a/content/blog/2022-02-10-leaving-the-office.org
+++ b/content/blog/2022-02-10-leaving-the-office.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-10 Thu 00:00:00]
-#+title:       From Cubicles to Home Offices: My Journey Through Changing Workspaces
+#+title: leaving the office: remote work without the linkedin take
 #+description: Examination of factors influencing the shift from traditional office environments to remote work, including benefits, constraints, and implementation recommendations.
 #+slug:        leaving-the-office
 #+filetags: :personal:
diff --git a/content/blog/2022-02-10-njalla-dns-api.org b/content/blog/2022-02-10-njalla-dns-api.org
index 980f5c6..1588099 100644
--- a/content/blog/2022-02-10-njalla-dns-api.org
+++ b/content/blog/2022-02-10-njalla-dns-api.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-10 Thu 00:00:00]
-#+title:       Automating Dynamic DNS Record Updates via Njalla API Using Python
+#+title:       automating dynamic dns record updates via njalla api using python
 #+description: Instructional material detailing automation of DNS record updates by interfacing with Njalla's API, suitable for environments with frequently changing IP addresses.
 #+slug:        njalla-dns-api
 #+filetags: :security:
diff --git a/content/blog/2022-02-16-debian-and-nginx.org b/content/blog/2022-02-16-debian-and-nginx.org
index 098eb05..ea0186e 100644
--- a/content/blog/2022-02-16-debian-and-nginx.org
+++ b/content/blog/2022-02-16-debian-and-nginx.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-16 Wed 00:00:00]
-#+title:       Switching to Debian and Nginx: A Modern Web and Gemini Server Migration Walkthrough
+#+title: debian nginx migration: ditch ubuntu, move the stack
 #+description: Step-by-step protocol for transitioning web server infrastructure to Debian operating system, including installation, configuration, and security hardening of Nginx and Agate services.
 #+slug:        debian-and-nginx
 #+filetags: :linux:web:
diff --git a/content/blog/2022-02-17-exiftool.org b/content/blog/2022-02-17-exiftool.org
index 31ad292..eb1c31e 100644
--- a/content/blog/2022-02-17-exiftool.org
+++ b/content/blog/2022-02-17-exiftool.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-17 Thu 00:00:00]
-#+title:       Protect Your Privacy: Automating Image Metadata Removal Using Exiftool
+#+title: exiftool metadata: strip it before you post it
 #+description: Technical instructions for utilizing Exiftool to systematically strip metadata from image files to ensure privacy and reduce file size.
 #+slug:        exiftool
 #+filetags: :linux:privacy:
diff --git a/content/blog/2022-02-20-nginx-caching.org b/content/blog/2022-02-20-nginx-caching.org
index 59f2ee6..5134994 100644
--- a/content/blog/2022-02-20-nginx-caching.org
+++ b/content/blog/2022-02-20-nginx-caching.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-20 Sun 00:00:00]
-#+title:       How to Configure Nginx for Efficient Static Content Caching
+#+title: nginx caching: static content, cache config
 #+description: Detailed methods for configuring Nginx to cache static resources such as CSS, JavaScript, and images to improve website loading times and resource efficiency.
 #+slug:        nginx-caching
 #+filetags: :linux:web:
diff --git a/content/blog/2022-02-22-tuesday.org b/content/blog/2022-02-22-tuesday.org
index 143894e..3207404 100644
--- a/content/blog/2022-02-22-tuesday.org
+++ b/content/blog/2022-02-22-tuesday.org
@@ -1,5 +1,5 @@
 #+date: [2022-02-22 Tue 00:00:00]
-#+title:       Twosday: Exploring the Unique Palindromic Date of 2-22-22
+#+title: twosday: 2 22 22 was a real date
 #+description: Examination of the date Tuesday, February 22, 2022, highlighting the palindromic properties and expected observations on this specific calendar occurrence.
 #+slug:        tuesday
 #+filetags: :personal:
diff --git a/content/blog/2022-03-02-reliable-notes.org b/content/blog/2022-03-02-reliable-notes.org
index 02a12b9..d5ee7de 100644
--- a/content/blog/2022-03-02-reliable-notes.org
+++ b/content/blog/2022-03-02-reliable-notes.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-02 Wed 00:00:00]
-#+title:       Reliable Note-Taking with Markdown: Methods for Efficient and Portable Notes
+#+title: notes in plaintext: portable, no app dependency
 #+description: Instructions on applying standardized note-taking procedures with Markdown format, including synchronization and cross-platform compatibility considerations.
 #+slug:        reliable-notes
 #+filetags: :personal:
diff --git a/content/blog/2022-03-03-financial-database.org b/content/blog/2022-03-03-financial-database.org
index ab30cb3..c911165 100644
--- a/content/blog/2022-03-03-financial-database.org
+++ b/content/blog/2022-03-03-financial-database.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-03 Thu 00:00:00]
-#+title:       From Spreadsheets to Databases: Creating a Custom Financial Tracker with Python
+#+title: financial tracker: sqlite over spreadsheets
 #+description: Procedures for creating and maintaining a personal financial database utilizing SQLite, Python programming language, and Jupyter Notebook interface.
 #+slug:        financial-database
 #+filetags: :self-hosting:
diff --git a/content/blog/2022-03-08-plex-migration.org b/content/blog/2022-03-08-plex-migration.org
index 662919a..6f4c833 100644
--- a/content/blog/2022-03-08-plex-migration.org
+++ b/content/blog/2022-03-08-plex-migration.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-08 Tue 00:00:00]
-#+title:       Migrating Plex Media Server to New Hardware with Nvidia GPU Setup
+#+title:       migrating plex media server to new hardware with nvidia gpu setup
 #+description: Stepwise instructions for transferring Plex Media Server to new hardware and enabling Nvidia GPU transcoding to optimize media processing performance.
 #+slug:        plex-migration
 #+filetags: :self-hosting:
diff --git a/content/blog/2022-03-23-cloudflare-dns-api.org b/content/blog/2022-03-23-cloudflare-dns-api.org
index d7c13f4..efe95ec 100644
--- a/content/blog/2022-03-23-cloudflare-dns-api.org
+++ b/content/blog/2022-03-23-cloudflare-dns-api.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-23 Wed 00:00:00]
-#+title:       Dynamic DNS Record Updates via Cloudflare API
+#+title:       dynamic dns record updates via cloudflare api
 #+description: Command-line procedures to automate updating of DNS A and AAAA records by interfacing with the Cloudflare API, suitable for environments with variable IP addresses.
 #+slug:        cloudflare-dns-api
 #+filetags: :security:
diff --git a/content/blog/2022-03-23-nextcloud-on-ubuntu.org b/content/blog/2022-03-23-nextcloud-on-ubuntu.org
index 607b625..2384844 100644
--- a/content/blog/2022-03-23-nextcloud-on-ubuntu.org
+++ b/content/blog/2022-03-23-nextcloud-on-ubuntu.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-23 Wed 00:00:00]
-#+title:       Self-Hosting Guide: Nextcloud
+#+title:       self hosting guide: nextcloud
 #+description: Comprehensive guide for implementing Nextcloud as a self-hosted solution on an Ubuntu server, including installation steps, configuration parameters, and basic security measures.
 #+slug:        nextcloud-on-ubuntu
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2022-03-24-server-hardening.org b/content/blog/2022-03-24-server-hardening.org
index 71683db..358d128 100644
--- a/content/blog/2022-03-24-server-hardening.org
+++ b/content/blog/2022-03-24-server-hardening.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-24 Thu 00:00:00]
-#+title:       Step-by-Step Guide to Securing Your Home Server with Firewalls, SSH, and VLANs
+#+title: server hardening: firewalls, ssh, vlans
 #+description: Detailed instructions to enhance the security posture of home servers exposed to public networks, including firewall setup, secure SSH configuration, fail2ban deployment, and network segmentation.
 #+slug:        server-hardening
 #+filetags: :linux:security:
diff --git a/content/blog/2022-03-26-ssh-mfa.org b/content/blog/2022-03-26-ssh-mfa.org
index 38e2b20..1da01f1 100644
--- a/content/blog/2022-03-26-ssh-mfa.org
+++ b/content/blog/2022-03-26-ssh-mfa.org
@@ -1,5 +1,5 @@
 #+date: [2022-03-26 Sat 00:00:00]
-#+title:       Secure Your SSH Access: Deploying Time-Based One-Time Password Authentication
+#+title: ssh mfa: totp on top of keys
 #+description: Step-by-step deployment guide for enabling TOTP multi-factor authentication on SSH services using Google Authenticator and Pluggable Authentication Module (PAM) integration.
 #+slug:        ssh-mfa
 #+filetags: :security:
diff --git a/content/blog/2022-04-02-nginx-reverse-proxy.org b/content/blog/2022-04-02-nginx-reverse-proxy.org
index 8ae5e39..9a1aa3a 100644
--- a/content/blog/2022-04-02-nginx-reverse-proxy.org
+++ b/content/blog/2022-04-02-nginx-reverse-proxy.org
@@ -1,5 +1,5 @@
 #+date: [2022-04-02 Sat 00:00:00]
-#+title:       How to Configure Nginx as a Reverse Proxy on Ubuntu Server
+#+title: nginx reverse proxy: config and nothing else
 #+description: Technical guide for setting up Nginx server to operate as a reverse proxy on Ubuntu systems, including configuration files setup and operational parameters.
 #+slug:        nginx-reverse-proxy
 #+filetags: :linux:web:
diff --git a/content/blog/2022-04-09-pinetime.org b/content/blog/2022-04-09-pinetime.org
index 37402d1..ed0322c 100644
--- a/content/blog/2022-04-09-pinetime.org
+++ b/content/blog/2022-04-09-pinetime.org
@@ -1,5 +1,5 @@
 #+date: [2022-04-09 Sat 00:00:00]
-#+title:       PineTime Smartwatch: An Open-Source Hardware & Software Overview
+#+title:       pinetime smartwatch: an open source hardware & software overview
 #+description: Technical description of PineTime smartwatch capabilities, including heart rate measurement, step counting, sleep monitoring, and smartphone connectivity functions.
 #+slug:        pinetime
 #+filetags: :linux:
diff --git a/content/blog/2022-06-01-ditching-cloudflare.org b/content/blog/2022-06-01-ditching-cloudflare.org
index 4693bc5..6e7d978 100644
--- a/content/blog/2022-06-01-ditching-cloudflare.org
+++ b/content/blog/2022-06-01-ditching-cloudflare.org
@@ -1,5 +1,5 @@
 #+date: [2022-06-01 Wed 00:00:00]
-#+title:       Migrating from Cloudflare to Njalla: A Privacy-Focused DNS and Domain Management Transition
+#+title: ditching cloudflare: dns under your own name, not theirs
 #+description: Evaluation and procedural explanation for migrating DNS management services from Cloudflare to Njalla, with emphasis on privacy controls and domain registration mechanics.
 #+slug:        ditching-cloudflare
 #+filetags: :privacy:security:
diff --git a/content/blog/2022-06-07-self-hosting-freshrss.org b/content/blog/2022-06-07-self-hosting-freshrss.org
index 32d954c..221b528 100644
--- a/content/blog/2022-06-07-self-hosting-freshrss.org
+++ b/content/blog/2022-06-07-self-hosting-freshrss.org
@@ -1,5 +1,5 @@
 #+date: [2022-06-07 Tue 00:00:00]
-#+title:       Self-Hosting Guide: FreshRSS
+#+title:       self hosting guide: freshrss
 #+description: Stepwise instructions for installing FreshRSS using Docker and configuring Nginx as a reverse proxy to enable secure and synchronized RSS feed access.
 #+slug:        self-hosting-freshrss
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2022-06-16-terminal-lifestyle.org b/content/blog/2022-06-16-terminal-lifestyle.org
index dad34fb..7b20ac9 100644
--- a/content/blog/2022-06-16-terminal-lifestyle.org
+++ b/content/blog/2022-06-16-terminal-lifestyle.org
@@ -1,5 +1,5 @@
 #+date: [2022-06-16 Thu 00:00:00]
-#+title:       Living the Terminal Lifestyle: Efficient Workflows for Focused Computing
+#+title: terminal first: why the gui is optional
 #+description: Detailed procedures for reducing digital interruptions and increasing efficiency through terminal-based utilities for web browsing, communication, electronic mail, RSS feeds, and programming tasks.
 #+slug:        terminal-lifestyle
 #+filetags: :linux:
diff --git a/content/blog/2022-06-22-daily-poetry.org b/content/blog/2022-06-22-daily-poetry.org
index 52ba93d..c980468 100644
--- a/content/blog/2022-06-22-daily-poetry.org
+++ b/content/blog/2022-06-22-daily-poetry.org
@@ -1,5 +1,5 @@
 #+date: [2022-06-22 Wed 00:00:00]
-#+title:       How to Receive a Daily Dose of Poetry via Automated Email
+#+title: daily poetry: cron job, no subscription required
 #+description: Instructional guide for scheduling and automating the distribution of classic and contemporary poetry in plaintext format to an electronic mail inbox using Python scripting and SMTP protocol.
 #+slug:        daily-poetry
 #+filetags: :personal:
diff --git a/content/blog/2022-06-24-fedora-i3.org b/content/blog/2022-06-24-fedora-i3.org
index a9c97d1..90b7281 100644
--- a/content/blog/2022-06-24-fedora-i3.org
+++ b/content/blog/2022-06-24-fedora-i3.org
@@ -1,5 +1,5 @@
 #+date: [2022-06-24 Fri 00:00:00]
-#+title:       My Journey Back to Linux: Setting Up Fedora with i3 Window Manager
+#+title: fedora i3: back on linux, tiling wm
 #+description: Examination of the transition from macOS to Linux, including a detailed description of Fedora operating system installation and i3 window manager configuration.
 #+slug:        fedora-i3
 #+filetags: :linux:
diff --git a/content/blog/2022-07-01-git-server.org b/content/blog/2022-07-01-git-server.org
index 984fdfd..3bb4b9f 100644
--- a/content/blog/2022-07-01-git-server.org
+++ b/content/blog/2022-07-01-git-server.org
@@ -1,5 +1,5 @@
 #+date: [2022-07-01 Fri 00:00:00]
-#+title:       Self-Hosting Guide: Git & cGit
+#+title:       self hosting guide: git & cgit
 #+description: Comprehensive instructions for secure and efficient setup, hosting, and management of personal Git repositories to facilitate collaborative development and remote access.
 #+slug:        git-server
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2022-07-14-gnupg.org b/content/blog/2022-07-14-gnupg.org
index 1398c49..477d2dc 100644
--- a/content/blog/2022-07-14-gnupg.org
+++ b/content/blog/2022-07-14-gnupg.org
@@ -1,5 +1,5 @@
 #+date: [2022-07-14 Thu 00:00:00]
-#+title:       Getting Started with GPG: Secure Encryption, Signing, and Key Usage
+#+title: gnupg: encryption, signing, web of trust
 #+description: Technical manual covering the architecture, cryptographic algorithms, vulnerability considerations, key management, and typical applications of GNU Privacy Guard for secure data and email encryption.
 #+slug:        gnupg
 #+filetags: :linux:security:
diff --git a/content/blog/2022-07-25-curseradio.org b/content/blog/2022-07-25-curseradio.org
index 1670d0b..c732db3 100644
--- a/content/blog/2022-07-25-curseradio.org
+++ b/content/blog/2022-07-25-curseradio.org
@@ -1,5 +1,5 @@
 #+date: [2022-07-25 Mon 00:00:00]
-#+title:       Curseradio: A Lightweight Command-Line Internet Radio Player for Linux
+#+title:       curseradio: a lightweight command line internet radio player for linux
 #+description: Stepwise instructions for installing and utilizing Curseradio, a lightweight command-line program for streaming radio stations within Linux environments.
 #+slug:        curseradio
 #+filetags: :linux:
diff --git a/content/blog/2022-07-30-flac-to-opus.org b/content/blog/2022-07-30-flac-to-opus.org
index 544754e..dd29e3d 100644
--- a/content/blog/2022-07-30-flac-to-opus.org
+++ b/content/blog/2022-07-30-flac-to-opus.org
@@ -1,5 +1,5 @@
 #+date: [2022-07-30 Sat 00:00:00]
-#+title:       Automating Recursive FLAC to Opus Conversion with a Bash Script
+#+title:       automating recursive flac to opus conversion with a bash script
 #+description: Instructions for automating the conversion of audio files from FLAC to Opus format recursively within directory structures, including performance considerations and script usage.
 #+slug:        flac-to-opus
 #+filetags: :linux:
diff --git a/content/blog/2022-07-31-bash-it.org b/content/blog/2022-07-31-bash-it.org
index 3b974a3..6e640be 100644
--- a/content/blog/2022-07-31-bash-it.org
+++ b/content/blog/2022-07-31-bash-it.org
@@ -1,5 +1,5 @@
 #+date: [2022-07-31 Sun 00:00:00]
-#+title:       Boosting Bash Productivity: Using Bash-it and ble.sh for Plugins and Autosuggestions
+#+title: bash it: plugins and autosuggestions for zsh refugees
 #+description: Guide to augmenting Bash shell features by integrating Bash-It framework along with ble.sh for input autosuggestions, improving command-line efficiency on Linux systems.
 #+slug:        bash-it
 #+filetags: :linux:
diff --git a/content/blog/2022-08-31-privacy-com-changes.org b/content/blog/2022-08-31-privacy-com-changes.org
index bf1a937..ef17576 100644
--- a/content/blog/2022-08-31-privacy-com-changes.org
+++ b/content/blog/2022-08-31-privacy-com-changes.org
@@ -1,5 +1,5 @@
 #+date: [2022-08-31 Wed 00:00:00]
-#+title:       Privacy.com Shifts From Prepaid Debit to Charge Card: What Users Need to Know
+#+title: privacy com changes: they changed the product, not the name
 #+description: Detailed examination of modifications to Privacy.com service terms and their implications on user privacy and payment security protocols.
 #+slug:        privacy-com-changes
 #+filetags: :privacy:
diff --git a/content/blog/2022-09-17-serenity-os.org b/content/blog/2022-09-17-serenity-os.org
index e1eda1c..2899249 100644
--- a/content/blog/2022-09-17-serenity-os.org
+++ b/content/blog/2022-09-17-serenity-os.org
@@ -1,5 +1,5 @@
 #+date: [2022-09-17 Sat 00:00:00]
-#+title:       Building and Exploring SerenityOS: A Retro-Inspired Unix-Like Desktop
+#+title:       building and exploring serenityos: a retro inspired unix like desktop
 #+description: Technical overview of Serenity OS including system architecture, building procedures, and operational instructions for this Unix-like operating system with a 1990s user interface style.
 #+slug:        serenity-os
 #+filetags: :linux:
diff --git a/content/blog/2022-09-21-graphene-os.org b/content/blog/2022-09-21-graphene-os.org
index f831c36..043b835 100644
--- a/content/blog/2022-09-21-graphene-os.org
+++ b/content/blog/2022-09-21-graphene-os.org
@@ -1,5 +1,5 @@
 #+date: [2022-09-21 Wed 00:00:00]
-#+title:       Installing GrapheneOS on Pixel 6 Pro
+#+title:       installing grapheneos on pixel 6 pro
 #+description: Step-by-step instructions to perform secure installation of the GrapheneOS operating system on Google Pixel 6 Pro hardware platform.
 #+slug:        graphene-os
 #+filetags: :linux:privacy:
diff --git a/content/blog/2022-10-04-mtp-linux.org b/content/blog/2022-10-04-mtp-linux.org
index 53869de..6c00216 100644
--- a/content/blog/2022-10-04-mtp-linux.org
+++ b/content/blog/2022-10-04-mtp-linux.org
@@ -1,5 +1,5 @@
 #+date: [2022-10-04 Tue 00:00:00]
-#+title:       How to Mount MTP Mobile Devices on Fedora Linux Using jmtpfs
+#+title: mtp linux: mount your phone without a file manager
 #+description: Instructions for mounting and accessing Media Transfer Protocol (MTP) compatible mobile devices on Fedora Linux using jmtpfs for file transfer and management.
 #+slug:        mtp-linux
 #+filetags: :linux:
diff --git a/content/blog/2022-10-04-syncthing.org b/content/blog/2022-10-04-syncthing.org
index 226c5e0..c1620e6 100644
--- a/content/blog/2022-10-04-syncthing.org
+++ b/content/blog/2022-10-04-syncthing.org
@@ -1,5 +1,5 @@
 #+date: [2022-10-04 Tue 00:00:00]
-#+title:       Self-Hosting Guide: Syncthing
+#+title:       self hosting guide: syncthing
 #+description: Technical instructions for setting up Syncthing as a peer-to-peer self-hosted file synchronization system that preserves data privacy by eliminating third-party intermediaries.
 #+slug:        syncthing
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2022-10-22-alpine-linux.org b/content/blog/2022-10-22-alpine-linux.org
index 629f6a3..019a25a 100644
--- a/content/blog/2022-10-22-alpine-linux.org
+++ b/content/blog/2022-10-22-alpine-linux.org
@@ -1,5 +1,5 @@
 #+date: [2022-10-22 Sat 00:00:00]
-#+title:       Alpine Linux Essentials: Installing and Setting Up a Secure Minimal Server
+#+title: alpine linux: minimal install, minimal attack surface
 #+description: Detailed procedure for deploying Alpine Linux to achieve a secure, lightweight server environment optimized for web hosting and containerization.
 #+slug:        alpine-linux
 #+filetags: :linux:
diff --git a/content/blog/2022-10-30-linux-display-manager.org b/content/blog/2022-10-30-linux-display-manager.org
index a91998c..26a8511 100644
--- a/content/blog/2022-10-30-linux-display-manager.org
+++ b/content/blog/2022-10-30-linux-display-manager.org
@@ -1,5 +1,5 @@
 #+date: [2022-10-30 Sun 00:00:00]
-#+title:       Managing Display Managers in Void Linux: Disable, Enable, and Configure
+#+title:       managing display managers in void linux: disable, enable, and configure
 #+description: Stepwise instructions to manage and replace the display manager on a Void Linux installation, including service control and configuration editing.
 #+slug:        linux-display-manager
 #+filetags: :linux:
diff --git a/content/blog/2022-11-07-self-hosting-matrix.org b/content/blog/2022-11-07-self-hosting-matrix.org
index 55dc50e..226a568 100644
--- a/content/blog/2022-11-07-self-hosting-matrix.org
+++ b/content/blog/2022-11-07-self-hosting-matrix.org
@@ -1,5 +1,5 @@
 #+date: [2022-11-07 Mon 00:00:00]
-#+title:       Self-Hosting Guide: Matrix Synapse
+#+title:       self hosting guide: matrix synapse
 #+description: Systematic guide for deploying Matrix Synapse on Alpine Linux, covering dependency installation, reverse proxy setup, TLS certificate application, and user account management.
 #+slug:        self-hosting-matrix
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2022-11-11-nginx-tmp-errors.org b/content/blog/2022-11-11-nginx-tmp-errors.org
index 3d471f7..14e2f0d 100644
--- a/content/blog/2022-11-11-nginx-tmp-errors.org
+++ b/content/blog/2022-11-11-nginx-tmp-errors.org
@@ -1,5 +1,5 @@
 #+date: [2022-11-11 Fri 00:00:00]
-#+title:       Troubleshooting and Fixing Nginx Permission Denied Errors on /var/lib/nginx
+#+title:       troubleshooting and fixing nginx permission denied errors on /var/lib/nginx
 #+description: Step-by-step remediation for addressing permission denied errors encountered by Nginx in the /var/lib/nginx directory to restore temporary file caching functionality.
 #+slug:        nginx-tmp-errors
 #+filetags: :web:
diff --git a/content/blog/2022-11-27-server-build.org b/content/blog/2022-11-27-server-build.org
index ab700fd..20afebc 100644
--- a/content/blog/2022-11-27-server-build.org
+++ b/content/blog/2022-11-27-server-build.org
@@ -1,5 +1,5 @@
 #+date: [2022-11-27 Sun 00:00:00]
-#+title:       Building a High-Performance Rack-Mounted Server with Consumer PC Components
+#+title: server build: rack hardware, consumer parts, no enterprise markup
 #+description: Detailed instructions on selecting components, assembling, and configuring a rack-mounted server suitable for advanced computing tasks in a professional or laboratory setting.
 #+slug:        server-build
 #+filetags: :linux:
diff --git a/content/blog/2022-11-29-nginx-referrer-ban-list.org b/content/blog/2022-11-29-nginx-referrer-ban-list.org
index 406937e..706bc82 100644
--- a/content/blog/2022-11-29-nginx-referrer-ban-list.org
+++ b/content/blog/2022-11-29-nginx-referrer-ban-list.org
@@ -1,5 +1,5 @@
 #+date: [2022-11-29 Tue 00:00:00]
-#+title:       How to Block Unwanted HTTP Referrers in Nginx Using a Ban List
+#+title: nginx referrer ban: block the scrapers
 #+description: Technical guide to implementing a referrer ban list in Nginx configurations to prevent access from undesired domains and improve web server security.
 #+slug:        nginx-referrer-ban-list
 #+filetags: :linux:web:
diff --git a/content/blog/2022-12-01-nginx-compression.org b/content/blog/2022-12-01-nginx-compression.org
index 3150589..f7992a3 100644
--- a/content/blog/2022-12-01-nginx-compression.org
+++ b/content/blog/2022-12-01-nginx-compression.org
@@ -1,5 +1,5 @@
 #+date: [2022-12-01 Thu 00:00:00]
-#+title:       Optimizing Nginx with GZIP: A Step-by-Step Guide to Text Compression
+#+title: nginx gzip: compress text, nothing else
 #+description: Procedures for activating and configuring GZIP compression in Nginx to decrease data transmission size, reduce bandwidth consumption, and accelerate page load times.
 #+slug:        nginx-compression
 #+filetags: :linux:web:
diff --git a/content/blog/2022-12-07-nginx-wildcard-redirect.org b/content/blog/2022-12-07-nginx-wildcard-redirect.org
index 02f45da..7641ed2 100644
--- a/content/blog/2022-12-07-nginx-wildcard-redirect.org
+++ b/content/blog/2022-12-07-nginx-wildcard-redirect.org
@@ -1,5 +1,5 @@
 #+date: [2022-12-07 Wed 00:00:00]
-#+title:       Nginx Wildcard Redirects: Seamlessly Redirecting Domains and Subdomains with Trailing Paths
+#+title: nginx wildcard redirect: domains, subdomains, trailing paths
 #+description: Instructional steps for applying regex-based redirects in Nginx to manage subdomain routing and trailing path modifications effectively.
 #+slug:        nginx-wildcard-redirect
 #+filetags: :web:
diff --git a/content/blog/2022-12-17-st.org b/content/blog/2022-12-17-st.org
index 87a76b1..8f76a3f 100644
--- a/content/blog/2022-12-17-st.org
+++ b/content/blog/2022-12-17-st.org
@@ -1,5 +1,5 @@
 #+date: [2022-12-17 Sat 00:00:00]
-#+title:       Installing and Customizing the suckless Simple Terminal (st) on Fedora Linux
+#+title:       installing and customizing the suckless simple terminal (st) on fedora linux
 #+description: Comprehensive instructions to obtain source code, compile, apply patches, and install the Simple Terminal application on Fedora Linux systems.
 #+slug:        st
 #+filetags: :linux:
diff --git a/content/blog/2022-12-23-alpine-desktop.org b/content/blog/2022-12-23-alpine-desktop.org
index b841d9d..ea73fa4 100644
--- a/content/blog/2022-12-23-alpine-desktop.org
+++ b/content/blog/2022-12-23-alpine-desktop.org
@@ -1,5 +1,5 @@
 #+date: [2022-12-23 Fri 00:00:00]
-#+title:       How to Set Up Alpine Linux as a Desktop OS with Sway
+#+title: alpine desktop: sway on alpine, minimal by default
 #+description: Stepwise procedures for installing and setting up Alpine Linux as a desktop operating system, including window manager setup and relevant system adjustments.
 #+slug:        alpine-desktop
 #+filetags: :linux:
diff --git a/content/blog/2023-01-03-recent-website-changes.org b/content/blog/2023-01-03-recent-website-changes.org
index 02f4f0b..8c581a9 100644
--- a/content/blog/2023-01-03-recent-website-changes.org
+++ b/content/blog/2023-01-03-recent-website-changes.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-03 Tue 00:00:00]
-#+title:       2023 Website Updates: Minimalist Style, Accessibility Improvements, and Content Prioritization
+#+title: website updates 2023: what changed and why
 #+description: Documentation of significant changes applied to site design, layout, and accessibility features to enhance navigability and content clarity.
 #+slug:        recent-website-changes
 #+filetags: :personal:web:
diff --git a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
index ef1aeda..74510cb 100644
--- a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
+++ b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-05 Thu 00:00:00]
-#+title:       How to Quickly Remove All Likes on Tumblr Desktop
+#+title: tumblr unlike all: script, done, get out
 #+description: Instructions for executing a JavaScript script to automate the mass unlike operation for Tumblr posts without requiring additional software.
 #+slug:        mass-unlike-tumblr-posts
 #+filetags: :linux:personal:
diff --git a/content/blog/2023-01-08-fedora-login-manager.org b/content/blog/2023-01-08-fedora-login-manager.org
index 6ac79af..c9be0b4 100644
--- a/content/blog/2023-01-08-fedora-login-manager.org
+++ b/content/blog/2023-01-08-fedora-login-manager.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-08 Sun 00:00:00]
-#+title:       How to Remove Fedora i3's Login Manager and Start i3 Manually
+#+title: fedora i3 no login manager: remove it, start manually
 #+description: Step-by-step guide for uninstalling the default Fedora i3 login manager and configuring system to launch i3 window manager manually.
 #+slug:        fedora-login-manager
 #+filetags: :linux:
diff --git a/content/blog/2023-01-21-flatpak-symlinks.org b/content/blog/2023-01-21-flatpak-symlinks.org
index 4ed67dd..7b7466b 100644
--- a/content/blog/2023-01-21-flatpak-symlinks.org
+++ b/content/blog/2023-01-21-flatpak-symlinks.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-21 Sat 00:00:00]
-#+title:       Simplify Flatpak Commands: Making Symlinks for Easier App Launching
+#+title: flatpak symlinks: shorten the command
 #+description: Detailed instructions for establishing symbolic links for Flatpak applications to facilitate faster execution from terminal or application launcher environments.
 #+slug:        flatpak-symlinks
 #+filetags: :linux:
diff --git a/content/blog/2023-01-23-random-wireguard.org b/content/blog/2023-01-23-random-wireguard.org
index 2e1d862..0c163ce 100644
--- a/content/blog/2023-01-23-random-wireguard.org
+++ b/content/blog/2023-01-23-random-wireguard.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-23 Mon 00:00:00]
-#+title:       Automate Random Mullvad Wireguard VPN Connection on Startup
+#+title:       automate random mullvad wireguard vpn connection on startup
 #+description: Stepwise method to configure system startup scripts for automatic connection to a randomly chosen Mullvad Wireguard VPN server to maintain privacy.
 #+slug:        random-wireguard
 #+filetags: :linux:security:self-hosting:
diff --git a/content/blog/2023-01-28-self-hosting-wger.org b/content/blog/2023-01-28-self-hosting-wger.org
index bf2ac61..ce61558 100644
--- a/content/blog/2023-01-28-self-hosting-wger.org
+++ b/content/blog/2023-01-28-self-hosting-wger.org
@@ -1,5 +1,5 @@
 #+date: [2023-01-28 Sat 00:00:00]
-#+title:       Self-Hosting Guide: Wger
+#+title:       self hosting guide: wger
 #+description: Comprehensive steps for installing, configuring, and operating the Wger workout management application on a dedicated server platform.
 #+slug:        self-hosting-wger
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-02-02-exploring-hare.org b/content/blog/2023-02-02-exploring-hare.org
index a46b63e..34dcf5e 100644
--- a/content/blog/2023-02-02-exploring-hare.org
+++ b/content/blog/2023-02-02-exploring-hare.org
@@ -1,5 +1,5 @@
 #+date: [2023-02-02 Thu 00:00:00]
-#+title:       Getting Started with the Hare Language
+#+title: hare lang: notes from first contact
 #+description: Overview of the Hare programming language features, installation procedure, and elementary programming examples targeting system-level development.
 #+slug:        exploring-hare
 #+filetags: :linux:
diff --git a/content/blog/2023-05-22-burnout.org b/content/blog/2023-05-22-burnout.org
index 6dccdc8..04d1203 100644
--- a/content/blog/2023-05-22-burnout.org
+++ b/content/blog/2023-05-22-burnout.org
@@ -1,5 +1,5 @@
 #+date: [2023-05-22 Mon 00:00:00]
-#+title:       Navigating Burnout in Audit and Consulting: A Season Without Rest
+#+title: burnout: audit and consulting will take everything you let them
 #+description: Examination of burnout phenomena accompanied by strategies and practical approaches for workload management and restoration of optimal functioning.
 #+slug:        burnout
 #+filetags: :personal:
diff --git a/content/blog/2023-06-08-goaccess-geoip.org b/content/blog/2023-06-08-goaccess-geoip.org
index 4c6eac3..357f1a1 100644
--- a/content/blog/2023-06-08-goaccess-geoip.org
+++ b/content/blog/2023-06-08-goaccess-geoip.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-08 Thu 00:00:00]
-#+title:       Real-Time Traffic Insights from Nginx Logs Using GoAccess + GeoIP
+#+title:       real time traffic insights from nginx logs using goaccess + geoip
 #+description: Step-by-step instructions to utilize GoAccess tool incorporating MaxMind GeoIP integration for real-time geographic and traffic analysis of Nginx log files.
 #+slug:        goaccess-geoip
 #+filetags: :self-hosting:web:
diff --git a/content/blog/2023-06-08-self-hosting-baikal.org b/content/blog/2023-06-08-self-hosting-baikal.org
index 0f75bc8..30104ee 100644
--- a/content/blog/2023-06-08-self-hosting-baikal.org
+++ b/content/blog/2023-06-08-self-hosting-baikal.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-08 Thu 00:00:00]
-#+title:       Self-Hosting Guide: Baikal
+#+title:       self hosting guide: baikal
 #+description: Detailed procedure for deploying the Baikal server software to provide CalDAV and CardDAV services, including security considerations and Docker deployment.
 #+slug:        self-hosting-baikal
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-06-18-unifi-ip-blocklist.org b/content/blog/2023-06-18-unifi-ip-blocklist.org
index 6866f1a..2872edf 100644
--- a/content/blog/2023-06-18-unifi-ip-blocklist.org
+++ b/content/blog/2023-06-18-unifi-ip-blocklist.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-18 Sun 00:00:00]
-#+title:       Blocking Malicious IPs on Unifi: Manual Firewall Rule Setup
+#+title:       blocking malicious ips on unifi: manual firewall rule setup
 #+description: Instructions to identify and block harmful IP addresses and subnets through Unifi firewall settings to improve network security posture.
 #+slug:        unifi-ip-blocklist
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-06-20-audit-review-template.org b/content/blog/2023-06-20-audit-review-template.org
index c415cfc..5d62344 100644
--- a/content/blog/2023-06-20-audit-review-template.org
+++ b/content/blog/2023-06-20-audit-review-template.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-20 Tue 00:00:00]
-#+title:       Audit Testing Review Checklist
+#+title:       audit testing review checklist
 #+description: Practical audit testing review template with detailed steps to support comprehensive evaluation of financial audits and SOC reports.
 #+slug:        audit-review-template
 #+filetags: :audit:
diff --git a/content/blog/2023-06-23-byobu.org b/content/blog/2023-06-23-byobu.org
index 61585de..2da8065 100644
--- a/content/blog/2023-06-23-byobu.org
+++ b/content/blog/2023-06-23-byobu.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-23 Fri 00:00:00]
-#+title:       Using Byobu for Efficient Terminal Multiplexing
+#+title: byobu: tmux with less configuration overhead
 #+description: Detailed overview of Byobu terminal multiplexer features, configuration settings, session management, and keybindings to enhance command-line efficiency.
 #+slug:        byobu
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-06-23-self-hosting-convos.org b/content/blog/2023-06-23-self-hosting-convos.org
index caab6d9..33cd88b 100644
--- a/content/blog/2023-06-23-self-hosting-convos.org
+++ b/content/blog/2023-06-23-self-hosting-convos.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-23 Fri 00:00:00]
-#+title:       Self-Hosting Guide: Convos
+#+title:       self hosting guide: convos
 #+description: Stepwise instructions for installation, Docker Compose configuration, Nginx reverse proxy setup, and IRC nickname registration for Convos web client hosting.
 #+slug:        self-hosting-convos
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-06-28-backblaze-b2.org b/content/blog/2023-06-28-backblaze-b2.org
index 478fac5..d2ea53f 100644
--- a/content/blog/2023-06-28-backblaze-b2.org
+++ b/content/blog/2023-06-28-backblaze-b2.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-28 Wed 00:00:00]
-#+title:       Automating Secure Backups with Backblaze B2 and b2 CLI
+#+title: backblaze b2 backups: before i moved off it
 #+description: Methodical guide for configuring and utilizing Backblaze B2 cloud storage services to perform reliable and secure offsite data backups.
 #+slug:        backblaze-b2
 #+filetags: :self-hosting:
diff --git a/content/blog/2023-06-30-self-hosting-voyager.org b/content/blog/2023-06-30-self-hosting-voyager.org
index 6a7ff23..5b8f42d 100644
--- a/content/blog/2023-06-30-self-hosting-voyager.org
+++ b/content/blog/2023-06-30-self-hosting-voyager.org
@@ -1,5 +1,5 @@
 #+date: [2023-06-30 Fri 00:00:00]
-#+title:       Self-Hosting Guide: Voyager for Lemmy
+#+title:       self hosting guide: voyager for lemmy
 #+description: Instructions for building, running, and reverse proxying Voyager, a Lemmy web client, on a server environment utilizing Docker and Nginx components.
 #+slug:        self-hosting-voyager
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-07-12-wireguard-lan.org b/content/blog/2023-07-12-wireguard-lan.org
index e1cff23..f086d0c 100644
--- a/content/blog/2023-07-12-wireguard-lan.org
+++ b/content/blog/2023-07-12-wireguard-lan.org
@@ -1,5 +1,5 @@
 #+date: [2023-07-12 Wed 00:00:00]
-#+title:       Enabling Local Network Access with Mullvad WireGuard Configs
+#+title:       enabling local network access with mullvad wireguard configs
 #+description: Detailed procedure to modify Mullvad Wireguard VPN configuration files and iptables rules to allow Local Area Network access while maintaining VPN connectivity.
 #+slug:        wireguard-lan
 #+filetags: :security:self-hosting:
diff --git a/content/blog/2023-07-19-plex-transcoder-errors.org b/content/blog/2023-07-19-plex-transcoder-errors.org
index 729e1a8..afcdffe 100644
--- a/content/blog/2023-07-19-plex-transcoder-errors.org
+++ b/content/blog/2023-07-19-plex-transcoder-errors.org
@@ -1,5 +1,5 @@
 #+date: [2023-07-19 Wed 00:00:00]
-#+title:       Plex Subtitle Error: Transcoder Fails to Start
+#+title:       plex subtitle error: transcoder fails to start
 #+description: Technical procedures to identify and correct Plex transcoder failures at startup to maintain uninterrupted media conversion and playback.
 #+slug:        plex-transcoder-errors
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-08-18-agile-auditing.org b/content/blog/2023-08-18-agile-auditing.org
index 4282227..8883a11 100644
--- a/content/blog/2023-08-18-agile-auditing.org
+++ b/content/blog/2023-08-18-agile-auditing.org
@@ -1,5 +1,5 @@
 #+date: [2023-08-18 Fri 00:00:00]
-#+title:       Agile Auditing Framework: Using Scrum and Kanban in Audit Projects
+#+title: agile auditing: consultants cosplaying as engineers
 #+description: Detailed examination of Agile auditing methodologies, including Scrum and Kanban frameworks, with practical steps for application in audit processes.
 #+slug:        agile-auditing
 #+filetags: :audit:
diff --git a/content/blog/2023-09-15-self-hosting-gitweb.org b/content/blog/2023-09-15-self-hosting-gitweb.org
index 8b8488e..0ff692b 100644
--- a/content/blog/2023-09-15-self-hosting-gitweb.org
+++ b/content/blog/2023-09-15-self-hosting-gitweb.org
@@ -1,5 +1,5 @@
 #+date: [2023-09-15 Fri 00:00:00]
-#+title:       Self-Hosting Guide: GitWeb
+#+title:       self hosting guide: gitweb
 #+description: Stepwise instructions for deploying GitWeb on Linux servers using Nginx, configuring fastcgi, and managing git repositories effectively.
 #+slug:        self-hosting-gitweb
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-09-19-audit-sql-scripts.org b/content/blog/2023-09-19-audit-sql-scripts.org
index eb976cd..369ab80 100644
--- a/content/blog/2023-09-19-audit-sql-scripts.org
+++ b/content/blog/2023-09-19-audit-sql-scripts.org
@@ -1,5 +1,5 @@
 #+date: [2023-09-19 Tue 00:00:00]
-#+title:       Auditing User Privileges in Oracle, SQL Server, and MySQL
+#+title:       auditing user privileges in oracle, sql server, and mysql
 #+description: Collection of SQL queries designed for auditing user access parameters on Oracle, Microsoft SQL Server, and MySQL database systems.
 #+slug:        audit-sql-scripts
 #+filetags: :audit:
diff --git a/content/blog/2023-10-04-digital-minimalism.org b/content/blog/2023-10-04-digital-minimalism.org
index 056bbe1..756b1a0 100644
--- a/content/blog/2023-10-04-digital-minimalism.org
+++ b/content/blog/2023-10-04-digital-minimalism.org
@@ -1,5 +1,5 @@
 #+date: [2023-10-04 Wed 00:00:00]
-#+title:       Digital Minimalism: Reducing Distractions
+#+title: digital minimalism: fewer inputs, more signal
 #+description: Practical guide for minimizing digital clutter and optimizing work focus by applying digital minimalism tactics.
 #+slug:        digital-minimalism
 #+filetags: :linux:privacy:
diff --git a/content/blog/2023-10-11-self-hosting-authelia.org b/content/blog/2023-10-11-self-hosting-authelia.org
index e48969f..97f31b2 100644
--- a/content/blog/2023-10-11-self-hosting-authelia.org
+++ b/content/blog/2023-10-11-self-hosting-authelia.org
@@ -1,5 +1,5 @@
 #+date: [2023-10-11 Wed 00:00:00]
-#+title:       Self-Hosting Guide: Authelia
+#+title:       self hosting guide: authelia
 #+description: Instructional guide for setting up Authelia to provide secure two-factor authentication and access control in self-hosted environments.
 #+slug:        self-hosting-authelia
 #+filetags: :linux:security:self-hosting:
diff --git a/content/blog/2023-10-15-alpine-ssh-hardening.org b/content/blog/2023-10-15-alpine-ssh-hardening.org
index 92250ec..55f7887 100644
--- a/content/blog/2023-10-15-alpine-ssh-hardening.org
+++ b/content/blog/2023-10-15-alpine-ssh-hardening.org
@@ -1,5 +1,5 @@
 #+date: [2023-10-15 Sun 00:00:00]
-#+title:       Alpine Linux SSH Hardening Guide
+#+title:       alpine linux ssh hardening guide
 #+description: Detailed guide to enhance Alpine Linux SSH server security through configuration adjustments and vulnerability mitigation.
 #+slug:        alpine-ssh-hardening
 #+filetags: :linux:security:
diff --git a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
index fb2b8c1..518ee62 100644
--- a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
+++ b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
@@ -1,5 +1,5 @@
 #+date: [2023-10-17 Tue 00:00:00]
-#+title:       Self-Hosting Guide: AnonymousOverflow
+#+title:       self hosting guide: anonymousoverflow
 #+description: Detailed installation and setup instructions for the AnonymousOverflow application using Docker Compose and Nginx reverse proxy.
 #+slug:        self-hosting-anonymousoverflow
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2023-11-08-scli.org b/content/blog/2023-11-08-scli.org
index 661ef76..9038557 100644
--- a/content/blog/2023-11-08-scli.org
+++ b/content/blog/2023-11-08-scli.org
@@ -1,5 +1,5 @@
 #+date: [2023-11-08 Wed 00:00:00]
-#+title:       Signal CLI (scli) Installation on Alpine
+#+title:       signal cli (scli) installation on alpine
 #+description: Step-by-step instructions for installing the Signal messenger command-line client scli on Alpine Linux with musl libc, including dependencies and configuration.
 #+slug:        scli
 #+filetags: :linux:
diff --git a/content/blog/2023-12-03-unifi-nextdns.org b/content/blog/2023-12-03-unifi-nextdns.org
index 7b86d27..258fb02 100644
--- a/content/blog/2023-12-03-unifi-nextdns.org
+++ b/content/blog/2023-12-03-unifi-nextdns.org
@@ -1,5 +1,5 @@
 #+date: [2023-12-03 Sun 00:00:00]
-#+title:       Installing and Configuring NextDNS on Unifi Dream Machine Routers
+#+title:       installing and configuring nextdns on unifi dream machine routers
 #+description: Procedural guide for installation and configuration of NextDNS on Unifi Dream Machine devices for network DNS filtering.
 #+slug:        unifi-nextdns
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2024-01-08-dont-say-hello.org b/content/blog/2024-01-08-dont-say-hello.org
index dd9a14b..61e327d 100644
--- a/content/blog/2024-01-08-dont-say-hello.org
+++ b/content/blog/2024-01-08-dont-say-hello.org
@@ -1,5 +1,5 @@
 #+date: [2024-01-08 Mon 00:00:00]
-#+title:       Don't Say Hello
+#+title:       don't say hello
 #+description: Technical recommendations for improving professional communication by eliminating non-essential introductory phrases to enhance message clarity.
 #+slug:        dont-say-hello
 #+filetags: :privacy:
diff --git a/content/blog/2024-01-09-macos-customization.org b/content/blog/2024-01-09-macos-customization.org
index 05cd48c..1974522 100644
--- a/content/blog/2024-01-09-macos-customization.org
+++ b/content/blog/2024-01-09-macos-customization.org
@@ -1,5 +1,5 @@
 #+date: [2024-01-09 Tue 00:00:00]
-#+title:       A Guide to Customizing macOS with Terminal, Window Managers, and Widgets
+#+title: macos customization: terminal, tiling wm, widgets
 #+description: Detailed overview of methods and tools for modifying macOS system settings, including terminal usage, window management, and interface customization.
 #+slug:        macos-customization
 #+filetags: :linux:
diff --git a/content/blog/2024-01-13-local-llm.org b/content/blog/2024-01-13-local-llm.org
index 4c00670..584e38e 100644
--- a/content/blog/2024-01-13-local-llm.org
+++ b/content/blog/2024-01-13-local-llm.org
@@ -1,5 +1,5 @@
 #+date: [2024-01-13 Sat 00:00:00]
-#+title:       Running Local Large Language Models on macOS and iOS: A Practical Guide
+#+title: local llm: run the model, keep the data
 #+description: Technical guide to deploying and running local large language models on macOS and iOS devices focusing on open-source implementations and privacy considerations.
 #+slug:        local-llm
 #+filetags: :linux:privacy:
diff --git a/content/blog/2024-01-26-audit-dashboard.org b/content/blog/2024-01-26-audit-dashboard.org
index 4499904..15884a3 100644
--- a/content/blog/2024-01-26-audit-dashboard.org
+++ b/content/blog/2024-01-26-audit-dashboard.org
@@ -1,5 +1,5 @@
 #+date: [2024-01-26 Fri 00:00:00]
-#+title:       Building an Interactive Audit Dashboard with Alteryx and Power BI
+#+title: audit dashboard: alteryx + power bi, the corporate stack
 #+description: Instructions for transforming audit data into dynamic dashboards via data preparation with Alteryx and visualization using Microsoft Power BI.
 #+slug:        audit-dashboard
 #+filetags: :audit:
diff --git a/content/blog/2024-01-27-tableau-dashboard.org b/content/blog/2024-01-27-tableau-dashboard.org
index 056264b..716893c 100644
--- a/content/blog/2024-01-27-tableau-dashboard.org
+++ b/content/blog/2024-01-27-tableau-dashboard.org
@@ -1,5 +1,5 @@
 #+date: [2024-01-27 Sat 00:00:00]
-#+title:       Preparing and Visualizing Omaha Crime Data (2015-2023) in Tableau
+#+title: omaha crime data: tableau, 8 years of numbers
 #+description: Detailed procedure for data preparation and interactive visualization of crime trends in Omaha, using Tableau software from 2015 through 2023 data.
 #+slug:        tableau-dashboard
 #+filetags: :web:
diff --git a/content/blog/2024-02-06-zfs.org b/content/blog/2024-02-06-zfs.org
index 35c9769..ce7ff9a 100644
--- a/content/blog/2024-02-06-zfs.org
+++ b/content/blog/2024-02-06-zfs.org
@@ -1,5 +1,5 @@
 #+date: [2024-02-06 Tue 00:00:00]
-#+title:       Creating and Managing ZFS Storage Pools on Ubuntu Linux
+#+title:       creating and managing zfs storage pools on ubuntu linux
 #+description: Stepwise guide to setting up ZFS storage pools on Ubuntu, including initial installation, pool creation, expansion, and maintenance.
 #+slug:        zfs
 #+filetags: :linux:
diff --git a/content/blog/2024-02-13-ubuntu-emergency-mode.org b/content/blog/2024-02-13-ubuntu-emergency-mode.org
index 6c24845..04b0228 100644
--- a/content/blog/2024-02-13-ubuntu-emergency-mode.org
+++ b/content/blog/2024-02-13-ubuntu-emergency-mode.org
@@ -1,5 +1,5 @@
 #+date: [2024-02-13 Tue 00:00:00]
-#+title:       Resolving Ubuntu Boot Issues Caused by Invalid /etc/fstab Mounts
+#+title:       resolving ubuntu boot issues caused by invalid /etc/fstab mounts
 #+description: Detailed instructions to identify errors in the /etc/fstab file causing Ubuntu to enter emergency mode and steps to edit and restore normal boot operations.
 #+slug:        ubuntu-emergency-mode
 #+filetags: :linux:
diff --git a/content/blog/2024-02-21-self-hosting-otter-wiki.org b/content/blog/2024-02-21-self-hosting-otter-wiki.org
index bc10b20..a83fe1b 100644
--- a/content/blog/2024-02-21-self-hosting-otter-wiki.org
+++ b/content/blog/2024-02-21-self-hosting-otter-wiki.org
@@ -1,5 +1,5 @@
 #+date: [2024-02-21 Wed 00:00:00]
-#+title:       Self-Hosting Guide: An Otter Wiki
+#+title:       self hosting guide: an otter wiki
 #+description: Stepwise directions for installing Otter Wiki, configuring Docker Compose environment, and setting up Nginx reverse proxy for secure access.
 #+slug:        self-hosting-otter-wiki
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2024-03-13-doom-emacs.org b/content/blog/2024-03-13-doom-emacs.org
index 4ac665f..197fb38 100644
--- a/content/blog/2024-03-13-doom-emacs.org
+++ b/content/blog/2024-03-13-doom-emacs.org
@@ -1,5 +1,5 @@
 #+date: [2024-03-13 Wed 00:00:00]
-#+title:       Doom Emacs & Org-Mode Setup
+#+title:       doom emacs & org mode setup
 #+description: Technical manual covering installation, configuration files, and usage procedures for Doom Emacs and Org-Mode targeting note management and task organization.
 #+slug:        doom-emacs
 #+filetags: :emacs:
diff --git a/content/blog/2024-03-15-self-hosting-ddns-updater.org b/content/blog/2024-03-15-self-hosting-ddns-updater.org
index f5c27db..239a8e3 100644
--- a/content/blog/2024-03-15-self-hosting-ddns-updater.org
+++ b/content/blog/2024-03-15-self-hosting-ddns-updater.org
@@ -1,5 +1,5 @@
 #+date: [2024-03-15 Fri 00:00:00]
-#+title:       Self-Hosting Guide: DDNS Updater
+#+title:       self hosting guide: ddns updater
 #+description: Step-by-step configuration guide for deploying a Dynamic DNS updater using Docker Compose, integrating with Cloudflare API, and securing with Nginx reverse proxy.
 #+slug:        self-hosting-ddns-updater
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2024-03-29-org-blog.org b/content/blog/2024-03-29-org-blog.org
index ee19ba5..eea0623 100644
--- a/content/blog/2024-03-29-org-blog.org
+++ b/content/blog/2024-03-29-org-blog.org
@@ -1,5 +1,5 @@
 #+date: [2024-03-29 Fri 00:00:00]
-#+title:       Blogging with Emacs Org-Mode and Weblorg
+#+title:       blogging with emacs org mode and weblorg
 #+description: Instructional content for preparing and publishing blogs using Emacs Org-Mode, including setup of static site generators and content management workflows.
 #+slug:        org-blog
 #+filetags: :emacs:web:
diff --git a/content/blog/2024-04-06-convert-onenote-to-markdown.org b/content/blog/2024-04-06-convert-onenote-to-markdown.org
index f86352d..182aaf6 100644
--- a/content/blog/2024-04-06-convert-onenote-to-markdown.org
+++ b/content/blog/2024-04-06-convert-onenote-to-markdown.org
@@ -1,5 +1,5 @@
 #+date: [2024-04-06 Sat 00:00:00]
-#+title:       Converting OneNote Exports to Markdown and Org-Mode
+#+title: onenote to org: escape the microsoft format
 #+description: Detailed conversion instructions to transform OneNote document files into Markdown or Org-Mode formats using Pandoc command-line utility on Windows systems.
 #+slug:        convert-onenote-to-markdown
 #+filetags: :emacs:
diff --git a/content/blog/2024-04-08-docker-local-web-server.org b/content/blog/2024-04-08-docker-local-web-server.org
index fbdbe3c..7c22c59 100644
--- a/content/blog/2024-04-08-docker-local-web-server.org
+++ b/content/blog/2024-04-08-docker-local-web-server.org
@@ -1,5 +1,5 @@
 #+date: [2024-04-08 Mon 00:00:00]
-#+title:       Local Web Dev Server Setup with Docker & Nginx
+#+title:       local web dev server setup with docker & nginx
 #+description: Instructions for setting up a local web development environment employing Docker Desktop and Nginx web server to facilitate development and testing workflows.
 #+slug:        docker-local-web-server
 #+filetags: :self-hosting:web:
diff --git a/content/blog/2024-04-18-mu4e.org b/content/blog/2024-04-18-mu4e.org
index 8375449..9fb7940 100644
--- a/content/blog/2024-04-18-mu4e.org
+++ b/content/blog/2024-04-18-mu4e.org
@@ -1,5 +1,5 @@
 #+date: [2024-04-18 Thu 00:00:00]
-#+title:       Configuring Mu4e with Doom Emacs on macOS
+#+title:       configuring mu4e with doom emacs on macos
 #+description: Stepwise procedure for installing, configuring, and using Mu4e email client within Doom Emacs on macOS for organized email management.
 #+slug:        mu4e
 #+filetags: :emacs:linux:
diff --git a/content/blog/2024-05-03-ubuntu-on-macos.org b/content/blog/2024-05-03-ubuntu-on-macos.org
index c7d9ebe..346bc3a 100644
--- a/content/blog/2024-05-03-ubuntu-on-macos.org
+++ b/content/blog/2024-05-03-ubuntu-on-macos.org
@@ -1,5 +1,5 @@
 #+date: [2024-05-03 Fri 00:00:00]
-#+title:       OrbStack on macOS: Running a Full Ubuntu Linux Environment
+#+title:       orbstack on macos: running a full ubuntu linux environment
 #+description: Technical guide outlining the installation and operation of OrbStack to run Ubuntu Linux containers natively on macOS systems with performance considerations.
 #+slug:        ubuntu-on-macos
 #+filetags: :linux:
diff --git a/content/blog/2024-06-19-deprecated-trusted-gpg-fix.org b/content/blog/2024-06-19-deprecated-trusted-gpg-fix.org
index 1bb647c..3892fdc 100644
--- a/content/blog/2024-06-19-deprecated-trusted-gpg-fix.org
+++ b/content/blog/2024-06-19-deprecated-trusted-gpg-fix.org
@@ -1,5 +1,5 @@
 #+date: [2024-06-19 Wednesday 08:00:00]
-#+title:       Migrating Ubuntu GPG Keys to trusted.gpg.d
+#+title:       migrating ubuntu gpg keys to trusted.gpg.d
 #+description: Technical instructions to relocate GPG keys from the deprecated trusted.gpg keyring to the supported trusted.gpg.d directory for system security maintenance.
 #+slug:        deprecated-trusted-gpg-fix
 #+filetags: :linux:
diff --git a/content/blog/2024-07-11-emacs-on-ipad.org b/content/blog/2024-07-11-emacs-on-ipad.org
index 5ebcced..b82c44a 100644
--- a/content/blog/2024-07-11-emacs-on-ipad.org
+++ b/content/blog/2024-07-11-emacs-on-ipad.org
@@ -1,5 +1,5 @@
 #+date: [2024-07-11 Thursday 20:24:02]
-#+title:       Running Emacs Natively on Apple Silicon iPad
+#+title:       running emacs natively on apple silicon ipad
 #+description: Procedural instructions for installing Emacs on iPadOS devices with Apple Silicon architecture, including configuration and operational guidance.
 #+slug:        emacs-on-ipad
 #+filetags: :emacs:
diff --git a/content/blog/2024-08-11-org-mode-features.org b/content/blog/2024-08-11-org-mode-features.org
index 0f25c5d..0a42a64 100644
--- a/content/blog/2024-08-11-org-mode-features.org
+++ b/content/blog/2024-08-11-org-mode-features.org
@@ -1,5 +1,5 @@
 #+date: [2024-08-11 Sun 12:48:00]
-#+title:       Essential Org-Mode Features for Productivity
+#+title: org mode features: what i actually use
 #+description: Detailed overview of essential Org-Mode functionalities focusing on task organization, note-taking, and workflow optimization.
 #+slug:        org-mode-features
 #+filetags: :emacs:
diff --git a/content/blog/2024-08-25-n8n-sentiment-analysis.org b/content/blog/2024-08-25-n8n-sentiment-analysis.org
index 25816e7..fa2d058 100644
--- a/content/blog/2024-08-25-n8n-sentiment-analysis.org
+++ b/content/blog/2024-08-25-n8n-sentiment-analysis.org
@@ -1,5 +1,5 @@
 #+date: [2024-08-25 Sunday 09:45:30]
-#+title:       Automate Email Sentiment Analysis with n8n
+#+title:       automate email sentiment analysis with n8n
 #+description: Detailed procedural steps for configuring an n8n workflow to perform sentiment analysis on incoming email messages, enabling automated classification based on sentiment.
 #+slug:        n8n-sentiment-analysis
 #+filetags: :self-hosting:
diff --git a/content/blog/2024-09-20-prometheus-grafana-cloud.org b/content/blog/2024-09-20-prometheus-grafana-cloud.org
index 63ad1d4..c6dbe3a 100644
--- a/content/blog/2024-09-20-prometheus-grafana-cloud.org
+++ b/content/blog/2024-09-20-prometheus-grafana-cloud.org
@@ -1,5 +1,5 @@
 #+date: [2024-09-20 Friday 13:38:52]
-#+title:       Linux Server Monitoring with Prometheus & Grafana Cloud
+#+title: prometheus grafana: monitoring without paying for the cloud tier
 #+description: Stepwise method for deploying Prometheus with Docker to monitor Linux servers and integrating Grafana Cloud for visualization and analysis of collected metrics.
 #+slug:        prometheus-grafana-cloud
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2024-09-23-self-hosting-transmission.org b/content/blog/2024-09-23-self-hosting-transmission.org
index 0a25a0a..17ae06f 100644
--- a/content/blog/2024-09-23-self-hosting-transmission.org
+++ b/content/blog/2024-09-23-self-hosting-transmission.org
@@ -1,5 +1,5 @@
 #+date: [2024-09-23 Monday 19:52:20]
-#+title:       Self-Hosting Guide: Transmission BitTorrent Client
+#+title:       self hosting guide: transmission bittorrent client
 #+description: Comprehensive setup instructions for installing and configuring the Transmission BitTorrent client on a Linux server, including securing remote access through Nginx reverse proxy.
 #+slug:        self-hosting-transmission
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2024-10-31-continue-ollama-code-assistant.org b/content/blog/2024-10-31-continue-ollama-code-assistant.org
index 362951d..e9b4bf3 100644
--- a/content/blog/2024-10-31-continue-ollama-code-assistant.org
+++ b/content/blog/2024-10-31-continue-ollama-code-assistant.org
@@ -1,5 +1,5 @@
 #+date: [2024-10-31 Thursday 11:01:05]
-#+title:       Ollama Code Assistant Setup in VS Codium
+#+title:       ollama code assistant setup in vs codium
 #+description: Technical overview and configuration guide for incorporating Ollama as a code assistance tool within VS Codium and VS Code editors to enhance development workflows.
 #+slug:        continue-ollama-code-assistant
 #+filetags: :linux:
diff --git a/content/blog/2024-12-27-self-hosting-the-lounge.org b/content/blog/2024-12-27-self-hosting-the-lounge.org
index ec1abc8..213a737 100644
--- a/content/blog/2024-12-27-self-hosting-the-lounge.org
+++ b/content/blog/2024-12-27-self-hosting-the-lounge.org
@@ -1,5 +1,5 @@
 #+date: [2024-12-29 Sun 17:45:00]
-#+title:       Self-Hosting Guide: The Lounge (IRC)
+#+title:       self hosting guide: the lounge (irc)
 #+description: Step-by-step instructions for installing and configuring The Lounge IRC web client on Linux systems utilizing Docker Compose to provide persistent and secure chat access.
 #+slug:        self-hosting-the-lounge
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2025-01-23-self-hosting-tandoor.org b/content/blog/2025-01-23-self-hosting-tandoor.org
index 4e57c15..fecb5cf 100644
--- a/content/blog/2025-01-23-self-hosting-tandoor.org
+++ b/content/blog/2025-01-23-self-hosting-tandoor.org
@@ -1,5 +1,5 @@
 #+date: [2025-01-23 Thursday 20:44:45]
-#+title:       Self-Hosting Guide: Tandoor Recipe Manager
+#+title:       self hosting guide: tandoor recipe manager
 #+description: Detailed tutorial on deploying Tandoor, an open-source recipe management application, including installation steps and configuration for self-hosted operation.
 #+slug:        self-hosting-tandoor
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2025-02-11-obscura-vpn.org b/content/blog/2025-02-11-obscura-vpn.org
index 7b7ff32..3a2954d 100644
--- a/content/blog/2025-02-11-obscura-vpn.org
+++ b/content/blog/2025-02-11-obscura-vpn.org
@@ -1,5 +1,5 @@
 #+date: [2025-02-11 Tuesday 11:40:00]
-#+title:       Obscura VPN: A Two-Party Protocol Review
+#+title:       obscura vpn: a two party protocol review
 #+description: Analytical review outlining the features, implementation, and security aspects of Obscura VPN's two-party protocol in conjunction with Mullvad VPN.
 #+slug:        obscura-vpn
 #+filetags: :security:
diff --git a/content/blog/2025-02-24-email-migration.org b/content/blog/2025-02-24-email-migration.org
index 9db2044..3debca3 100644
--- a/content/blog/2025-02-24-email-migration.org
+++ b/content/blog/2025-02-24-email-migration.org
@@ -1,5 +1,5 @@
 #+date: [2025-02-25 Mon 19:20:05]
-#+title:       How I Transferred 5000+ Emails from Proton Mail to Migadu
+#+title: email migration: 5000+ emails, proton to migadu
 #+description: Detailed instructions describing the process and considerations involved in transferring email data securely from Proton Mail to Migadu email hosting.
 #+slug:        email-migration
 #+filetags: :privacy:
diff --git a/content/blog/2025-04-05-git-mirror.org b/content/blog/2025-04-05-git-mirror.org
index 2955944..bd4c3d9 100644
--- a/content/blog/2025-04-05-git-mirror.org
+++ b/content/blog/2025-04-05-git-mirror.org
@@ -1,5 +1,5 @@
 #+date: [2025-04-05 Saturday 23:04:54]
-#+title:       Automating GitHub to GitLab Repository Sync
+#+title:       automating github to gitlab repository sync
 #+description: Technical steps for setting up automated synchronization and mirroring of source code repositories from GitHub to GitLab for redundancy and repository management.
 #+slug:        git-mirror
 #+filetags: :self-hosting:
diff --git a/content/blog/2025-05-02-asahi-linux.org b/content/blog/2025-05-02-asahi-linux.org
index 03395d8..dc79eea 100644
--- a/content/blog/2025-05-02-asahi-linux.org
+++ b/content/blog/2025-05-02-asahi-linux.org
@@ -1,5 +1,5 @@
 #+date: [2025-05-02 Friday 21:10:00]
-#+title:       Running Asahi Linux on Apple M2 MacBook Pro: My Experience
+#+title: asahi linux: linux on apple silicon, current state
 #+description: Documented analysis of installation procedure, system performance, and software compatibility for running Asahi Linux on the Apple M2 MacBook Pro 16-inch model.
 #+slug:        asahi-linux
 #+filetags: :linux:
diff --git a/content/blog/2025-05-30-it-audit-career.org b/content/blog/2025-05-30-it-audit-career.org
index 38bae52..c3e94ff 100644
--- a/content/blog/2025-05-30-it-audit-career.org
+++ b/content/blog/2025-05-30-it-audit-career.org
@@ -1,5 +1,5 @@
 #+date: [2025-05-30 Friday 10:53:28]
-#+title:       Mastering Emerging Tech for IT Audit Career Growth
+#+title: it audit career: skills that matter vs. skills that look good
 #+description: Instructional content detailing actionable knowledge areas including artificial intelligence, blockchain, cloud computing, DevOps, and automation relevant for audit professionals.
 #+slug:        it-audit-career
 #+filetags: :audit:
diff --git a/content/blog/2025-06-02-private-ios-apps.org b/content/blog/2025-06-02-private-ios-apps.org
index 46fc197..6bb93f4 100644
--- a/content/blog/2025-06-02-private-ios-apps.org
+++ b/content/blog/2025-06-02-private-ios-apps.org
@@ -1,5 +1,5 @@
 #+date: [2025-06-03 Tue 11:38:40]
-#+title:       Privacy-First iOS Apps for Minimalists
+#+title: private ios apps: what i actually use
 #+description: Curated listing of iOS applications prioritized for privacy preservation and data security, targeted at users requiring minimal data exposure.
 #+slug:        private-ios-apps
 #+filetags: :linux:privacy:
diff --git a/content/blog/2025-09-04-website-redesign.org b/content/blog/2025-09-04-website-redesign.org
index 2eef68b..82fceac 100644
--- a/content/blog/2025-09-04-website-redesign.org
+++ b/content/blog/2025-09-04-website-redesign.org
@@ -1,5 +1,5 @@
 #+date: [2025-09-05 Fri 10:21:00]
-#+title: Crafting a More Human-Centric Design for My Website
+#+title: website redesign 2025: what changed
 #+description: Read this post to understand my latest website redesign and the context for the refresh.
 #+slug: human-website-design
 #+filetags: :web:
diff --git a/content/blog/2025-09-25-minimalist-website-redesign.org b/content/blog/2025-09-25-minimalist-website-redesign.org
index 000b982..e88f3a8 100644
--- a/content/blog/2025-09-25-minimalist-website-redesign.org
+++ b/content/blog/2025-09-25-minimalist-website-redesign.org
@@ -1,5 +1,5 @@
 #+date: [2025-09-25 Thu 21:08:00]
-#+title: Simplifying the Site: A Minimalist Approach
+#+title: minimalist site: strip it down
 #+description: This post details a complete redesign of a blog post, stripping away extraneous CSS and HTML elements to prioritize readability and user experience.
 #+slug: minimalist-website-redesign
 #+filetags: :web:
diff --git a/content/blog/2025-10-03-privacy-toolkit.org b/content/blog/2025-10-03-privacy-toolkit.org
index 4ffe8c8..1160462 100644
--- a/content/blog/2025-10-03-privacy-toolkit.org
+++ b/content/blog/2025-10-03-privacy-toolkit.org
@@ -1,5 +1,5 @@
 #+date: [2025-10-03 Fri 4:23:00]
-#+title: My Privacy Toolkit
+#+title: my privacy toolkit
 #+description: Learn about the tools I use to keep my life private and data secure.
 #+slug: privacy-toolkit
 #+filetags: :privacy:
diff --git a/content/blog/2025-10-06-rocket-league-macos.org b/content/blog/2025-10-06-rocket-league-macos.org
index 5676ca1..f28cd9a 100644
--- a/content/blog/2025-10-06-rocket-league-macos.org
+++ b/content/blog/2025-10-06-rocket-league-macos.org
@@ -1,5 +1,5 @@
 #+date: [2025-10-06 Mon 13:11:00]
-#+title: Playing Rocket League on macOS via CrossOver
+#+title: playing rocket league on macos via crossover
 #+description: Learn how to play Rocket League on macOS via CrossOver.
 #+slug: rocket-league-macos
 #+filetags: :linux:
diff --git a/content/blog/2025-10-24-digital-garden.org b/content/blog/2025-10-24-digital-garden.org
index 8bbb112..6894f48 100644
--- a/content/blog/2025-10-24-digital-garden.org
+++ b/content/blog/2025-10-24-digital-garden.org
@@ -1,5 +1,5 @@
 #+date: [2025-10-24 Fri 19:41:41]
-#+title: Digital Garden
+#+title: digital garden
 #+description: A post dedicated to digital gardens, an online space for personal knowledge management, creative exploration, and reflection.
 #+slug: digital-garden
 #+filetags: :web:
diff --git a/content/blog/2025-11-02-aerc-macos.org b/content/blog/2025-11-02-aerc-macos.org
index 6c0185a..5c5bdd3 100644
--- a/content/blog/2025-11-02-aerc-macos.org
+++ b/content/blog/2025-11-02-aerc-macos.org
@@ -1,5 +1,5 @@
 #+date: [2025-11-02 Sun 10:07:14]
-#+title: Using aerc on macOS
+#+title: using aerc on macos
 #+description: Learn how I use aerc, a TUI email client, on macOS.
 #+slug: aerc-macos
 #+filetags: :linux:
diff --git a/content/blog/2025-11-13-wcag.org b/content/blog/2025-11-13-wcag.org
index e293018..e21bfb5 100644
--- a/content/blog/2025-11-13-wcag.org
+++ b/content/blog/2025-11-13-wcag.org
@@ -1,5 +1,5 @@
 #+date: [2025-11-14 Fri 19:46:30]
-#+title: Striving for 100% WCAG 2 Compliance
+#+title: wcag compliance: accessibility as a real constraint, not a checkbox
 #+description: Read on to learn more about how I've ensured my humble site is compliant with WCAG 2.
 #+slug: wcag
 #+filetags: :audit:web:
diff --git a/content/blog/2025-11-23-it-audit-ai.org b/content/blog/2025-11-23-it-audit-ai.org
index 7a5713b..e73b030 100644
--- a/content/blog/2025-11-23-it-audit-ai.org
+++ b/content/blog/2025-11-23-it-audit-ai.org
@@ -1,5 +1,5 @@
 #+date: [2025-11-23 17:43:57]
-#+title: Practical Uses for AI in IT Audit
+#+title: it audit ai: where it helps and where it's theater
 #+description: Learn how I'm currently using AI in my role in Technology Assurance (i.e., IT Audit) at KPMG.
 #+slug: it-audit-ai
 #+filetags: :audit:
diff --git a/content/blog/2025-12-06-self-hosting-tor.org b/content/blog/2025-12-06-self-hosting-tor.org
index 1de7b9f..ee95cf5 100644
--- a/content/blog/2025-12-06-self-hosting-tor.org
+++ b/content/blog/2025-12-06-self-hosting-tor.org
@@ -1,5 +1,5 @@
 #+date: [2025-12-06 Sat 14:13:00]
-#+title: Self-Hosting Guide: Tor Websites
+#+title: self hosting guide: tor websites
 #+description: Learn how to host your own website on Tor with an Onion Address in a few short steps!
 #+slug: self-hosting-tor
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2025-12-20-self-hosting-home-assistant.org b/content/blog/2025-12-20-self-hosting-home-assistant.org
index 8990a48..03aaef8 100644
--- a/content/blog/2025-12-20-self-hosting-home-assistant.org
+++ b/content/blog/2025-12-20-self-hosting-home-assistant.org
@@ -1,5 +1,5 @@
 #+date: [2025-12-20 Sat 20:27:08]
-#+title: Self-Hosting Guide: Home Assistant
+#+title: self hosting guide: home assistant
 #+description: A guide to configuring and customizing Home Assistant.
 #+slug: self-hosting-home-assistant
 #+filetags: :linux:self-hosting:
diff --git a/content/blog/2026-01-31-emacs-carnival-2026-01-this-year-i-will.org b/content/blog/2026-01-31-emacs-carnival-2026-01-this-year-i-will.org
index afd764d..44c7256 100644
--- a/content/blog/2026-01-31-emacs-carnival-2026-01-this-year-i-will.org
+++ b/content/blog/2026-01-31-emacs-carnival-2026-01-this-year-i-will.org
@@ -1,5 +1,5 @@
 #+date: [2026-01-31 Sat 20:32:11]
-#+title: Emacs Carnival: “This Year, I Will...”
+#+title: emacs carnival: “this year, i will...”
 #+description: My response to the Emacs Carnival post for January 2026.
 #+slug: emacs-carnival-2026-01-this-year-i-will
 #+filetags: :emacs:personal:
diff --git a/content/blog/2026-02-02-emacs-carnival-2026-02-completion.org b/content/blog/2026-02-02-emacs-carnival-2026-02-completion.org
index 0809851..d45c82c 100644
--- a/content/blog/2026-02-02-emacs-carnival-2026-02-completion.org
+++ b/content/blog/2026-02-02-emacs-carnival-2026-02-completion.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-02 18:40:21]
-#+title: Emacs Carnival: "Completion"
+#+title: emacs carnival: "completion"
 #+description: My response to the Emacs Carnival post for February 2026.
 #+slug: emacs-carnival-2026-02-completion
 #+filetags: :emacs:personal:
diff --git a/content/blog/2026-02-07-indieweb-carnival-2026-02-intersecting-interests.org b/content/blog/2026-02-07-indieweb-carnival-2026-02-intersecting-interests.org
index c5f24b8..9f4c0a4 100644
--- a/content/blog/2026-02-07-indieweb-carnival-2026-02-intersecting-interests.org
+++ b/content/blog/2026-02-07-indieweb-carnival-2026-02-intersecting-interests.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-07 Sat 17:46:00]
-#+title: IndieWeb Carnival: "Intersecting Interests"
+#+title: indieweb carnival: "intersecting interests"
 #+description: Contrasting my passions with technology vs. natural hobbies.
 #+slug: indiweb-carnival-2026-02-intersecting-interests
 #+filetags: :personal:web:
diff --git a/content/blog/2026-02-08-gnu-stow.org b/content/blog/2026-02-08-gnu-stow.org
index 898ff1a..2e6f203 100644
--- a/content/blog/2026-02-08-gnu-stow.org
+++ b/content/blog/2026-02-08-gnu-stow.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-08 Sun 12:17:42]
-#+title: Managing My Dotfiles with GNU Stow and Git
+#+title: managing my dotfiles with gnu stow and git
 #+description: Learn how I use GNU Stow to manage my user dotfiles and configurations.
 #+slug: gnu-stow
 #+filetags: :emacs:linux:
diff --git a/content/blog/2026-02-12-automating-weblorg-deployments.org b/content/blog/2026-02-12-automating-weblorg-deployments.org
index 6462049..3735a24 100644
--- a/content/blog/2026-02-12-automating-weblorg-deployments.org
+++ b/content/blog/2026-02-12-automating-weblorg-deployments.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-12 Thu 20:26:32]
-#+title: Automating Weblorg Deployments with GitHub Actions
+#+title: weblorg deployments: automated, no github actions dependency
 #+description: Learn how I've automated all deployment for my org-mode blog with GitHub Actions and a custom Docker image.
 #+slug: automating-weblorg-deployments
 #+filetags: :self-hosting:web:
diff --git a/content/blog/2026-02-21-auditing-aws-iam.org b/content/blog/2026-02-21-auditing-aws-iam.org
index 32b232f..f26f819 100644
--- a/content/blog/2026-02-21-auditing-aws-iam.org
+++ b/content/blog/2026-02-21-auditing-aws-iam.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-21 Sat 18:58:39]
-#+title: Auditing AWS IAM Users
+#+title: auditing aws iam users
 #+description: Learn how to audit IAM user assignments in AWS.
 #+slug: auditing-aws-iam
 #+filetags: :audit:
diff --git a/content/blog/2026-02-21-auditing-aws-passwords.org b/content/blog/2026-02-21-auditing-aws-passwords.org
index bdde783..c6e9cca 100644
--- a/content/blog/2026-02-21-auditing-aws-passwords.org
+++ b/content/blog/2026-02-21-auditing-aws-passwords.org
@@ -1,5 +1,5 @@
 #+date: [2026-02-21 Sat 21:13:45]
-#+title: Auditing AWS Passwords
+#+title: auditing aws passwords
 #+description: Learn how to audit passwords in AWS.
 #+slug: auditing-aws-passwords
 #+filetags: :audit:
diff --git a/content/blog/2026-03-03-auditing-aws-s3.org b/content/blog/2026-03-03-auditing-aws-s3.org
index beab7d8..9108f91 100644
--- a/content/blog/2026-03-03-auditing-aws-s3.org
+++ b/content/blog/2026-03-03-auditing-aws-s3.org
@@ -1,5 +1,5 @@
 #+date: [2026-03-03 Tue 18:50:23]
-#+title: Auditing AWS S3 Buckets
+#+title: auditing aws s3 buckets
 #+description: Learn how to audit AWS S3 buckets for public access.
 #+slug: auditing-aws-s3
 #+filetags: :audit:
diff --git a/content/garden/macos.org b/content/garden/macos.org
index f14f81f..c2ce7be 100644
--- a/content/garden/macos.org
+++ b/content/garden/macos.org
@@ -1,4 +1,4 @@
-#+title: 🌿 macOS
+#+title: macos
 #+slug: macos
 #+description: All about the macOS operating system.
 #+date: [2026-02-21 Sat 14:01:32]
diff --git a/content/garden/mkb.org b/content/garden/mkb.org
index 1260ea0..6bfc023 100644
--- a/content/garden/mkb.org
+++ b/content/garden/mkb.org
@@ -1,4 +1,4 @@
-#+title: 🌱 Mechanical Keyboards
+#+title: mechanical keyboards
 #+slug: mkb
 #+description: The easiest way to annoy your coworkers: clacking keyboards.
 #+date: [2026-03-11 Wed 01:04:38]
diff --git a/content/garden/org-mode.org b/content/garden/org-mode.org
index c0ed2c1..e7cbaca 100644
--- a/content/garden/org-mode.org
+++ b/content/garden/org-mode.org
@@ -1,4 +1,4 @@
-#+title: 🌱 org-mode
+#+title: org mode
 #+slug: org-mode
 #+description: Tidbits about the best plaintext language: org-mode.
 #+date: [2026-02-21 Sat 12:39:27]
diff --git a/content/garden/quotes.org b/content/garden/quotes.org
index a5c0059..fc63b66 100644
--- a/content/garden/quotes.org
+++ b/content/garden/quotes.org
@@ -1,4 +1,4 @@
-#+title: 🌳 Quotes
+#+title: quotes
 #+slug: quotes
 #+description: Things that made me think or feel.
 #+date: [2026-03-11 Wed 01:16:35]
diff --git a/content/uses/index.org b/content/uses/index.org
index 50c8203..2ffc390 100644
--- a/content/uses/index.org
+++ b/content/uses/index.org
@@ -2,87 +2,65 @@
 #+slug: index
 #+options: toc:nil
 
-What are the technologies behind ~cleberg.net~? See below. I tend to flip-flop on
-my DNS providers and Git hosts often, but the rest of these technologies are
-consistently powering this website.
-
-I've also included various technologies that I use /while/ building ~cleberg.net~,
-as they seem relevant to complete the picture.
+Tools powering this site and the infrastructure behind it. Each entry includes
+a threat model justification and an exit strategy. ~TECHNICAL DEBT~ flags items
+with no clean migration path or active sovereignty risk.
 
 * Philosophy
 
-My choice of tools is guided by a few core "soft" requirements that are more
-important to me than convenience or feature-creep:
-
-- Digital Sovereignty: If I don't own the hardware or the plain-text source, I
-  don't truly own the content. This site lives in my rack, not on someone else's
-  "cloud."
-- Zero Tracking: I have no interest in your data. I don't use cookies, I don't
-  track your IP, and I don't care how many "unique visitors" I have. If the
-  content is useful, it will find its way via RSS or word-of-mouth.
-- Disposable Infrastructure: The server is a pet, but the site is a cattle.
-  Because the entire build is driven by org-mode and a single ~build.py~ script, I
-  can lose the entire machine and be back online on a fresh OS in minutes.
-- Minimalist Stack: I prefer tools that do one thing well. Weblorg for static
-  generation and Nginx for serving files is a stack that will likely still work
-  ten years from now without a single dependency update.
+- Own the hardware or you don't own the content.
+- Zero tracking. No cookies. No analytics. No exceptions.
+- Full rebuild from source on a fresh OS in under an hour.
+- One tool per job. No dependencies that rot.
 
 * Software
 
-| Technology            | What I Use                   |
-|-----------------------+------------------------------|
-| Registrar             | [[https://njal.la][Njalla]]                       |
-| DNS                   | [[https://njal.la][Njalla]]                       |
-| Security              | [[https://github.com/fail2ban/fail2ban][fail2ban]] + [[https://ui.com][UniFi]]             |
-| Routing               | [[https://ui.com/][UniFi]]                        |
-| Server                | [[https://cleberg.net/blog/server-build.html][Self-hosted]]                  |
-| Operating System      | [[https://ubuntu.com][Ubuntu]] + [[https://www.apple.com/os/macos/][macOS]]               |
-| Web Server            | [[https://nginx.org][Nginx]] + [[https://community.torproject.org/onion-services/setup/][Tor]]                  |
-| SSL                   | [[https://certbot.eff.org][Certbot]]                      |
-| Static Site Generator | [[https://github.com/emacs-love/weblorg][Weblorg]]                      |
-| Terminal              | [[https://iterm2.com/][iTerm2]]                       |
-| Shell                 | [[https://www.zsh.org/][Zsh]]                          |
-| Editor                | [[https://github.com/doomemacs/doomemacs][Doom Emacs]]                   |
-| Markup Language       | [[https://orgmode.org][org-mode]]                     |
-| Image Processing      | [[https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/w/webp.rb][webP (CLI)]]                   |
-| Browser(s) [fn:1]     | [[https://www.torproject.org/][Tor]] + [[https://librewolf.net/][LibreWolf]] + [[https://www.apple.com/safari/][Safari]]     |
-| Version Control       | [[https://git-scm.com/][Git (CLI)]]                    |
-| Git Host              | [[https://github.com/ccleberg][GitHub]]                       |
-| CI/CD                 | [[https://github.com/ccleberg/cleberg.net/blob/main/build.py][build.py]] + [[https://www.openssh.org/][OpenSSH]]           |
-| Email Host            | [[https://soverin.com/][Soverin]]                      |
-| Search Engine         | [[https://docs.searxng.org/][SearXNG]]                      |
-| Backups               | N/A - Absolutely None [fn:2] |
-| Monitoring            | N/A - Absolutely None        |
-| Analytics             | N/A - Absolutely None        |
-| Social Media          | N/A - Absolutely None        |
-| Newsletter            | N/A - RSS Only               |
-
-[fn:1] I don't get paid for this, so I only test my site in my current primary
-browser(s).
-[fn:2] I have nothing to back up except the source code (which is already
-"backed up" via Git), since I do not collect or store any user data.
+| Technology            | What I Use            | Threat Model                                                           | Exit Strategy                                                                                                |
+|-----------------------+-----------------------+------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------|
+| Registrar             | [[https://njal.la][Njalla]]                | Registers domains on your behalf. No WHOIS identity exposure.          | Any registrar accepting anonymous payment. Portable.                                                         |
+| DNS                   | [[https://njal.la][Njalla]]                | Same as above. DNS records are portable on day one.                    | Self-hosted BIND or any other provider.                                                                      |
+| Security              | [[https://github.com/fail2ban/fail2ban][fail2ban]]              | Automated auth-failure bans. No cloud WAF. No data leaving machine.    | nftables rate limiting or self-hosted crowdsec.                                                              |
+| Routing               | [[https://ui.com/][UniFi]]                 | Local network segmentation. Controller must run self-hosted.           | ~TECHNICAL DEBT~ - cloud dependencies by default. OpenWrt on compatible HW.                                    |
+| Server                | [[https://cleberg.net/blog/server-build.html][Self-hosted]]           | Physical control. No hypervisor escape vector. No subpoena to a DC.    | N/A. This is the exit strategy.                                                                              |
+| Operating System      | [[https://ubuntu.com][Ubuntu]] + [[https://www.apple.com/os/macos/][macOS]]        | Ubuntu: telemetry off, LTS, stable. macOS: workstation only.           | Ubuntu → Debian. macOS → ~TECHNICAL DEBT~. Target: NixOS/Fedora on ThinkPad or Framework.                      |
+| Web Server            | [[https://nginx.org][Nginx]] + [[https://community.torproject.org/onion-services/setup/][Tor]]           | Static file serving. Tor layer for censored-network access.            | Caddy or lighttpd. Tor is already the exit layer.                                                            |
+| SSL                   | [[https://certbot.eff.org][Certbot]]               | Free automated TLS. No commercial CA dependency.                       | acme.sh. Same protocol, no Python dependency.                                                                |
+| Static Site Generator | [[https://github.com/emacs-love/weblorg][Weblorg]] + [[https://github.com/ccleberg/cleberg.net/blob/main/build.py][build.py]]    | Org-mode source compiles to plaintext HTML. No JS build chain.         | Pandoc + shell script. Source files survive any generator change.                                            |
+| Terminal              | [[https://iterm2.com/][iTerm2]]                | Functional. Inherited from macOS.                                      | ~TECHNICAL DEBT~ - macOS-only. Target: foot or Alacritty on Linux.                                             |
+| Shell                 | [[https://www.zsh.org/][Zsh]]                   | Portable, POSIX-adjacent, available on every target OS.                | bash or fish. Config is plain text.                                                                          |
+| Editor                | [[https://github.com/doomemacs/doomemacs][Doom Emacs]]            | Editor and markup are the same tool. No proprietary format.            | Vanilla Emacs + org-mode. Doom is a config layer only.                                                       |
+| Markup Language       | [[https://orgmode.org][org-mode]]              | Plain text. Readable without any software. Version-control native.     | N/A. Org files are the source of truth.                                                                      |
+| Image Processing      | [[https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/w/webp.rb][webP (CLI)]]            | CLI-only. No GUI, no cloud, no account.                                | ImageMagick or cwebp. Trivial swap.                                                                          |
+| Browser(s)            | [[https://www.torproject.org/][Tor]] + [[https://librewolf.net/][LibreWolf]]       | Tor for anonymity-critical use. LibreWolf for hardened daily use.      | N/A. Safari dropped - proprietary and redundant.                                                             |
+| Version Control       | [[https://git-scm.com/][Git (CLI)]]             | Decentralized. The repo is the backup.                                 | N/A. Content is portable to any host.                                                                        |
+| Git Host              | [[https://github.com/ccleberg][GitHub]]                | Public mirror only.                                                    | ~TECHNICAL DEBT~ - Microsoft-owned. Target: self-hosted Forgejo. One-line remote URL change.                   |
+| CI/CD                 | [[https://github.com/ccleberg/cleberg.net/blob/main/build.py][build.py]] + [[https://www.openssh.org/][OpenSSH]]    | A Python script and SSH. No CI runner, no stored secrets, no webhooks. | A shell script. Python is not load-bearing here.                                                             |
+| Email Host            | [[https://soverin.com/][Soverin]]               | Privacy-focused provider. Better than Gmail.                           | ~TECHNICAL DEBT~ - not self-hosted. Target: Postfix + Dovecot + Rspamd, or maddy. MX records portable day one. |
+| Search Engine         | [[https://docs.searxng.org/][SearXNG]] (self-hosted) | Queries route through own instance. No third-party search profile.     | Any other self-hosted SearXNG instance.                                                                      |
+| Backups               | N/A                   | Nothing to back up. No user data. Source mirrored via Git.             | Intentional. If this changes: restic to a local target.                                                      |
+| Monitoring            | N/A                   | Monitoring creates logs. Logs are a liability.                         | Intentional.                                                                                                 |
+| Analytics             | N/A                   | No interest in visitor data. Content finds its way via RSS.            | Intentional.                                                                                                 |
+| Social Media          | N/A                   | —                                                                      | Intentional.                                                                                                 |
+| Newsletter            | RSS Only              | No subscriber list. No email vendor. No data relationship.             | N/A.                                                                                                         |
 
 * Hardware
 
-I run most of my services from my custom, rack-mounted server (details below),
-but I also run a Raspbery Pi 4 for some miscellaneous services.
+Custom rack-mounted server. Physical control, no hypervisor, no vendor lock-in.
+See: [[https://cleberg.net/blog/server-build.html][server build post]].
 
-See the following blog post for more information on this server: [[https://cleberg.net/blog/server-build.html][Building a
-High-Performance Rack-Mounted Server with Consumer PC Components]].
+| Component     | Spec                                               | Threat Model / Notes                                       |
+|---------------+----------------------------------------------------+------------------------------------------------------------|
+| Chassis       | Rosewill RSV-R4100U 4U Rackmount                   | —                                                          |
+| Motherboard   | NZXT B550                                          | —                                                          |
+| CPU           | AMD Ryzen 7 5700G                                  | Onboard GPU eliminates need for discrete card in the rack. |
+| RAM           | 64GB DDR4 (2x32GB)                                 | —                                                          |
+| Boot Drive    | 500GB WD M.2 NVMe SSD                              | —                                                          |
+| Storage (HDD) | 1x10TB WD White, 1x8TB WD White, 2x8TB WD Red Plus | —                                                          |
+| PSU           | Corsair RM850                                      | —                                                          |
+| Cooling       | Noctua (1x120mm front, 2x80mm rear)                | —                                                          |
 
-| Hardware Component | What I Use                                |
-|--------------------+-------------------------------------------|
-| Chassis            | Rosewill RSV-R4100U 4U Rackmount          |
-| Motherboard        | NZXT B550                                 |
-| CPU                | AMD Ryzen 7 5700G [fn:3]                  |
-| GPU                | N/A - Onboard Radeon Graphics             |
-| RAM                | 64GB (2x32GB) DDR4                        |
-| Boot Drive         | 500GB WD M.2 NVMe SSD                     |
-| Storage (HDD)      | 1x10TB White, 1x8TB White, 2x8TB Red Plus |
-| Power Supply       | Corsair RM850                             |
-| Thermal Paste      | Corsair TM30                              |
-| Cooling            | Noctua Fans (1x120mm front, 2x80mm rear)  |
-| Cabling            | CableMatters 6Gbps SATA                   |
+Physical hardware under personal control eliminates the hypervisor escape vector
+and the cloud provider subpoena vector. Full recovery from a fresh OS install:
+under one hour.
 
-[fn:3] Specifically chosen for onboard graphics support to avoid needing a
-dedicated GPU in the rack.
+Secondary: Raspberry Pi 4 for miscellaneous self-hosted services.
diff --git a/theme/templates/index.html b/theme/templates/index.html
index e4e5411..d15eeca 100644
--- a/theme/templates/index.html
+++ b/theme/templates/index.html
@@ -1,9 +1,16 @@
 {% extends "base.html" %} {% block main %}
 <div class="homepage-intro">
-    <p>Hi, I&rsquo;m Christian.</p>
-    <p>I&rsquo;m a technology auditor who doesn&rsquo;t trust technology companies.</p>
-    <p>By day I&rsquo;m a Technology Assurance Manager at KPMG, working on enterprise IT audits, SOC reports, and emerging technology risk &mdash; cloud, AI, digital assets. By night I run my own infrastructure, avoid every platform I audit, and try to own as much of my digital life as possible.</p>
-    <p>This site is an insight into my brain. Sometimes I write blog posts, sometimes I take care of my garden entries, and sometimes I share things, like my salary or what I&rsquo;m doing right now.</p>
+    <p>My name is Christian.</p>
+    <p>I’m a technology auditor who doesn’t trust technology companies.</p>
+    <p>I run my own infrastructure. I audit everyone else's.</p>
+    <p>The infrastructure is the point. Self-hosted, self-managed, minimal
+    dependencies. This site is part of it: plaintext, no trackers, no
+    frameworks, no corporate CDN.</p>
+    <p>The audit job funds it. KPMG. Technology Assurance. I spend 50-80 hours a
+    week inside the systems I refuse to use personally. The irony is the
+    business model.</p>
+    <p>GPG key, salary, and server stack are all public. That's the whole
+    introduction.</p>
 </div>
 
 <p class="section-label">Recent Posts</p>