Commit 538dfa2807
Verified · cmc
Layout: unified · split
content/blog/2018-11-28-aes-encryption.org +3 −3
| @@ -23,7 +23,7 @@ Though many papers have been published on the cryptanalysis of AES, the fastest | |||
| 23 | single-key attacks on round-reduced AES variants [20, 33] so far are only | 23 | single-key attacks on round-reduced AES variants [20, 33] so far are only |
| 24 | slightly more powerful than those proposed 10 years ago [23,24]. | 24 | slightly more powerful than those proposed 10 years ago [23,24]. |
| 25 | 25 | ||
| 26 | - [[http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf][Bogdonav, et al.]] | 26 | - [[http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf][Bogdanov, et al.]] |
| 27 | #+end_quote | 27 | #+end_quote |
| 28 | 28 | ||
| 29 | * How Secure is AES? | 29 | * How Secure is AES? |
| @@ -42,7 +42,7 @@ Someone may know the method of AES, but without the key, they are powerless. | |||
| 42 | To obscure and spread the data out, AES creates a substitution-permutation | 42 | To obscure and spread the data out, AES creates a substitution-permutation |
| 43 | network. Wikipedia has a wonderful [[https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/SubstitutionPermutationNetwork2.png/468px-SubstitutionPermutationNetwork2.png][example of an SP network]] available. This | 43 | network. Wikipedia has a wonderful [[https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/SubstitutionPermutationNetwork2.png/468px-SubstitutionPermutationNetwork2.png][example of an SP network]] available. This |
| 44 | network sends the data through a set of S boxes (using the unique key) to | 44 | network sends the data through a set of S boxes (using the unique key) to |
| 45 | substitute the bits with another block of bits. Then, a P box will permutate, or | 45 | substitute the bits with another block of bits. Then, a P box will permute, or |
| 46 | rearrange, the bits. This is performed numerous times, with the last round | 46 | rearrange, the bits. This is performed numerous times, with the last round |
| 47 | deriving the key. For AES, the key size specifies the number of transformation | 47 | deriving the key. For AES, the key size specifies the number of transformation |
| 48 | rounds: 10, 12, and 14 rounds for 128-bit, 192-bit, and 256-bit keys, | 48 | rounds: 10, 12, and 14 rounds for 128-bit, 192-bit, and 256-bit keys, |
| @@ -63,7 +63,7 @@ respectively. | |||
| 63 | This process does not necessarily stop after one full round. Steps 2 through 5 | 63 | This process does not necessarily stop after one full round. Steps 2 through 5 |
| 64 | will repeat for the number of rounds specified by the key. However, the final | 64 | will repeat for the number of rounds specified by the key. However, the final |
| 65 | round excludes the MixColumns step. As you can see, this is a fairly complex | 65 | round excludes the MixColumns step. As you can see, this is a fairly complex |
| 66 | process. One must have a solid understanding of general mathematic principles to | 66 | process. One must have a solid understanding of general mathematical principles to |
| 67 | fully understand how the sequence works (and to even attempt to find a | 67 | fully understand how the sequence works (and to even attempt to find a |
| 68 | weakness). | 68 | weakness). |
| 69 | 69 | ||
content/blog/2018-11-28-cpp-compiler.org +4 −4
| @@ -55,7 +55,7 @@ C++ preprocessor includes the code from all the header files, such as =#include | |||
| 55 | =iostream= header. This tells the computer that you want to use the =iostream= | 55 | =iostream= header. This tells the computer that you want to use the =iostream= |
| 56 | standard library, which contains classes and functions written in the core | 56 | standard library, which contains classes and functions written in the core |
| 57 | language. This specific header allows you to manipulate input/output streams. | 57 | language. This specific header allows you to manipulate input/output streams. |
| 58 | After all this, you'll end up which a temporary file that contains the expanded | 58 | After all this, you'll end up with a temporary file that contains the expanded |
| 59 | source code. | 59 | source code. |
| 60 | 60 | ||
| 61 | In the example of the C++ code above, the =iostream= class would be included in | 61 | In the example of the C++ code above, the =iostream= class would be included in |
| @@ -66,7 +66,7 @@ the expanded code. | |||
| 66 | After the compiler expands the code, the compiler comes into play. The compiler | 66 | After the compiler expands the code, the compiler comes into play. The compiler |
| 67 | takes the C++ code and converts this code into the assembly language, understood | 67 | takes the C++ code and converts this code into the assembly language, understood |
| 68 | by the platform. You can see this in action if you head over to the [[https://godbolt.org][GodBolt | 68 | by the platform. You can see this in action if you head over to the [[https://godbolt.org][GodBolt |
| 69 | Compiler Explorer]], which shows the compiled converting C++ into assembly | 69 | Compiler Explorer]], which shows the compiler converting C++ into assembly |
| 70 | dynamically. | 70 | dynamically. |
| 71 | 71 | ||
| 72 | For example, the =Hello, world!= code snippet above compiles into the following | 72 | For example, the =Hello, world!= code snippet above compiles into the following |
| @@ -116,13 +116,13 @@ _GLOBAL__sub_I_main: | |||
| 116 | 116 | ||
| 117 | *** Step 3 | 117 | *** Step 3 |
| 118 | 118 | ||
| 119 | Third, the compiled assembles the assembly code into the object code for the | 119 | Third, the compiler assembles the assembly code into the object code for the |
| 120 | platform. Essentially, this is when the compiler takes the assembly code and | 120 | platform. Essentially, this is when the compiler takes the assembly code and |
| 121 | assembles it into machine code in a binary format. After researching this | 121 | assembles it into machine code in a binary format. After researching this |
| 122 | online, I figured out that a lot of compilers will allow you to stop compilation | 122 | online, I figured out that a lot of compilers will allow you to stop compilation |
| 123 | at this step. This would be useful for compiling each source code file | 123 | at this step. This would be useful for compiling each source code file |
| 124 | separately. This saves time later if a single file changes, since the developer | 124 | separately. This saves time later if a single file changes, since the developer |
| 125 | will only need to re-compile single file. | 125 | will only need to re-compile a single file. |
| 126 | 126 | ||
| 127 | *** Step 4 | 127 | *** Step 4 |
| 128 | 128 | ||
content/blog/2020-02-09-cryptography-basics.org +1 −1
| @@ -149,7 +149,7 @@ encryption method for Windows Active Directory (AD). | |||
| 149 | * Cybersecurity Controls | 149 | * Cybersecurity Controls |
| 150 | 150 | ||
| 151 | If you're someone who needs solutions on how to control risks associated with | 151 | If you're someone who needs solutions on how to control risks associated with |
| 152 | utilizing a crytograhpic system, start with these basic controls: | 152 | utilizing a cryptographic system, start with these basic controls: |
| 153 | 153 | ||
| 154 | - *Policies:* A policy on the use of cryptographic controls for protection of | 154 | - *Policies:* A policy on the use of cryptographic controls for protection of |
| 155 | information is implemented and is in accordance with organizational | 155 | information is implemented and is in accordance with organizational |
content/blog/2020-05-03-homelab.org +1 −1
| @@ -91,7 +91,7 @@ modem supports DOCSIS 3.0, which is something that I definitely wanted as a | |||
| 91 | minimum. The Sagecom router is also standard, no fancy bells or whistles. | 91 | minimum. The Sagecom router is also standard, no fancy bells or whistles. |
| 92 | However, it does support the dynamic host configuration protocol (DHCP) for | 92 | However, it does support the dynamic host configuration protocol (DHCP) for |
| 93 | internet protocol version 4 (IPv4) and internet protocol version 6 (IPv6), which | 93 | internet protocol version 4 (IPv4) and internet protocol version 6 (IPv6), which |
| 94 | is something iyou can use to route all household traffic through a pi-hole or | 94 | is something you can use to route all household traffic through a pi-hole or |
| 95 | firewall. | 95 | firewall. |
| 96 | 96 | ||
| 97 | ** TP-Link EAP | 97 | ** TP-Link EAP |
content/blog/2021-03-19-clone-github-repos.org +1 −1
| @@ -117,7 +117,7 @@ do this, let's create another bash script: | |||
| 117 | nano change_remote_urls.sh | 117 | nano change_remote_urls.sh |
| 118 | #+end_src | 118 | #+end_src |
| 119 | 119 | ||
| 120 | Past the following information and be sure to change the URL (uniform resource | 120 | Paste the following information and be sure to change the URL (uniform resource |
| 121 | locator) information to whichever host you are moving to. For this example, I am | 121 | locator) information to whichever host you are moving to. For this example, I am |
| 122 | looping through all of my cloned GitHub directories and changing them to | 122 | looping through all of my cloned GitHub directories and changing them to |
| 123 | Sourcehut (e.g. =<YOUR_NEW_REMOTE_URL>= -> =git@git.sr.ht:~myusername=). | 123 | Sourcehut (e.g. =<YOUR_NEW_REMOTE_URL>= -> =git@git.sr.ht:~myusername=). |
content/blog/2021-08-25-audit-sampling.org +1 −1
| @@ -70,7 +70,7 @@ goes, we will trust that these functions are mathematically random. | |||
| 70 | 70 | ||
| 71 | As mentioned in the intro, sampling is only an effective method of auditing when | 71 | As mentioned in the intro, sampling is only an effective method of auditing when |
| 72 | it truly represents the entire population. While some audit departments or firms | 72 | it truly represents the entire population. While some audit departments or firms |
| 73 | pmay consider certain judgmental sample sizes to be adequate, you may need to | 73 | may consider certain judgmental sample sizes to be adequate, you may need to |
| 74 | rely on statistically-significant confidence levels of sample testing at certain | 74 | rely on statistically-significant confidence levels of sample testing at certain |
| 75 | 75 | ||
| 76 | points. I will demonstrate both here. For statistically-significant confidence | 76 | points. I will demonstrate both here. For statistically-significant confidence |
content/blog/2022-03-26-ssh-mfa.org +1 −1
| @@ -13,7 +13,7 @@ for other security measures, such as: | |||
| 13 | - Disable root SSH | 13 | - Disable root SSH |
| 14 | - Disable SSH password authentication | 14 | - Disable SSH password authentication |
| 15 | - Allow only certain users to login via SSH | 15 | - Allow only certain users to login via SSH |
| 16 | - Allow SSH only from certain internet protocol (IP) addressess | 16 | - Allow SSH only from certain internet protocol (IP) addresses |
| 17 | 17 | ||
| 18 | However, MFA can be added as an additional security measure to ensure that your | 18 | However, MFA can be added as an additional security measure to ensure that your |
| 19 | server is protected. This is especially important if you need to allow password | 19 | server is protected. This is especially important if you need to allow password |
content/blog/2023-06-08-self-hosting-baikal.org +1 −1
| @@ -47,7 +47,7 @@ docker container: | |||
| 47 | sudo docker-compose up -d | 47 | sudo docker-compose up -d |
| 48 | #+end_src | 48 | #+end_src |
| 49 | 49 | ||
| 50 | * Intial Setup | 50 | * Initial Setup |
| 51 | 51 | ||
| 52 | As long as no issues came up when starting the container, you should be | 52 | As long as no issues came up when starting the container, you should be |
| 53 | able to visit the server's set-up page at =http://<server_ip>:<port>=. | 53 | able to visit the server's set-up page at =http://<server_ip>:<port>=. |
content/blog/2023-10-17-self-hosting-anonymousoverflow.org +1 −1
| @@ -61,7 +61,7 @@ Let's start by creating a configuration file. | |||
| 61 | sudo nano /etc/nginx/sites-available/ao | 61 | sudo nano /etc/nginx/sites-available/ao |
| 62 | #+end_src | 62 | #+end_src |
| 63 | 63 | ||
| 64 | Within this file, paste the following content and repace | 64 | Within this file, paste the following content and replace |
| 65 | =ao.example.com= with your URL. You may need to update the SSL | 65 | =ao.example.com= with your URL. You may need to update the SSL |
| 66 | certificate statements if your certificates are in a different location. | 66 | certificate statements if your certificates are in a different location. |
| 67 | 67 | ||
content/blog/2023-11-08-scli.org +1 −1
| @@ -132,7 +132,7 @@ scli | |||
| 132 | * Configuration | 132 | * Configuration |
| 133 | 133 | ||
| 134 | Lastly, there are a number of configuration options that you can pass | 134 | Lastly, there are a number of configuration options that you can pass |
| 135 | via the command or in the =~/.config/sclirc= file. See the Github README | 135 | via the command or in the =~/.config/sclirc= file. See the GitHub README |
| 136 | for more information on configuration options. | 136 | for more information on configuration options. |
| 137 | 137 | ||
| 138 | #+begin_src sh | 138 | #+begin_src sh |
content/blog/2024-01-08-dont-say-hello.org +1 −1
| @@ -24,5 +24,5 @@ did not contain any indication of the purpose of the conversation. I also | |||
| 24 | noticed that a few of the users were responsible for the large majority of the | 24 | noticed that a few of the users were responsible for the large majority of the |
| 25 | cliffhangers. | 25 | cliffhangers. |
| 26 | 26 | ||
| 27 | There's no real point to this post, just a desparate request for people to | 27 | There's no real point to this post, just a desperate request for people to |
| 28 | please stop doing this. | 28 | please stop doing this. |
content/blog/2024-01-13-local-llm.org +3 −3
| @@ -34,7 +34,7 @@ to install and use so far: | |||
| 34 | [[https://ollama.ai/][Ollama]] is a simple Go application for macOS and Linux that can run various LLMs | 34 | [[https://ollama.ai/][Ollama]] is a simple Go application for macOS and Linux that can run various LLMs |
| 35 | locally. | 35 | locally. |
| 36 | 36 | ||
| 37 | For macOS, you can download the pplication on the [[https://ollama.ai/download/mac][Ollama download page]] and | 37 | For macOS, you can download the application on the [[https://ollama.ai/download/mac][Ollama download page]] and |
| 38 | install it by unzipping the =Ollama.app= file and moving it to the | 38 | install it by unzipping the =Ollama.app= file and moving it to the |
| 39 | =Applications= folder. | 39 | =Applications= folder. |
| 40 | 40 | ||
| @@ -49,7 +49,7 @@ mv ~/Downloads/Ollama.app /Applications/ | |||
| 49 | 49 | ||
| 50 | After running the app, the app will ask you to open a terminal and run the | 50 | After running the app, the app will ask you to open a terminal and run the |
| 51 | default =llama2= model, which will open an interactive chat session in the | 51 | default =llama2= model, which will open an interactive chat session in the |
| 52 | terminal. You can startfully using the application at this point. | 52 | terminal. You can start using the application at this point. |
| 53 | 53 | ||
| 54 | If you don't want to use the default =llama2= model, you can download and run | 54 | If you don't want to use the default =llama2= model, you can download and run |
| 55 | additional models found on the [[https://ollama.ai/library][Models]] page. | 55 | additional models found on the [[https://ollama.ai/library][Models]] page. |
| @@ -84,6 +84,6 @@ Once you have a file downloaded, you simply create a new chat and select the | |||
| 84 | downloaded model file and ensure the inference matches the requirement in the | 84 | downloaded model file and ensure the inference matches the requirement in the |
| 85 | =models.md= file. | 85 | =models.md= file. |
| 86 | 86 | ||
| 87 | [[https://github.com/AugustDev/enchanted][Enchanted]] is also an iOS for private AI models, but it requires a public-facing | 87 | [[https://github.com/AugustDev/enchanted][Enchanted]] is also an iOS app for private AI models, but it requires a public-facing |
| 88 | Ollama API, which did not meet my "on device requirement." Nonetheless, it's an | 88 | Ollama API, which did not meet my "on device requirement." Nonetheless, it's an |
| 89 | interesting looking app and I will likely set it up to test soon. | 89 | interesting looking app and I will likely set it up to test soon. |
content/blog/2024-02-06-zfs.org +2 −2
| @@ -146,7 +146,7 @@ sudo zpool add -f tank mirror /dev/sdX /dev/sdY | |||
| 146 | I added two 8TB hard drives and this process took around 10 seconds to complete. | 146 | I added two 8TB hard drives and this process took around 10 seconds to complete. |
| 147 | 147 | ||
| 148 | When viewing the pool again, you can see that the pool has now doubled in size. | 148 | When viewing the pool again, you can see that the pool has now doubled in size. |
| 149 | We have 14.3 TB useable space and the same space used for mirroring. | 149 | We have 14.3 TB usable space and the same space used for mirroring. |
| 150 | 150 | ||
| 151 | #+begin_src sh | 151 | #+begin_src sh |
| 152 | > zfs list | 152 | > zfs list |
| @@ -237,7 +237,7 @@ sudo zpool add tank mirror /dev/sdc /dev/sdd | |||
| 237 | When we list the pool again, we can see that our size is now updated to | 237 | When we list the pool again, we can see that our size is now updated to |
| 238 | approximately 22TB. This represents my hard drives totalling 45.6TB when shown | 238 | approximately 22TB. This represents my hard drives totalling 45.6TB when shown |
| 239 | with =fdisk -l=, with a Raid10 configuration using 22TB for mirroring and 22TB | 239 | with =fdisk -l=, with a Raid10 configuration using 22TB for mirroring and 22TB |
| 240 | of useable space. | 240 | of usable space. |
| 241 | 241 | ||
| 242 | #+begin_src sh | 242 | #+begin_src sh |
| 243 | > zfs list | 243 | > zfs list |
content/blog/2024-03-13-doom-emacs.org +2 −2
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | These screenshots are showing a project opened with projectile, a treemacs side | 9 | These screenshots are showing a project opened with projectile, a treemacs side |
| 10 | pane open with the project contents, multiple buffers tiled next to each other, | 10 | pane open with the project contents, multiple buffers tiled next to each other, |
| 11 | and the help pane open at the bottomm. | 11 | and the help pane open at the bottom. |
| 12 | 12 | ||
| 13 | The themes are =doom-homage-white= and =doom-homage-black=. | 13 | The themes are =doom-homage-white= and =doom-homage-black=. |
| 14 | 14 | ||
| @@ -42,7 +42,7 @@ that would have helped me learn it faster had I known where to start. | |||
| 42 | This post focuses on [[https://github.com/doomemacs/doomemacs][Doom Emacs]], which is an Emacs framework that provides an | 42 | This post focuses on [[https://github.com/doomemacs/doomemacs][Doom Emacs]], which is an Emacs framework that provides an |
| 43 | alternative experience to the vanilla [[https://www.gnu.org/software/emacs/][GNU Emacs]]. | 43 | alternative experience to the vanilla [[https://www.gnu.org/software/emacs/][GNU Emacs]]. |
| 44 | 44 | ||
| 45 | The [[https://github.com/doomemacs/doomemacs/blob/master/docs/getting_started.org][Getting Start Guide]] has an extremely detailed walkthrough of installation | 45 | The [[https://github.com/doomemacs/doomemacs/blob/master/docs/getting_started.org][Getting Started Guide]] has an extremely detailed walkthrough of installation |
| 46 | for all systems, so please refer to that guide for up-to-date instructions. | 46 | for all systems, so please refer to that guide for up-to-date instructions. |
| 47 | 47 | ||
| 48 | I chose to install on macOS, using the Homebrew option with the | 48 | I chose to install on macOS, using the Homebrew option with the |
content/blog/2024-03-15-self-hosting-ddns-updater.org +1 −1
| @@ -15,7 +15,7 @@ If you've read any of my other posts, you'll notice that I have been searching | |||
| 15 | for and using a few different DDNS updating solutions for years. You'll also | 15 | for and using a few different DDNS updating solutions for years. You'll also |
| 16 | notice that I love any projects that offer a Docker Compose solution. | 16 | notice that I love any projects that offer a Docker Compose solution. |
| 17 | 17 | ||
| 18 | Luckily, DDNS Upater fits both of these preferences. | 18 | Luckily, DDNS Updater fits both of these preferences. |
| 19 | 19 | ||
| 20 | ** Installation | 20 | ** Installation |
| 21 | 21 | ||
content/blog/2024-03-29-org-blog.org +1 −1
| @@ -245,7 +245,7 @@ My only current complaints are: | |||
| 245 | 245 | ||
| 246 | 1. Errors messages are not helpful. It takes work to determine what the error is | 246 | 1. Errors messages are not helpful. It takes work to determine what the error is |
| 247 | and where it's coming from. I generally have to sit and watch the build | 247 | and where it's coming from. I generally have to sit and watch the build |
| 248 | process to see the file that weblorg pubslishes right before the error | 248 | process to see the file that weblorg publishes right before the error |
| 249 | occurred. | 249 | occurred. |
| 250 | 2. The build process re-builds every single file on each run, which takes a long | 250 | 2. The build process re-builds every single file on each run, which takes a long |
| 251 | time for a blog of my size. See below for the last time I measured. | 251 | time for a blog of my size. See below for the last time I measured. |
content/blog/2024-04-08-docker-local-web-server.org +1 −1
| @@ -113,7 +113,7 @@ server { | |||
| 113 | 113 | ||
| 114 | I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to | 114 | I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to |
| 115 | build the static site. Within this file, I have configured my deployment process | 115 | build the static site. Within this file, I have configured my deployment process |
| 116 | to check for the =ENV= variable in thesh and if it's set to =prod=, the script | 116 | to check for the =ENV= variable in the shell and if it's set to =prod=, the script |
| 117 | will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs | 117 | will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs |
| 118 | to =localhost:8000= (which matches the port used in the container above). | 118 | to =localhost:8000= (which matches the port used in the container above). |
| 119 | 119 | ||
content/blog/2025-04-05-git-mirror.org +1 −1
| @@ -7,7 +7,7 @@ | |||
| 7 | This is a short post detailing how I maintained repositories on GitHub and | 7 | This is a short post detailing how I maintained repositories on GitHub and |
| 8 | mirrors on GitLab - including both public and private repositories. | 8 | mirrors on GitLab - including both public and private repositories. |
| 9 | 9 | ||
| 10 | Since GitLab locks pull-only mirrors behing their Premium and Ultimate tiers, I | 10 | Since GitLab locks pull-only mirrors behind their Premium and Ultimate tiers, I |
| 11 | found a different solution. | 11 | found a different solution. |
| 12 | 12 | ||
| 13 | * Creating Mirrors | 13 | * Creating Mirrors |
content/blog/2025-06-02-private-ios-apps.org +3 −3
| @@ -65,7 +65,7 @@ for my purposes. | |||
| 65 | This allows for access to your email without installing an application that | 65 | This allows for access to your email without installing an application that |
| 66 | access native APIs or other potential data sources you may be concerned about. | 66 | access native APIs or other potential data sources you may be concerned about. |
| 67 | This is especially important if you're concerned about allowing permissions to | 67 | This is especially important if you're concerned about allowing permissions to |
| 68 | device APIs, non-reproducible buils from the App Store, or mobile device | 68 | device APIs, non-reproducible builds from the App Store, or mobile device |
| 69 | fingerprints. | 69 | fingerprints. |
| 70 | 70 | ||
| 71 | Lastly, [[https://blog.thunderbird.net/2025/05/thunderbird-for-mobile-april-2025-progress-report/][Thunderbird iOS]] is under development. Keep an eye out for an alpha or | 71 | Lastly, [[https://blog.thunderbird.net/2025/05/thunderbird-for-mobile-april-2025-progress-report/][Thunderbird iOS]] is under development. Keep an eye out for an alpha or |
| @@ -79,7 +79,7 @@ releases for iOS, I will probably use that. | |||
| 79 | 79 | ||
| 80 | * Browsers | 80 | * Browsers |
| 81 | 81 | ||
| 82 | Your choise of browser is very important if you're concerned with privacy. Any | 82 | Your choice of browser is very important if you're concerned with privacy. Any |
| 83 | and all links you click will be opened in your default browser, so you need to | 83 | and all links you click will be opened in your default browser, so you need to |
| 84 | make sure you choose the right browser and configure it properly. Trackers, ads, | 84 | make sure you choose the right browser and configure it properly. Trackers, ads, |
| 85 | fingerprints, and data leaks are constant threats that should be avoided when | 85 | fingerprints, and data leaks are constant threats that should be avoided when |
| @@ -98,7 +98,7 @@ possible. | |||
| 98 | - [[https://brave.com/][Brave]] - Another chromium-based privacy browser. Can sync with other Brave | 98 | - [[https://brave.com/][Brave]] - Another chromium-based privacy browser. Can sync with other Brave |
| 99 | browsers via a secure linking process (no account). Fully-featured and great | 99 | browsers via a secure linking process (no account). Fully-featured and great |
| 100 | privacy defaults. There have been some concerns in the past about the company | 100 | privacy defaults. There have been some concerns in the past about the company |
| 101 | behind Brave, but I still think it's a decent option for most peoplel. | 101 | behind Brave, but I still think it's a decent option for most people. |
| 102 | - [[https://www.apple.com/safari/][Safari]] (with caveats) - Great option if the browsers above don't work for you. | 102 | - [[https://www.apple.com/safari/][Safari]] (with caveats) - Great option if the browsers above don't work for you. |
| 103 | Be sure to read PrivacyGuide's [[https://www.privacyguides.org/en/mobile-browsers/#safari-ios][Safari]] section for more information on what you | 103 | Be sure to read PrivacyGuide's [[https://www.privacyguides.org/en/mobile-browsers/#safari-ios][Safari]] section for more information on what you |
| 104 | need to do to lock it down before relying on it full time. | 104 | need to do to lock it down before relying on it full time. |
content/blog/2025-09-04-website-redesign.org +6 −6
| @@ -20,7 +20,7 @@ https://img.cleberg.net/blog/20250905-human-website-design/after.webp | |||
| 20 | 20 | ||
| 21 | * Inspiration | 21 | * Inspiration |
| 22 | 22 | ||
| 23 | I've written numerous times on this blog about minimaliasm, so it shouldn't | 23 | I've written numerous times on this blog about minimalism, so it shouldn't |
| 24 | surprise any readers here that I've redesigned my website again for even more | 24 | surprise any readers here that I've redesigned my website again for even more |
| 25 | minimalism. However, it's a bit different this time as I've historically | 25 | minimalism. However, it's a bit different this time as I've historically |
| 26 | designed my website to be very computer design driven (think monospace fonts and | 26 | designed my website to be very computer design driven (think monospace fonts and |
| @@ -98,10 +98,10 @@ blue accent colors for inline code and links, respectively. | |||
| 98 | } | 98 | } |
| 99 | #+end_src | 99 | #+end_src |
| 100 | 100 | ||
| 101 | After the update, the focus of the color scheme is focused on a more natual, | 101 | After the update, the focus of the color scheme is focused on a more natural, |
| 102 | paper-like effect. The light mode focuses on a yellow/orange-tinted paper-like | 102 | paper-like effect. The light mode focuses on a yellow/orange-tinted paper-like |
| 103 | substance, with a dark red accent and straightfoward design. Likewise, the dark | 103 | substance, with a dark red accent and straightforward design. Likewise, the dark |
| 104 | mode scheme uses a charcoal-like color scheme with very simliar accent colors. | 104 | mode scheme uses a charcoal-like color scheme with very similar accent colors. |
| 105 | 105 | ||
| 106 | #+begin_src css | 106 | #+begin_src css |
| 107 | :root { | 107 | :root { |
| @@ -138,7 +138,7 @@ a comfortable and intentional page layout. | |||
| 138 | That being said, let's dive into the changes I've made so far: | 138 | That being said, let's dive into the changes I've made so far: |
| 139 | 139 | ||
| 140 | - *Font style*: I've updated the font style from a monospace font stack to a | 140 | - *Font style*: I've updated the font style from a monospace font stack to a |
| 141 | serif font stack. This created a more natual flow across the screen and less | 141 | serif font stack. This created a more natural flow across the screen and less |
| 142 | rigid constraints on the area of the fonts. | 142 | rigid constraints on the area of the fonts. |
| 143 | - *Font size*: Related to font style, I naturally had to update the font size as | 143 | - *Font size*: Related to font style, I naturally had to update the font size as |
| 144 | well. This allows for natural reading breaks for the eyes, spacing between | 144 | well. This allows for natural reading breaks for the eyes, spacing between |
| @@ -164,7 +164,7 @@ in mind: | |||
| 164 | 164 | ||
| 165 | - *Color palettes*: The current scheme is good but not great. I'd love to find a | 165 | - *Color palettes*: The current scheme is good but not great. I'd love to find a |
| 166 | color palette that feels like reading natural paper. | 166 | color palette that feels like reading natural paper. |
| 167 | - *Emphasized text*: Are links legible enough? Is there enought contrast between | 167 | - *Emphasized text*: Are links legible enough? Is there enough contrast between |
| 168 | quotes, inline code, links, etc.? | 168 | quotes, inline code, links, etc.? |
| 169 | - *Spacing*: Font sizes, padding, and potentially reducing content. | 169 | - *Spacing*: Font sizes, padding, and potentially reducing content. |
| 170 | - *Layout*: Is there a better structure to this document that would allow for | 170 | - *Layout*: Is there a better structure to this document that would allow for |
content/blog/2025-09-25-minimalist-website-redesign.org +1 −1
| @@ -28,7 +28,7 @@ I /briefly/ touched on my inspiration in the last post (hint: wabi-sabi, sho ga | |||
| 28 | nai, brutalism, minimalism), but I didn't expand on the /why/ for these | 28 | nai, brutalism, minimalism), but I didn't expand on the /why/ for these |
| 29 | concepts. | 29 | concepts. |
| 30 | 30 | ||
| 31 | So, why? The minimalismtic approach to web design has resonated with me for a | 31 | So, why? The minimalistic approach to web design has resonated with me for a |
| 32 | long time. But why minimalism? | 32 | long time. But why minimalism? |
| 33 | 33 | ||
| 34 | Officially, "the concept of minimalist architecture is to strip everything down | 34 | Officially, "the concept of minimalist architecture is to strip everything down |
content/blog/2025-12-20-self-hosting-home-assistant.org +1 −1
| @@ -80,7 +80,7 @@ Assistant Hostname=, =Cloudflare Tunnel Name=, and the =Cloudflare Tunnel Token= | |||
| 80 | within the Configuration tab of the installed add-on. Once configured, I | 80 | within the Configuration tab of the installed add-on. Once configured, I |
| 81 | restarted Home Assistant to start fresh. | 81 | restarted Home Assistant to start fresh. |
| 82 | 82 | ||
| 83 | Next, I opened Cloudflare and configured the tunnel to expore the | 83 | Next, I opened Cloudflare and configured the tunnel to expose the |
| 84 | =ha.example.com= domain to the =homeassistant.local:8123= address in | 84 | =ha.example.com= domain to the =homeassistant.local:8123= address in |
| 85 | Cloudflare's Zero Trust dashboard. | 85 | Cloudflare's Zero Trust dashboard. |
| 86 | 86 | ||