Commit 35533ac104
Unsigned
Layout: unified · split
README.md +1 −1
| @@ -35,7 +35,7 @@ included in the `./screenshots/` directory. | ||
| 35 | 35 | |
| 36 | 36 | | Light Mode | Dark Mode | |
| 37 | 37 | | ---------------------------- | --------------------------- | |
| 38 | |  |  | | |
| 38 | |  |  | | |
| 39 | 39 | |
| 40 | 40 | ## Configuration |
| 41 | 41 | |
content/blog/2021-03-28-vaporwave-vs-outrun.org +6 −6
| @@ -16,12 +16,12 @@ Vaporwave: the results include *a lot* of Outrun-themed images. You'll | ||
| 16 | 16 | find a similar trend almost everywhere. |
| 17 | 17 | |
| 18 | 18 | #+caption: Vaporwave Search Results |
| 19 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]] | |
| 19 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.webp]] | |
| 20 | 20 | |
| 21 | 21 | * Vaporwave |
| 22 | 22 | |
| 23 | 23 | #+caption: Macintosh Plus Album Cover |
| 24 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]] | |
| 24 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.webp]] | |
| 25 | 25 | |
| 26 | 26 | Okay, so what is Vaporwave? I'm going to just copy-and-paste some |
| 27 | 27 | general info from the Wikipedia article on |
| @@ -80,7 +80,7 @@ is a large part of Vaporwave. | ||
| 80 | 80 | * Outrun |
| 81 | 81 | |
| 82 | 82 | #+caption: Outrun |
| 83 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.png]] | |
| 83 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.webp]] | |
| 84 | 84 | |
| 85 | 85 | Now, let's get to Outrun. This one is a little trickier since the genre |
| 86 | 86 | has largely been lumped under the Vaporwave title for so long. However, |
| @@ -115,16 +115,16 @@ would look like. Take a look at a common video game discussed in Outrun | ||
| 115 | 115 | circles, Far Cry 3: Blood Dragon: |
| 116 | 116 | |
| 117 | 117 | #+caption: Fry Cry 3: Blood Dragon |
| 118 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.png]] | |
| 118 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.webp]] | |
| 119 | 119 | |
| 120 | 120 | Another example that doesn't force the color scheme as hard as some |
| 121 | 121 | online art does is Kung Fury: |
| 122 | 122 | |
| 123 | 123 | #+caption: Kung Fury |
| 124 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.png]] | |
| 124 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.webp]] | |
| 125 | 125 | |
| 126 | 126 | #+caption: Kung Fury Hacker Scene |
| 127 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]] | |
| 127 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.webp]] | |
| 128 | 128 | |
| 129 | 129 | * Conclusion |
| 130 | 130 | |
content/blog/2022-02-22-tuesday.org +1 −1
| @@ -26,7 +26,7 @@ Let's look at everything that fell in place today: | ||
| 26 | 26 | Slavonic word =въторъ=, meaning "the second." |
| 27 | 27 | 5. Written in the classic monospaced, digital font (think of digital |
| 28 | 28 | clocks from the 80s/90s), there is nice symmetry to the numbers |
| 29 | ([[https://img.cleberg.net/blog/20220222-tuesday/digital_font.png][view | |
| 29 | ([[https://img.cleberg.net/blog/20220222-tuesday/digital_font.webp][view | |
| 30 | 30 | the image here]]!). |
| 31 | 31 | 6. This one isn't naturally-occurring, but it seems people around the |
| 32 | 32 | world are celebrating the day. For example, a group is putting |
content/blog/2022-03-02-reliable-notes.org +3 −3
| @@ -44,7 +44,7 @@ Markdown file in plain-text, since it does contain any features to | ||
| 44 | 44 | preview Markdown as HTML: |
| 45 | 45 | |
| 46 | 46 | #+caption: Plain Text Markdown |
| 47 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.png]] | |
| 47 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.webp]] | |
| 48 | 48 | |
| 49 | 49 | ** Saving & Syncing Files |
| 50 | 50 | :PROPERTIES: |
| @@ -118,13 +118,13 @@ Here's an example of how my Markdown notes look when opened in | ||
| 118 | 118 | plain-text mode: |
| 119 | 119 | |
| 120 | 120 | #+caption: Obsidian Markdown Source Mode |
| 121 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]] | |
| 121 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.webp]] | |
| 122 | 122 | |
| 123 | 123 | Here's the "live preview" version, where the Markdown is rendered into |
| 124 | 124 | its HTML format: |
| 125 | 125 | |
| 126 | 126 | #+caption: Obsidian Markdown Live Preview |
| 127 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]] | |
| 127 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.webp]] | |
| 128 | 128 | |
| 129 | 129 | *** Programming on Desktop |
| 130 | 130 | :PROPERTIES: |
content/blog/2022-10-04-syncthing.org +1 −1
| @@ -95,7 +95,7 @@ add/modify connected devices. | ||
| 95 | 95 | Here's an example web GUI dashboard: |
| 96 | 96 | |
| 97 | 97 | #+caption: Syncthing Dashboard |
| 98 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.png]] | |
| 98 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.webp]] | |
| 99 | 99 | |
| 100 | 100 | ** Remote Devices |
| 101 | 101 | |
content/blog/2023-01-05-mass-unlike-tumblr-posts.org +2 −2
| @@ -56,7 +56,7 @@ 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 | 58 | #+caption: Firefox Dev !Tools |
| 59 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]] | |
| 59 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.webp]] | |
| 60 | 60 | |
| 61 | 61 | All you need to do is paste the following snippet into the dev console. |
| 62 | 62 | This code will collect all unlike buttons (=elements=) and then click |
| @@ -88,7 +88,7 @@ the console, pressed Enter, and then the posts are automatically | ||
| 88 | 88 | unliked. |
| 89 | 89 | |
| 90 | 90 | #+caption: Script !Results |
| 91 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]] | |
| 91 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.webp]] | |
| 92 | 92 | |
| 93 | 93 | Thinking about this further, I would bet that this would be fairly |
| 94 | 94 | simple to package into a browser add-on so that users could install the |
content/blog/2023-06-23-byobu.org +1 −1
| @@ -19,7 +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 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.png]] | |
| 22 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.webp]] | |
| 23 | 23 | |
| 24 | 24 | *** Keybindings |
| 25 | 25 | |
content/blog/2023-06-23-self-hosting-convos.org +2 −2
| @@ -130,10 +130,10 @@ 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 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.png]] | |
| 133 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.webp]] | |
| 134 | 134 | |
| 135 | 135 | #+caption: Convos Chat |
| 136 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.png]] | |
| 136 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.webp]] | |
| 137 | 137 | |
| 138 | 138 | * Registering a Nickname |
| 139 | 139 | |
content/blog/2023-10-11-self-hosting-authelia.org +2 −2
| @@ -441,11 +441,11 @@ 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 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.png]] | |
| 444 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.webp]] | |
| 445 | 445 | |
| 446 | 446 | Once you've successfully authenticated, you can visit your |
| 447 | 447 | authentication domain directly and see that you're currently |
| 448 | 448 | authenticated to any domain protected by Authelia. |
| 449 | 449 | |
| 450 | 450 | #+caption: Authelia Success |
| 451 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_success.png]] | |
| 451 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_success.webp]] | |
content/blog/2024-01-27-tableau-dashboard.org +2 −2
| @@ -11,7 +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 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]] | |
| 14 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] | |
| 15 | 15 | |
| 16 | 16 | * Gather the Data |
| 17 | 17 | |
| @@ -140,4 +140,4 @@ There's a ton of other options available to be used in a dashboard like this, | ||
| 140 | 140 | but this project shows a quick preview of what you can do in Tableau Public. |
| 141 | 141 | |
| 142 | 142 | #+caption: Tableau Dashboard |
| 143 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]] | |
| 143 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.webp]] | |
content/blog/2024-03-13-doom-emacs.org +4 −4
| @@ -12,10 +12,10 @@ 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 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.png]] | |
| 15 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.webp]] | |
| 16 | 16 | |
| 17 | 17 | #+caption: Doom Emacs Dark Mode |
| 18 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.png]] | |
| 18 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.webp]] | |
| 19 | 19 | |
| 20 | 20 | ** Getting Started |
| 21 | 21 | |
| @@ -183,7 +183,7 @@ been slowly adoping some Python and general web dev tools as well. | ||
| 183 | 183 | *** Markdown |
| 184 | 184 | |
| 185 | 185 | #+caption: Markdown Preview |
| 186 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.png]] | |
| 186 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.webp]] | |
| 187 | 187 | |
| 188 | 188 | Markdown is fairly simple as the syntax is limited, so just make sure the |
| 189 | 189 | =~/.doom.d/init.el= includes the =markdown= declaration in the =:lang= section. |
| @@ -205,7 +205,7 @@ things like link hiding. | ||
| 205 | 205 | *** Org-Mode |
| 206 | 206 | |
| 207 | 207 | #+caption: Org-Mode Preview |
| 208 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.png]] | |
| 208 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.webp]] | |
| 209 | 209 | |
| 210 | 210 | Similar to the markdown section above, ensure that the =~/.doom.d/init.el= |
| 211 | 211 | includes the =org= declaration in the =:lang= section. |
content/blog/2024-03-15-self-hosting-ddns-updater.org +1 −1
| @@ -4,7 +4,7 @@ | ||
| 4 | 4 | #+slug: self-hosting-ddns-updater |
| 5 | 5 | |
| 6 | 6 | #+caption: DDNS Updater Web View |
| 7 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.png]] | |
| 7 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.webp]] | |
| 8 | 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 | 10 | DNS providers. |
content/blog/2024-04-08-docker-local-web-server.org +3 −3
| @@ -33,7 +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 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.png]] | |
| 36 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.webp]] | |
| 37 | 37 | |
| 38 | 38 | ** Creating an Nginx Container |
| 39 | 39 | |
| @@ -56,7 +56,7 @@ docker run -it --rm -d -p 8000:80 --name web nginx | ||
| 56 | 56 | You can navigate to [[http://localhost:8000]] to see the resulting page. |
| 57 | 57 | |
| 58 | 58 | #+caption: Default Nginx Container |
| 59 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.png]] | |
| 59 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.webp]] | |
| 60 | 60 | |
| 61 | 61 | ** Customizing the Nginx Container |
| 62 | 62 | |
| @@ -102,7 +102,7 @@ server { | ||
| 102 | 102 | } |
| 103 | 103 | #+end_src |
| 104 | 104 | |
| 105 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.png]] | |
| 105 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.webp]] | |
| 106 | 106 | |
| 107 | 107 | * Customizing Deployment Actions |
| 108 | 108 | |
content/blog/2024-04-18-mu4e.org +1 −1
| @@ -300,4 +300,4 @@ 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 | [[https://img.cleberg.net/blog/20240418-mu4e/mu4e.png]] | |
| 303 | [[https://img.cleberg.net/blog/20240418-mu4e/mu4e.webp]] | |
content/blog/2024-05-03-ubuntu-on-macos.org +5 −5
| @@ -32,7 +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 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.png]] | |
| 35 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.webp]] | |
| 36 | 36 | |
| 37 | 37 | ** Launching the Machine |
| 38 | 38 | |
| @@ -62,7 +62,7 @@ In the example below, we can see that the machine is using =Linux ubuntu 6.9.6= | ||
| 62 | 62 | and operates similar to a fresh Ubuntu install on bare metal. |
| 63 | 63 | |
| 64 | 64 | #+caption: Ubuntu CLI |
| 65 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png]] | |
| 65 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.webp]] | |
| 66 | 66 | |
| 67 | 67 | You can also click the machine's folder icon in OrbStack to open the machine's |
| 68 | 68 | file system within macOS's native Files app. Within Files, you can double-click |
| @@ -70,13 +70,13 @@ to open any files and they will open in the macOS defaults for those file types | ||
| 70 | 70 | (e.g., TextEdit). |
| 71 | 71 | |
| 72 | 72 | #+caption: Ubuntu Files |
| 73 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.png]] | |
| 73 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.webp]] | |
| 74 | 74 | |
| 75 | 75 | Here's an example of opening the =test.md= file in the screenshot above, which |
| 76 | 76 | defaults to opening in Xcode on my system. |
| 77 | 77 | |
| 78 | 78 | #+caption: Ubuntu Files |
| 79 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png]] | |
| 79 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.webp]] | |
| 80 | 80 | |
| 81 | 81 | *** Test Examples |
| 82 | 82 | |
| @@ -84,7 +84,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh= | ||
| 84 | 84 | shell, and ran a few common commands. |
| 85 | 85 | |
| 86 | 86 | #+caption: Test Examples |
| 87 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png]] | |
| 87 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.webp]] | |
| 88 | 88 | |
| 89 | 89 | ** Thoughts |
| 90 | 90 | |
content/blog/2024-07-11-emacs-on-ipad.org +5 −5
| @@ -13,7 +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 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png]] | |
| 16 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.webp]] | |
| 17 | 17 | |
| 18 | 18 | ** Require Packages |
| 19 | 19 | |
| @@ -26,7 +26,7 @@ apk add emacs ripgrep fd findutils | ||
| 26 | 26 | #+end_src |
| 27 | 27 | |
| 28 | 28 | #+caption: Package !Installation |
| 29 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png]] | |
| 29 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.webp]] | |
| 30 | 30 | |
| 31 | 31 | ** Emacs |
| 32 | 32 | |
| @@ -38,7 +38,7 @@ incredibly slow and buggy that I was not even able to take screenshots. Someone | ||
| 38 | 38 | smarter than me could likely get it to work with a little tinkering. |
| 39 | 39 | |
| 40 | 40 | #+caption: Emacs |
| 41 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png]] | |
| 41 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.webp]] | |
| 42 | 42 | |
| 43 | 43 | *** MELPA |
| 44 | 44 | |
| @@ -47,13 +47,13 @@ able to search through their 5700+ packages instead of just ELPA packages. If | ||
| 47 | 47 | you don't, you will only have access to ELPA packages like the ones below. |
| 48 | 48 | |
| 49 | 49 | #+caption: package-install |
| 50 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png]] | |
| 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 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png]] | |
| 56 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.webp]] | |
| 57 | 57 | |
| 58 | 58 | *** Speed |
| 59 | 59 | |
content/blog/2024-08-25-n8n-sentiment-analysis.org +3 −3
| @@ -112,7 +112,7 @@ You can open the included workflow at | ||
| 112 | 112 | and create a new configuration. |
| 113 | 113 | |
| 114 | 114 | #+caption: n8n Workflow |
| 115 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.png]] | |
| 115 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.webp]] | |
| 116 | 116 | |
| 117 | 117 | This workflow contains the following nodes: |
| 118 | 118 | 1. Email Trigger (IMAP) |
| @@ -150,10 +150,10 @@ send yourself a test email! | ||
| 150 | 150 | After testing each step noted above, n8n provided the results below - it works! |
| 151 | 151 | |
| 152 | 152 | #+caption: Positive Results |
| 153 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.png]] | |
| 153 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.webp]] | |
| 154 | 154 | |
| 155 | 155 | #+caption: Negative Results |
| 156 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.png]] | |
| 156 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.webp]] | |
| 157 | 157 | |
| 158 | 158 | While this isn't anything earth-shattering, it does show easy it is to get |
| 159 | 159 | started with n8n and large language models in a self-hosted environment. |
content/blog/2024-09-20-prometheus-grafana-cloud.org +9 −9
| @@ -276,7 +276,7 @@ and determine what Grafana should do when an alert is triggered. | ||
| 276 | 276 | ** OnCall |
| 277 | 277 | |
| 278 | 278 | #+caption: OnCall |
| 279 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.png]] | |
| 279 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.webp]] | |
| 280 | 280 | |
| 281 | 281 | Within the Alerts & IRM section of Grafana (=/alerts-and-incidents=), open the |
| 282 | 282 | Users page. |
| @@ -298,12 +298,12 @@ users and teams to be on call for specific date and time ranges. For my | ||
| 298 | 298 | purposes, I put myself on-call 24/7 so that I receive all alerts. |
| 299 | 299 | |
| 300 | 300 | #+caption: User Information |
| 301 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]] | |
| 301 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.webp]] | |
| 302 | 302 | |
| 303 | 303 | ** Alerting |
| 304 | 304 | |
| 305 | 305 | #+caption: Alerting Insights |
| 306 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]] | |
| 306 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.webp]] | |
| 307 | 307 | |
| 308 | 308 | Now that we have defined users and team associated with an on-call schedule and |
| 309 | 309 | configured to receive the proper alerts, let's define a rule that will generate |
| @@ -322,13 +322,13 @@ evaluation group. This is connected to our Grafana email, but can be associated | ||
| 322 | 322 | with any notification policy. |
| 323 | 323 | |
| 324 | 324 | #+caption: New Alert Rule |
| 325 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.png]] | |
| 325 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.webp]] | |
| 326 | 326 | |
| 327 | 327 | When the alert fires, it will generate an email (or whatever notification policy |
| 328 | 328 | you assigned) and will look something like the following image. |
| 329 | 329 | |
| 330 | 330 | #+caption: Alerting Example |
| 331 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.png]] | |
| 331 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.webp]] | |
| 332 | 332 | |
| 333 | 333 | ** Dashboards |
| 334 | 334 | |
| @@ -336,13 +336,13 @@ As promised above, here are some dashboard screenshots based on the | ||
| 336 | 336 | configurations above. |
| 337 | 337 | |
| 338 | 338 | #+caption: Nginx Dashboard |
| 339 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]] | |
| 339 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.webp]] | |
| 340 | 340 | |
| 341 | 341 | #+caption: Node Dashboard |
| 342 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]] | |
| 342 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.webp]] | |
| 343 | 343 | |
| 344 | 344 | #+caption: OnCall Dashboard |
| 345 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]] | |
| 345 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.webp]] | |
| 346 | 346 | |
| 347 | 347 | #+caption: Prometheus Dashboard |
| 348 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]] | |
| 348 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.webp]] | |
content/blog/2024-10-31-continue-ollama-code-assistant.org +5 −5
| @@ -200,19 +200,19 @@ Continue: | ||
| 200 | 200 | Below are a few screenshots from my current VS Codium window: |
| 201 | 201 | |
| 202 | 202 | #+caption: Available Continue Commands |
| 203 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.png]] | |
| 203 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.webp]] | |
| 204 | 204 | |
| 205 | 205 | #+caption: Continue Fullscreen Chat Window |
| 206 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]] | |
| 206 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.webp]] | |
| 207 | 207 | |
| 208 | 208 | #+caption: Inline Hotkeys |
| 209 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]] | |
| 209 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.webp]] | |
| 210 | 210 | |
| 211 | 211 | #+caption: Inline Editing Suggestions |
| 212 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.png]] | |
| 212 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.webp]] | |
| 213 | 213 | |
| 214 | 214 | #+caption: Sidebar Context Window |
| 215 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]] | |
| 215 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.webp]] | |
| 216 | 216 | |
| 217 | 217 | * Conclusion |
| 218 | 218 | |
content/blog/2024-12-27-self-hosting-the-lounge.org +4 −4
| @@ -59,7 +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 | [[https://img.cleberg.net/blog/20241229-thelounge/login.png]] | |
| 62 | [[https://img.cleberg.net/blog/20241229-thelounge/login.webp]] | |
| 63 | 63 | |
| 64 | 64 | ** Nginx Reverse Proxy |
| 65 | 65 | |
| @@ -154,10 +154,10 @@ bottom of the sidebar and connect to individual channels or users via the plus | ||
| 154 | 154 | (=+=) button next to your server's name in the sidebar. |
| 155 | 155 | |
| 156 | 156 | #+caption: New Server Connection |
| 157 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.png]] | |
| 157 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.webp]] | |
| 158 | 158 | |
| 159 | 159 | #+caption: Existing Server Connection |
| 160 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.png]] | |
| 160 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.webp]] | |
| 161 | 161 | |
| 162 | 162 | #+caption: Channel View |
| 163 | [[https://img.cleberg.net/blog/20241229-thelounge/channel.png]] | |
| 163 | [[https://img.cleberg.net/blog/20241229-thelounge/channel.webp]] | |
content/blog/2025-01-23-self-hosting-tandoor.org +7 −7
| @@ -124,22 +124,22 @@ The app is now available on your custom domain! | ||
| 124 | 124 | ** Screenshots |
| 125 | 125 | |
| 126 | 126 | #+caption: Login |
| 127 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.png]] | |
| 127 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.webp]] | |
| 128 | 128 | |
| 129 | 129 | #+caption: Recipes |
| 130 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.png]] | |
| 130 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.webp]] | |
| 131 | 131 | |
| 132 | 132 | #+caption: Meal Plan |
| 133 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.png]] | |
| 133 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.webp]] | |
| 134 | 134 | |
| 135 | 135 | #+caption: Shopping Lists |
| 136 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.png]] | |
| 136 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.webp]] | |
| 137 | 137 | |
| 138 | 138 | #+caption: Cook Book |
| 139 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.png]] | |
| 139 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.webp]] | |
| 140 | 140 | |
| 141 | 141 | #+caption: Import |
| 142 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.png]] | |
| 142 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.webp]] | |
| 143 | 143 | |
| 144 | 144 | #+caption: Administration Panel |
| 145 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.png]] | |
| 145 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.webp]] | |
content/blog/2025-02-11-obscura-vpn.org +4 −4
| @@ -54,7 +54,7 @@ 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.png]] | |
| 57 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.webp]] | |
| 58 | 58 | #+caption: Payment |
| 59 | 59 | |
| 60 | 60 | ** Connection |
| @@ -63,10 +63,10 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will | ||
| 63 | 63 | return you to the app and allow you to connect. You can choose a specific server |
| 64 | 64 | location or automatically connect. |
| 65 | 65 | |
| 66 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.png]] | |
| 66 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.webp]] | |
| 67 | 67 | #+caption: Initial Connection |
| 68 | 68 | |
| 69 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.png]] | |
| 69 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.webp]] | |
| 70 | 70 | #+caption: Toolbar Utility |
| 71 | 71 | |
| 72 | 72 | ** Speed |
| @@ -90,7 +90,7 @@ nodes before connecting to your target. | ||
| 90 | 90 | From the image below, we can see that Mullvad confirmed my traffic to be |
| 91 | 91 | connected through a Mullvad IP address. |
| 92 | 92 | |
| 93 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.png]] | |
| 93 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.webp]] | |
| 94 | 94 | #+caption: Mullvad Check |
| 95 | 95 | |
| 96 | 96 | * Final Thoughts |
content/blog/2025-05-02-asahi-linux.org +6 −6
| @@ -17,7 +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 | [[https://img.cleberg.net/blog/20250502-asahi-linux/device_support.png]] | |
| 20 | [[https://img.cleberg.net/blog/20250502-asahi-linux/device_support.webp]] | |
| 21 | 21 | |
| 22 | 22 | ** Installation |
| 23 | 23 | |
| @@ -60,13 +60,13 @@ see I started using the WhiteSur theme as it provides a more comfortable layout | ||
| 60 | 60 | for macOS users. |
| 61 | 61 | |
| 62 | 62 | #+caption: KDE |
| 63 | [[https://img.cleberg.net/blog/20250502-asahi-linux/kde.png]] | |
| 63 | [[https://img.cleberg.net/blog/20250502-asahi-linux/kde.webp]] | |
| 64 | 64 | |
| 65 | 65 | When diving into the system information panel, we can see that this machine is |
| 66 | 66 | running Fedora Linux Asahi Remix 42 on an Apple M2 Pro laptop with 16GB of RAM. |
| 67 | 67 | |
| 68 | 68 | #+caption: System Information |
| 69 | [[https://img.cleberg.net/blog/20250502-asahi-linux/sysinfo.png]] | |
| 69 | [[https://img.cleberg.net/blog/20250502-asahi-linux/sysinfo.webp]] | |
| 70 | 70 | |
| 71 | 71 | As I noted above, the first thing I did after installing Asahi and taking a few |
| 72 | 72 | screenshots was to install and change themes. |
| @@ -77,7 +77,7 @@ color palette, as well as the Nothing theme that uses a dark black and red color | ||
| 77 | 77 | palette. |
| 78 | 78 | |
| 79 | 79 | #+caption: Themes |
| 80 | [[https://img.cleberg.net/blog/20250502-asahi-linux/themes.png]] | |
| 80 | [[https://img.cleberg.net/blog/20250502-asahi-linux/themes.webp]] | |
| 81 | 81 | |
| 82 | 82 | One of the things I use my laptop for the most is consuming media (music, |
| 83 | 83 | television shows, movies, etc.), so I had to make sure that my bluetooth devices |
| @@ -92,14 +92,14 @@ capabilities like pausing media when you remove an AirPod from your ear. The | ||
| 92 | 92 | lack of these advanced features doesn't bother me, but some people may be. |
| 93 | 93 | |
| 94 | 94 | #+caption: Bluetooth |
| 95 | [[https://img.cleberg.net/blog/20250502-asahi-linux/bluetooth.png]] | |
| 95 | [[https://img.cleberg.net/blog/20250502-asahi-linux/bluetooth.webp]] | |
| 96 | 96 | |
| 97 | 97 | Next, I was able to connect my PS5 controller via USB-C and Asahi picked up the |
| 98 | 98 | connect instantly in the settings menu. You can move the sticks and press all of |
| 99 | 99 | the buttons to see if they're recognized within this settings menu. |
| 100 | 100 | |
| 101 | 101 | #+caption: Game Pad Settings |
| 102 | [[https://img.cleberg.net/blog/20250502-asahi-linux/gamepad_settings.png]] | |
| 102 | [[https://img.cleberg.net/blog/20250502-asahi-linux/gamepad_settings.webp]] | |
| 103 | 103 | |
| 104 | 104 | I had a bit of an issue launching Steam the first time, as I was getting an AVC |
| 105 | 105 | Denial error from SELinux. To fix this, I had to manually allow the Steam |
content/blog/2025-09-04-website-redesign.org +1 −1
| @@ -11,7 +11,7 @@ take me next./ | ||
| 11 | 11 | |
| 12 | 12 | | Old Theme | New Theme | |
| 13 | 13 | |-----------------------------------------------------------------------+----------------------------------------------------------------------| |
| 14 | | https://img.cleberg.net/blog/20250905-human-website-design/before.png | https://img.cleberg.net/blog/20250905-human-website-design/after.png | | |
| 14 | | https://img.cleberg.net/blog/20250905-human-website-design/before.webp | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | | |
| 15 | 15 | |
| 16 | 16 | * Inspiration |
| 17 | 17 | |
content/blog/2025-09-25-minimalist-website-redesign.org +1 −1
| @@ -15,7 +15,7 @@ really any reason that I had any of that CSS at all? | ||
| 15 | 15 | |
| 16 | 16 | | Old Theme | New Theme | |
| 17 | 17 | |-----------------------------------------------------------------------+---------------------------------------------------------------------| |
| 18 | | https://img.cleberg.net/blog/20250905-human-website-design/after.png | https://img.cleberg.net/blog/20250925-minimalist-website-redesign/minimal.png | | |
| 18 | | https://img.cleberg.net/blog/20250905-human-website-design/after.webp | https://img.cleberg.net/blog/20250925-minimalist-website-redesign/minimal.webp | | |
| 19 | 19 | |
| 20 | 20 | * Inspiration |
| 21 | 21 | |
content/blog/2025-10-06-rocket-league-macos.org +6 −6
| @@ -4,7 +4,7 @@ | ||
| 4 | 4 | #+slug: rocket-league-macos |
| 5 | 5 | |
| 6 | 6 | #+caption: Rocket League on macOS |
| 7 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/launch.png]] | |
| 7 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/launch.webp]] | |
| 8 | 8 | |
| 9 | 9 | * Intro |
| 10 | 10 | |
| @@ -35,16 +35,16 @@ When the installer finishes, you’ll see a bottle (a sandboxed Windows | ||
| 35 | 35 | environment) like the one below: |
| 36 | 36 | |
| 37 | 37 | #+caption: Epic Games Store Bottle |
| 38 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/bottle.png]] | |
| 38 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/bottle.webp]] | |
| 39 | 39 | |
| 40 | 40 | You can now launch the Epic application. Epic will update itself and then |
| 41 | 41 | present the login screen: |
| 42 | 42 | |
| 43 | 43 | #+caption: Epic Updater |
| 44 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/updater.png]] | |
| 44 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/updater.webp]] | |
| 45 | 45 | |
| 46 | 46 | #+caption: Epic Login |
| 47 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/login.png]] | |
| 47 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/login.webp]] | |
| 48 | 48 | |
| 49 | 49 | * Install Rocket League |
| 50 | 50 | |
| @@ -61,10 +61,10 @@ Take a look at the screenshots I was able to capture while playing on my M2 | ||
| 61 | 61 | MacBook Pro with a PS5 Dualsense Edge controller: |
| 62 | 62 | |
| 63 | 63 | #+caption: Main Menu |
| 64 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/menu.png]] | |
| 64 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/menu.webp]] | |
| 65 | 65 | |
| 66 | 66 | #+caption: In-Game |
| 67 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/game.png]] | |
| 67 | [[https://img.cleberg.net/blog/20251006-rocket-league-macos/game.webp]] | |
| 68 | 68 | |
| 69 | 69 | * Tips & Troubleshooting |
| 70 | 70 | |
content/blog/2025-10-24-digital-garden.org +2 −2
| @@ -12,10 +12,10 @@ 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 | [[https://img.cleberg.net/blog/20251024-digital-garden/ava.png]] | |
| 15 | [[https://img.cleberg.net/blog/20251024-digital-garden/ava.webp]] | |
| 16 | 16 | |
| 17 | 17 | #+caption: Org Roam |
| 18 | [[https://img.cleberg.net/blog/20251024-digital-garden/orgroam.png]] | |
| 18 | [[https://img.cleberg.net/blog/20251024-digital-garden/orgroam.webp]] | |
| 19 | 19 | |
| 20 | 20 | A digital garden is a personal space, just for you. It could serve any number of |
| 21 | 21 | purposes, which I'll get into later, but the key is that it serves a specific |
content/salary/index.org +1 −1
| @@ -61,7 +61,7 @@ See the graph below for a visualization of each job's salary over time, as well | ||
| 61 | 61 | as percentage increases or decreases between jobs. |
| 62 | 62 | |
| 63 | 63 | #+caption: Salary Visualization |
| 64 | [[https://img.cleberg.net/blog/salary/salary.png]] | |
| 64 | [[https://img.cleberg.net/blog/salary/salary.webp]] | |
| 65 | 65 | |
| 66 | 66 | This page was inspired by [[https://xeiaso.net/salary-transparency/][Xe]], and I'm quoting the following wording from them as |
| 67 | 67 | I want to reiterate this piece: |