From 75cb2408e9251a32779a2c8814d4aaf1a0aae57c Mon Sep 17 00:00:00 2001
From: Christian Cleberg
Date: Tue, 11 Mar 2025 16:09:26 -0500
Subject: move from cleberg.net to cmc.pub
---
README.org | 14 ++---
build.sh | 2 +-
content/blog/2020-12-29-zork.org | 2 +-
content/blog/2021-03-28-vaporwave-vs-outrun.org | 12 ++--
content/blog/2021-04-23-php-comment-system.org | 2 +-
content/blog/2022-02-10-njalla-dns-api.org | 4 +-
content/blog/2022-02-16-debian-and-nginx.org | 4 +-
content/blog/2022-02-17-exiftool.org | 2 +-
content/blog/2022-02-22-tuesday.org | 2 +-
content/blog/2022-03-02-reliable-notes.org | 6 +-
content/blog/2022-03-24-server-hardening.org | 4 +-
content/blog/2022-06-01-ditching-cloudflare.org | 2 +-
content/blog/2022-10-04-syncthing.org | 2 +-
.../blog/2022-11-29-nginx-referrer-ban-list.org | 4 +-
.../blog/2023-01-05-mass-unlike-tumblr-posts.org | 4 +-
content/blog/2023-06-23-byobu.org | 2 +-
content/blog/2023-06-23-self-hosting-convos.org | 4 +-
content/blog/2023-06-30-self-hosting-voyager.org | 2 +-
content/blog/2023-10-04-digital-minimalism.org | 2 +-
content/blog/2023-10-11-self-hosting-authelia.org | 4 +-
.../2023-10-17-self-hosting-anonymousoverflow.org | 4 +-
content/blog/2024-01-27-tableau-dashboard.org | 4 +-
content/blog/2024-03-13-doom-emacs.org | 18 +++---
.../blog/2024-03-15-self-hosting-ddns-updater.org | 2 +-
content/blog/2024-03-29-org-blog.org | 12 ++--
.../blog/2024-04-08-docker-local-web-server.org | 18 +++---
content/blog/2024-04-18-mu4e.org | 8 +--
content/blog/2024-05-03-ubuntu-on-macos.org | 10 +--
content/blog/2024-07-11-emacs-on-ipad.org | 10 +--
content/blog/2024-08-11-org-mode-features.org | 16 ++---
content/blog/2024-08-25-n8n-sentiment-analysis.org | 6 +-
.../blog/2024-09-20-prometheus-grafana-cloud.org | 18 +++---
.../2024-10-31-continue-ollama-code-assistant.org | 10 +--
.../blog/2024-12-27-self-hosting-the-lounge.org | 10 +--
content/blog/2025-01-23-self-hosting-tandoor.org | 14 ++---
content/blog/2025-02-11-obscura-vpn.org | 8 +--
content/blog/2025-02-24-email-migration.org | 2 +-
content/index.org | 2 +-
content/salary/index.org | 4 +-
content/services/index.org | 21 +++----
content/wiki/ios.org | 2 +-
content/wiki/macos.org | 2 +-
publish.el | 6 +-
theme/static/.well-known/security.txt | 6 +-
theme/static/gpg.txt | 71 +++++++---------------
theme/templates/base.html | 2 +-
theme/templates/feed.xml | 6 +-
theme/templates/index.html | 19 +++---
theme/templates/post.html | 2 +-
utils/hooks/post-push | 2 +-
utils/nginx-dev.conf | 6 +-
utils/salary_visualization.py | 2 +-
52 files changed, 186 insertions(+), 217 deletions(-)
diff --git a/README.org b/README.org
index c48885f..45990da 100644
--- a/README.org
+++ b/README.org
@@ -1,8 +1,8 @@
#+title: README
-* cleberg.net
+* cmc.pub
-[[https://cleberg.net][cleberg.net]] is my personal webpage and blog. This website and blog utilize the
+[[https://cmc.pub][cmc.pub]] is my personal webpage and blog. This website and blog utilize the
powerful Org-Mode publishing system, courtesy of the [[https://github.com/emacs-love/weblorg][weblorg]] Emacs package.
** Features & Configuration
@@ -12,15 +12,15 @@ through a simple =publish.el= file. For those who are interested in tweaking the
underlying configuration, the weblorg documentation provides all necessary
details on possible settings and options.
-** Getting Started with cleberg.net
+** Getting Started with cmc.pub
To begin exploring or contributing to this project, you'll first need to set up
a local copy of the repository. This can be accomplished by running the
following commands within Emacs:
#+begin_src sh
-git clone https://git.sr.ht/~cyborg/cleberg.net && \
-cd cleberg.net && \
+git clone https://git.sr.ht/~cyborg/cmc.pub && \
+cd cmc.pub && \
emacs -nw
#+end_src
@@ -70,10 +70,10 @@ To quickly create a new blog post within Emacs, follow these steps:
the newly opened file.
This streamlined process allows you to rapidly generate fresh content for
-cleberg.net, taking advantage of the existing template structure and formatting.
+cmc.pub, taking advantage of the existing template structure and formatting.
** Contributing & Tasks
For those interested in contributing to this project or addressing any
-outstanding issues, please refer to the [[https://todo.sr.ht/~cyborg/cleberg.net][ticket tracker]]. This is where you can find
+outstanding issues, please refer to the [[https://todo.sr.ht/~cyborg/cmc.pub][ticket tracker]]. This is where you can find
a comprehensive list of open tickets or submit a new ticket for consideration.
diff --git a/build.sh b/build.sh
index 60fb0f9..aabf154 100755
--- a/build.sh
+++ b/build.sh
@@ -34,7 +34,7 @@ if [[ "$answer" =~ ^[Yy]$ ]]; then
minify -o theme/static/styles.min.css theme/static/styles.css
# Deploy changes
- rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/
+ rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/
else
echo "Environment: Development"
diff --git a/content/blog/2020-12-29-zork.org b/content/blog/2020-12-29-zork.org
index 68e32fb..ff9a794 100644
--- a/content/blog/2020-12-29-zork.org
+++ b/content/blog/2020-12-29-zork.org
@@ -32,7 +32,7 @@ as it was truly intended, you should try to play it without using the
map.
#+caption: Zork Map
-[[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]]
+[[https://img.cmc.pub/blog/20201229-zork/zork_map.jpg]]
/[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/
diff --git a/content/blog/2021-03-28-vaporwave-vs-outrun.org b/content/blog/2021-03-28-vaporwave-vs-outrun.org
index d5163f8..28c4ebb 100644
--- a/content/blog/2021-03-28-vaporwave-vs-outrun.org
+++ b/content/blog/2021-03-28-vaporwave-vs-outrun.org
@@ -16,12 +16,12 @@ Vaporwave: the results include *a lot* of Outrun-themed images. You'll
find a similar trend almost everywhere.
#+caption: Vaporwave Search Results
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]]
* Vaporwave
#+caption: Macintosh Plus Album Cover
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]]
Okay, so what is Vaporwave? I'm going to just copy-and-paste some
general info from the Wikipedia article on
@@ -80,7 +80,7 @@ is a large part of Vaporwave.
* Outrun
#+caption: Outrun
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/outrun.png]]
Now, let's get to Outrun. This one is a little trickier since the genre
has largely been lumped under the Vaporwave title for so long. However,
@@ -115,16 +115,16 @@ would look like. Take a look at a common video game discussed in Outrun
circles, Far Cry 3: Blood Dragon:
#+caption: Fry Cry 3: Blood Dragon
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/far-cry.png]]
Another example that doesn't force the color scheme as hard as some
online art does is Kung Fury:
#+caption: Kung Fury
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/kung-fury.png]]
#+caption: Kung Fury Hacker Scene
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]]
* Conclusion
diff --git a/content/blog/2021-04-23-php-comment-system.org b/content/blog/2021-04-23-php-comment-system.org
index ac5b1dc..c2a5b6f 100644
--- a/content/blog/2021-04-23-php-comment-system.org
+++ b/content/blog/2021-04-23-php-comment-system.org
@@ -57,7 +57,7 @@ that future readers will be able to see the source data long after I'm
gone, or the website has gone offline. However, I still haven't
committed any images served on my blog to Git, as I'm not entirely sold
on Git LFS yet - for now, images can be found at
-[[https://img.cleberg.net][img.cleberg.net]].
+[[https://img.cmc.pub][img.cmc.pub]].
Saving my comments back to the Git repository ensures that another
aspect of my site will degrade gracefully.
diff --git a/content/blog/2022-02-10-njalla-dns-api.org b/content/blog/2022-02-10-njalla-dns-api.org
index b68d5ac..71664dc 100644
--- a/content/blog/2022-02-10-njalla-dns-api.org
+++ b/content/blog/2022-02-10-njalla-dns-api.org
@@ -6,9 +6,9 @@
* Njalla's API
As noted in my recent post about
-[[https://cleberg.net/blog/ditching-cloudflare/][switching to Njalla from
+[[https://cmc.pub/blog/ditching-cloudflare/][switching to Njalla from
Cloudflare]], I was searching for a way to replace my very easy-to-use
-bash script to [[https://cleberg.net/blog/cloudflare-dns-api/][update Cloudflare's
+bash script to [[https://cmc.pub/blog/cloudflare-dns-api/][update Cloudflare's
DNS via their API]].
To reiterate what I said in those posts, this is a common necessity for
diff --git a/content/blog/2022-02-16-debian-and-nginx.org b/content/blog/2022-02-16-debian-and-nginx.org
index 5c611d4..e74b4a5 100644
--- a/content/blog/2022-02-16-debian-and-nginx.org
+++ b/content/blog/2022-02-16-debian-and-nginx.org
@@ -18,7 +18,7 @@ alert: it feels identical to Ubuntu for my purposes.
I did the normal things when first launching the VPS, such as adding a
new user, locking down SSH, etc. If you want to see that level of
detail, read my other post about
-[[https://cleberg.net/blog/how-to-set-up-a-vps-web-server/][How to Set
+[[https://cmc.pub/blog/how-to-set-up-a-vps-web-server/][How to Set
Up a VPS Web Server]].
All of this has been similar, apart from small things such as the
@@ -159,7 +159,7 @@ the Nginx docs to see what other fun things I can do with all of this.
Finally, I set up the Agate software on this server again to host my
Gemini server content, using Rust as I have before. You can read my
other post for more information on installing Agate:
-[[https://cleberg.net/blog/hosting-a-gemini-server/][Hosting a Gemini
+[[https://cmc.pub/blog/hosting-a-gemini-server/][Hosting a Gemini
Server]].
All in all, Debian + Nginx is very slick and I prefer it over my old
diff --git a/content/blog/2022-02-17-exiftool.org b/content/blog/2022-02-17-exiftool.org
index 3798ebb..c7cb790 100644
--- a/content/blog/2022-02-17-exiftool.org
+++ b/content/blog/2022-02-17-exiftool.org
@@ -45,7 +45,7 @@ distributions, but I really only care to test out this one package.
** Recursively Strip Data
I actually use this tool extensively to strip any photos uploaded to the
-website that serves all the images for my blog (=img.cleberg.net=).
+website that serves all the images for my blog (=img.cmc.pub=).
The following command is incredibly useful and can be modified to
include any image extensions that =exiftool= supports:
diff --git a/content/blog/2022-02-22-tuesday.org b/content/blog/2022-02-22-tuesday.org
index 79939e3..c2da991 100644
--- a/content/blog/2022-02-22-tuesday.org
+++ b/content/blog/2022-02-22-tuesday.org
@@ -26,7 +26,7 @@ Let's look at everything that fell in place today:
Slavonic word =въторъ=, meaning "the second."
5. Written in the classic monospaced, digital font (think of digital
clocks from the 80s/90s), there is nice symmetry to the numbers
- ([[https://img.cleberg.net/blog/20220222-tuesday/digital_font.png][view
+ ([[https://img.cmc.pub/blog/20220222-tuesday/digital_font.png][view
the image here]]!).
6. This one isn't naturally-occurring, but it seems people around the
world are celebrating the day. For example, a group is putting
diff --git a/content/blog/2022-03-02-reliable-notes.org b/content/blog/2022-03-02-reliable-notes.org
index 96b8254..1c99e22 100644
--- a/content/blog/2022-03-02-reliable-notes.org
+++ b/content/blog/2022-03-02-reliable-notes.org
@@ -44,7 +44,7 @@ Markdown file in plain-text, since it does contain any features to
preview Markdown as HTML:
#+caption: Plain Text Markdown
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/plain_markdown.png]]
** Saving & Syncing Files
:PROPERTIES:
@@ -118,13 +118,13 @@ Here's an example of how my Markdown notes look when opened in
plain-text mode:
#+caption: Obsidian Markdown Source Mode
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]]
Here's the "live preview" version, where the Markdown is rendered into
its HTML format:
#+caption: Obsidian Markdown Live Preview
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]]
*** Programming on Desktop
:PROPERTIES:
diff --git a/content/blog/2022-03-24-server-hardening.org b/content/blog/2022-03-24-server-hardening.org
index 7c9af8d..8704a27 100644
--- a/content/blog/2022-03-24-server-hardening.org
+++ b/content/blog/2022-03-24-server-hardening.org
@@ -110,7 +110,7 @@ via your randomized port.
** =ufw=
-To see how to configure =ufw=, see my other post: [[https://cleberg.net/blog/ufw.html][Secure Your
+To see how to configure =ufw=, see my other post: [[https://cmc.pub/blog/ufw.html][Secure Your
Network with the Uncomplicated Firewall]].
The general notion with an on-device firewall is that you want to deny all
@@ -196,7 +196,7 @@ sudo ufw enable
This process involves editing a couple files and installing an MFA package,
so I will not include all the details in this post. To see how to configure
- MFA for =ssh=, see my other post: [[https://cleberg.net/blog/ssh-mfa.html][Enabling MFA for
+ MFA for =ssh=, see my other post: [[https://cmc.pub/blog/ssh-mfa.html][Enabling MFA for
SSH]].
** =fail2ban=
diff --git a/content/blog/2022-06-01-ditching-cloudflare.org b/content/blog/2022-06-01-ditching-cloudflare.org
index 4b18b91..b7ba52d 100644
--- a/content/blog/2022-06-01-ditching-cloudflare.org
+++ b/content/blog/2022-06-01-ditching-cloudflare.org
@@ -77,7 +77,7 @@ the server hosting my various websites and apps.
However, as I was moving away from Cloudflare, I was not able to find a
suitable replacement that was both inexpensive and simple. So, I simply
-went back to hosting [[https://cleberg.net/blog/set-up-nginx-reverse-proxy/][my own
+went back to hosting [[https://cmc.pub/blog/set-up-nginx-reverse-proxy/][my own
reverse proxy with Nginx]]. With the recent additions of Unifi hardware
in my server/network rack, I am much more protected against spam and
malicious attacks at the network edge than I was before I switched to
diff --git a/content/blog/2022-10-04-syncthing.org b/content/blog/2022-10-04-syncthing.org
index 9211f50..9395540 100644
--- a/content/blog/2022-10-04-syncthing.org
+++ b/content/blog/2022-10-04-syncthing.org
@@ -95,7 +95,7 @@ add/modify connected devices.
Here's an example web GUI dashboard:
#+caption: Syncthing Dashboard
-[[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.png]]
+[[https://img.cmc.pub/blog/20221020-syncthing/syncthing_gui.png]]
** Remote Devices
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 698196a..27c39fb 100644
--- a/content/blog/2022-11-29-nginx-referrer-ban-list.org
+++ b/content/blog/2022-11-29-nginx-referrer-ban-list.org
@@ -101,7 +101,7 @@ In order to test the results, let's curl the contents of our site. To
start, I'll curl the site normally:
#+begin_src sh
-curl https://cleberg.net
+curl https://cmc.pub
#+end_src
The HTML contents of the page come back successfully:
@@ -113,7 +113,7 @@ The HTML contents of the page come back successfully:
Next, let's include a banned referrer:
#+begin_src sh
-curl --referer https://news.ycombinator.com https://cleberg.net
+curl --referer https://news.ycombinator.com https://cmc.pub
#+end_src
This time, I'm met with a 403 Forbidden response page. That means we are
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 e3811c6..d0f6cd2 100644
--- a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
+++ b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
@@ -56,7 +56,7 @@ and be sure you're on the "Console" tab. It should look something like
this (this is in Firefox, Chromium should be similar):
#+caption: Firefox Dev !Tools
-[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
+[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
All you need to do is paste the following snippet into the dev console.
This code will collect all unlike buttons (=elements=) and then click
@@ -88,7 +88,7 @@ the console, pressed Enter, and then the posts are automatically
unliked.
#+caption: Script !Results
-[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
+[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
Thinking about this further, I would bet that this would be fairly
simple to package into a browser add-on so that users could install the
diff --git a/content/blog/2023-06-23-byobu.org b/content/blog/2023-06-23-byobu.org
index 14ddff4..41d0223 100644
--- a/content/blog/2023-06-23-byobu.org
+++ b/content/blog/2023-06-23-byobu.org
@@ -19,7 +19,7 @@ Take a look below at my current multi-window set-up in byobu while I
write this blog post:
#+caption: byobu
-[[https://img.cleberg.net/blog/20230623-byobu/byobu.png]]
+[[https://img.cmc.pub/blog/20230623-byobu/byobu.png]]
*** Keybindings
diff --git a/content/blog/2023-06-23-self-hosting-convos.org b/content/blog/2023-06-23-self-hosting-convos.org
index 3d10520..dff8249 100644
--- a/content/blog/2023-06-23-self-hosting-convos.org
+++ b/content/blog/2023-06-23-self-hosting-convos.org
@@ -130,10 +130,10 @@ There are numerous themes to choose from; the theme shown in the images
below is Dracula.
#+caption: Convos Home
-[[https://img.cleberg.net/blog/20230623-convos/convos_home.png]]
+[[https://img.cmc.pub/blog/20230623-convos/convos_home.png]]
#+caption: Convos Chat
-[[https://img.cleberg.net/blog/20230623-convos/convos_chat.png]]
+[[https://img.cmc.pub/blog/20230623-convos/convos_chat.png]]
* Registering a Nickname
diff --git a/content/blog/2023-06-30-self-hosting-voyager.org b/content/blog/2023-06-30-self-hosting-voyager.org
index 7e66776..33baef9 100644
--- a/content/blog/2023-06-30-self-hosting-voyager.org
+++ b/content/blog/2023-06-30-self-hosting-voyager.org
@@ -120,4 +120,4 @@ sudo systemctl restart nginx.service
The site will now be available at the =server_name= you specified above!
You can visit my instance at
-[[https://voyager.cleberg.net][voyager.cleberg.net]] for an example.
+[[https://voyager.cmc.pub][voyager.cmc.pub]] for an example.
diff --git a/content/blog/2023-10-04-digital-minimalism.org b/content/blog/2023-10-04-digital-minimalism.org
index 798d3ff..ac4d4f5 100644
--- a/content/blog/2023-10-04-digital-minimalism.org
+++ b/content/blog/2023-10-04-digital-minimalism.org
@@ -3,7 +3,7 @@
#+description:
#+slug: digital-minimalism
-I've written [[https://cleberg.net/wiki/#digital-garden][a note about minimalism]]
+I've written [[https://cmc.pub/wiki/#digital-garden][a note about minimalism]]
before, but I wanted to dedicate some time to reflect on digital
minimalism and how I've been able to minimize the impact of digital
devices in my life.
diff --git a/content/blog/2023-10-11-self-hosting-authelia.org b/content/blog/2023-10-11-self-hosting-authelia.org
index 2b9a6b7..07628f8 100644
--- a/content/blog/2023-10-11-self-hosting-authelia.org
+++ b/content/blog/2023-10-11-self-hosting-authelia.org
@@ -441,11 +441,11 @@ When visiting the protected domain, you will now be redirected to your
authentication domain and presented with the Authelia login portal.
#+caption: Authelia Portal
-[[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.png]]
+[[https://img.cmc.pub/blog/20231010-authelia/authelia_portal.png]]
Once you've successfully authenticated, you can visit your
authentication domain directly and see that you're currently
authenticated to any domain protected by Authelia.
#+caption: Authelia Success
-[[https://img.cleberg.net/blog/20231010-authelia/authelia_success.png]]
+[[https://img.cmc.pub/blog/20231010-authelia/authelia_success.png]]
diff --git a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
index 3b9068b..6479fbf 100644
--- a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
+++ b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
@@ -6,7 +6,7 @@
* Overview
I recently launched an instance of AnonymousOverflow at
-[[https://ao.cleberg.net][ao.cleberg.net]] and wanted to write a brief
+[[https://ao.cmc.pub][ao.cmc.pub]] and wanted to write a brief
post on how easy it is to install with Docker Compose and Nginx.
This guide uses Ubuntu server, Docker Compose, and Nginx as a reverse
@@ -128,4 +128,4 @@ sudo systemctl restart nginx.service
#+end_src
The website will now be available publicly. Visit
-[[https://ao.cleberg.net][my instance]] for an example.
+[[https://ao.cmc.pub][my instance]] for an example.
diff --git a/content/blog/2024-01-27-tableau-dashboard.org b/content/blog/2024-01-27-tableau-dashboard.org
index f1efc36..cdeb7b9 100644
--- a/content/blog/2024-01-27-tableau-dashboard.org
+++ b/content/blog/2024-01-27-tableau-dashboard.org
@@ -11,7 +11,7 @@ them to create the dashboard below. You can view this dashboard interactively
online here: [[https://public.tableau.com/app/profile/c.c7042/viz/OmahaCrimeData2015-2023/OmahaCrimeData2015-2023#1][Omaha Crime Data (2015 - 2023)]].
#+caption: Tableau Dashboard
-[[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]]
+[[https://img.cmc.pub/blog/20240127-tableau-dashboard/dashboard.png]]
* Gather the Data
@@ -140,4 +140,4 @@ There's a ton of other options available to be used in a dashboard like this,
but this project shows a quick preview of what you can do in Tableau Public.
#+caption: Tableau Dashboard
-[[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]]
+[[https://img.cmc.pub/blog/20240127-tableau-dashboard/dashboard.png]]
diff --git a/content/blog/2024-03-13-doom-emacs.org b/content/blog/2024-03-13-doom-emacs.org
index d4f0c19..1b83488 100644
--- a/content/blog/2024-03-13-doom-emacs.org
+++ b/content/blog/2024-03-13-doom-emacs.org
@@ -12,10 +12,10 @@ and the help pane open at the bottomm.
The themes are =doom-homage-white= and =doom-homage-black=.
#+caption: Doom Emacs Light Mode
-[[https://img.cleberg.net/blog/20240314-doom-emacs/light.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/light.png]]
#+caption: Doom Emacs Dark Mode
-[[https://img.cleberg.net/blog/20240314-doom-emacs/dark.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/dark.png]]
** Getting Started
@@ -183,7 +183,7 @@ been slowly adoping some Python and general web dev tools as well.
*** Markdown
#+caption: Markdown Preview
-[[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/markdown.png]]
Markdown is fairly simple as the syntax is limited, so just make sure the
=~/.doom.d/init.el= includes the =markdown= declaration in the =:lang= section.
@@ -205,7 +205,7 @@ things like link hiding.
*** Org-Mode
#+caption: Org-Mode Preview
-[[https://img.cleberg.net/blog/20240314-doom-emacs/org.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/org.png]]
Similar to the markdown section above, ensure that the =~/.doom.d/init.el=
includes the =org= declaration in the =:lang= section.
@@ -269,10 +269,10 @@ list them all, so I will simply cover a few of the basic commands I use myself.
(setq org-publish-project-alist
`(("blog"
- :base-directory "~/Source/cleberg.net/"
+ :base-directory "~/Source/cmc.pub/"
:base-extension "org"
:recursive t
- :publishing-directory "~/Source/cleberg.net/public/"
+ :publishing-directory "~/Source/cmc.pub/public/"
:publishing-function org-html-publish-to-html
;; HTML5
:html-doctype "html5"
@@ -311,13 +311,13 @@ list them all, so I will simply cover a few of the basic commands I use myself.
)
("static"
- :base-directory "~/Source/cleberg.net/static/"
+ :base-directory "~/Source/cmc.pub/static/"
:base-extension "css\\|txt\\|jpg\\|gif\\|png"
:recursive t
- :publishing-directory "~/Source/cleberg.net/public/"
+ :publishing-directory "~/Source/cmc.pub/public/"
:publishing-function org-publish-attachment)
- ("cleberg.net" :components ("blog" "static"))))
+ ("cmc.pub" :components ("blog" "static"))))
#+end_src
** General Thoughts
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 64e7a6c..82cfc7a 100644
--- a/content/blog/2024-03-15-self-hosting-ddns-updater.org
+++ b/content/blog/2024-03-15-self-hosting-ddns-updater.org
@@ -4,7 +4,7 @@
#+slug: self-hosting-ddns-updater
#+caption: DDNS Updater Web View
-[[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.png]]
+[[https://img.cmc.pub/blog/20240315-ddns-updater/ddns.png]]
[[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple
DNS providers.
diff --git a/content/blog/2024-03-29-org-blog.org b/content/blog/2024-03-29-org-blog.org
index 5ae1a2b..6173231 100644
--- a/content/blog/2024-03-29-org-blog.org
+++ b/content/blog/2024-03-29-org-blog.org
@@ -8,7 +8,7 @@ feed duplicated itself when I moved this blog over to org-mode last night.
This post focuses specifically on the configuration and tools I use to blog from
Emacs with Org-Mode and does not focus on Emacs or Org-Mode themselves. Refer to
-the post I wrote about [[https://cleberg.net/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
+the post I wrote about [[https://cmc.pub/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
Emacs configuration.
* Weblorg
@@ -60,7 +60,7 @@ Now that I've installed weblorg, I need to configure the project. I'll start by
navigating to my site's source code and creating a =publish.el= file.
#+begin_src sh
-cd ~/Source/cleberg.net && nano publish.el
+cd ~/Source/cmc.pub && nano publish.el
#+end_src
Since I'm using Doom, Emacs will not automatically load the packages I need
@@ -80,13 +80,13 @@ explicitly tell Emacs where Doom stores the =htmlize=, =weblorg=, and
;; To build with the custom URL below, call:
;;;; ENV=prod emacs --script publish.el
(if (string= (getenv "ENV") "prod")
- (setq weblorg-default-url "https://cleberg.net"))
+ (setq weblorg-default-url "https://cmc.pub"))
;; site metadata
(weblorg-site
:theme nil
- :template-vars '(("site_name" . "cleberg.net")
- ("site_owner" . "hello@cleberg.net")
+ :template-vars '(("site_name" . "cmc.pub")
+ ("site_owner" . "hello@cmc.pub")
("site_description" . "Just a blip of ones and zeroes.")))
;; route for rendering the index page of the website
@@ -235,7 +235,7 @@ Within this script, I do the following:
#+begin_src sh
rm -rf .build/* && \
ENV=prod emacs--script publish.el && \
-scp -r .build/* ubuntu:/var/www/cleberg.net/
+scp -r .build/* ubuntu:/var/www/cmc.pub/
#+end_src
*** Time to Build
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 f551450..46679c9 100644
--- a/content/blog/2024-04-08-docker-local-web-server.org
+++ b/content/blog/2024-04-08-docker-local-web-server.org
@@ -33,7 +33,7 @@ Open the installer and follow the installation process until the application
finishes the installation process.
#+caption: Docker Desktop on macOS
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/docker-desktop.png]]
** Creating an Nginx Container
@@ -56,7 +56,7 @@ docker run -it --rm -d -p 8000:80 --name web nginx
You can navigate to [[http://localhost:8000]] to see the resulting page.
#+caption: Default Nginx Container
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/default-container.png]]
** Customizing the Nginx Container
@@ -76,7 +76,7 @@ To see the updates, you can delete the previous container in the GUI or run
=docker run= command below.
#+begin_src sh
-docker run -it -d -p 8000:80 --name web -v ~/Source/cleberg.net/.build:/usr/share/nginx/html -v ~/Source/cleberg.net/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
+docker run -it -d -p 8000:80 --name web -v ~/Source/cmc.pub/.build:/usr/share/nginx/html -v ~/Source/cmc.pub/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
#+end_src
Here's an example of my development configuration file.
@@ -84,14 +84,14 @@ Here's an example of my development configuration file.
#+begin_src conf
# nginx-config.conf
server {
- server_name cleberg.net www.cleberg.net;
+ server_name cmc.pub www.cmc.pub;
root /usr/share/nginx/html;
index index.html;
autoindex on;
- access_log /var/log/nginx/cleberg.net.access.log;
- error_log /var/log/nginx/cleberg.net.error.log;
+ access_log /var/log/nginx/cmc.pub.access.log;
+ error_log /var/log/nginx/cmc.pub.error.log;
location / {
try_files $uri $uri/ =404;
@@ -102,14 +102,14 @@ server {
}
#+end_src
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/custom-container.png]]
* Customizing Deployment Actions
I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to
build the static site. Within this file, I have configured my deployment process
to check for the =ENV= variable in thesh and if it's set to =prod=, the script
-will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs
+will set the base URLs to =https://cmc.pub=. If not, it sets the base URLs
to =localhost:8000= (which matches the port used in the container above).
Therefore, I have modified my =build.sh= script to build with =localhost= URLs
@@ -123,7 +123,7 @@ if [ "$ENV" == "prod" ]; then
echo "Environment = Production" && \
rm -rf .build/* && \
emacs --script publish.el && \
- scp -r .build/* ubuntu:/var/www/cleberg.net/
+ scp -r .build/* ubuntu:/var/www/cmc.pub/
else
echo "Environment = Development" && \
rm -rf .build/* && \
diff --git a/content/blog/2024-04-18-mu4e.org b/content/blog/2024-04-18-mu4e.org
index dadfc0b..3683f6e 100644
--- a/content/blog/2024-04-18-mu4e.org
+++ b/content/blog/2024-04-18-mu4e.org
@@ -159,9 +159,9 @@ auth on
host smtp.startmail.com
port 465
protocol smtp
-from hello@cleberg.net
-user hello@cleberg.net
-passwordeval security find-generic-password -s startmail -a hello@cleberg.net -w
+from hello@cmc.pub
+user hello@cmc.pub
+passwordeval security find-generic-password -s startmail -a hello@cmc.pub -w
tls on
tls_starttls off
@@ -300,4 +300,4 @@ The home page shows various options and metadata about the account you've
opened.
#+caption: Mu4e Home Page
-[[https://img.cleberg.net/blog/20240418-mu4e/mu4e.png]]
+[[https://img.cmc.pub/blog/20240418-mu4e/mu4e.png]]
diff --git a/content/blog/2024-05-03-ubuntu-on-macos.org b/content/blog/2024-05-03-ubuntu-on-macos.org
index e474a0d..5248c9b 100644
--- a/content/blog/2024-05-03-ubuntu-on-macos.org
+++ b/content/blog/2024-05-03-ubuntu-on-macos.org
@@ -32,7 +32,7 @@ Once installed, you can launch OrbStack and create a Linux machine in a matter
of seconds. The creation dialog defaults to Ubuntu.
#+caption: OrbStack's Linux Machine Creation Page
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/create.png]]
** Launching the Machine
@@ -62,7 +62,7 @@ In the example below, we can see that the machine is using =Linux ubuntu 6.9.6=
and operates similar to a fresh Ubuntu install on bare metal.
#+caption: Ubuntu CLI
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/cli.png]]
You can also click the machine's folder icon in OrbStack to open the machine's
file system within macOS's native Files app. Within Files, you can double-click
@@ -70,13 +70,13 @@ to open any files and they will open in the macOS defaults for those file types
(e.g., TextEdit).
#+caption: Ubuntu Files
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/files.png]]
Here's an example of opening the =test.md= file in the screenshot above, which
defaults to opening in Xcode on my system.
#+caption: Ubuntu Files
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/xcode.png]]
*** Test Examples
@@ -84,7 +84,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh=
shell, and ran a few common commands.
#+caption: Test Examples
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/test.png]]
** Thoughts
diff --git a/content/blog/2024-07-11-emacs-on-ipad.org b/content/blog/2024-07-11-emacs-on-ipad.org
index 662cac3..4922f48 100644
--- a/content/blog/2024-07-11-emacs-on-ipad.org
+++ b/content/blog/2024-07-11-emacs-on-ipad.org
@@ -15,7 +15,7 @@ I recommend [[https://apps.apple.com/us/app/ish-shell/id1436902243][iSH]], since
and will allow you to install packages that you need.
#+caption: iSH Application
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/ish.png]]
** Require Packages
@@ -28,7 +28,7 @@ apk add emacs ripgrep fd findutils
#+end_src
#+caption: Package !Installation
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/dependencies.png]]
** Emacs
@@ -40,7 +40,7 @@ incredibly slow and buggy that I was not even able to take screenshots. Someone
smarter than me could likely get it to work with a little tinkering.
#+caption: Emacs
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/emacs.png]]
*** MELPA
@@ -49,13 +49,13 @@ able to search through their 5700+ packages instead of just ELPA packages. If
you don't, you will only have access to ELPA packages like the ones below.
#+caption: package-install
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/melpa.png]]
Once you have MELPA, you can install packages like the =dashboard= package shown
below.
#+caption: emacs-dashboard
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/dashboard.png]]
*** Speed
diff --git a/content/blog/2024-08-11-org-mode-features.org b/content/blog/2024-08-11-org-mode-features.org
index c8b1e01..603d822 100644
--- a/content/blog/2024-08-11-org-mode-features.org
+++ b/content/blog/2024-08-11-org-mode-features.org
@@ -7,7 +7,7 @@
* Cycling (Folding)
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
#+end_quote
My absolute top-used feature is [[https://orgmode.org/manual/Global-and-local-cycling.html][global and local cycling]] and it's not even
@@ -55,7 +55,7 @@ at the top of the buffer:
* TODO Lists
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
#+end_quote
Next up on in this post are [[https://orgmode.org/manual/TODO-Items.html][TODO Lists]]. Being able to combine note taking and
@@ -106,7 +106,7 @@ that variable to alert me of tasks with iOS native notifications.
* Time Stamping
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
#+end_quote
Another great feature are the [[https://orgmode.org/manual/Dates-and-Times.html][dates and times]] functionalities within org-mode.
@@ -137,7 +137,7 @@ different options available when creating timestamps.
* Tags
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
#+end_quote
Next up are [[https://orgmode.org/manual/Tags.html][Tags]], which provide a way to document contexts within and across
@@ -162,7 +162,7 @@ m= and search for a tag of your choosing.
* Tables
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L162][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L162][View this section]] in org-mode.
#+end_quote
One of the most inconvenient parts of writing in Markdown was dealing with
@@ -232,7 +232,7 @@ on the second line.
* Source Code Blocks
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L232][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L232][View this section]] in org-mode.
#+end_quote
** Introduction to Source Code Blocks
@@ -302,7 +302,7 @@ results below the code block.
* Exporting and Publishing
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L302][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L302][View this section]] in org-mode.
#+end_quote
I would be remiss if I did not mention the native [[https://orgmode.org/manual/Exporting.html][exporting and publishing]]
@@ -336,7 +336,7 @@ external [[https://orgmode.org/tools.html][tools]], including [[https://orgmode.
* Agenda
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L336][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L336][View this section]] in org-mode.
#+end_quote
Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view
diff --git a/content/blog/2024-08-25-n8n-sentiment-analysis.org b/content/blog/2024-08-25-n8n-sentiment-analysis.org
index 194844e..d997e98 100644
--- a/content/blog/2024-08-25-n8n-sentiment-analysis.org
+++ b/content/blog/2024-08-25-n8n-sentiment-analysis.org
@@ -113,7 +113,7 @@ You can open the included workflow at
and create a new configuration.
#+caption: n8n Workflow
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/workflow.png]]
This workflow contains the following nodes:
1. Email Trigger (IMAP)
@@ -151,10 +151,10 @@ send yourself a test email!
After testing each step noted above, n8n provided the results below - it works!
#+caption: Positive Results
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/positive_results.png]]
#+caption: Negative Results
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/negative_results.png]]
While this isn't anything earth-shattering, it does show easy it is to get
started with n8n and large language models in a self-hosted environment.
diff --git a/content/blog/2024-09-20-prometheus-grafana-cloud.org b/content/blog/2024-09-20-prometheus-grafana-cloud.org
index 4eb05aa..c0e9603 100644
--- a/content/blog/2024-09-20-prometheus-grafana-cloud.org
+++ b/content/blog/2024-09-20-prometheus-grafana-cloud.org
@@ -277,7 +277,7 @@ and determine what Grafana should do when an alert is triggered.
** OnCall
#+caption: OnCall
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/oncall.png]]
Within the Alerts & IRM section of Grafana (=/alerts-and-incidents=), open the
Users page.
@@ -299,12 +299,12 @@ users and teams to be on call for specific date and time ranges. For my
purposes, I put myself on-call 24/7 so that I receive all alerts.
#+caption: User Information
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]]
** Alerting
#+caption: Alerting Insights
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]]
Now that we have defined users and team associated with an on-call schedule and
configured to receive the proper alerts, let's define a rule that will generate
@@ -323,13 +323,13 @@ evaluation group. This is connected to our Grafana email, but can be associated
with any notification policy.
#+caption: New Alert Rule
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/new_alert.png]]
When the alert fires, it will generate an email (or whatever notification policy
you assigned) and will look something like the following image.
#+caption: Alerting Example
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/email_alert.png]]
** Dashboards
@@ -337,13 +337,13 @@ As promised above, here are some dashboard screenshots based on the
configurations above.
#+caption: Nginx Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]]
#+caption: Node Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]]
#+caption: OnCall Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]]
#+caption: Prometheus Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]]
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 790d668..8aceca1 100644
--- a/content/blog/2024-10-31-continue-ollama-code-assistant.org
+++ b/content/blog/2024-10-31-continue-ollama-code-assistant.org
@@ -201,19 +201,19 @@ Continue:
Below are a few screenshots from my current VS Codium window:
#+caption: Available Continue Commands
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_commands.png]]
#+caption: Continue Fullscreen Chat Window
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]]
#+caption: Inline Hotkeys
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]]
#+caption: Inline Editing Suggestions
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_inline.png]]
#+caption: Sidebar Context Window
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]]
* Conclusion
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 b3dd943..2462b50 100644
--- a/content/blog/2024-12-27-self-hosting-the-lounge.org
+++ b/content/blog/2024-12-27-self-hosting-the-lounge.org
@@ -11,7 +11,7 @@ desirable features for a modern IRC client. The Lounge supports push
notifications, link previews, file uploads, always connected, multi-user
support, and is available as a PWA for mobile devices.
-I wanted to write this as I had written a post about [[https://cleberg.net/blog/self-hosting-convos.html][self-hosting Convos]] and
+I wanted to write this as I had written a post about [[https://cmc.pub/blog/self-hosting-convos.html][self-hosting Convos]] and
have recently migrated over to The Lounge instead.
If you'd like to try a demo first, head over to [[https://demo.thelounge.chat/][the official demo website]].
@@ -60,7 +60,7 @@ browsing from a different device. Don't forget to allow the port through your
machine's firewall, if you have one enabled.
#+caption: Login
-[[https://img.cleberg.net/blog/20241229-thelounge/login.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/login.png]]
** Nginx Reverse Proxy
@@ -155,10 +155,10 @@ bottom of the sidebar and connect to individual channels or users via the plus
(=+=) button next to your server's name in the sidebar.
#+caption: New Server Connection
-[[https://img.cleberg.net/blog/20241229-thelounge/new_connection.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/new_connection.png]]
#+caption: Existing Server Connection
-[[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/existing_connection.png]]
#+caption: Channel View
-[[https://img.cleberg.net/blog/20241229-thelounge/channel.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/channel.png]]
diff --git a/content/blog/2025-01-23-self-hosting-tandoor.org b/content/blog/2025-01-23-self-hosting-tandoor.org
index 985c3ca..db226bf 100644
--- a/content/blog/2025-01-23-self-hosting-tandoor.org
+++ b/content/blog/2025-01-23-self-hosting-tandoor.org
@@ -125,22 +125,22 @@ The app is now available on your custom domain!
** Screenshots
#+caption: Login
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/login.png]]
#+caption: Recipes
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/recipes.png]]
#+caption: Meal Plan
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/mealplan.png]]
#+caption: Shopping Lists
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/shopping.png]]
#+caption: Cook Book
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/cookbook.png]]
#+caption: Import
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/import.png]]
#+caption: Administration Panel
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/admin.png]]
diff --git a/content/blog/2025-02-11-obscura-vpn.org b/content/blog/2025-02-11-obscura-vpn.org
index afd2e7b..8134ba3 100644
--- a/content/blog/2025-02-11-obscura-vpn.org
+++ b/content/blog/2025-02-11-obscura-vpn.org
@@ -55,7 +55,7 @@ far as I can tell, there is no free tier available. In my opinion, this is a
good thing as I hesitate to understand how privacy-focused apps make money when
they offer free services to users.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/payment.png]]
#+caption: Payment
** Connection
@@ -64,10 +64,10 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will
return you to the app and allow you to connect. You can choose a specific server
location or automatically connect.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/connect.png]]
#+caption: Initial Connection
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/toolbar.png]]
#+caption: Toolbar Utility
** Speed
@@ -91,7 +91,7 @@ nodes before connecting to your target.
From the image below, we can see that Mullvad confirmed my traffic to be
connected through a Mullvad IP address.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/mullvad-check.png]]
#+caption: Mullvad Check
* Final Thoughts
diff --git a/content/blog/2025-02-24-email-migration.org b/content/blog/2025-02-24-email-migration.org
index b9cf3ff..b2eb93f 100644
--- a/content/blog/2025-02-24-email-migration.org
+++ b/content/blog/2025-02-24-email-migration.org
@@ -48,7 +48,7 @@ This led to a dead end as my two methods failed:
At this point, I decided to take a step back and use [[https://github.com/djcb/mu][mu]], a command-line utility
that would index my files and sync back and forth with Migadu for me.
-Using my blog post, [[https://cleberg.net/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
+Using my blog post, [[https://cmc.pub/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
mu4e parts) I was able to set up a minimal directory connected to my Migadu IMAP
account. Using my terminal, I simply moved all of my messages into the =mu=
directory and synchronized the account, and voila, my messages synchronized
diff --git a/content/index.org b/content/index.org
index d94d79b..cf6e3dc 100644
--- a/content/index.org
+++ b/content/index.org
@@ -1,2 +1,2 @@
-#+title: cleberg.net
+#+title: cmc.pub
#+description: Just a blip of ones and zeroes.
diff --git a/content/salary/index.org b/content/salary/index.org
index d8c7a12..845a420 100644
--- a/content/salary/index.org
+++ b/content/salary/index.org
@@ -46,7 +46,7 @@ raise while in the same role.
| Teaching Assistant | University of Nebraska | Lincoln, NE | 2017-08 | 2018-05 | $7/hour |
| Community Management Intern | Walgreens | Lincoln, NE | 2017-06 | 2018-02 | $14/hour |
-[[[https://cleberg.net/salary.csv][source data]]]
+[[[https://cmc.pub/salary.csv][source data]]]
** Salary Visualization
:PROPERTIES:
@@ -56,7 +56,7 @@ See the graph below for a visualization of each job's salary over time, as well
as percentage increases or decreases between jobs.
#+caption: Salary Visualization
-[[https://img.cleberg.net/blog/salary/salary.png]]
+[[https://img.cmc.pub/blog/salary/salary.png]]
This page was inspired by [[https://xeiaso.net/salary-transparency/][Xe]], and I'm quoting the following wording from them as
I want to reiterate this piece:
diff --git a/content/services/index.org b/content/services/index.org
index 57acc21..6a834f8 100644
--- a/content/services/index.org
+++ b/content/services/index.org
@@ -1,15 +1,14 @@
#+title: Services
#+slug: index
-- [[https://ao.cleberg.net/][AnonymousOverflow]] - A StackOverflow proxy
-- [[https://cyberchef.cleberg.net/][CyberChef]] - The Cyber Swiss Army Knife
-- [[https://files.cleberg.net/][FileArchive]] - An interesting file archive
-- [[https://paste.cleberg.net/][FlashPaper]] - One-time encrypted password/secret sharing
-- [[https://invidious.cleberg.net/][Invidious]] - A YouTube proxy
-- [[https://office.cleberg.net/][Office]] - The world's smallest office suite
-- [[https://org.cleberg.net/][Org-Live]] - A basic org-mode editor for the web I built
-- [[https://priviblur.cleberg.net][Priviblur]] - A privacy-focused alternative frontend to Tumblr
-- [[https://rimgo.cleberg.net/][Rimgo]] - An alternative frontend for Imgur
-- [[https://search.cleberg.net/][SearXNG]] - A privacy-respecting, open metasearch engine
+- [[https://ao.cmc.pub/][AnonymousOverflow]] - A StackOverflow proxy
+- [[https://cyberchef.cmc.pub/][CyberChef]] - The Cyber Swiss Army Knife
+- [[https://files.cmc.pub/][FileArchive]] - An interesting file archive
+- [[https://paste.cmc.pub/][FlashPaper]] - One-time encrypted password/secret sharing
+- [[https://office.cmc.pub/][Office]] - The world's smallest office suite
+- [[https://org.cmc.pub/][Org-Live]] - A basic org-mode editor for the web I built
+- [[https://priviblur.cmc.pub][Priviblur]] - A privacy-focused alternative frontend to Tumblr
+- [[https://rimgo.cmc.pub/][Rimgo]] - An alternative frontend for Imgur
+- [[https://search.cmc.pub/][SearXNG]] - A privacy-respecting, open metasearch engine
-See the [[https://git.sr.ht/~cyborg/cleberg.net/log/main/item/content/services/index.org][git log]] if you want to see changes that have been made.
+See the [[https://git.sr.ht/~cyborg/cmc.pub/log/main/item/content/services/index.org][git log]] if you want to see changes that have been made.
diff --git a/content/wiki/ios.org b/content/wiki/ios.org
index fefde17..f44fa66 100644
--- a/content/wiki/ios.org
+++ b/content/wiki/ios.org
@@ -3,7 +3,7 @@
Related:
-- [[https://cleberg.net/wiki/hardware.html][Hardware]]
+- [[https://cmc.pub/wiki/hardware.html][Hardware]]
My primary mobile OS. Currently running iOS 17. This wiki page contains most of
the apps I have used at one point or another across my different iPhones.
diff --git a/content/wiki/macos.org b/content/wiki/macos.org
index 566e68b..28d8a96 100644
--- a/content/wiki/macos.org
+++ b/content/wiki/macos.org
@@ -3,7 +3,7 @@
Related:
-- [[https://cleberg.net/wiki/hardware/][Hardware]]
+- [[https://cmc.pub/wiki/hardware/][Hardware]]
My primary OS. Currently running macOS Sonoma 14. This wiki page contains most
of the apps I have used at one point or another across my different Macbooks.
diff --git a/publish.el b/publish.el
index 1a3eacf..fa61e34 100644
--- a/publish.el
+++ b/publish.el
@@ -8,13 +8,13 @@
;; Set default URL for Weblorg
(if (string= (getenv "ENV") "prod")
- (setq weblorg-default-url "https://cleberg.net"))
+ (setq weblorg-default-url "https://cmc.pub"))
;; Define site configuration
(weblorg-site
:theme nil
- :template-vars `(("site_name" . "cleberg.net")
- ("site_owner" . "Christian Cleberg ")
+ :template-vars `(("site_name" . "cmc.pub")
+ ("site_owner" . "Christian Cleberg ")
("site_description" . "Just a blip of ones and zeroes.")))
;; Define routes for rendering content
diff --git a/theme/static/.well-known/security.txt b/theme/static/.well-known/security.txt
index 65d5ae7..3bc4639 100644
--- a/theme/static/.well-known/security.txt
+++ b/theme/static/.well-known/security.txt
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
-Contact: mailto:security@cleberg.net
+Contact: mailto:hello@cmc.pub
Expires: 2100-01-01T06:00:00.000Z
-Encryption: https://cleberg.net/gpg.txt
+Encryption: https://cmc.pub/gpg.txt
Preferred-Languages: en
-Canonical: https://cleberg.net/.well-known/security.txt
+Canonical: https://cmc.pub/.well-known/security.txt
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEOReXP7FZu7hhlFOFaUUaUXrAyzcFAmYkB9IACgkQaUUaUXrA
diff --git a/theme/static/gpg.txt b/theme/static/gpg.txt
index 93b642d..477c858 100644
--- a/theme/static/gpg.txt
+++ b/theme/static/gpg.txt
@@ -1,52 +1,25 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-0jZ4tA==
-=pl2G
+mDMEZ9CjJhYJKwYBBAHaRw8BAQdANl9s/8i2dlImJtTkHsOx/2RrAbc1V4zcrjJd
+EvpdYKK0IUNocmlzdGlhbiBDbGViZXJnIDxoZWxsb0BjbWMucHViPoiTBBMWCgA7
+FiEExocApvpLcYO2zuR97tyZXNFPGTwFAmfQoyYCGyMFCwkIBwICIgIGFQoJCAsC
+BBYCAwECHgcCF4AACgkQ7tyZXNFPGTyuIgEAlnx3gjFxc+61SLqJRih6cS3hQfiH
+3zhBQiF/EjZOv5MA/1w9iY6HquKJb+4VjFSvx8dI0iYLOmLnU+grIEVZHAIAiQIz
+BBABCAAdFiEEOReXP7FZu7hhlFOFaUUaUXrAyzcFAmfQpDsACgkQaUUaUXrAyzcH
+rxAAk3s5KEwbke95EDa15cfvQa0sRTO8kHlLy713Ypjw2F2sTUiW4TNWlbwHvz7f
+ZNfi65Ds2d9vj7qLFWEgWGNgcevRJQAIKpzHQe9pi2oBuFxxbwL8Ick07cDJ4eDz
+CTER+EF6EUZA30PxiKKvCgprAnmZYoDTEko3rpj7O04hijJM2I/ZUcEQf68doM4s
+bIhtDcCEkNSGvYHsP9XAh6f+NTwqD6WtqvOKnI0g2Ea59c/qggqquC5jx4KvCOa1
+NQnqbFC/DB+CADSkhwSkBv+z44B7T0n2+uRvXWx+zkFZqNYkw0i9o9evoXRCKq0x
+GgPeEtcaVuAm8fru1yyiRIUBHwQ8up3ySpyygn56DhxL8G+Vw1+3J7KC0yk8dYb3
+paYodraF27mulRJHm7DPd8JuT0OVOnKBLE/P/BGPYOq39kYTn2qzvXQzPQvfbkdR
+oH+PM31HUmYkYRjZxkVdsE1SpwkRXyFG1GLNEOz73bdes/Vc/sajG7qbZXNaJfwD
+gUfL1x2W1CkSKiiaTlWdKZtPB43wnN2KZqgJ5Kj1axqCTw3KFArg/pkjgxjRC+IK
+uKmWiP8sLWTDwTjnvITnVmXiwMkv6TLPmljsVGOLfDtrFVfB1iAn4hceEajPOhYh
+5iiJg6ZE+43NhqKQcgEqcyX3T/giVC528Ww3BJ5EHuLJn2i4OARn0KOpEgorBgEE
+AZdVAQUBAQdA7X3Gt9b5IobqDcudWMZdoPPkvpoomBkEdU+lK+KdqAQDAQgHiHgE
+GBYKACAWIQTGhwCm+ktxg7bO5H3u3Jlc0U8ZPAUCZ9CjqQIbDAAKCRDu3Jlc0U8Z
+PEUJAP4+NKbFgz+xYK7dnmYMmC5EpVaVQQenLrRQnPT/5G/AZgD/ZY+sXairfJlL
+HzMY8Xt1sB5k29myBFTDIhwq+Usm8go=
+=dq5B
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/theme/templates/base.html b/theme/templates/base.html
index bd0f011..b75c2bc 100644
--- a/theme/templates/base.html
+++ b/theme/templates/base.html
@@ -33,7 +33,7 @@
Last build: <{{ now() | strftime("%Y-%m-%d %a %H:%M:%S") }}>