Commit 8503ce8867
Unsigned
Layout: unified · split
content/blog/2020-12-29-zork.org +2 −1
| @@ -32,6 +32,7 @@ as it was truly intended, you should try to play it without using the | |||
| 32 | map. | 32 | map. |
| 33 | 33 | ||
| 34 | #+caption: Zork Map | 34 | #+caption: Zork Map |
| 35 | #+attr_html: :alt A map for Zork, showing passageways, restrictions, and all locations. | ||
| 35 | [[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]] | 36 | [[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]] |
| 36 | 37 | ||
| 37 | /[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/ | 38 | /[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/ |
| @@ -42,7 +43,7 @@ After playing the game (for the first time ever) for several weeks around 2014, | |||
| 42 | I was finally able to beat the game with some online help to find the last | 43 | I was finally able to beat the game with some online help to find the last |
| 43 | couple items. As I was writing this post, I installed the game again to grab | 44 | couple items. As I was writing this post, I installed the game again to grab |
| 44 | some screenshots to show off the true glory of this game. As noted in [[https://www.filfre.net/2012/01/exploring-zork-part-1/][Jimmy | 45 | some screenshots to show off the true glory of this game. As noted in [[https://www.filfre.net/2012/01/exploring-zork-part-1/][Jimmy |
| 45 | Maher's playthrough]], the original Zork games looked quite a bit different due to | 46 | Maher's Playthrough]], the original Zork games looked quite a bit different due to |
| 46 | the older hardware of computers like the Apple II and multiple bug fixes that | 47 | the older hardware of computers like the Apple II and multiple bug fixes that |
| 47 | Infocom pushed out after the game's initial release. My play-through uses the | 48 | Infocom pushed out after the game's initial release. My play-through uses the |
| 48 | [[https://store.steampowered.com/app/570580/Zork_Anthology/][Zork Anthology]] version, which utilizes DOSBox on Windows. | 49 | [[https://store.steampowered.com/app/570580/Zork_Anthology/][Zork Anthology]] version, which utilizes DOSBox on Windows. |
content/blog/2021-03-28-vaporwave-vs-outrun.org +8 −2
| @@ -15,11 +15,13 @@ image search results for Vaporwave: the results include *a lot* of Outrun-themed | |||
| 15 | images. You'll find a similar trend almost everywhere. | 15 | images. You'll find a similar trend almost everywhere. |
| 16 | 16 | ||
| 17 | #+caption: Vaporwave Search Results | 17 | #+caption: Vaporwave Search Results |
| 18 | #+attr_html: :alt Search engine results for vaporwave, showing many outrun-related images. | ||
| 18 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.webp]] | 19 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.webp]] |
| 19 | 20 | ||
| 20 | * Vaporwave | 21 | * Vaporwave |
| 21 | 22 | ||
| 22 | #+caption: Macintosh Plus Album Cover | 23 | #+caption: Macintosh Plus Album Cover |
| 24 | #+attr_html: :alt Album cover of the Macintosh Plus album. | ||
| 23 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.webp]] | 25 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.webp]] |
| 24 | 26 | ||
| 25 | Okay, so what is Vaporwave? I'm going to just copy-and-paste some general info | 27 | Okay, so what is Vaporwave? I'm going to just copy-and-paste some general info |
| @@ -72,7 +74,8 @@ aesthetically-pleasing parts of that past is a large part of Vaporwave. | |||
| 72 | * Outrun | 74 | * Outrun |
| 73 | 75 | ||
| 74 | #+caption: Outrun | 76 | #+caption: Outrun |
| 75 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.webp]] | 77 | #+attr_html: :alt The classic outrun picture with digital hills and a grid leading to a far-away sunset. |
| 78 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.jpg]] | ||
| 76 | 79 | ||
| 77 | Now, let's get to Outrun. This one is a little trickier since the genre has | 80 | Now, let's get to Outrun. This one is a little trickier since the genre has |
| 78 | largely been lumped under the Vaporwave title for so long. However, it stems | 81 | largely been lumped under the Vaporwave title for so long. However, it stems |
| @@ -103,15 +106,18 @@ like. Take a look at a common video game discussed in Outrun circles, Far Cry 3: | |||
| 103 | Blood Dragon: | 106 | Blood Dragon: |
| 104 | 107 | ||
| 105 | #+caption: Fry Cry 3: Blood Dragon | 108 | #+caption: Fry Cry 3: Blood Dragon |
| 106 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.webp]] | 109 | #+attr_html: :alt The game cover for Far Cary 3: Blood Dragon, showing ninjas, lasers, dinosaurs, and cyborgs. |
| 110 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.jpg]] | ||
| 107 | 111 | ||
| 108 | Another example that doesn't force the color scheme as hard as some online art | 112 | Another example that doesn't force the color scheme as hard as some online art |
| 109 | does is Kung Fury: | 113 | does is Kung Fury: |
| 110 | 114 | ||
| 111 | #+caption: Kung Fury | 115 | #+caption: Kung Fury |
| 116 | #+attr_html: :alt The movie cover for Kung Fury, showing the proteagonist in a city at night with a moon. | ||
| 112 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.webp]] | 117 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.webp]] |
| 113 | 118 | ||
| 114 | #+caption: Kung Fury Hacker Scene | 119 | #+caption: Kung Fury Hacker Scene |
| 120 | #+attr_html: :alt The HACKERMAN scene from Kung Fury, showing a classic 1980's hacker in a computer room. | ||
| 115 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.webp]] | 121 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.webp]] |
| 116 | 122 | ||
| 117 | * Conclusion | 123 | * Conclusion |
content/blog/2022-03-02-reliable-notes.org +3
| @@ -37,6 +37,7 @@ For example, here's how TextEdit on macOS will open and display a Markdown file | |||
| 37 | in plain-text, since it does contain any features to preview Markdown as HTML: | 37 | in plain-text, since it does contain any features to preview Markdown as HTML: |
| 38 | 38 | ||
| 39 | #+caption: Plain Text Markdown | 39 | #+caption: Plain Text Markdown |
| 40 | #+attr_html: :alt A view of the README.md from the cleberg.net repository. | ||
| 40 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.webp]] | 41 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.webp]] |
| 41 | 42 | ||
| 42 | ** Saving & Syncing Files | 43 | ** Saving & Syncing Files |
| @@ -100,12 +101,14 @@ incredibly easy and straightforward. | |||
| 100 | Here's an example of how my Markdown notes look when opened in plain-text mode: | 101 | Here's an example of how my Markdown notes look when opened in plain-text mode: |
| 101 | 102 | ||
| 102 | #+caption: Obsidian Markdown Source Mode | 103 | #+caption: Obsidian Markdown Source Mode |
| 104 | #+attr_html: :alt Markdown source mode, showing the symbols used by markdown to markup text. | ||
| 103 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.webp]] | 105 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.webp]] |
| 104 | 106 | ||
| 105 | Here's the "live preview" version, where the Markdown is rendered into its HTML | 107 | Here's the "live preview" version, where the Markdown is rendered into its HTML |
| 106 | format: | 108 | format: |
| 107 | 109 | ||
| 108 | #+caption: Obsidian Markdown Live Preview | 110 | #+caption: Obsidian Markdown Live Preview |
| 111 | #+attr_html: :alt Markdown preview mode, hiding all symbols used in Markdown syntax. | ||
| 109 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.webp]] | 112 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.webp]] |
| 110 | 113 | ||
| 111 | *** Programming on Desktop | 114 | *** Programming on Desktop |
content/blog/2022-10-04-syncthing.org +1
| @@ -87,6 +87,7 @@ connected devices. | |||
| 87 | Here's an example web GUI dashboard: | 87 | Here's an example web GUI dashboard: |
| 88 | 88 | ||
| 89 | #+caption: Syncthing Dashboard | 89 | #+caption: Syncthing Dashboard |
| 90 | #+attr_html: :alt Syncthing web page on macOS, showing folders, device info, and remote devices. | ||
| 90 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.webp]] | 91 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.webp]] |
| 91 | 92 | ||
| 92 | ** Remote Devices | 93 | ** Remote Devices |
content/blog/2023-01-05-mass-unlike-tumblr-posts.org +5 −3
| @@ -55,7 +55,8 @@ Once you are logged in and the page is loaded, open the Developer Tools | |||
| 55 | and be sure you're on the "Console" tab. It should look something like | 55 | and be sure you're on the "Console" tab. It should look something like |
| 56 | this (this is in Firefox, Chromium should be similar): | 56 | this (this is in Firefox, Chromium should be similar): |
| 57 | 57 | ||
| 58 | #+caption: Firefox Dev !Tools | 58 | #+caption: Firefox Dev Tools |
| 59 | #+attr_html: :alt Firefox Dev Tools' Console tab will allow you to paste this command. | ||
| 59 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.webp]] | 60 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.webp]] |
| 60 | 61 | ||
| 61 | All you need to do is paste the following snippet into the dev console. | 62 | All you need to do is paste the following snippet into the dev console. |
| @@ -87,8 +88,9 @@ You can see the below screenshot showing that I pasted the snippet into | |||
| 87 | the console, pressed Enter, and then the posts are automatically | 88 | the console, pressed Enter, and then the posts are automatically |
| 88 | unliked. | 89 | unliked. |
| 89 | 90 | ||
| 90 | #+caption: Script !Results | 91 | #+caption: Script Results |
| 91 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.webp]] | 92 | #+attr_html: :alt The script will return "undefined" when run in the console. |
| 93 | [[https://img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.webp]] | ||
| 92 | 94 | ||
| 93 | Thinking about this further, I would bet that this would be fairly | 95 | Thinking about this further, I would bet that this would be fairly |
| 94 | simple to package into a browser add-on so that users could install the | 96 | simple to package into a browser add-on so that users could install the |
content/blog/2023-06-23-byobu.org +1
| @@ -19,6 +19,7 @@ Take a look below at my current multi-window set-up in byobu while I | |||
| 19 | write this blog post: | 19 | write this blog post: |
| 20 | 20 | ||
| 21 | #+caption: byobu | 21 | #+caption: byobu |
| 22 | #+attr_html: :alt The Byobu multiplexer with both nano and eww opened. | ||
| 22 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.webp]] | 23 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.webp]] |
| 23 | 24 | ||
| 24 | *** Keybindings | 25 | *** Keybindings |
content/blog/2023-06-23-self-hosting-convos.org +2
| @@ -130,9 +130,11 @@ There are numerous themes to choose from; the theme shown in the images | |||
| 130 | below is Dracula. | 130 | below is Dracula. |
| 131 | 131 | ||
| 132 | #+caption: Convos Home | 132 | #+caption: Convos Home |
| 133 | #+attr_html: :alt The Convos login page, requiring an email and password. | ||
| 133 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.webp]] | 134 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.webp]] |
| 134 | 135 | ||
| 135 | #+caption: Convos Chat | 136 | #+caption: Convos Chat |
| 137 | #+attr_html: :alt An example of the #org-mode channel on Libera.Chat. | ||
| 136 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.webp]] | 138 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.webp]] |
| 137 | 139 | ||
| 138 | * Registering a Nickname | 140 | * Registering a Nickname |
content/blog/2023-10-11-self-hosting-authelia.org +2
| @@ -441,6 +441,7 @@ When visiting the protected domain, you will now be redirected to your | |||
| 441 | authentication domain and presented with the Authelia login portal. | 441 | authentication domain and presented with the Authelia login portal. |
| 442 | 442 | ||
| 443 | #+caption: Authelia Portal | 443 | #+caption: Authelia Portal |
| 444 | #+attr_html: :alt A view of the Authelia login page, requiring a username and password. | ||
| 444 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.webp]] | 445 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.webp]] |
| 445 | 446 | ||
| 446 | Once you've successfully authenticated, you can visit your | 447 | Once you've successfully authenticated, you can visit your |
| @@ -448,4 +449,5 @@ authentication domain directly and see that you're currently | |||
| 448 | authenticated to any domain protected by Authelia. | 449 | authenticated to any domain protected by Authelia. |
| 449 | 450 | ||
| 450 | #+caption: Authelia Success | 451 | #+caption: Authelia Success |
| 452 | #+attr_html: :alt A view of the success page when succesfully authenticated. | ||
| 451 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_success.webp]] | 453 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_success.webp]] |
content/blog/2024-01-27-tableau-dashboard.org +2
| @@ -11,6 +11,7 @@ them to create the dashboard below. You can view this dashboard interactively | |||
| 11 | online here: [[https://public.tableau.com/app/profile/c.c7042/viz/OmahaCrimeData2015-2023/OmahaCrimeData2015-2023#1][Omaha Crime Data (2015 - 2023)]]. | 11 | online here: [[https://public.tableau.com/app/profile/c.c7042/viz/OmahaCrimeData2015-2023/OmahaCrimeData2015-2023#1][Omaha Crime Data (2015 - 2023)]]. |
| 12 | 12 | ||
| 13 | #+caption: Tableau Dashboard | 13 | #+caption: Tableau Dashboard |
| 14 | #+attr_html: :alt A Tableau dashboard showing a map of Omaha with a dot for each crime, a bar chart with totals per crime category, and a line chart showing a timeline of crime totals by month. | ||
| 14 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] | 15 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] |
| 15 | 16 | ||
| 16 | * Gather the Data | 17 | * Gather the Data |
| @@ -140,4 +141,5 @@ There's a ton of other options available to be used in a dashboard like this, | |||
| 140 | but this project shows a quick preview of what you can do in Tableau Public. | 141 | but this project shows a quick preview of what you can do in Tableau Public. |
| 141 | 142 | ||
| 142 | #+caption: Tableau Dashboard | 143 | #+caption: Tableau Dashboard |
| 144 | #+attr_html: :alt A Tableau dashboard showing a map of Omaha with a dot for each crime, a bar chart with totals per crime category, and a line chart showing a timeline of crime totals by month. | ||
| 143 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] | 145 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] |
content/blog/2024-03-13-doom-emacs.org +4
| @@ -12,9 +12,11 @@ and the help pane open at the bottomm. | |||
| 12 | The themes are =doom-homage-white= and =doom-homage-black=. | 12 | The themes are =doom-homage-white= and =doom-homage-black=. |
| 13 | 13 | ||
| 14 | #+caption: Doom Emacs Light Mode | 14 | #+caption: Doom Emacs Light Mode |
| 15 | #+attr_html: :alt An example of the doom-homage-white theme on the Doom dashboard. | ||
| 15 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.webp]] | 16 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.webp]] |
| 16 | 17 | ||
| 17 | #+caption: Doom Emacs Dark Mode | 18 | #+caption: Doom Emacs Dark Mode |
| 19 | #+attr_html: :alt An example of the doom-homage-black theme on the Doom dashboard. | ||
| 18 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.webp]] | 20 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.webp]] |
| 19 | 21 | ||
| 20 | ** Getting Started | 22 | ** Getting Started |
| @@ -183,6 +185,7 @@ been slowly adoping some Python and general web dev tools as well. | |||
| 183 | *** Markdown | 185 | *** Markdown |
| 184 | 186 | ||
| 185 | #+caption: Markdown Preview | 187 | #+caption: Markdown Preview |
| 188 | #+attr_html: :alt An editing buffer opened to a markdown file. | ||
| 186 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.webp]] | 189 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.webp]] |
| 187 | 190 | ||
| 188 | Markdown is fairly simple as the syntax is limited, so just make sure the | 191 | Markdown is fairly simple as the syntax is limited, so just make sure the |
| @@ -205,6 +208,7 @@ things like link hiding. | |||
| 205 | *** Org-Mode | 208 | *** Org-Mode |
| 206 | 209 | ||
| 207 | #+caption: Org-Mode Preview | 210 | #+caption: Org-Mode Preview |
| 211 | #+attr_html: :alt An editing buffer opened to an org-mode file. | ||
| 208 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.webp]] | 212 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.webp]] |
| 209 | 213 | ||
| 210 | Similar to the markdown section above, ensure that the =~/.doom.d/init.el= | 214 | Similar to the markdown section above, ensure that the =~/.doom.d/init.el= |
content/blog/2024-03-15-self-hosting-ddns-updater.org +1
| @@ -4,6 +4,7 @@ | |||
| 4 | #+slug: self-hosting-ddns-updater | 4 | #+slug: self-hosting-ddns-updater |
| 5 | 5 | ||
| 6 | #+caption: DDNS Updater Web View | 6 | #+caption: DDNS Updater Web View |
| 7 | #+attr_html: :alt An example of the DDNS Updater app running and showing that cleberg.net's IP has been updated on Cloudflare. | ||
| 7 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.webp]] | 8 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.webp]] |
| 8 | 9 | ||
| 9 | [[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple | 10 | [[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple |
content/blog/2024-04-08-docker-local-web-server.org +4
| @@ -33,6 +33,7 @@ Open the installer and follow the installation process until the application | |||
| 33 | finishes the installation process. | 33 | finishes the installation process. |
| 34 | 34 | ||
| 35 | #+caption: Docker Desktop on macOS | 35 | #+caption: Docker Desktop on macOS |
| 36 | #+attr_html: :alt The Containers home page of the Docker Desktop app on macOS. | ||
| 36 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.webp]] | 37 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.webp]] |
| 37 | 38 | ||
| 38 | ** Creating an Nginx Container | 39 | ** Creating an Nginx Container |
| @@ -56,6 +57,7 @@ docker run -it --rm -d -p 8000:80 --name web nginx | |||
| 56 | You can navigate to [[http://localhost:8000]] to see the resulting page. | 57 | You can navigate to [[http://localhost:8000]] to see the resulting page. |
| 57 | 58 | ||
| 58 | #+caption: Default Nginx Container | 59 | #+caption: Default Nginx Container |
| 60 | #+attr_html: :alt The generic "Welcome to nginx!" page viewable at localhost:8000. | ||
| 59 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.webp]] | 61 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.webp]] |
| 60 | 62 | ||
| 61 | ** Customizing the Nginx Container | 63 | ** Customizing the Nginx Container |
| @@ -102,6 +104,8 @@ server { | |||
| 102 | } | 104 | } |
| 103 | #+end_src | 105 | #+end_src |
| 104 | 106 | ||
| 107 | #+caption: Deploying My Website via Docker | ||
| 108 | #+attr_html: :alt A view of cleberg.net on the localhost, as the docker container is pointing to the cleberg.net repository directory. | ||
| 105 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.webp]] | 109 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.webp]] |
| 106 | 110 | ||
| 107 | * Customizing Deployment Actions | 111 | * Customizing Deployment Actions |
content/blog/2024-04-18-mu4e.org +1
| @@ -300,4 +300,5 @@ The home page shows various options and metadata about the account you've | |||
| 300 | opened. | 300 | opened. |
| 301 | 301 | ||
| 302 | #+caption: Mu4e Home Page | 302 | #+caption: Mu4e Home Page |
| 303 | #+attr_html: :alt The mu4e homepage within iTerm2, showing the basics, bookmarks, maildirs, and misc sections. | ||
| 303 | [[https://img.cleberg.net/blog/20240418-mu4e/mu4e.webp]] | 304 | [[https://img.cleberg.net/blog/20240418-mu4e/mu4e.webp]] |
content/blog/2024-05-03-ubuntu-on-macos.org +5
| @@ -32,6 +32,7 @@ Once installed, you can launch OrbStack and create a Linux machine in a matter | |||
| 32 | of seconds. The creation dialog defaults to Ubuntu. | 32 | of seconds. The creation dialog defaults to Ubuntu. |
| 33 | 33 | ||
| 34 | #+caption: OrbStack's Linux Machine Creation Page | 34 | #+caption: OrbStack's Linux Machine Creation Page |
| 35 | #+attr_html: :alt A popup within OrbStack to create a new machine with a custom name, distribution, version, and CPU type. | ||
| 35 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.webp]] | 36 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.webp]] |
| 36 | 37 | ||
| 37 | ** Launching the Machine | 38 | ** Launching the Machine |
| @@ -62,6 +63,7 @@ In the example below, we can see that the machine is using =Linux ubuntu 6.9.6= | |||
| 62 | and operates similar to a fresh Ubuntu install on bare metal. | 63 | and operates similar to a fresh Ubuntu install on bare metal. |
| 63 | 64 | ||
| 64 | #+caption: Ubuntu CLI | 65 | #+caption: Ubuntu CLI |
| 66 | #+attr_html: :alt An example of the Ubuntu CLI, running the "uname -a" command. | ||
| 65 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.webp]] | 67 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.webp]] |
| 66 | 68 | ||
| 67 | You can also click the machine's folder icon in OrbStack to open the machine's | 69 | You can also click the machine's folder icon in OrbStack to open the machine's |
| @@ -70,12 +72,14 @@ to open any files and they will open in the macOS defaults for those file types | |||
| 70 | (e.g., TextEdit). | 72 | (e.g., TextEdit). |
| 71 | 73 | ||
| 72 | #+caption: Ubuntu Files | 74 | #+caption: Ubuntu Files |
| 75 | #+attr_html: :alt The Ubuntu machine's files available within the macOS Files app. | ||
| 73 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.webp]] | 76 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.webp]] |
| 74 | 77 | ||
| 75 | Here's an example of opening the =test.md= file in the screenshot above, which | 78 | Here's an example of opening the =test.md= file in the screenshot above, which |
| 76 | defaults to opening in Xcode on my system. | 79 | defaults to opening in Xcode on my system. |
| 77 | 80 | ||
| 78 | #+caption: Ubuntu Files | 81 | #+caption: Ubuntu Files |
| 82 | #+attr_html: :alt An example of editing the test.md file in Xcode. | ||
| 79 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.webp]] | 83 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.webp]] |
| 80 | 84 | ||
| 81 | *** Test Examples | 85 | *** Test Examples |
| @@ -84,6 +88,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh= | |||
| 84 | shell, and ran a few common commands. | 88 | shell, and ran a few common commands. |
| 85 | 89 | ||
| 86 | #+caption: Test Examples | 90 | #+caption: Test Examples |
| 91 | #+attr_html: :alt An example of the date, pwd, and neofetch commands. | ||
| 87 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.webp]] | 92 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.webp]] |
| 88 | 93 | ||
| 89 | ** Thoughts | 94 | ** Thoughts |
content/blog/2024-07-11-emacs-on-ipad.org +5 −4
| @@ -13,6 +13,7 @@ I recommend [[https://apps.apple.com/us/app/ish-shell/id1436902243][iSH]], since | |||
| 13 | and will allow you to install packages that you need. | 13 | and will allow you to install packages that you need. |
| 14 | 14 | ||
| 15 | #+caption: iSH Application | 15 | #+caption: iSH Application |
| 16 | #+attr_html: :alt The iSH shell on iPad. | ||
| 16 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.webp]] | 17 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.webp]] |
| 17 | 18 | ||
| 18 | ** Require Packages | 19 | ** Require Packages |
| @@ -25,7 +26,8 @@ in my terminal as well. | |||
| 25 | apk add emacs ripgrep fd findutils | 26 | apk add emacs ripgrep fd findutils |
| 26 | #+end_src | 27 | #+end_src |
| 27 | 28 | ||
| 28 | #+caption: Package !Installation | 29 | #+caption: Package Installation |
| 30 | #+attr_html: :alt Showing command "apk add emacs ripgrep rf findutils" within iSH. | ||
| 29 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.webp]] | 31 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.webp]] |
| 30 | 32 | ||
| 31 | ** Emacs | 33 | ** Emacs |
| @@ -37,9 +39,6 @@ I attempted to also install Doom Emacs, which technically worked, but was so | |||
| 37 | incredibly slow and buggy that I was not even able to take screenshots. Someone | 39 | incredibly slow and buggy that I was not even able to take screenshots. Someone |
| 38 | smarter than me could likely get it to work with a little tinkering. | 40 | smarter than me could likely get it to work with a little tinkering. |
| 39 | 41 | ||
| 40 | #+caption: Emacs | ||
| 41 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.webp]] | ||
| 42 | |||
| 43 | *** MELPA | 42 | *** MELPA |
| 44 | 43 | ||
| 45 | You also have to remember to hook up MELPA yourself in the =.emacs= file to be | 44 | You also have to remember to hook up MELPA yourself in the =.emacs= file to be |
| @@ -47,12 +46,14 @@ able to search through their 5700+ packages instead of just ELPA packages. If | |||
| 47 | you don't, you will only have access to ELPA packages like the ones below. | 46 | you don't, you will only have access to ELPA packages like the ones below. |
| 48 | 47 | ||
| 49 | #+caption: package-install | 48 | #+caption: package-install |
| 49 | #+attr_html: :alt A full list of all packages available when searching MELPA. | ||
| 50 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.webp]] | 50 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.webp]] |
| 51 | 51 | ||
| 52 | Once you have MELPA, you can install packages like the =dashboard= package shown | 52 | Once you have MELPA, you can install packages like the =dashboard= package shown |
| 53 | below. | 53 | below. |
| 54 | 54 | ||
| 55 | #+caption: emacs-dashboard | 55 | #+caption: emacs-dashboard |
| 56 | #+attr_html: :alt An example of the emacs-dashboard package. | ||
| 56 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.webp]] | 57 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.webp]] |
| 57 | 58 | ||
| 58 | *** Speed | 59 | *** Speed |
content/blog/2024-08-25-n8n-sentiment-analysis.org +3
| @@ -112,6 +112,7 @@ You can open the included workflow at | |||
| 112 | and create a new configuration. | 112 | and create a new configuration. |
| 113 | 113 | ||
| 114 | #+caption: n8n Workflow | 114 | #+caption: n8n Workflow |
| 115 | #+attr_html: :alt A canvas view of the worklow, showing an email trigger, if statement, sentiment analysis via Ollama, and send email action. | ||
| 115 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.webp]] | 116 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.webp]] |
| 116 | 117 | ||
| 117 | This workflow contains the following nodes: | 118 | This workflow contains the following nodes: |
| @@ -150,9 +151,11 @@ send yourself a test email! | |||
| 150 | After testing each step noted above, n8n provided the results below - it works! | 151 | After testing each step noted above, n8n provided the results below - it works! |
| 151 | 152 | ||
| 152 | #+caption: Positive Results | 153 | #+caption: Positive Results |
| 154 | #+attr_html: :alt An example showing that n8n marked an email as "Positive". | ||
| 153 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.webp]] | 155 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.webp]] |
| 154 | 156 | ||
| 155 | #+caption: Negative Results | 157 | #+caption: Negative Results |
| 158 | #+attr_html: :alt An example showing that n8n marked an email as "Negative". | ||
| 156 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.webp]] | 159 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.webp]] |
| 157 | 160 | ||
| 158 | While this isn't anything earth-shattering, it does show easy it is to get | 161 | While this isn't anything earth-shattering, it does show easy it is to get |
content/blog/2024-09-20-prometheus-grafana-cloud.org +9
| @@ -276,6 +276,7 @@ and determine what Grafana should do when an alert is triggered. | |||
| 276 | ** OnCall | 276 | ** OnCall |
| 277 | 277 | ||
| 278 | #+caption: OnCall | 278 | #+caption: OnCall |
| 279 | #+attr_html: :alt View of the Grafana OnCall dashboard with metrics. | ||
| 279 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.webp]] | 280 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.webp]] |
| 280 | 281 | ||
| 281 | Within the Alerts & IRM section of Grafana (=/alerts-and-incidents=), open the | 282 | Within the Alerts & IRM section of Grafana (=/alerts-and-incidents=), open the |
| @@ -298,11 +299,13 @@ users and teams to be on call for specific date and time ranges. For my | |||
| 298 | purposes, I put myself on-call 24/7 so that I receive all alerts. | 299 | purposes, I put myself on-call 24/7 so that I receive all alerts. |
| 299 | 300 | ||
| 300 | #+caption: User Information | 301 | #+caption: User Information |
| 302 | #+attr_html: :alt View of the grafanafd88 user with notification preferences. | ||
| 301 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.webp]] | 303 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.webp]] |
| 302 | 304 | ||
| 303 | ** Alerting | 305 | ** Alerting |
| 304 | 306 | ||
| 305 | #+caption: Alerting Insights | 307 | #+caption: Alerting Insights |
| 308 | #+attr_html: :alt A dashboard with the current grafana-managed alert rules. | ||
| 306 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.webp]] | 309 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.webp]] |
| 307 | 310 | ||
| 308 | Now that we have defined users and team associated with an on-call schedule and | 311 | Now that we have defined users and team associated with an on-call schedule and |
| @@ -322,12 +325,14 @@ evaluation group. This is connected to our Grafana email, but can be associated | |||
| 322 | with any notification policy. | 325 | with any notification policy. |
| 323 | 326 | ||
| 324 | #+caption: New Alert Rule | 327 | #+caption: New Alert Rule |
| 328 | #+attr_html: :alt All available seetings when creating a new alert. | ||
| 325 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.webp]] | 329 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.webp]] |
| 326 | 330 | ||
| 327 | When the alert fires, it will generate an email (or whatever notification policy | 331 | When the alert fires, it will generate an email (or whatever notification policy |
| 328 | you assigned) and will look something like the following image. | 332 | you assigned) and will look something like the following image. |
| 329 | 333 | ||
| 330 | #+caption: Alerting Example | 334 | #+caption: Alerting Example |
| 335 | #+attr_html: :alt An email showing that "High CPU Temps" alert is firing. | ||
| 331 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.webp]] | 336 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.webp]] |
| 332 | 337 | ||
| 333 | ** Dashboards | 338 | ** Dashboards |
| @@ -336,13 +341,17 @@ As promised above, here are some dashboard screenshots based on the | |||
| 336 | configurations above. | 341 | configurations above. |
| 337 | 342 | ||
| 338 | #+caption: Nginx Dashboard | 343 | #+caption: Nginx Dashboard |
| 344 | #+attr_html: :alt Updated dashboard based on the new alert created above. | ||
| 339 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.webp]] | 345 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.webp]] |
| 340 | 346 | ||
| 341 | #+caption: Node Dashboard | 347 | #+caption: Node Dashboard |
| 348 | #+attr_html: :alt Metrics of server nodes, including CPU, network, and memory. | ||
| 342 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.webp]] | 349 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.webp]] |
| 343 | 350 | ||
| 344 | #+caption: OnCall Dashboard | 351 | #+caption: OnCall Dashboard |
| 352 | #+attr_html: :alt Full OnCall dashboard with metrics for alerts, mean time to respond, and more. | ||
| 345 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.webp]] | 353 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.webp]] |
| 346 | 354 | ||
| 347 | #+caption: Prometheus Dashboard | 355 | #+caption: Prometheus Dashboard |
| 356 | #+attr_html: :alt Dashboard showing Prometheus metrics, including scrape duration, head shunks, reload count, and more. | ||
| 348 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.webp]] | 357 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.webp]] |
content/blog/2024-10-31-continue-ollama-code-assistant.org +5
| @@ -200,18 +200,23 @@ Continue: | |||
| 200 | Below are a few screenshots from my current VS Codium window: | 200 | Below are a few screenshots from my current VS Codium window: |
| 201 | 201 | ||
| 202 | #+caption: Available Continue Commands | 202 | #+caption: Available Continue Commands |
| 203 | #+attr_html: :alt List of commands available from the Continue package. | ||
| 203 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.webp]] | 204 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.webp]] |
| 204 | 205 | ||
| 205 | #+caption: Continue Fullscreen Chat Window | 206 | #+caption: Continue Fullscreen Chat Window |
| 207 | #+attr_html: :alt Continue chat window in full screen mode. | ||
| 206 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.webp]] | 208 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.webp]] |
| 207 | 209 | ||
| 208 | #+caption: Inline Hotkeys | 210 | #+caption: Inline Hotkeys |
| 211 | #+attr_html: :alt View of the Add to chat (Cmd+L) and Edit highlighted code (Cmd+I) options when typing inline. | ||
| 209 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.webp]] | 212 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.webp]] |
| 210 | 213 | ||
| 211 | #+caption: Inline Editing Suggestions | 214 | #+caption: Inline Editing Suggestions |
| 215 | #+attr_html: :alt Highlighted red and green sections showing suggestions from the agent. | ||
| 212 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.webp]] | 216 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.webp]] |
| 213 | 217 | ||
| 214 | #+caption: Sidebar Context Window | 218 | #+caption: Sidebar Context Window |
| 219 | #+attr_html: :alt View of the sidebar context window open side-by-side with an edited file. | ||
| 215 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.webp]] | 220 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.webp]] |
| 216 | 221 | ||
| 217 | * Conclusion | 222 | * Conclusion |
content/blog/2024-12-27-self-hosting-the-lounge.org +4
| @@ -59,6 +59,7 @@ browsing from a different device. Don't forget to allow the port through your | |||
| 59 | machine's firewall, if you have one enabled. | 59 | machine's firewall, if you have one enabled. |
| 60 | 60 | ||
| 61 | #+caption: Login | 61 | #+caption: Login |
| 62 | #+attr_html: :alt The Lounge login page with username and password fields. | ||
| 62 | [[https://img.cleberg.net/blog/20241229-thelounge/login.webp]] | 63 | [[https://img.cleberg.net/blog/20241229-thelounge/login.webp]] |
| 63 | 64 | ||
| 64 | ** Nginx Reverse Proxy | 65 | ** Nginx Reverse Proxy |
| @@ -154,10 +155,13 @@ bottom of the sidebar and connect to individual channels or users via the plus | |||
| 154 | (=+=) button next to your server's name in the sidebar. | 155 | (=+=) button next to your server's name in the sidebar. |
| 155 | 156 | ||
| 156 | #+caption: New Server Connection | 157 | #+caption: New Server Connection |
| 158 | #+attr_html: :alt Settings for network, proxy, preferences, and authentication. | ||
| 157 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.webp]] | 159 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.webp]] |
| 158 | 160 | ||
| 159 | #+caption: Existing Server Connection | 161 | #+caption: Existing Server Connection |
| 162 | #+attr_html: :alt Libera.Chat server connection log and status. | ||
| 160 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.webp]] | 163 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.webp]] |
| 161 | 164 | ||
| 162 | #+caption: Channel View | 165 | #+caption: Channel View |
| 166 | #+attr_html: :alt View of the #emacs channel on Libera.Chat. | ||
| 163 | [[https://img.cleberg.net/blog/20241229-thelounge/channel.webp]] | 167 | [[https://img.cleberg.net/blog/20241229-thelounge/channel.webp]] |
content/blog/2025-01-23-self-hosting-tandoor.org +7
| @@ -124,22 +124,29 @@ The app is now available on your custom domain! | |||
| 124 | ** Screenshots | 124 | ** Screenshots |
| 125 | 125 | ||
| 126 | #+caption: Login | 126 | #+caption: Login |
| 127 | #+attr_html: :alt Tandoor login page. | ||
| 127 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.webp]] | 128 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.webp]] |
| 128 | 129 | ||
| 129 | #+caption: Recipes | 130 | #+caption: Recipes |
| 131 | #+attr_html: :alt Tandoor options to search for recipes. | ||
| 130 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.webp]] | 132 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.webp]] |
| 131 | 133 | ||
| 132 | #+caption: Meal Plan | 134 | #+caption: Meal Plan |
| 135 | #+attr_html: :alt Calendar view to define meal plans. | ||
| 133 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.webp]] | 136 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.webp]] |
| 134 | 137 | ||
| 135 | #+caption: Shopping Lists | 138 | #+caption: Shopping Lists |
| 139 | #+attr_html: :alt Page to create or search for shopping lists. | ||
| 136 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.webp]] | 140 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.webp]] |
| 137 | 141 | ||
| 138 | #+caption: Cook Book | 142 | #+caption: Cook Book |
| 143 | #+attr_html: :alt Page to create a visual-style cookbook. | ||
| 139 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.webp]] | 144 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.webp]] |
| 140 | 145 | ||
| 141 | #+caption: Import | 146 | #+caption: Import |
| 147 | #+attr_html: :alt Options to import recipes from other pages and auto-populate images, keywords, steps, and a description. | ||
| 142 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.webp]] | 148 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.webp]] |
| 143 | 149 | ||
| 144 | #+caption: Administration Panel | 150 | #+caption: Administration Panel |
| 151 | #+attr_html: :alt Django administration options for the web app. | ||
| 145 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.webp]] | 152 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.webp]] |
content/blog/2025-02-11-obscura-vpn.org +8 −4
| @@ -54,8 +54,9 @@ far as I can tell, there is no free tier available. In my opinion, this is a | |||
| 54 | good thing as I hesitate to understand how privacy-focused apps make money when | 54 | good thing as I hesitate to understand how privacy-focused apps make money when |
| 55 | they offer free services to users. | 55 | they offer free services to users. |
| 56 | 56 | ||
| 57 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.webp]] | ||
| 58 | #+caption: Payment | 57 | #+caption: Payment |
| 58 | #+attr_html: :alt Options to fund your Obscura account with credit card or lightning. | ||
| 59 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.webp]] | ||
| 59 | 60 | ||
| 60 | ** Connection | 61 | ** Connection |
| 61 | 62 | ||
| @@ -63,11 +64,13 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will | |||
| 63 | return you to the app and allow you to connect. You can choose a specific server | 64 | return you to the app and allow you to connect. You can choose a specific server |
| 64 | location or automatically connect. | 65 | location or automatically connect. |
| 65 | 66 | ||
| 66 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.webp]] | ||
| 67 | #+caption: Initial Connection | 67 | #+caption: Initial Connection |
| 68 | #+attr_html: :alt Obscura macOS app on the Connection screen. | ||
| 69 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.webp]] | ||
| 68 | 70 | ||
| 69 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.webp]] | ||
| 70 | #+caption: Toolbar Utility | 71 | #+caption: Toolbar Utility |
| 72 | #+attr_html: :alt The Obscura VPN menu bar app on macOS shows connection status, bandwidth status, and options to debug or quit. | ||
| 73 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.webp]] | ||
| 71 | 74 | ||
| 72 | ** Speed | 75 | ** Speed |
| 73 | 76 | ||
| @@ -90,8 +93,9 @@ nodes before connecting to your target. | |||
| 90 | From the image below, we can see that Mullvad confirmed my traffic to be | 93 | From the image below, we can see that Mullvad confirmed my traffic to be |
| 91 | connected through a Mullvad IP address. | 94 | connected through a Mullvad IP address. |
| 92 | 95 | ||
| 93 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.webp]] | ||
| 94 | #+caption: Mullvad Check | 96 | #+caption: Mullvad Check |
| 97 | #+attr_html: :alt The Mullvad connection check web page shows all "green" when on Obscura. | ||
| 98 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.webp]] | ||
| 95 | 99 | ||
| 96 | * Final Thoughts | 100 | * Final Thoughts |
| 97 | 101 | ||
content/blog/2025-05-02-asahi-linux.org +6
| @@ -17,6 +17,7 @@ are now supported. This is a great jump from the state it was at in 2022 - 2023 | |||
| 17 | when I last checked. | 17 | when I last checked. |
| 18 | 18 | ||
| 19 | #+caption: Asahi Linux Device Support | 19 | #+caption: Asahi Linux Device Support |
| 20 | #+attr_html: :alt Device support for Asahi Linux. | ||
| 20 | [[https://img.cleberg.net/blog/20250502-asahi-linux/device_support.webp]] | 21 | [[https://img.cleberg.net/blog/20250502-asahi-linux/device_support.webp]] |
| 21 | 22 | ||
| 22 | ** Installation | 23 | ** Installation |
| @@ -60,12 +61,14 @@ see I started using the WhiteSur theme as it provides a more comfortable layout | |||
| 60 | for macOS users. | 61 | for macOS users. |
| 61 | 62 | ||
| 62 | #+caption: KDE | 63 | #+caption: KDE |
| 64 | #+attr_html: :alt A screenshot of a terminal running fastfetch and emacs on Asahi Linux. | ||
| 63 | [[https://img.cleberg.net/blog/20250502-asahi-linux/kde.webp]] | 65 | [[https://img.cleberg.net/blog/20250502-asahi-linux/kde.webp]] |
| 64 | 66 | ||
| 65 | When diving into the system information panel, we can see that this machine is | 67 | When diving into the system information panel, we can see that this machine is |
| 66 | running Fedora Linux Asahi Remix 42 on an Apple M2 Pro laptop with 16GB of RAM. | 68 | running Fedora Linux Asahi Remix 42 on an Apple M2 Pro laptop with 16GB of RAM. |
| 67 | 69 | ||
| 68 | #+caption: System Information | 70 | #+caption: System Information |
| 71 | #+attr_html: :alt System information shows Fedora Linux Asahi Remix 42 with KDE 6.3.4. | ||
| 69 | [[https://img.cleberg.net/blog/20250502-asahi-linux/sysinfo.webp]] | 72 | [[https://img.cleberg.net/blog/20250502-asahi-linux/sysinfo.webp]] |
| 70 | 73 | ||
| 71 | As I noted above, the first thing I did after installing Asahi and taking a few | 74 | As I noted above, the first thing I did after installing Asahi and taking a few |
| @@ -77,6 +80,7 @@ color palette, as well as the Nothing theme that uses a dark black and red color | |||
| 77 | palette. | 80 | palette. |
| 78 | 81 | ||
| 79 | #+caption: Themes | 82 | #+caption: Themes |
| 83 | #+attr_html: :alt Themes available by default on Asahi. | ||
| 80 | [[https://img.cleberg.net/blog/20250502-asahi-linux/themes.webp]] | 84 | [[https://img.cleberg.net/blog/20250502-asahi-linux/themes.webp]] |
| 81 | 85 | ||
| 82 | One of the things I use my laptop for the most is consuming media (music, | 86 | One of the things I use my laptop for the most is consuming media (music, |
| @@ -92,6 +96,7 @@ capabilities like pausing media when you remove an AirPod from your ear. The | |||
| 92 | lack of these advanced features doesn't bother me, but some people may be. | 96 | lack of these advanced features doesn't bother me, but some people may be. |
| 93 | 97 | ||
| 94 | #+caption: Bluetooth | 98 | #+caption: Bluetooth |
| 99 | #+attr_html: :alt Bluetooth settings showing AirPods Pro support. | ||
| 95 | [[https://img.cleberg.net/blog/20250502-asahi-linux/bluetooth.webp]] | 100 | [[https://img.cleberg.net/blog/20250502-asahi-linux/bluetooth.webp]] |
| 96 | 101 | ||
| 97 | Next, I was able to connect my PS5 controller via USB-C and Asahi picked up the | 102 | Next, I was able to connect my PS5 controller via USB-C and Asahi picked up the |
| @@ -99,6 +104,7 @@ connect instantly in the settings menu. You can move the sticks and press all of | |||
| 99 | the buttons to see if they're recognized within this settings menu. | 104 | the buttons to see if they're recognized within this settings menu. |
| 100 | 105 | ||
| 101 | #+caption: Game Pad Settings | 106 | #+caption: Game Pad Settings |
| 107 | #+attr_html: :alt Gamepad settings showing PS5 input and button configurations. | ||
| 102 | [[https://img.cleberg.net/blog/20250502-asahi-linux/gamepad_settings.webp]] | 108 | [[https://img.cleberg.net/blog/20250502-asahi-linux/gamepad_settings.webp]] |
| 103 | 109 | ||
| 104 | I had a bit of an issue launching Steam the first time, as I was getting an AVC | 110 | I had a bit of an issue launching Steam the first time, as I was getting an AVC |
content/blog/2025-09-04-website-redesign.org +7 −3
| @@ -9,9 +9,13 @@ content below describes the beginning of this journey and where I think it may | |||
| 9 | take me next./ | 9 | take me next./ |
| 10 | #+end_quote | 10 | #+end_quote |
| 11 | 11 | ||
| 12 | | Old Theme | New Theme | | 12 | #+caption: The Old Theme |
| 13 | |-----------------------------------------------------------------------+----------------------------------------------------------------------| | 13 | #+attr_html: :alt A screenshot of the old theme for cleberg.net. |
| 14 | | https://img.cleberg.net/blog/20250905-human-website-design/before.webp | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | | 14 | https://img.cleberg.net/blog/20250905-human-website-design/before.webp |
| 15 | |||
| 16 | #+caption: The New Theme | ||
| 17 | #+attr_html: :alt A screenshot of the new theme for cleberg.net. | ||
| 18 | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | ||
| 15 | 19 | ||
| 16 | * Inspiration | 20 | * Inspiration |
| 17 | 21 | ||
content/blog/2025-09-25-minimalist-website-redesign.org +7 −3
| @@ -13,9 +13,13 @@ terminal-styled theme to a more natural paper-inspired theme. However, it left a | |||
| 13 | nagging feeling that something was missing. What if I took it further? Was there | 13 | nagging feeling that something was missing. What if I took it further? Was there |
| 14 | really any reason that I had any of that CSS at all? | 14 | really any reason that I had any of that CSS at all? |
| 15 | 15 | ||
| 16 | | Old Theme | New Theme | | 16 | #+caption: Old Theme |
| 17 | |-----------------------------------------------------------------------+---------------------------------------------------------------------| | 17 | #+attr_html: :alt A screenshot of the old theme for cleberg.net. |
| 18 | | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | https://img.cleberg.net/blog/20250925-minimalist-website-redesign/minimal.webp | | 18 | https://img.cleberg.net/blog/20250905-human-website-design/after.webp |
| 19 | |||
| 20 | #+caption: New Theme | ||
| 21 | #+attr_html: :alt A screenshot of the new theme for cleberg.net. | ||
| 22 | https://img.cleberg.net/blog/20250925-minimalist-website-redesign/minimal.webp | ||
| 19 | 23 | ||
| 20 | * Inspiration | 24 | * Inspiration |
| 21 | 25 | ||
content/blog/2025-10-06-rocket-league-macos.org +6
| @@ -4,6 +4,7 @@ | |||
| 4 | #+slug: rocket-league-macos | 4 | #+slug: rocket-league-macos |
| 5 | 5 | ||
| 6 | #+caption: Rocket League on macOS | 6 | #+caption: Rocket League on macOS |
| 7 | #+attr_html: :alt The Rocket League launch screen on macOS. | ||
| 7 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/launch.webp]] | 8 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/launch.webp]] |
| 8 | 9 | ||
| 9 | * Intro | 10 | * Intro |
| @@ -35,15 +36,18 @@ When the installer finishes, you’ll see a bottle (a sandboxed Windows | |||
| 35 | environment) like the one below: | 36 | environment) like the one below: |
| 36 | 37 | ||
| 37 | #+caption: Epic Games Store Bottle | 38 | #+caption: Epic Games Store Bottle |
| 39 | #+attr_html: :alt The Epic Games Store bottle within CrossOver. | ||
| 38 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/bottle.webp]] | 40 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/bottle.webp]] |
| 39 | 41 | ||
| 40 | You can now launch the Epic application. Epic will update itself and then | 42 | You can now launch the Epic application. Epic will update itself and then |
| 41 | present the login screen: | 43 | present the login screen: |
| 42 | 44 | ||
| 43 | #+caption: Epic Updater | 45 | #+caption: Epic Updater |
| 46 | #+attr_html: :alt The progress bar for updating the Epic Games Store bottle. | ||
| 44 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/updater.webp]] | 47 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/updater.webp]] |
| 45 | 48 | ||
| 46 | #+caption: Epic Login | 49 | #+caption: Epic Login |
| 50 | #+attr_html: :alt The Epic Login page. | ||
| 47 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/login.webp]] | 51 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/login.webp]] |
| 48 | 52 | ||
| 49 | * Install Rocket League | 53 | * Install Rocket League |
| @@ -61,9 +65,11 @@ Take a look at the screenshots I was able to capture while playing on my M2 | |||
| 61 | MacBook Pro with a PS5 Dualsense Edge controller: | 65 | MacBook Pro with a PS5 Dualsense Edge controller: |
| 62 | 66 | ||
| 63 | #+caption: Main Menu | 67 | #+caption: Main Menu |
| 68 | #+attr_html: :alt The Rocket Leageu main menu. | ||
| 64 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/menu.webp]] | 69 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/menu.webp]] |
| 65 | 70 | ||
| 66 | #+caption: In-Game | 71 | #+caption: In-Game |
| 72 | #+attr_html: :alt A screenshot of a replay within a Rocket League match. | ||
| 67 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/game.webp]] | 73 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/game.webp]] |
| 68 | 74 | ||
| 69 | * Tips & Troubleshooting | 75 | * Tips & Troubleshooting |
content/blog/2025-10-24-digital-garden.org +2
| @@ -12,9 +12,11 @@ The first is a website ([[https://avas.space][ava's space]]) and the second is a | |||
| 12 | notes, using [[https://www.orgroam.com/][org-roam]]. | 12 | notes, using [[https://www.orgroam.com/][org-roam]]. |
| 13 | 13 | ||
| 14 | #+caption: avas.space | 14 | #+caption: avas.space |
| 15 | #+attr_html: :alt Ava's Space, a digital garden and website by Ava. | ||
| 15 | [[https://img.cleberg.net/blog/20251024-digital-garden/ava.webp]] | 16 | [[https://img.cleberg.net/blog/20251024-digital-garden/ava.webp]] |
| 16 | 17 | ||
| 17 | #+caption: Org Roam | 18 | #+caption: Org Roam |
| 19 | #+attr_html: :alt A screenshot of an org-roam digital garden and collection of note files. | ||
| 18 | [[https://img.cleberg.net/blog/20251024-digital-garden/orgroam.webp]] | 20 | [[https://img.cleberg.net/blog/20251024-digital-garden/orgroam.webp]] |
| 19 | 21 | ||
| 20 | A digital garden is a personal space, just for you. It could serve any number of | 22 | A digital garden is a personal space, just for you. It could serve any number of |