Commit 8258aed8b9

8258aed8b95fcc875cb48c1de05271f63d332977

parent: 67ee00c73c

Unsigned

cmc <hello@cleberg.net> · 2024-07-03 04:24 UTC

fix 2024 blog posts for missing images

Layout: unified · split

content/blog/2024-01-09-macos-customization.md +3 −26
@@ -42,11 +42,9 @@ I use [iTerm2](https://iterm2.com/), which can be installed with Homebrew:
42brew install iterm2 42brew install iterm2
43``` 43```
44 44
45![iTerm2](https://img.cleberg.net/blog/20240109-macos-customization/iterm2.png) 45To install color schemes, such as the Dracula scheme, you visit [iTerm
46 46Themes](https://iterm2colorschemes.com/) and follow their installation
47To install color schemes, such as the Dracula scheme shown in the screenshot 47instructions to install any of the themes.
48above, you visit [iTerm Themes](https://iterm2colorschemes.com/) and follow
49their installation instructions to install any of the themes.
50 48
51# Desktop 49# Desktop
52 50
@@ -65,12 +63,6 @@ wiki](<https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-releas
65for installation instructions. You will need to ensure that yabai is allowed to 63for installation instructions. You will need to ensure that yabai is allowed to
66access the accessibility and screen recording APIs. 64access the accessibility and screen recording APIs.
67 65
68You can see a basic three-pane layout atuomatically configured by yabai for me
69as I opened the windows below.
70
71![yabai window
72manager](https://img.cleberg.net/blog/20240109-macos-customization/yabai.png)
73
74## Keyboard Shortcuts 66## Keyboard Shortcuts
75 67
76[skhd](https://github.com/koekeishiya/skhd) is a simple hotkey daemon that 68[skhd](https://github.com/koekeishiya/skhd) is a simple hotkey daemon that
@@ -116,9 +108,6 @@ folder.
116See below for an example of the 108See below for an example of the
117[Mond](https://tracesof.net/uebersicht-widgets/#Mond) widget in action. 109[Mond](https://tracesof.net/uebersicht-widgets/#Mond) widget in action.
118 110
119![uebersicht desktop
120widgets](https://img.cleberg.net/blog/20240109-macos-customization/uebersicht.png)
121
122## Status Bar 111## Status Bar
123 112
124[SketchyBar](https://github.com/FelixKratz/SketchyBar) is a customizable 113[SketchyBar](https://github.com/FelixKratz/SketchyBar) is a customizable
@@ -128,11 +117,6 @@ You can browse a discussion where various users shared their
128[configurations](https://github.com/FelixKratz/SketchyBar/discussions/47?sort=top) 117[configurations](https://github.com/FelixKratz/SketchyBar/discussions/47?sort=top)
129for inspiration or to copy their dotfiles. 118for inspiration or to copy their dotfiles.
130 119
131See below for a quick (& slightly broken) copy of
132[zer0yu's](https://github.com/zer0yu/dotfiles) SketchyBar configuration.
133
134![SketchyBar](https://img.cleberg.net/blog/20240109-macos-customization/sketchybar.png)
135
136## Dock 120## Dock
137 121
138The easiest way to customize the dock is to install 122The easiest way to customize the dock is to install
@@ -146,8 +130,6 @@ use the built-in dock instead of customizing it with third-party software.
146 130
147Regardless, see below for the default installation style of uBar. 131Regardless, see below for the default installation style of uBar.
148 132
149![uBar](https://img.cleberg.net/blog/20240109-macos-customization/ubar.png)
150
151## Application Icons 133## Application Icons
152 134
153You can also customize the icon of any application in macOS, which will show up 135You can also customize the icon of any application in macOS, which will show up
@@ -163,8 +145,3 @@ them by following this process.
163 over it). 145 over it).
1645. Release the new icon on top of the old icon and it will update! 1465. Release the new icon on top of the old icon and it will update!
165 147
166You can see an example of me dragging a new `signal.icns` file onto my
167Signal.app information window to update it below:
168
169![replace macOS
170icons](https://img.cleberg.net/blog/20240109-macos-customization/replace_icon.png)
content/blog/2024-01-13-local-llm.md −13
@@ -50,16 +50,12 @@ After running the app, the app will ask you to open a terminal and run the
50default `llama2` model, which will open an interactive chat session in the 50default `llama2` model, which will open an interactive chat session in the
51terminal. You can startfully using the application at this point. 51terminal. You can startfully using the application at this point.
52 52
53![Ollama](https://img.cleberg.net/blog/20240113-local-llm/ollama.png)
54
55If you don't want to use the default `llama2` model, you can download and run 53If you don't want to use the default `llama2` model, you can download and run
56additional models found on the [Models](https://ollama.ai/library) page. 54additional models found on the [Models](https://ollama.ai/library) page.
57 55
58To see the information for the currently-used model, you can run the `/show 56To see the information for the currently-used model, you can run the `/show
59info` command in the chat. 57info` command in the chat.
60 58
61![Model Info](https://img.cleberg.net/blog/20240113-local-llm/ollama_info.png)
62
63## Community Integrations 59## Community Integrations
64 60
65I highly recommend browsing the [Community 61I highly recommend browsing the [Community
@@ -68,9 +64,6 @@ section of the project to see how you would prefer to extend Ollama beyond a
68simple command-line interface. There are options for APIs, browser UIs, advanced 64simple command-line interface. There are options for APIs, browser UIs, advanced
69terminal configurations, and more. 65terminal configurations, and more.
70 66
71![Ollama
72SwiftUI](https://img.cleberg.net/blog/20240113-local-llm/ollama-swiftui.png)
73
74# iOS 67# iOS
75 68
76While there are a handful of decent macOS options, it was quite difficult to 69While there are a handful of decent macOS options, it was quite difficult to
@@ -93,12 +86,6 @@ Once you have a file downloaded, you simply create a new chat and select the
93downloaded model file and ensure the inference matches the requirement in the 86downloaded model file and ensure the inference matches the requirement in the
94`models.md` file. 87`models.md` file.
95 88
96See below for a test of the ORCA Mini v3 model:
97
98| Chat List | Chat |
99| ----------------------------------------------------------------------- | ----------------------------------------------------------------- |
100| ![](https://img.cleberg.net/blog/20240113-local-llm/llm_farm_chats.png) | ![](https://img.cleberg.net/blog/20240113-local-llm/llm_farm.png) |
101
102[Enchanted](https://github.com/AugustDev/enchanted) is also an iOS for private 89[Enchanted](https://github.com/AugustDev/enchanted) is also an iOS for private
103AI models, but it requires a public-facing Ollama API, which did not meet my "on 90AI models, but it requires a public-facing Ollama API, which did not meet my "on
104device requirement." Nonetheless, it's an interesting looking app and I will 91device requirement." Nonetheless, it's an interesting looking app and I will
content/blog/2024-01-26-audit-dashboard.md +5 −31
@@ -9,10 +9,8 @@ Alteryx and Power BI are powerful tools that can help turn your old-school audit
9trackers into interactive tools that provide useful insights and potential 9trackers into interactive tools that provide useful insights and potential
10action plans. 10action plans.
11 11
12With these tools, we are going to build the following dashboard: 12With these tools, we are going to build a dashboard that can effectively
13 13communicate project status.
14![](https://img.cleberg.net/blog/20240126-audit-dashboard/dashboard_01.png)
15![](https://img.cleberg.net/blog/20240126-audit-dashboard/dashboard_02.png)
16 14
17# Requirements 15# Requirements
18 16
@@ -37,9 +35,6 @@ and let Alteryx determine the format for you. For this example, we will be
37importing an Excel file and changing the `Start Data Import on Line` variable to 35importing an Excel file and changing the `Start Data Import on Line` variable to
38`2`. 36`2`.
39 37
40![Alteryx Excel
41Import](https://img.cleberg.net/blog/20240126-audit-dashboard/alteryx_import.png)
42
43## Transform Data 38## Transform Data
44 39
45Next, let's replace null data and remove whitespace to clean up our data. We can 40Next, let's replace null data and remove whitespace to clean up our data. We can
@@ -53,17 +48,11 @@ Ensure that the following options are enabled:
53- Remove Unwanted Characters 48- Remove Unwanted Characters
54 - Leading and Trailing Whitespace 49 - Leading and Trailing Whitespace
55 50
56![Data
57Cleansing](https://img.cleberg.net/blog/20240126-audit-dashboard/alteryx_cleansing.png)
58
59For our next step, we will transform the date fields from strings to datetime 51For our next step, we will transform the date fields from strings to datetime
60format. Add a `Datetime` tool for each field you want to transform - in the 52format. Add a `Datetime` tool for each field you want to transform - in the
61example below, I am using the tool twice for the "Started On" and "Submitted On" 53example below, I am using the tool twice for the "Started On" and "Submitted On"
62fields. 54fields.
63 55
64![Data
65Transformation](https://img.cleberg.net/blog/20240126-audit-dashboard/alteryx_transformation.png)
66
67Now that the dates are in the correct format, let's perform a calculation based 56Now that the dates are in the correct format, let's perform a calculation based
68on those fields. Start by adding a `Filter` tool, naming a new Output Column, 57on those fields. Start by adding a `Filter` tool, naming a new Output Column,
69and pasting the formula below into it (the two fields used in this formula must 58and pasting the formula below into it (the two fields used in this formula must
@@ -71,19 +60,13 @@ match the output of the `Datetime` tools above):
71 60
72```txt 61```txt
73DateTimeDiff([SubmittedOn_Out],[StartedOn_Out], "days") 62DateTimeDiff([SubmittedOn_Out],[StartedOn_Out], "days")
74``` 63`
75
76![Data
77Analysis](https://img.cleberg.net/blog/20240126-audit-dashboard/alteryx_analysis.png)
78 64
79## Export Data 65## Export Data
80 66
81Finalize the process by exporting the transformed data set to a new file, for 67Finalize the process by exporting the transformed data set to a new file, for
82use in the following visualization step. 68use in the following visualization step.
83 69
84![Data
85Export](https://img.cleberg.net/blog/20240126-audit-dashboard/alteryx_export.png)
86
87# Power BI: Data Visualization 70# Power BI: Data Visualization
88 71
89## Import Data 72## Import Data
@@ -98,19 +81,10 @@ for this project.
98During this process, I also imported the export from the Alteryx workflow above. 81During this process, I also imported the export from the Alteryx workflow above.
99Therefore, we have two different files available for use in our dashboard. 82Therefore, we have two different files available for use in our dashboard.
100 83
101![Excel
102Tracker](https://img.cleberg.net/blog/20240126-audit-dashboard/excel_tracker.png)
103
104![Power BI Excel
105Import](https://img.cleberg.net/blog/20240126-audit-dashboard/powerbi_import.png)
106
107## Add Visuals 84## Add Visuals
108 85
109To create the dashboard below, you will need to follow the list instructions 86To create the dashboard, you will need to follow the list instructions
110below and format as needed: 87below and format as needed.
111
112![](https://img.cleberg.net/blog/20240126-audit-dashboard/dashboard_01.png)
113![](https://img.cleberg.net/blog/20240126-audit-dashboard/dashboard_02.png)
114 88
115Instructions to create the visuals above: 89Instructions to create the visuals above:
116 90
content/blog/2024-02-21-self-hosting-otter-wiki.md −16
@@ -120,19 +120,3 @@ Once enabled, restart the Nginx server to start serving the app externally.
120sudo systemctl restart nginx.service 120sudo systemctl restart nginx.service
121``` 121```
122 122
123# Screenshots
124
125In the screenshot below, you can see the initial launch screen for An Otter
126Wiki. Start by creating your admin account and configure the app as necessary.
127
128![An Otter Wiki - Initial
129Screen](https://img.cleberg.net/blog/20240221-otterwiki/otterwiki.png)
130
131You can also see the default editing screen for creating and editing pages. It's
132as easy as typing Markdown and hitting the save button.
133
134![An Otter Wiki - Editing
135Screen](https://img.cleberg.net/blog/20240221-otterwiki/otterwiki-edit.png)
136
137Overall, I like An Otter Wiki and will be looking forward to seeing how much use
138I get out of it going forward.
content/blog/2024-04-06-convert-onenote-to-markdown.md −12
@@ -25,15 +25,6 @@ To start, export any pages or tabs from OneNote to the Word format (`.docx`):
25 25
26See below for a visual walkthrough of the export process. 26See below for a visual walkthrough of the export process.
27 27
28![OneNote
29Notebook](https://img.cleberg.net/blog/20240406-convert-onenote-to-markdown/onenote.png)
30
31![OneNote Section Export
32Options](https://img.cleberg.net/blog/20240406-convert-onenote-to-markdown/export.png)
33
34![Exported Word
35Document](https://img.cleberg.net/blog/20240406-convert-onenote-to-markdown/word.png)
36
37# Download Pandoc 28# Download Pandoc
38 29
39Start by downloading Pandoc from their [GitHub 30Start by downloading Pandoc from their [GitHub
@@ -93,9 +84,6 @@ This loop will perform the following actions:
93 `-o`. This option adds the `.md` file extension to recognize the output files 84 `-o`. This option adds the `.md` file extension to recognize the output files
94 as Markdown files. 85 as Markdown files.
95 86
96![Pandoc
97Conversion](https://img.cleberg.net/blog/20240406-convert-onenote-to-markdown/command.png)
98
99If you want to export to another format, simply specify the `-f=`/`--from=` and 87If you want to export to another format, simply specify the `-f=`/`--from=` and
100`-t=`/`--to=` options. 88`-t=`/`--to=` options.
101 89
content/blog/2024-04-18-mu4e.md +2 −10
@@ -279,7 +279,7 @@ If you have Doom open, execute `SPC h r r` to reload the new configurations.
279# Initial Sync 279# Initial Sync
280 280
281Once you have configured all of the relevant files, you can perform an initial 281Once you have configured all of the relevant files, you can perform an initial
282sync. Note that you can perform syncing within Mu4e itself afer this. 282sync. Note that you can perform syncing within Mu4e itself after this.
283 283
284```sh 284```sh
285mbsync -aV 285mbsync -aV
@@ -299,15 +299,7 @@ The emails will now to be ready to use!
299You can now launch Doom and open Mu4e with `SPC o m`. You can also explore the 299You can now launch Doom and open Mu4e with `SPC o m`. You can also explore the
300Mu4e options with `SPC : mu4e`. 300Mu4e options with `SPC : mu4e`.
301 301
302The home page shows various options and metdata about the account you've opened. 302The home page shows various options and metadata about the account you've opened.
303 303
304![Mu4e Home Page](https://img.cleberg.net/blog/20240418-mu4e/mu4e.png) 304![Mu4e Home Page](https://img.cleberg.net/blog/20240418-mu4e/mu4e.png)
305 305
306When composing an email, you can see the metadata fields at the top and compose
307the message below the indicator line.
308
309![Composition Screen](https://img.cleberg.net/blog/20240418-mu4e/draft.png)
310
311When in a folder, you can view emails in a pane and perform actions as needed.
312
313![Inbox](https://img.cleberg.net/blog/20240418-mu4e/inbox.png)
content/blog/2024-05-03-ubuntu-on-macos.md +3 −7
@@ -50,9 +50,6 @@ script via the provided path if you wish. When you're comfortable with the
50script, you can toggle the `Suppress this message permanently` button and click 50script, you can toggle the `Suppress this message permanently` button and click
51OK to run the machine. 51OK to run the machine.
52 52
53![First-Time Run
54Warning](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/warning.png)
55
56> **Quick Tip**! 53> **Quick Tip**!
57> 54>
58> You will always be able to launch the OrbStack application and 55> You will always be able to launch the OrbStack application and
@@ -65,7 +62,7 @@ Warning](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/warning.png)
65Once successful, OrbStack will launch your default terminal and log you into the 62Once successful, OrbStack will launch your default terminal and log you into the
66Linux machine you created above. 63Linux machine you created above.
67 64
68In the example below, we can see that the machine is using `Linux ubuntu 6.7.11` 65In the example below, we can see that the machine is using `Linux ubuntu 6.9.6`
69and operates similar to a fresh Ubuntu install on bare metal. 66and operates similar to a fresh Ubuntu install on bare metal.
70 67
71![Ubuntu CLI](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png) 68![Ubuntu CLI](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png)
@@ -82,11 +79,10 @@ defaults to opening in Xcode on my system.
82 79
83![Ubuntu Files](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png) 80![Ubuntu Files](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png)
84 81
85
86### Test Examples 82### Test Examples
87 83
88As a quick example of the system, I added a `test` user, installed `neofetch`, 84As a quick example of the system, I installed `neofetch`, switched to the `zsh`
89and switched the `test` user's shell to `zsh`: 85shell, and ran a few common commands.
90 86
91![Test Examples](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png) 87![Test Examples](https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png)
92 88