Commit 214c9eb07e
Unsigned
Layout: unified · split
content/blog/2020-12-29-zork.org +1 −1
| @@ -32,7 +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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20201229-zork/zork_map.jpg]] | 35 | [[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]] |
| 36 | 36 | ||
| 37 | /[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/ | 37 | /[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/ |
| 38 | 38 | ||
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 | find a similar trend almost everywhere. | 16 | find a similar trend almost everywhere. |
| 17 | 17 | ||
| 18 | #+caption: Vaporwave Search Results | 18 | #+caption: Vaporwave Search Results |
| 19 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]] | 19 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]] |
| 20 | 20 | ||
| 21 | * Vaporwave | 21 | * Vaporwave |
| 22 | 22 | ||
| 23 | #+caption: Macintosh Plus Album Cover | 23 | #+caption: Macintosh Plus Album Cover |
| 24 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]] | 24 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]] |
| 25 | 25 | ||
| 26 | Okay, so what is Vaporwave? I'm going to just copy-and-paste some | 26 | Okay, so what is Vaporwave? I'm going to just copy-and-paste some |
| 27 | general info from the Wikipedia article on | 27 | general info from the Wikipedia article on |
| @@ -80,7 +80,7 @@ is a large part of Vaporwave. | |||
| 80 | * Outrun | 80 | * Outrun |
| 81 | 81 | ||
| 82 | #+caption: Outrun | 82 | #+caption: Outrun |
| 83 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/outrun.png]] | 83 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.png]] |
| 84 | 84 | ||
| 85 | Now, let's get to Outrun. This one is a little trickier since the genre | 85 | Now, let's get to Outrun. This one is a little trickier since the genre |
| 86 | has largely been lumped under the Vaporwave title for so long. However, | 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 | circles, Far Cry 3: Blood Dragon: | 115 | circles, Far Cry 3: Blood Dragon: |
| 116 | 116 | ||
| 117 | #+caption: Fry Cry 3: Blood Dragon | 117 | #+caption: Fry Cry 3: Blood Dragon |
| 118 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/far-cry.png]] | 118 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.png]] |
| 119 | 119 | ||
| 120 | Another example that doesn't force the color scheme as hard as some | 120 | Another example that doesn't force the color scheme as hard as some |
| 121 | online art does is Kung Fury: | 121 | online art does is Kung Fury: |
| 122 | 122 | ||
| 123 | #+caption: Kung Fury | 123 | #+caption: Kung Fury |
| 124 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/kung-fury.png]] | 124 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.png]] |
| 125 | 125 | ||
| 126 | #+caption: Kung Fury Hacker Scene | 126 | #+caption: Kung Fury Hacker Scene |
| 127 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]] | 127 | [[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]] |
| 128 | 128 | ||
| 129 | * Conclusion | 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 | Slavonic word =въторъ=, meaning "the second." | 26 | Slavonic word =въторъ=, meaning "the second." |
| 27 | 5. Written in the classic monospaced, digital font (think of digital | 27 | 5. Written in the classic monospaced, digital font (think of digital |
| 28 | clocks from the 80s/90s), there is nice symmetry to the numbers | 28 | clocks from the 80s/90s), there is nice symmetry to the numbers |
| 29 | ([[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20220222-tuesday/digital_font.png][view | 29 | ([[https://img.cleberg.net/blog/20220222-tuesday/digital_font.png][view |
| 30 | the image here]]!). | 30 | the image here]]!). |
| 31 | 6. This one isn't naturally-occurring, but it seems people around the | 31 | 6. This one isn't naturally-occurring, but it seems people around the |
| 32 | world are celebrating the day. For example, a group is putting | 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 | preview Markdown as HTML: | 44 | preview Markdown as HTML: |
| 45 | 45 | ||
| 46 | #+caption: Plain Text Markdown | 46 | #+caption: Plain Text Markdown |
| 47 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20220302-easy-reliable-note-taking/plain_markdown.png]] | 47 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.png]] |
| 48 | 48 | ||
| 49 | ** Saving & Syncing Files | 49 | ** Saving & Syncing Files |
| 50 | :PROPERTIES: | 50 | :PROPERTIES: |
| @@ -118,13 +118,13 @@ Here's an example of how my Markdown notes look when opened in | |||
| 118 | plain-text mode: | 118 | plain-text mode: |
| 119 | 119 | ||
| 120 | #+caption: Obsidian Markdown Source Mode | 120 | #+caption: Obsidian Markdown Source Mode |
| 121 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]] | 121 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]] |
| 122 | 122 | ||
| 123 | Here's the "live preview" version, where the Markdown is rendered into | 123 | Here's the "live preview" version, where the Markdown is rendered into |
| 124 | its HTML format: | 124 | its HTML format: |
| 125 | 125 | ||
| 126 | #+caption: Obsidian Markdown Live Preview | 126 | #+caption: Obsidian Markdown Live Preview |
| 127 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]] | 127 | [[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]] |
| 128 | 128 | ||
| 129 | *** Programming on Desktop | 129 | *** Programming on Desktop |
| 130 | :PROPERTIES: | 130 | :PROPERTIES: |
content/blog/2022-10-04-syncthing.org +1 −1
| @@ -95,7 +95,7 @@ add/modify connected devices. | |||
| 95 | Here's an example web GUI dashboard: | 95 | Here's an example web GUI dashboard: |
| 96 | 96 | ||
| 97 | #+caption: Syncthing Dashboard | 97 | #+caption: Syncthing Dashboard |
| 98 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20221020-syncthing/syncthing_gui.png]] | 98 | [[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.png]] |
| 99 | 99 | ||
| 100 | ** Remote Devices | 100 | ** Remote Devices |
| 101 | 101 | ||
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 | write this blog post: | 19 | write this blog post: |
| 20 | 20 | ||
| 21 | #+caption: byobu | 21 | #+caption: byobu |
| 22 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20230623-byobu/byobu.png]] | 22 | [[https://img.cleberg.net/blog/20230623-byobu/byobu.png]] |
| 23 | 23 | ||
| 24 | *** Keybindings | 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 | below is Dracula. | 130 | below is Dracula. |
| 131 | 131 | ||
| 132 | #+caption: Convos Home | 132 | #+caption: Convos Home |
| 133 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20230623-convos/convos_home.png]] | 133 | [[https://img.cleberg.net/blog/20230623-convos/convos_home.png]] |
| 134 | 134 | ||
| 135 | #+caption: Convos Chat | 135 | #+caption: Convos Chat |
| 136 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20230623-convos/convos_chat.png]] | 136 | [[https://img.cleberg.net/blog/20230623-convos/convos_chat.png]] |
| 137 | 137 | ||
| 138 | * Registering a Nickname | 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 | 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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20231010-authelia/authelia_portal.png]] | 444 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.png]] |
| 445 | 445 | ||
| 446 | Once you've successfully authenticated, you can visit your | 446 | Once you've successfully authenticated, you can visit your |
| 447 | authentication domain directly and see that you're currently | 447 | authentication domain directly and see that you're currently |
| 448 | authenticated to any domain protected by Authelia. | 448 | authenticated to any domain protected by Authelia. |
| 449 | 449 | ||
| 450 | #+caption: Authelia Success | 450 | #+caption: Authelia Success |
| 451 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20231010-authelia/authelia_success.png]] | 451 | [[https://img.cleberg.net/blog/20231010-authelia/authelia_success.png]] |
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 | 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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240127-tableau-dashboard/dashboard.png]] | 14 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]] |
| 15 | 15 | ||
| 16 | * Gather the Data | 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 | but this project shows a quick preview of what you can do in Tableau Public. | 140 | but this project shows a quick preview of what you can do in Tableau Public. |
| 141 | 141 | ||
| 142 | #+caption: Tableau Dashboard | 142 | #+caption: Tableau Dashboard |
| 143 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240127-tableau-dashboard/dashboard.png]] | 143 | [[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]] |
content/blog/2024-03-13-doom-emacs.org +4 −4
| @@ -12,10 +12,10 @@ 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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240314-doom-emacs/light.png]] | 15 | [[https://img.cleberg.net/blog/20240314-doom-emacs/light.png]] |
| 16 | 16 | ||
| 17 | #+caption: Doom Emacs Dark Mode | 17 | #+caption: Doom Emacs Dark Mode |
| 18 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240314-doom-emacs/dark.png]] | 18 | [[https://img.cleberg.net/blog/20240314-doom-emacs/dark.png]] |
| 19 | 19 | ||
| 20 | ** Getting Started | 20 | ** Getting Started |
| 21 | 21 | ||
| @@ -183,7 +183,7 @@ been slowly adoping some Python and general web dev tools as well. | |||
| 183 | *** Markdown | 183 | *** Markdown |
| 184 | 184 | ||
| 185 | #+caption: Markdown Preview | 185 | #+caption: Markdown Preview |
| 186 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240314-doom-emacs/markdown.png]] | 186 | [[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.png]] |
| 187 | 187 | ||
| 188 | Markdown is fairly simple as the syntax is limited, so just make sure the | 188 | Markdown is fairly simple as the syntax is limited, so just make sure the |
| 189 | =~/.doom.d/init.el= includes the =markdown= declaration in the =:lang= section. | 189 | =~/.doom.d/init.el= includes the =markdown= declaration in the =:lang= section. |
| @@ -205,7 +205,7 @@ things like link hiding. | |||
| 205 | *** Org-Mode | 205 | *** Org-Mode |
| 206 | 206 | ||
| 207 | #+caption: Org-Mode Preview | 207 | #+caption: Org-Mode Preview |
| 208 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240314-doom-emacs/org.png]] | 208 | [[https://img.cleberg.net/blog/20240314-doom-emacs/org.png]] |
| 209 | 209 | ||
| 210 | Similar to the markdown section above, ensure that the =~/.doom.d/init.el= | 210 | Similar to the markdown section above, ensure that the =~/.doom.d/init.el= |
| 211 | includes the =org= declaration in the =:lang= section. | 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 | #+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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240315-ddns-updater/ddns.png]] | 7 | [[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.png]] |
| 8 | 8 | ||
| 9 | [[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple | 9 | [[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple |
| 10 | DNS providers. | 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 | finishes the installation process. | 33 | finishes the installation process. |
| 34 | 34 | ||
| 35 | #+caption: Docker Desktop on macOS | 35 | #+caption: Docker Desktop on macOS |
| 36 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240408-docker-local-web-server/docker-desktop.png]] | 36 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.png]] |
| 37 | 37 | ||
| 38 | ** Creating an Nginx Container | 38 | ** Creating an Nginx Container |
| 39 | 39 | ||
| @@ -56,7 +56,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. | 56 | You can navigate to [[http://localhost:8000]] to see the resulting page. |
| 57 | 57 | ||
| 58 | #+caption: Default Nginx Container | 58 | #+caption: Default Nginx Container |
| 59 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240408-docker-local-web-server/default-container.png]] | 59 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.png]] |
| 60 | 60 | ||
| 61 | ** Customizing the Nginx Container | 61 | ** Customizing the Nginx Container |
| 62 | 62 | ||
| @@ -102,7 +102,7 @@ server { | |||
| 102 | } | 102 | } |
| 103 | #+end_src | 103 | #+end_src |
| 104 | 104 | ||
| 105 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240408-docker-local-web-server/custom-container.png]] | 105 | [[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.png]] |
| 106 | 106 | ||
| 107 | * Customizing Deployment Actions | 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 | opened. | 300 | opened. |
| 301 | 301 | ||
| 302 | #+caption: Mu4e Home Page | 302 | #+caption: Mu4e Home Page |
| 303 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240418-mu4e/mu4e.png]] | 303 | [[https://img.cleberg.net/blog/20240418-mu4e/mu4e.png]] |
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 | 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 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240503-ubuntu-on-macos/create.png]] | 35 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.png]] |
| 36 | 36 | ||
| 37 | ** Launching the Machine | 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 | and operates similar to a fresh Ubuntu install on bare metal. | 62 | and operates similar to a fresh Ubuntu install on bare metal. |
| 63 | 63 | ||
| 64 | #+caption: Ubuntu CLI | 64 | #+caption: Ubuntu CLI |
| 65 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240503-ubuntu-on-macos/cli.png]] | 65 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png]] |
| 66 | 66 | ||
| 67 | You can also click the machine's folder icon in OrbStack to open the machine's | 67 | You can also click the machine's folder icon in OrbStack to open the machine's |
| 68 | file system within macOS's native Files app. Within Files, you can double-click | 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 | (e.g., TextEdit). | 70 | (e.g., TextEdit). |
| 71 | 71 | ||
| 72 | #+caption: Ubuntu Files | 72 | #+caption: Ubuntu Files |
| 73 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240503-ubuntu-on-macos/files.png]] | 73 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.png]] |
| 74 | 74 | ||
| 75 | Here's an example of opening the =test.md= file in the screenshot above, which | 75 | Here's an example of opening the =test.md= file in the screenshot above, which |
| 76 | defaults to opening in Xcode on my system. | 76 | defaults to opening in Xcode on my system. |
| 77 | 77 | ||
| 78 | #+caption: Ubuntu Files | 78 | #+caption: Ubuntu Files |
| 79 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240503-ubuntu-on-macos/xcode.png]] | 79 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png]] |
| 80 | 80 | ||
| 81 | *** Test Examples | 81 | *** Test Examples |
| 82 | 82 | ||
| @@ -84,7 +84,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh= | |||
| 84 | shell, and ran a few common commands. | 84 | shell, and ran a few common commands. |
| 85 | 85 | ||
| 86 | #+caption: Test Examples | 86 | #+caption: Test Examples |
| 87 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240503-ubuntu-on-macos/test.png]] | 87 | [[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png]] |
| 88 | 88 | ||
| 89 | ** Thoughts | 89 | ** Thoughts |
| 90 | 90 | ||
content/blog/2024-07-11-emacs-on-ipad.org +5 −5
| @@ -15,7 +15,7 @@ I recommend [[https://apps.apple.com/us/app/ish-shell/id1436902243][iSH]], since | |||
| 15 | and will allow you to install packages that you need. | 15 | and will allow you to install packages that you need. |
| 16 | 16 | ||
| 17 | #+caption: iSH Application | 17 | #+caption: iSH Application |
| 18 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240711-emacs-on-ipad/ish.png]] | 18 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png]] |
| 19 | 19 | ||
| 20 | ** Require Packages | 20 | ** Require Packages |
| 21 | 21 | ||
| @@ -28,7 +28,7 @@ apk add emacs ripgrep fd findutils | |||
| 28 | #+end_src | 28 | #+end_src |
| 29 | 29 | ||
| 30 | #+caption: Package !Installation | 30 | #+caption: Package !Installation |
| 31 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240711-emacs-on-ipad/dependencies.png]] | 31 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png]] |
| 32 | 32 | ||
| 33 | ** Emacs | 33 | ** Emacs |
| 34 | 34 | ||
| @@ -40,7 +40,7 @@ incredibly slow and buggy that I was not even able to take screenshots. Someone | |||
| 40 | 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. |
| 41 | 41 | ||
| 42 | #+caption: Emacs | 42 | #+caption: Emacs |
| 43 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240711-emacs-on-ipad/emacs.png]] | 43 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png]] |
| 44 | 44 | ||
| 45 | *** MELPA | 45 | *** MELPA |
| 46 | 46 | ||
| @@ -49,13 +49,13 @@ able to search through their 5700+ packages instead of just ELPA packages. If | |||
| 49 | you don't, you will only have access to ELPA packages like the ones below. | 49 | you don't, you will only have access to ELPA packages like the ones below. |
| 50 | 50 | ||
| 51 | #+caption: package-install | 51 | #+caption: package-install |
| 52 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240711-emacs-on-ipad/melpa.png]] | 52 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png]] |
| 53 | 53 | ||
| 54 | Once you have MELPA, you can install packages like the =dashboard= package shown | 54 | Once you have MELPA, you can install packages like the =dashboard= package shown |
| 55 | below. | 55 | below. |
| 56 | 56 | ||
| 57 | #+caption: emacs-dashboard | 57 | #+caption: emacs-dashboard |
| 58 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240711-emacs-on-ipad/dashboard.png]] | 58 | [[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png]] |
| 59 | 59 | ||
| 60 | *** Speed | 60 | *** Speed |
| 61 | 61 | ||
content/blog/2024-08-25-n8n-sentiment-analysis.org +3 −3
| @@ -113,7 +113,7 @@ You can open the included workflow at | |||
| 113 | and create a new configuration. | 113 | and create a new configuration. |
| 114 | 114 | ||
| 115 | #+caption: n8n Workflow | 115 | #+caption: n8n Workflow |
| 116 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240825-n8n-sentiment-analysis/workflow.png]] | 116 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.png]] |
| 117 | 117 | ||
| 118 | This workflow contains the following nodes: | 118 | This workflow contains the following nodes: |
| 119 | 1. Email Trigger (IMAP) | 119 | 1. Email Trigger (IMAP) |
| @@ -151,10 +151,10 @@ send yourself a test email! | |||
| 151 | 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! |
| 152 | 152 | ||
| 153 | #+caption: Positive Results | 153 | #+caption: Positive Results |
| 154 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240825-n8n-sentiment-analysis/positive_results.png]] | 154 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.png]] |
| 155 | 155 | ||
| 156 | #+caption: Negative Results | 156 | #+caption: Negative Results |
| 157 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240825-n8n-sentiment-analysis/negative_results.png]] | 157 | [[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.png]] |
| 158 | 158 | ||
| 159 | While this isn't anything earth-shattering, it does show easy it is to get | 159 | While this isn't anything earth-shattering, it does show easy it is to get |
| 160 | started with n8n and large language models in a self-hosted environment. | 160 | started with n8n and large language models in a self-hosted environment. |
content/blog/2024-09-20-prometheus-grafana-cloud.org +9 −9
| @@ -277,7 +277,7 @@ and determine what Grafana should do when an alert is triggered. | |||
| 277 | ** OnCall | 277 | ** OnCall |
| 278 | 278 | ||
| 279 | #+caption: OnCall | 279 | #+caption: OnCall |
| 280 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/oncall.png]] | 280 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.png]] |
| 281 | 281 | ||
| 282 | 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 |
| 283 | Users page. | 283 | Users page. |
| @@ -299,12 +299,12 @@ users and teams to be on call for specific date and time ranges. For my | |||
| 299 | 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. |
| 300 | 300 | ||
| 301 | #+caption: User Information | 301 | #+caption: User Information |
| 302 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]] | 302 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]] |
| 303 | 303 | ||
| 304 | ** Alerting | 304 | ** Alerting |
| 305 | 305 | ||
| 306 | #+caption: Alerting Insights | 306 | #+caption: Alerting Insights |
| 307 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]] | 307 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]] |
| 308 | 308 | ||
| 309 | Now that we have defined users and team associated with an on-call schedule and | 309 | Now that we have defined users and team associated with an on-call schedule and |
| 310 | configured to receive the proper alerts, let's define a rule that will generate | 310 | configured to receive the proper alerts, let's define a rule that will generate |
| @@ -323,13 +323,13 @@ evaluation group. This is connected to our Grafana email, but can be associated | |||
| 323 | with any notification policy. | 323 | with any notification policy. |
| 324 | 324 | ||
| 325 | #+caption: New Alert Rule | 325 | #+caption: New Alert Rule |
| 326 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/new_alert.png]] | 326 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.png]] |
| 327 | 327 | ||
| 328 | When the alert fires, it will generate an email (or whatever notification policy | 328 | When the alert fires, it will generate an email (or whatever notification policy |
| 329 | you assigned) and will look something like the following image. | 329 | you assigned) and will look something like the following image. |
| 330 | 330 | ||
| 331 | #+caption: Alerting Example | 331 | #+caption: Alerting Example |
| 332 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/email_alert.png]] | 332 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.png]] |
| 333 | 333 | ||
| 334 | ** Dashboards | 334 | ** Dashboards |
| 335 | 335 | ||
| @@ -337,13 +337,13 @@ As promised above, here are some dashboard screenshots based on the | |||
| 337 | configurations above. | 337 | configurations above. |
| 338 | 338 | ||
| 339 | #+caption: Nginx Dashboard | 339 | #+caption: Nginx Dashboard |
| 340 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]] | 340 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]] |
| 341 | 341 | ||
| 342 | #+caption: Node Dashboard | 342 | #+caption: Node Dashboard |
| 343 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]] | 343 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]] |
| 344 | 344 | ||
| 345 | #+caption: OnCall Dashboard | 345 | #+caption: OnCall Dashboard |
| 346 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]] | 346 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]] |
| 347 | 347 | ||
| 348 | #+caption: Prometheus Dashboard | 348 | #+caption: Prometheus Dashboard |
| 349 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]] | 349 | [[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]] |
content/blog/2024-10-31-continue-ollama-code-assistant.org +5 −5
| @@ -201,19 +201,19 @@ Continue: | |||
| 201 | Below are a few screenshots from my current VS Codium window: | 201 | Below are a few screenshots from my current VS Codium window: |
| 202 | 202 | ||
| 203 | #+caption: Available Continue Commands | 203 | #+caption: Available Continue Commands |
| 204 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241031-continue-ollama-code-assistant/continue_commands.png]] | 204 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.png]] |
| 205 | 205 | ||
| 206 | #+caption: Continue Fullscreen Chat Window | 206 | #+caption: Continue Fullscreen Chat Window |
| 207 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]] | 207 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]] |
| 208 | 208 | ||
| 209 | #+caption: Inline Hotkeys | 209 | #+caption: Inline Hotkeys |
| 210 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]] | 210 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]] |
| 211 | 211 | ||
| 212 | #+caption: Inline Editing Suggestions | 212 | #+caption: Inline Editing Suggestions |
| 213 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241031-continue-ollama-code-assistant/continue_inline.png]] | 213 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.png]] |
| 214 | 214 | ||
| 215 | #+caption: Sidebar Context Window | 215 | #+caption: Sidebar Context Window |
| 216 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]] | 216 | [[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]] |
| 217 | 217 | ||
| 218 | * Conclusion | 218 | * Conclusion |
| 219 | 219 | ||
content/blog/2024-12-27-self-hosting-the-lounge.org +4 −4
| @@ -60,7 +60,7 @@ browsing from a different device. Don't forget to allow the port through your | |||
| 60 | machine's firewall, if you have one enabled. | 60 | machine's firewall, if you have one enabled. |
| 61 | 61 | ||
| 62 | #+caption: Login | 62 | #+caption: Login |
| 63 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241229-thelounge/login.png]] | 63 | [[https://img.cleberg.net/blog/20241229-thelounge/login.png]] |
| 64 | 64 | ||
| 65 | ** Nginx Reverse Proxy | 65 | ** Nginx Reverse Proxy |
| 66 | 66 | ||
| @@ -155,10 +155,10 @@ bottom of the sidebar and connect to individual channels or users via the plus | |||
| 155 | (=+=) button next to your server's name in the sidebar. | 155 | (=+=) button next to your server's name in the sidebar. |
| 156 | 156 | ||
| 157 | #+caption: New Server Connection | 157 | #+caption: New Server Connection |
| 158 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241229-thelounge/new_connection.png]] | 158 | [[https://img.cleberg.net/blog/20241229-thelounge/new_connection.png]] |
| 159 | 159 | ||
| 160 | #+caption: Existing Server Connection | 160 | #+caption: Existing Server Connection |
| 161 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241229-thelounge/existing_connection.png]] | 161 | [[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.png]] |
| 162 | 162 | ||
| 163 | #+caption: Channel View | 163 | #+caption: Channel View |
| 164 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20241229-thelounge/channel.png]] | 164 | [[https://img.cleberg.net/blog/20241229-thelounge/channel.png]] |
content/blog/2025-01-23-self-hosting-tandoor.org +7 −7
| @@ -125,22 +125,22 @@ The app is now available on your custom domain! | |||
| 125 | ** Screenshots | 125 | ** Screenshots |
| 126 | 126 | ||
| 127 | #+caption: Login | 127 | #+caption: Login |
| 128 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/login.png]] | 128 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.png]] |
| 129 | 129 | ||
| 130 | #+caption: Recipes | 130 | #+caption: Recipes |
| 131 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/recipes.png]] | 131 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.png]] |
| 132 | 132 | ||
| 133 | #+caption: Meal Plan | 133 | #+caption: Meal Plan |
| 134 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/mealplan.png]] | 134 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.png]] |
| 135 | 135 | ||
| 136 | #+caption: Shopping Lists | 136 | #+caption: Shopping Lists |
| 137 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/shopping.png]] | 137 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.png]] |
| 138 | 138 | ||
| 139 | #+caption: Cook Book | 139 | #+caption: Cook Book |
| 140 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/cookbook.png]] | 140 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.png]] |
| 141 | 141 | ||
| 142 | #+caption: Import | 142 | #+caption: Import |
| 143 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/import.png]] | 143 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.png]] |
| 144 | 144 | ||
| 145 | #+caption: Administration Panel | 145 | #+caption: Administration Panel |
| 146 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250123-self-hosting-tandoor/admin.png]] | 146 | [[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.png]] |
content/blog/2025-02-11-obscura-vpn.org +4 −4
| @@ -55,7 +55,7 @@ far as I can tell, there is no free tier available. In my opinion, this is a | |||
| 55 | good thing as I hesitate to understand how privacy-focused apps make money when | 55 | good thing as I hesitate to understand how privacy-focused apps make money when |
| 56 | they offer free services to users. | 56 | they offer free services to users. |
| 57 | 57 | ||
| 58 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250211-obscura-vpn/payment.png]] | 58 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.png]] |
| 59 | #+caption: Payment | 59 | #+caption: Payment |
| 60 | 60 | ||
| 61 | ** Connection | 61 | ** Connection |
| @@ -64,10 +64,10 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will | |||
| 64 | 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 |
| 65 | location or automatically connect. | 65 | location or automatically connect. |
| 66 | 66 | ||
| 67 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250211-obscura-vpn/connect.png]] | 67 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.png]] |
| 68 | #+caption: Initial Connection | 68 | #+caption: Initial Connection |
| 69 | 69 | ||
| 70 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250211-obscura-vpn/toolbar.png]] | 70 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.png]] |
| 71 | #+caption: Toolbar Utility | 71 | #+caption: Toolbar Utility |
| 72 | 72 | ||
| 73 | ** Speed | 73 | ** Speed |
| @@ -91,7 +91,7 @@ nodes before connecting to your target. | |||
| 91 | From the image below, we can see that Mullvad confirmed my traffic to be | 91 | From the image below, we can see that Mullvad confirmed my traffic to be |
| 92 | connected through a Mullvad IP address. | 92 | connected through a Mullvad IP address. |
| 93 | 93 | ||
| 94 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/20250211-obscura-vpn/mullvad-check.png]] | 94 | [[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.png]] |
| 95 | #+caption: Mullvad Check | 95 | #+caption: Mullvad Check |
| 96 | 96 | ||
| 97 | * Final Thoughts | 97 | * Final Thoughts |
content/salary/index.org +1 −1
| @@ -60,7 +60,7 @@ See the graph below for a visualization of each job's salary over time, as well | |||
| 60 | as percentage increases or decreases between jobs. | 60 | as percentage increases or decreases between jobs. |
| 61 | 61 | ||
| 62 | #+caption: Salary Visualization | 62 | #+caption: Salary Visualization |
| 63 | [[https://raw.githubusercontent.com/ccleberg/img/refs/heads/main/blog/salary/salary.png]] | 63 | [[https://img.cleberg.net/blog/salary/salary.png]] |
| 64 | 64 | ||
| 65 | This page was inspired by [[https://xeiaso.net/salary-transparency/][Xe]], and I'm quoting the following wording from them as | 65 | This page was inspired by [[https://xeiaso.net/salary-transparency/][Xe]], and I'm quoting the following wording from them as |
| 66 | I want to reiterate this piece: | 66 | I want to reiterate this piece: |