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 | 32 | map. |
| 33 | 33 | |
| 34 | 34 | #+caption: Zork Map |
| 35 | #+attr_html: :alt A map for Zork, showing passageways, restrictions, and all locations. | |
| 35 | 36 | [[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]] |
| 36 | 37 | |
| 37 | 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 | 43 | I was finally able to beat the game with some online help to find the last |
| 43 | 44 | couple items. As I was writing this post, I installed the game again to grab |
| 44 | 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 | 47 | the older hardware of computers like the Apple II and multiple bug fixes that |
| 47 | 48 | Infocom pushed out after the game's initial release. My play-through uses the |
| 48 | 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 | 15 | images. You'll find a similar trend almost everywhere. |
| 16 | 16 | |
| 17 | 17 | #+caption: Vaporwave Search Results |
| 18 | #+attr_html: :alt Search engine results for vaporwave, showing many outrun-related images. | |
| 18 | 19 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.webp]] |
| 19 | 20 | |
| 20 | 21 | * Vaporwave |
| 21 | 22 | |
| 22 | 23 | #+caption: Macintosh Plus Album Cover |
| 24 | #+attr_html: :alt Album cover of the Macintosh Plus album. | |
| 23 | 25 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.webp]] |
| 24 | 26 | |
| 25 | 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 | 74 | * Outrun |
| 73 | 75 | |
| 74 | 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 | 80 | Now, let's get to Outrun. This one is a little trickier since the genre has |
| 78 | 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 | 106 | Blood Dragon: |
| 104 | 107 | |
| 105 | 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 | 112 | Another example that doesn't force the color scheme as hard as some online art |
| 109 | 113 | does is Kung Fury: |
| 110 | 114 | |
| 111 | 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 | 117 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.webp]] |
| 113 | 118 | |
| 114 | 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 | 121 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.webp]] |
| 116 | 122 | |
| 117 | 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 | 37 | in plain-text, since it does contain any features to preview Markdown as HTML: |
| 38 | 38 | |
| 39 | 39 | #+caption: Plain Text Markdown |
| 40 | #+attr_html: :alt A view of the README.md from the cleberg.net repository. | |
| 40 | 41 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.webp]] |
| 41 | 42 | |
| 42 | 43 | ** Saving & Syncing Files |
| @@ -100,12 +101,14 @@ incredibly easy and straightforward. | ||
| 100 | 101 | Here's an example of how my Markdown notes look when opened in plain-text mode: |
| 101 | 102 | |
| 102 | 103 | #+caption: Obsidian Markdown Source Mode |
| 104 | #+attr_html: :alt Markdown source mode, showing the symbols used by markdown to markup text. | |
| 103 | 105 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.webp]] |
| 104 | 106 | |
| 105 | 107 | Here's the "live preview" version, where the Markdown is rendered into its HTML |
| 106 | 108 | format: |
| 107 | 109 | |
| 108 | 110 | #+caption: Obsidian Markdown Live Preview |
| 111 | #+attr_html: :alt Markdown preview mode, hiding all symbols used in Markdown syntax. | |
| 109 | 112 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.webp]] |
| 110 | 113 | |
| 111 | 114 | *** Programming on Desktop |
content/blog/2022-10-04-syncthing.org +1
| @@ -87,6 +87,7 @@ connected devices. | ||
| 87 | 87 | Here's an example web GUI dashboard: |
| 88 | 88 | |
| 89 | 89 | #+caption: Syncthing Dashboard |
| 90 | #+attr_html: :alt Syncthing web page on macOS, showing folders, device info, and remote devices. | |
| 90 | 91 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.webp]] |
| 91 | 92 | |
| 92 | 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 | 55 | and be sure you're on the "Console" tab. It should look something like |
| 56 | 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 | 60 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.webp]] |
| 60 | 61 | |
| 61 | 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 | 88 | the console, pressed Enter, and then the posts are automatically |
| 88 | 89 | unliked. |
| 89 | 90 | |
| 90 | #+caption: Script !Results | |
| 91 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.webp]] | |
| 91 | #+caption: Script Results | |
| 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 | 95 | Thinking about this further, I would bet that this would be fairly |
| 94 | 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 | 19 | write this blog post: |
| 20 | 20 | |
| 21 | 21 | #+caption: byobu |
| 22 | #+attr_html: :alt The Byobu multiplexer with both nano and eww opened. | |
| 22 | 23 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.webp]] |
| 23 | 24 | |
| 24 | 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 | 130 | below is Dracula. |
| 131 | 131 | |
| 132 | 132 | #+caption: Convos Home |
| 133 | #+attr_html: :alt The Convos login page, requiring an email and password. | |
| 133 | 134 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.webp]] |
| 134 | 135 | |
| 135 | 136 | #+caption: Convos Chat |
| 137 | #+attr_html: :alt An example of the #org-mode channel on Libera.Chat. | |
| 136 | 138 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.webp]] |
| 137 | 139 | |
| 138 | 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 | 441 | authentication domain and presented with the Authelia login portal. |
| 442 | 442 | |
| 443 | 443 | #+caption: Authelia Portal |
| 444 | #+attr_html: :alt A view of the Authelia login page, requiring a username and password. | |
| 444 | 445 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.webp]] |
| 445 | 446 | |
| 446 | 447 | Once you've successfully authenticated, you can visit your |
| @@ -448,4 +449,5 @@ authentication domain directly and see that you're currently | ||
| 448 | 449 | authenticated to any domain protected by Authelia. |
| 449 | 450 | |
| 450 | 451 | #+caption: Authelia Success |
| 452 | #+attr_html: :alt A view of the success page when succesfully authenticated. | |
| 451 | 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 | 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 | 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 | 15 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] |
| 15 | 16 | |
| 16 | 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 | 141 | but this project shows a quick preview of what you can do in Tableau Public. |
| 141 | 142 | |
| 142 | 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 | 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 | 12 | The themes are =doom-homage-white= and =doom-homage-black=. |
| 13 | 13 | |
| 14 | 14 | #+caption: Doom Emacs Light Mode |
| 15 | #+attr_html: :alt An example of the doom-homage-white theme on the Doom dashboard. | |
| 15 | 16 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.webp]] |
| 16 | 17 | |
| 17 | 18 | #+caption: Doom Emacs Dark Mode |
| 19 | #+attr_html: :alt An example of the doom-homage-black theme on the Doom dashboard. | |
| 18 | 20 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.webp]] |
| 19 | 21 | |
| 20 | 22 | ** Getting Started |
| @@ -183,6 +185,7 @@ been slowly adoping some Python and general web dev tools as well. | ||
| 183 | 185 | *** Markdown |
| 184 | 186 | |
| 185 | 187 | #+caption: Markdown Preview |
| 188 | #+attr_html: :alt An editing buffer opened to a markdown file. | |
| 186 | 189 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.webp]] |
| 187 | 190 | |
| 188 | 191 | Markdown is fairly simple as the syntax is limited, so just make sure the |
| @@ -205,6 +208,7 @@ things like link hiding. | ||
| 205 | 208 | *** Org-Mode |
| 206 | 209 | |
| 207 | 210 | #+caption: Org-Mode Preview |
| 211 | #+attr_html: :alt An editing buffer opened to an org-mode file. | |
| 208 | 212 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.webp]] |
| 209 | 213 | |
| 210 | 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 | 4 | #+slug: self-hosting-ddns-updater |
| 5 | 5 | |
| 6 | 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 | 8 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.webp]] |
| 8 | 9 | |
| 9 | 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 | 33 | finishes the installation process. |
| 34 | 34 | |
| 35 | 35 | #+caption: Docker Desktop on macOS |
| 36 | #+attr_html: :alt The Containers home page of the Docker Desktop app on macOS. | |
| 36 | 37 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.webp]] |
| 37 | 38 | |
| 38 | 39 | ** Creating an Nginx Container |
| @@ -56,6 +57,7 @@ docker run -it --rm -d -p 8000:80 --name web nginx | ||
| 56 | 57 | You can navigate to [[http://localhost:8000]] to see the resulting page. |
| 57 | 58 | |
| 58 | 59 | #+caption: Default Nginx Container |
| 60 | #+attr_html: :alt The generic "Welcome to nginx!" page viewable at localhost:8000. | |
| 59 | 61 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.webp]] |
| 60 | 62 | |
| 61 | 63 | ** Customizing the Nginx Container |
| @@ -102,6 +104,8 @@ server { | ||
| 102 | 104 | } |
| 103 | 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 | 109 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.webp]] |
| 106 | 110 | |
| 107 | 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 | 300 | opened. |
| 301 | 301 | |
| 302 | 302 | #+caption: Mu4e Home Page |
| 303 | #+attr_html: :alt The mu4e homepage within iTerm2, showing the basics, bookmarks, maildirs, and misc sections. | |
| 303 | 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 | 32 | of seconds. The creation dialog defaults to Ubuntu. |
| 33 | 33 | |
| 34 | 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 | 36 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.webp]] |
| 36 | 37 | |
| 37 | 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 | 63 | and operates similar to a fresh Ubuntu install on bare metal. |
| 63 | 64 | |
| 64 | 65 | #+caption: Ubuntu CLI |
| 66 | #+attr_html: :alt An example of the Ubuntu CLI, running the "uname -a" command. | |
| 65 | 67 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.webp]] |
| 66 | 68 | |
| 67 | 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 | 72 | (e.g., TextEdit). |
| 71 | 73 | |
| 72 | 74 | #+caption: Ubuntu Files |
| 75 | #+attr_html: :alt The Ubuntu machine's files available within the macOS Files app. | |
| 73 | 76 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.webp]] |
| 74 | 77 | |
| 75 | 78 | Here's an example of opening the =test.md= file in the screenshot above, which |
| 76 | 79 | defaults to opening in Xcode on my system. |
| 77 | 80 | |
| 78 | 81 | #+caption: Ubuntu Files |
| 82 | #+attr_html: :alt An example of editing the test.md file in Xcode. | |
| 79 | 83 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.webp]] |
| 80 | 84 | |
| 81 | 85 | *** Test Examples |
| @@ -84,6 +88,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh= | ||
| 84 | 88 | shell, and ran a few common commands. |
| 85 | 89 | |
| 86 | 90 | #+caption: Test Examples |
| 91 | #+attr_html: :alt An example of the date, pwd, and neofetch commands. | |
| 87 | 92 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.webp]] |
| 88 | 93 | |
| 89 | 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 | 13 | and will allow you to install packages that you need. |
| 14 | 14 | |
| 15 | 15 | #+caption: iSH Application |
| 16 | #+attr_html: :alt The iSH shell on iPad. | |
| 16 | 17 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.webp]] |
| 17 | 18 | |
| 18 | 19 | ** Require Packages |
| @@ -25,7 +26,8 @@ in my terminal as well. | ||
| 25 | 26 | apk add emacs ripgrep fd findutils |
| 26 | 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 | 31 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.webp]] |
| 30 | 32 | |
| 31 | 33 | ** Emacs |
| @@ -37,9 +39,6 @@ I attempted to also install Doom Emacs, which technically worked, but was so | ||
| 37 | 39 | incredibly slow and buggy that I was not even able to take screenshots. Someone |
| 38 | 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 | 42 | *** MELPA |
| 44 | 43 | |
| 45 | 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 | 46 | you don't, you will only have access to ELPA packages like the ones below. |
| 48 | 47 | |
| 49 | 48 | #+caption: package-install |
| 49 | #+attr_html: :alt A full list of all packages available when searching MELPA. | |
| 50 | 50 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.webp]] |
| 51 | 51 | |
| 52 | 52 | Once you have MELPA, you can install packages like the =dashboard= package shown |
| 53 | 53 | below. |
| 54 | 54 | |
| 55 | 55 | #+caption: emacs-dashboard |
| 56 | #+attr_html: :alt An example of the emacs-dashboard package. | |
| 56 | 57 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.webp]] |
| 57 | 58 | |
| 58 | 59 | *** Speed |
content/blog/2024-08-25-n8n-sentiment-analysis.org +3
| @@ -112,6 +112,7 @@ You can open the included workflow at | ||
| 112 | 112 | and create a new configuration. |
| 113 | 113 | |
| 114 | 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 | 116 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.webp]] |
| 116 | 117 | |
| 117 | 118 | This workflow contains the following nodes: |
| @@ -150,9 +151,11 @@ send yourself a test email! | ||
| 150 | 151 | After testing each step noted above, n8n provided the results below - it works! |
| 151 | 152 | |
| 152 | 153 | #+caption: Positive Results |
| 154 | #+attr_html: :alt An example showing that n8n marked an email as "Positive". | |
| 153 | 155 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.webp]] |
| 154 | 156 | |
| 155 | 157 | #+caption: Negative Results |
| 158 | #+attr_html: :alt An example showing that n8n marked an email as "Negative". | |
| 156 | 159 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.webp]] |
| 157 | 160 | |
| 158 | 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 | 276 | ** OnCall |
| 277 | 277 | |
| 278 | 278 | #+caption: OnCall |
| 279 | #+attr_html: :alt View of the Grafana OnCall dashboard with metrics. | |
| 279 | 280 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.webp]] |
| 280 | 281 | |
| 281 | 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 | 299 | purposes, I put myself on-call 24/7 so that I receive all alerts. |
| 299 | 300 | |
| 300 | 301 | #+caption: User Information |
| 302 | #+attr_html: :alt View of the grafanafd88 user with notification preferences. | |
| 301 | 303 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.webp]] |
| 302 | 304 | |
| 303 | 305 | ** Alerting |
| 304 | 306 | |
| 305 | 307 | #+caption: Alerting Insights |
| 308 | #+attr_html: :alt A dashboard with the current grafana-managed alert rules. | |
| 306 | 309 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.webp]] |
| 307 | 310 | |
| 308 | 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 | 325 | with any notification policy. |
| 323 | 326 | |
| 324 | 327 | #+caption: New Alert Rule |
| 328 | #+attr_html: :alt All available seetings when creating a new alert. | |
| 325 | 329 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.webp]] |
| 326 | 330 | |
| 327 | 331 | When the alert fires, it will generate an email (or whatever notification policy |
| 328 | 332 | you assigned) and will look something like the following image. |
| 329 | 333 | |
| 330 | 334 | #+caption: Alerting Example |
| 335 | #+attr_html: :alt An email showing that "High CPU Temps" alert is firing. | |
| 331 | 336 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.webp]] |
| 332 | 337 | |
| 333 | 338 | ** Dashboards |
| @@ -336,13 +341,17 @@ As promised above, here are some dashboard screenshots based on the | ||
| 336 | 341 | configurations above. |
| 337 | 342 | |
| 338 | 343 | #+caption: Nginx Dashboard |
| 344 | #+attr_html: :alt Updated dashboard based on the new alert created above. | |
| 339 | 345 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.webp]] |
| 340 | 346 | |
| 341 | 347 | #+caption: Node Dashboard |
| 348 | #+attr_html: :alt Metrics of server nodes, including CPU, network, and memory. | |
| 342 | 349 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.webp]] |
| 343 | 350 | |
| 344 | 351 | #+caption: OnCall Dashboard |
| 352 | #+attr_html: :alt Full OnCall dashboard with metrics for alerts, mean time to respond, and more. | |
| 345 | 353 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.webp]] |
| 346 | 354 | |
| 347 | 355 | #+caption: Prometheus Dashboard |
| 356 | #+attr_html: :alt Dashboard showing Prometheus metrics, including scrape duration, head shunks, reload count, and more. | |
| 348 | 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 | 200 | Below are a few screenshots from my current VS Codium window: |
| 201 | 201 | |
| 202 | 202 | #+caption: Available Continue Commands |
| 203 | #+attr_html: :alt List of commands available from the Continue package. | |
| 203 | 204 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.webp]] |
| 204 | 205 | |
| 205 | 206 | #+caption: Continue Fullscreen Chat Window |
| 207 | #+attr_html: :alt Continue chat window in full screen mode. | |
| 206 | 208 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.webp]] |
| 207 | 209 | |
| 208 | 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 | 212 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.webp]] |
| 210 | 213 | |
| 211 | 214 | #+caption: Inline Editing Suggestions |
| 215 | #+attr_html: :alt Highlighted red and green sections showing suggestions from the agent. | |
| 212 | 216 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.webp]] |
| 213 | 217 | |
| 214 | 218 | #+caption: Sidebar Context Window |
| 219 | #+attr_html: :alt View of the sidebar context window open side-by-side with an edited file. | |
| 215 | 220 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.webp]] |
| 216 | 221 | |
| 217 | 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 | 59 | machine's firewall, if you have one enabled. |
| 60 | 60 | |
| 61 | 61 | #+caption: Login |
| 62 | #+attr_html: :alt The Lounge login page with username and password fields. | |
| 62 | 63 | [[https://img.cleberg.net/blog/20241229-thelounge/login.webp]] |
| 63 | 64 | |
| 64 | 65 | ** Nginx Reverse Proxy |
| @@ -154,10 +155,13 @@ bottom of the sidebar and connect to individual channels or users via the plus | ||
| 154 | 155 | (=+=) button next to your server's name in the sidebar. |
| 155 | 156 | |
| 156 | 157 | #+caption: New Server Connection |
| 158 | #+attr_html: :alt Settings for network, proxy, preferences, and authentication. | |
| 157 | 159 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.webp]] |
| 158 | 160 | |
| 159 | 161 | #+caption: Existing Server Connection |
| 162 | #+attr_html: :alt Libera.Chat server connection log and status. | |
| 160 | 163 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.webp]] |
| 161 | 164 | |
| 162 | 165 | #+caption: Channel View |
| 166 | #+attr_html: :alt View of the #emacs channel on Libera.Chat. | |
| 163 | 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 | 124 | ** Screenshots |
| 125 | 125 | |
| 126 | 126 | #+caption: Login |
| 127 | #+attr_html: :alt Tandoor login page. | |
| 127 | 128 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.webp]] |
| 128 | 129 | |
| 129 | 130 | #+caption: Recipes |
| 131 | #+attr_html: :alt Tandoor options to search for recipes. | |
| 130 | 132 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.webp]] |
| 131 | 133 | |
| 132 | 134 | #+caption: Meal Plan |
| 135 | #+attr_html: :alt Calendar view to define meal plans. | |
| 133 | 136 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.webp]] |
| 134 | 137 | |
| 135 | 138 | #+caption: Shopping Lists |
| 139 | #+attr_html: :alt Page to create or search for shopping lists. | |
| 136 | 140 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.webp]] |
| 137 | 141 | |
| 138 | 142 | #+caption: Cook Book |
| 143 | #+attr_html: :alt Page to create a visual-style cookbook. | |
| 139 | 144 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.webp]] |
| 140 | 145 | |
| 141 | 146 | #+caption: Import |
| 147 | #+attr_html: :alt Options to import recipes from other pages and auto-populate images, keywords, steps, and a description. | |
| 142 | 148 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.webp]] |
| 143 | 149 | |
| 144 | 150 | #+caption: Administration Panel |
| 151 | #+attr_html: :alt Django administration options for the web app. | |
| 145 | 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 | 54 | good thing as I hesitate to understand how privacy-focused apps make money when |
| 55 | 55 | they offer free services to users. |
| 56 | 56 | |
| 57 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.webp]] | |
| 58 | 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 | 61 | ** Connection |
| 61 | 62 | |
| @@ -63,11 +64,13 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will | ||
| 63 | 64 | return you to the app and allow you to connect. You can choose a specific server |
| 64 | 65 | location or automatically connect. |
| 65 | 66 | |
| 66 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.webp]] | |
| 67 | 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 | 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 | 75 | ** Speed |
| 73 | 76 | |
| @@ -90,8 +93,9 @@ nodes before connecting to your target. | ||
| 90 | 93 | From the image below, we can see that Mullvad confirmed my traffic to be |
| 91 | 94 | connected through a Mullvad IP address. |
| 92 | 95 | |
| 93 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.webp]] | |
| 94 | 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 | 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 | 17 | when I last checked. |
| 18 | 18 | |
| 19 | 19 | #+caption: Asahi Linux Device Support |
| 20 | #+attr_html: :alt Device support for Asahi Linux. | |
| 20 | 21 | [[https://img.cleberg.net/blog/20250502-asahi-linux/device_support.webp]] |
| 21 | 22 | |
| 22 | 23 | ** Installation |
| @@ -60,12 +61,14 @@ see I started using the WhiteSur theme as it provides a more comfortable layout | ||
| 60 | 61 | for macOS users. |
| 61 | 62 | |
| 62 | 63 | #+caption: KDE |
| 64 | #+attr_html: :alt A screenshot of a terminal running fastfetch and emacs on Asahi Linux. | |
| 63 | 65 | [[https://img.cleberg.net/blog/20250502-asahi-linux/kde.webp]] |
| 64 | 66 | |
| 65 | 67 | When diving into the system information panel, we can see that this machine is |
| 66 | 68 | running Fedora Linux Asahi Remix 42 on an Apple M2 Pro laptop with 16GB of RAM. |
| 67 | 69 | |
| 68 | 70 | #+caption: System Information |
| 71 | #+attr_html: :alt System information shows Fedora Linux Asahi Remix 42 with KDE 6.3.4. | |
| 69 | 72 | [[https://img.cleberg.net/blog/20250502-asahi-linux/sysinfo.webp]] |
| 70 | 73 | |
| 71 | 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 | 80 | palette. |
| 78 | 81 | |
| 79 | 82 | #+caption: Themes |
| 83 | #+attr_html: :alt Themes available by default on Asahi. | |
| 80 | 84 | [[https://img.cleberg.net/blog/20250502-asahi-linux/themes.webp]] |
| 81 | 85 | |
| 82 | 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 | 96 | lack of these advanced features doesn't bother me, but some people may be. |
| 93 | 97 | |
| 94 | 98 | #+caption: Bluetooth |
| 99 | #+attr_html: :alt Bluetooth settings showing AirPods Pro support. | |
| 95 | 100 | [[https://img.cleberg.net/blog/20250502-asahi-linux/bluetooth.webp]] |
| 96 | 101 | |
| 97 | 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 | 104 | the buttons to see if they're recognized within this settings menu. |
| 100 | 105 | |
| 101 | 106 | #+caption: Game Pad Settings |
| 107 | #+attr_html: :alt Gamepad settings showing PS5 input and button configurations. | |
| 102 | 108 | [[https://img.cleberg.net/blog/20250502-asahi-linux/gamepad_settings.webp]] |
| 103 | 109 | |
| 104 | 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 | 9 | take me next./ |
| 10 | 10 | #+end_quote |
| 11 | 11 | |
| 12 | | Old Theme | New Theme | | |
| 13 | |-----------------------------------------------------------------------+----------------------------------------------------------------------| | |
| 14 | | https://img.cleberg.net/blog/20250905-human-website-design/before.webp | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | | |
| 12 | #+caption: The Old Theme | |
| 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 | |
| 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 | 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 | 13 | nagging feeling that something was missing. What if I took it further? Was there |
| 14 | 14 | really any reason that I had any of that CSS at all? |
| 15 | 15 | |
| 16 | | Old Theme | New Theme | | |
| 17 | |-----------------------------------------------------------------------+---------------------------------------------------------------------| | |
| 18 | | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | https://img.cleberg.net/blog/20250925-minimalist-website-redesign/minimal.webp | | |
| 16 | #+caption: Old Theme | |
| 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 | |
| 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 | 24 | * Inspiration |
| 21 | 25 | |
content/blog/2025-10-06-rocket-league-macos.org +6
| @@ -4,6 +4,7 @@ | ||
| 4 | 4 | #+slug: rocket-league-macos |
| 5 | 5 | |
| 6 | 6 | #+caption: Rocket League on macOS |
| 7 | #+attr_html: :alt The Rocket League launch screen on macOS. | |
| 7 | 8 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/launch.webp]] |
| 8 | 9 | |
| 9 | 10 | * Intro |
| @@ -35,15 +36,18 @@ When the installer finishes, you’ll see a bottle (a sandboxed Windows | ||
| 35 | 36 | environment) like the one below: |
| 36 | 37 | |
| 37 | 38 | #+caption: Epic Games Store Bottle |
| 39 | #+attr_html: :alt The Epic Games Store bottle within CrossOver. | |
| 38 | 40 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/bottle.webp]] |
| 39 | 41 | |
| 40 | 42 | You can now launch the Epic application. Epic will update itself and then |
| 41 | 43 | present the login screen: |
| 42 | 44 | |
| 43 | 45 | #+caption: Epic Updater |
| 46 | #+attr_html: :alt The progress bar for updating the Epic Games Store bottle. | |
| 44 | 47 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/updater.webp]] |
| 45 | 48 | |
| 46 | 49 | #+caption: Epic Login |
| 50 | #+attr_html: :alt The Epic Login page. | |
| 47 | 51 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/login.webp]] |
| 48 | 52 | |
| 49 | 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 | 65 | MacBook Pro with a PS5 Dualsense Edge controller: |
| 62 | 66 | |
| 63 | 67 | #+caption: Main Menu |
| 68 | #+attr_html: :alt The Rocket Leageu main menu. | |
| 64 | 69 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/menu.webp]] |
| 65 | 70 | |
| 66 | 71 | #+caption: In-Game |
| 72 | #+attr_html: :alt A screenshot of a replay within a Rocket League match. | |
| 67 | 73 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/game.webp]] |
| 68 | 74 | |
| 69 | 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 | 12 | notes, using [[https://www.orgroam.com/][org-roam]]. |
| 13 | 13 | |
| 14 | 14 | #+caption: avas.space |
| 15 | #+attr_html: :alt Ava's Space, a digital garden and website by Ava. | |
| 15 | 16 | [[https://img.cleberg.net/blog/20251024-digital-garden/ava.webp]] |
| 16 | 17 | |
| 17 | 18 | #+caption: Org Roam |
| 19 | #+attr_html: :alt A screenshot of an org-roam digital garden and collection of note files. | |
| 18 | 20 | [[https://img.cleberg.net/blog/20251024-digital-garden/orgroam.webp]] |
| 19 | 21 | |
| 20 | 22 | A digital garden is a personal space, just for you. It could serve any number of |