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 --- 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 +- content/blog/2022-11-29-nginx-referrer-ban-list.org | 4 ++-- content/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 ++-- .../blog/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 +++++++++--------- content/blog/2024-03-15-self-hosting-ddns-updater.org | 2 +- content/blog/2024-03-29-org-blog.org | 12 ++++++------ content/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 +++--- content/blog/2024-09-20-prometheus-grafana-cloud.org | 18 +++++++++--------- .../blog/2024-10-31-continue-ollama-code-assistant.org | 10 +++++----- content/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 +- 35 files changed, 117 insertions(+), 117 deletions(-) (limited to 'content/blog') 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 -- cgit v1.2.3-70-g09d2