Commit 538dfa2807

538dfa2807ebb82704b2249d337cc9abefde4020

parent: 54339a23f5

Verified · cmc

cmc <hello@cleberg.net> · 2026-06-21 17:42 UTC

fix: resolve spelling issues in pre-2026 posts

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
2323single-key attacks on round-reduced AES variants [20, 33] so far are only
2424slightly more powerful than those proposed 10 years ago [23,24].
2525
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.]]
2727#+end_quote
2828
2929* How Secure is AES?
@@ -42,7 +42,7 @@ Someone may know the method of AES, but without the key, they are powerless.
4242To obscure and spread the data out, AES creates a substitution-permutation
4343network. 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
4444network sends the data through a set of S boxes (using the unique key) to
45substitute the bits with another block of bits. Then, a P box will permutate, or
45substitute the bits with another block of bits. Then, a P box will permute, or
4646rearrange, the bits. This is performed numerous times, with the last round
4747deriving the key. For AES, the key size specifies the number of transformation
4848rounds: 10, 12, and 14 rounds for 128-bit, 192-bit, and 256-bit keys,
@@ -63,7 +63,7 @@ respectively.
6363This process does not necessarily stop after one full round. Steps 2 through 5
6464will repeat for the number of rounds specified by the key. However, the final
6565round excludes the MixColumns step. As you can see, this is a fairly complex
66process. One must have a solid understanding of general mathematic principles to
66process. One must have a solid understanding of general mathematical principles to
6767fully understand how the sequence works (and to even attempt to find a
6868weakness).
6969
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
5555=iostream= header. This tells the computer that you want to use the =iostream=
5656standard library, which contains classes and functions written in the core
5757language. This specific header allows you to manipulate input/output streams.
58After all this, you'll end up which a temporary file that contains the expanded
58After all this, you'll end up with a temporary file that contains the expanded
5959source code.
6060
6161In the example of the C++ code above, the =iostream= class would be included in
@@ -66,7 +66,7 @@ the expanded code.
6666After the compiler expands the code, the compiler comes into play. The compiler
6767takes the C++ code and converts this code into the assembly language, understood
6868by the platform. You can see this in action if you head over to the [[https://godbolt.org][GodBolt
69Compiler Explorer]], which shows the compiled converting C++ into assembly
69Compiler Explorer]], which shows the compiler converting C++ into assembly
7070dynamically.
7171
7272For example, the =Hello, world!= code snippet above compiles into the following
@@ -116,13 +116,13 @@ _GLOBAL__sub_I_main:
116116
117117*** Step 3
118118
119Third, the compiled assembles the assembly code into the object code for the
119Third, the compiler assembles the assembly code into the object code for the
120120platform. Essentially, this is when the compiler takes the assembly code and
121121assembles it into machine code in a binary format. After researching this
122122online, I figured out that a lot of compilers will allow you to stop compilation
123123at this step. This would be useful for compiling each source code file
124124separately. This saves time later if a single file changes, since the developer
125will only need to re-compile single file.
125will only need to re-compile a single file.
126126
127127*** Step 4
128128
content/blog/2020-02-09-cryptography-basics.org +1 −1
@@ -149,7 +149,7 @@ encryption method for Windows Active Directory (AD).
149149* Cybersecurity Controls
150150
151151If you're someone who needs solutions on how to control risks associated with
152utilizing a crytograhpic system, start with these basic controls:
152utilizing a cryptographic system, start with these basic controls:
153153
154154- *Policies:* A policy on the use of cryptographic controls for protection of
155155 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
9191minimum. The Sagecom router is also standard, no fancy bells or whistles.
9292However, it does support the dynamic host configuration protocol (DHCP) for
9393internet protocol version 4 (IPv4) and internet protocol version 6 (IPv6), which
94is something iyou can use to route all household traffic through a pi-hole or
94is something you can use to route all household traffic through a pi-hole or
9595firewall.
9696
9797** 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:
117117nano change_remote_urls.sh
118118#+end_src
119119
120Past the following information and be sure to change the URL (uniform resource
120Paste the following information and be sure to change the URL (uniform resource
121121locator) information to whichever host you are moving to. For this example, I am
122122looping through all of my cloned GitHub directories and changing them to
123123Sourcehut (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.
7070
7171As mentioned in the intro, sampling is only an effective method of auditing when
7272it truly represents the entire population. While some audit departments or firms
73pmay consider certain judgmental sample sizes to be adequate, you may need to
73may consider certain judgmental sample sizes to be adequate, you may need to
7474rely on statistically-significant confidence levels of sample testing at certain
7575
7676points. 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:
1313- Disable root SSH
1414- Disable SSH password authentication
1515- 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
1717
1818However, MFA can be added as an additional security measure to ensure that your
1919server 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:
4747sudo docker-compose up -d
4848#+end_src
4949
50* Intial Setup
50* Initial Setup
5151
5252As long as no issues came up when starting the container, you should be
5353able 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.
6161sudo nano /etc/nginx/sites-available/ao
6262#+end_src
6363
64Within this file, paste the following content and repace
64Within this file, paste the following content and replace
6565=ao.example.com= with your URL. You may need to update the SSL
6666certificate statements if your certificates are in a different location.
6767
content/blog/2023-11-08-scli.org +1 −1
@@ -132,7 +132,7 @@ scli
132132* Configuration
133133
134134Lastly, there are a number of configuration options that you can pass
135via the command or in the =~/.config/sclirc= file. See the Github README
135via the command or in the =~/.config/sclirc= file. See the GitHub README
136136for more information on configuration options.
137137
138138#+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
2424noticed that a few of the users were responsible for the large majority of the
2525cliffhangers.
2626
27There's no real point to this post, just a desparate request for people to
27There's no real point to this post, just a desperate request for people to
2828please stop doing this.
content/blog/2024-01-13-local-llm.org +3 −3
@@ -34,7 +34,7 @@ to install and use so far:
3434[[https://ollama.ai/][Ollama]] is a simple Go application for macOS and Linux that can run various LLMs
3535locally.
3636
37For macOS, you can download the pplication on the [[https://ollama.ai/download/mac][Ollama download page]] and
37For macOS, you can download the application on the [[https://ollama.ai/download/mac][Ollama download page]] and
3838install it by unzipping the =Ollama.app= file and moving it to the
3939=Applications= folder.
4040
@@ -49,7 +49,7 @@ mv ~/Downloads/Ollama.app /Applications/
4949
5050After running the app, the app will ask you to open a terminal and run the
5151default =llama2= model, which will open an interactive chat session in the
52terminal. You can startfully using the application at this point.
52terminal. You can start using the application at this point.
5353
5454If you don't want to use the default =llama2= model, you can download and run
5555additional 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
8484downloaded model file and ensure the inference matches the requirement in the
8585=models.md= file.
8686
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
8888Ollama API, which did not meet my "on device requirement." Nonetheless, it's an
8989interesting 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
146146I added two 8TB hard drives and this process took around 10 seconds to complete.
147147
148148When viewing the pool again, you can see that the pool has now doubled in size.
149We have 14.3 TB useable space and the same space used for mirroring.
149We have 14.3 TB usable space and the same space used for mirroring.
150150
151151#+begin_src sh
152152> zfs list
@@ -237,7 +237,7 @@ sudo zpool add tank mirror /dev/sdc /dev/sdd
237237When we list the pool again, we can see that our size is now updated to
238238approximately 22TB. This represents my hard drives totalling 45.6TB when shown
239239with =fdisk -l=, with a Raid10 configuration using 22TB for mirroring and 22TB
240of useable space.
240of usable space.
241241
242242#+begin_src sh
243243> zfs list
content/blog/2024-03-13-doom-emacs.org +2 −2
@@ -8,7 +8,7 @@
88
99These screenshots are showing a project opened with projectile, a treemacs side
1010pane open with the project contents, multiple buffers tiled next to each other,
11and the help pane open at the bottomm.
11and the help pane open at the bottom.
1212
1313The themes are =doom-homage-white= and =doom-homage-black=.
1414
@@ -42,7 +42,7 @@ that would have helped me learn it faster had I known where to start.
4242This post focuses on [[https://github.com/doomemacs/doomemacs][Doom Emacs]], which is an Emacs framework that provides an
4343alternative experience to the vanilla [[https://www.gnu.org/software/emacs/][GNU Emacs]].
4444
45The [[https://github.com/doomemacs/doomemacs/blob/master/docs/getting_started.org][Getting Start Guide]] has an extremely detailed walkthrough of installation
45The [[https://github.com/doomemacs/doomemacs/blob/master/docs/getting_started.org][Getting Started Guide]] has an extremely detailed walkthrough of installation
4646for all systems, so please refer to that guide for up-to-date instructions.
4747
4848I 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
1515for and using a few different DDNS updating solutions for years. You'll also
1616notice that I love any projects that offer a Docker Compose solution.
1717
18Luckily, DDNS Upater fits both of these preferences.
18Luckily, DDNS Updater fits both of these preferences.
1919
2020** Installation
2121
content/blog/2024-03-29-org-blog.org +1 −1
@@ -245,7 +245,7 @@ My only current complaints are:
245245
2462461. Errors messages are not helpful. It takes work to determine what the error is
247247 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
249249 occurred.
2502502. The build process re-builds every single file on each run, which takes a long
251251 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 {
113113
114114I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to
115115build the static site. Within this file, I have configured my deployment process
116to check for the =ENV= variable in thesh and if it's set to =prod=, the script
116to check for the =ENV= variable in the shell and if it's set to =prod=, the script
117117will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs
118118to =localhost:8000= (which matches the port used in the container above).
119119
content/blog/2025-04-05-git-mirror.org +1 −1
@@ -7,7 +7,7 @@
77This is a short post detailing how I maintained repositories on GitHub and
88mirrors on GitLab - including both public and private repositories.
99
10Since GitLab locks pull-only mirrors behing their Premium and Ultimate tiers, I
10Since GitLab locks pull-only mirrors behind their Premium and Ultimate tiers, I
1111found a different solution.
1212
1313* Creating Mirrors
content/blog/2025-06-02-private-ios-apps.org +3 −3
@@ -65,7 +65,7 @@ for my purposes.
6565This allows for access to your email without installing an application that
6666access native APIs or other potential data sources you may be concerned about.
6767This is especially important if you're concerned about allowing permissions to
68device APIs, non-reproducible buils from the App Store, or mobile device
68device APIs, non-reproducible builds from the App Store, or mobile device
6969fingerprints.
7070
7171Lastly, [[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.
7979
8080* Browsers
8181
82Your choise of browser is very important if you're concerned with privacy. Any
82Your choice of browser is very important if you're concerned with privacy. Any
8383and all links you click will be opened in your default browser, so you need to
8484make sure you choose the right browser and configure it properly. Trackers, ads,
8585fingerprints, and data leaks are constant threats that should be avoided when
@@ -98,7 +98,7 @@ possible.
9898- [[https://brave.com/][Brave]] - Another chromium-based privacy browser. Can sync with other Brave
9999 browsers via a secure linking process (no account). Fully-featured and great
100100 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.
102102- [[https://www.apple.com/safari/][Safari]] (with caveats) - Great option if the browsers above don't work for you.
103103 Be sure to read PrivacyGuide's [[https://www.privacyguides.org/en/mobile-browsers/#safari-ios][Safari]] section for more information on what you
104104 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
2020
2121* Inspiration
2222
23I've written numerous times on this blog about minimaliasm, so it shouldn't
23I've written numerous times on this blog about minimalism, so it shouldn't
2424surprise any readers here that I've redesigned my website again for even more
2525minimalism. However, it's a bit different this time as I've historically
2626designed 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.
9898}
9999#+end_src
100100
101After the update, the focus of the color scheme is focused on a more natual,
101After the update, the focus of the color scheme is focused on a more natural,
102102paper-like effect. The light mode focuses on a yellow/orange-tinted paper-like
103substance, with a dark red accent and straightfoward design. Likewise, the dark
104mode scheme uses a charcoal-like color scheme with very simliar accent colors.
103substance, with a dark red accent and straightforward design. Likewise, the dark
104mode scheme uses a charcoal-like color scheme with very similar accent colors.
105105
106106#+begin_src css
107107:root {
@@ -138,7 +138,7 @@ a comfortable and intentional page layout.
138138That being said, let's dive into the changes I've made so far:
139139
140140- *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
142142 rigid constraints on the area of the fonts.
143143- *Font size*: Related to font style, I naturally had to update the font size as
144144 well. This allows for natural reading breaks for the eyes, spacing between
@@ -164,7 +164,7 @@ in mind:
164164
165165- *Color palettes*: The current scheme is good but not great. I'd love to find a
166166 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
168168 quotes, inline code, links, etc.?
169169- *Spacing*: Font sizes, padding, and potentially reducing content.
170170- *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
2828nai, brutalism, minimalism), but I didn't expand on the /why/ for these
2929concepts.
3030
31So, why? The minimalismtic approach to web design has resonated with me for a
31So, why? The minimalistic approach to web design has resonated with me for a
3232long time. But why minimalism?
3333
3434Officially, "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=
8080within the Configuration tab of the installed add-on. Once configured, I
8181restarted Home Assistant to start fresh.
8282
83Next, I opened Cloudflare and configured the tunnel to expore the
83Next, I opened Cloudflare and configured the tunnel to expose the
8484=ha.example.com= domain to the =homeassistant.local:8123= address in
8585Cloudflare's Zero Trust dashboard.
8686