Commit c22fe8e4b2

c22fe8e4b2fed42ab6a46ac6c123cea288850f48

parent: 11edeee03e

Unsigned

cmc <hello@cleberg.net> · 2024-07-09 03:06 UTC

fix images for 2018 to 2021 posts

Layout: unified · split

content/blog/2019-09-09-audit-analytics.md +1 −14
@@ -29,9 +29,6 @@ or extracting data, selecting samples, or performing audit tests. These steps
29can be necessary for an audit (and may even be performed by the same 29can be necessary for an audit (and may even be performed by the same
30associates), but they are not data analytics. 30associates), but they are not data analytics.
31 31
32![The Intelligence
33Cycle](https://img.cleberg.net/blog/20190909-data-analysis-in-auditing/intelligence_cycle-min.png)
34
35# Current Use of Analytics in Auditing 32# Current Use of Analytics in Auditing
36 33
37While data analysis has been an integral part of most businesses and departments 34While data analysis has been an integral part of most businesses and departments
@@ -83,9 +80,6 @@ analytics so that the results can be as comprehensive as possible:
83- **Analysts**: There must be auditors willing and able to perform data 80- **Analysts**: There must be auditors willing and able to perform data
84 analytics or else the system cannot be sustained. 81 analytics or else the system cannot be sustained.
85 82
86![The Delta
87Model](https://img.cleberg.net/blog/20190909-data-analysis-in-auditing/delta-min.png)
88
89# Finding the Proper KPIs 83# Finding the Proper KPIs
90 84
91Once the Internal Audit Function has decided that they want to start using data 85Once the Internal Audit Function has decided that they want to start using data
@@ -197,14 +191,7 @@ that only about 12.5% of entry-level jobs don't require experience.
197This is the kind of result that easily describes the data for you. However, make 191This is the kind of result that easily describes the data for you. However, make
198sure to include an explanation of what the results mean. Don't let the reader 192sure to include an explanation of what the results mean. Don't let the reader
199assume what the data means, especially if it relates to a complex subject. _Tell 193assume what the data means, especially if it relates to a complex subject. _Tell
200a story_ about the data and why the results matter. For example, **Figure 4** 194a story_ about the data and why the results matter.
201shows a part of the explanation the author gives to illustrate his point.
202
203![Entry-Level
204Visualization](https://img.cleberg.net/blog/20190909-data-analysis-in-auditing/vis_example-min.png)
205
206![Visualization
207Explanation](https://img.cleberg.net/blog/20190909-data-analysis-in-auditing/vis_example_explanation-min.png)
208 195
209# Wrap-Up 196# Wrap-Up
210 197
content/blog/2019-12-03-the-ansoff-matrix.md −3
@@ -37,9 +37,6 @@ to enter new markets or innovate in its current markets. The y-axis of the
37matrix focuses on the firm's products and determines if the firm wants to pursue 37matrix focuses on the firm's products and determines if the firm wants to pursue
38strategies around their existing products or explore new products. 38strategies around their existing products or explore new products.
39 39
40![The Ansoff Matrix by JaisonAbeySabu, Own work, CC BY-SA
413.0](https://img.cleberg.net/blog/20191203-the-ansoff-matrix/ansoff_matrix-min.png)
42
43# Strategic Options 40# Strategic Options
44 41
45## Market Penetration 42## Market Penetration
content/blog/2020-01-25-linux-software.md −21
@@ -9,9 +9,6 @@ draft = false
9 9
10## Etcher 10## Etcher
11 11
12![Etcher
13Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/etcher.png)
14
15[Etcher](https://www.balena.io/etcher/) is a quick and easy way to burn ISO 12[Etcher](https://www.balena.io/etcher/) is a quick and easy way to burn ISO
16images to CDs and USB devices. There are two different ways you can install this 13images to CDs and USB devices. There are two different ways you can install this
17program. First, you can navigate to the [official 14program. First, you can navigate to the [official
@@ -56,9 +53,6 @@ sudo pacman -S etcher
56 53
57## Atom 54## Atom
58 55
59![Atom
60Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/atom.png)
61
62[Atom](https://atom.io) is the self-proclaimed "hackable text editor for the 56[Atom](https://atom.io) is the self-proclaimed "hackable text editor for the
6321st century". This text editor is made by GitHub, [now owned by 5721st century". This text editor is made by GitHub, [now owned by
64Microsoft](https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/), 58Microsoft](https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/),
@@ -102,9 +96,6 @@ sudo pacman -S atom
102 96
103## Visual Studio Code 97## Visual Studio Code
104 98
105![Visual Studio Code
106Code](https://img.cleberg.net/blog/20200125-the-best-linux-software/vscode.png)
107
108[Visual Studio Code](https://code.visualstudio.com) is yet another fantastic 99[Visual Studio Code](https://code.visualstudio.com) is yet another fantastic
109choice for programming on Linux, especially if you need those extra add-ons to 100choice for programming on Linux, especially if you need those extra add-ons to
110spice up your late-night coding sessions. The theme used in the screenshot is 101spice up your late-night coding sessions. The theme used in the screenshot is
@@ -138,9 +129,6 @@ sudo pacman -S yay binutils make gcc pkg-config fakeroot yay -S visual-studio-co
138 129
139## GNOME Tweaks 130## GNOME Tweaks
140 131
141![Gnome Tweaks
142Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/gnome-tweaks.png)
143
144[Gnome Tweaks](https://gitlab.gnome.org/GNOME/gnome-tweaks) is the ultimate tool 132[Gnome Tweaks](https://gitlab.gnome.org/GNOME/gnome-tweaks) is the ultimate tool
145to use if you want to customize your GNOME desktop environment. This is how you 133to use if you want to customize your GNOME desktop environment. This is how you
146can switch application themes (GTK), shell themes, icons, fonts, and more. To 134can switch application themes (GTK), shell themes, icons, fonts, and more. To
@@ -160,9 +148,6 @@ sudo dnf install gnome-tweaks
160 148
161## Steam 149## Steam
162 150
163![Steam
164Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/steam.png)
165
166[Steam](https://steampowered.com) is one of the most popular gaming libraries 151[Steam](https://steampowered.com) is one of the most popular gaming libraries
167for computers and is one of the main reasons that many people have been able to 152for computers and is one of the main reasons that many people have been able to
168switch to Linux in recent years, thanks to Steam Proton, which makes it easier 153switch to Linux in recent years, thanks to Steam Proton, which makes it easier
@@ -207,9 +192,6 @@ Here.](./2020-01-26-steam-on-ntfs-drives.html)
207 192
208## neofetch 193## neofetch
209 194
210![Neofetch
211Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/neofetch.png)
212
213[Neofetch](https://github.com/dylanaraps/neofetch) is a customizable tool used 195[Neofetch](https://github.com/dylanaraps/neofetch) is a customizable tool used
214in the command-line to show system information. This is exceptionally useful if 196in the command-line to show system information. This is exceptionally useful if
215you want to see your system's information quickly without the clutter of some 197you want to see your system's information quickly without the clutter of some
@@ -237,9 +219,6 @@ sudo pacman -S neofetch
237 219
238## yt-dlp 220## yt-dlp
239 221
240![yt-dlp
241Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/yt-dlp.png)
242
243[yt-dlp](https://github.com/yt-dlp/yt-dlp) is an extremely handy command-line 222[yt-dlp](https://github.com/yt-dlp/yt-dlp) is an extremely handy command-line
244tool that allows you to download video or audio files from various websites, 223tool that allows you to download video or audio files from various websites,
245such as YouTube. There are a ton of different options when running this package, 224such as YouTube. There are a ton of different options when running this package,
content/blog/2020-01-26-steam-on-ntfs.md −3
@@ -7,9 +7,6 @@ draft = false
7 7
8# Auto-Mount Steam Drives 8# Auto-Mount Steam Drives
9 9
10![Steam
11Screenshot](https://img.cleberg.net/blog/20200125-the-best-linux-software/steam.png)
12
13If you want to see how to install Steam on Linux, see my other post: [Linux 10If you want to see how to install Steam on Linux, see my other post: [Linux
14Software](../linux-software/). 11Software](../linux-software/).
15 12
content/blog/2020-03-25-session-messenger.md −21
@@ -71,9 +71,6 @@ following command:
71sudo chmod u+x session-messenger-desktop-linux-x86_64-1.0.5.AppImage 71sudo chmod u+x session-messenger-desktop-linux-x86_64-1.0.5.AppImage
72``` 72```
73 73
74![Session Download
75Options](https://img.cleberg.net/blog/20200325-session-private-messenger/session_downloads.png)
76
77# Creating an Account 74# Creating an Account
78 75
79Once you've installed the app, simply run the app and create your unique Session 76Once you've installed the app, simply run the app and create your unique Session
@@ -83,15 +80,6 @@ ID. It will look something like this:
83You'll need to set a display name and, optionally, a password. If you set a 80You'll need to set a display name and, optionally, a password. If you set a
84password, you will need to enter it every time you open the app. 81password, you will need to enter it every time you open the app.
85 82
86![Session Login
87(Linux)](https://img.cleberg.net/blog/20200325-session-private-messenger/session_linux_login.png)
88
89![Session Login
90(macOS)](https://img.cleberg.net/blog/20200325-session-private-messenger/session_macos_login.png)
91
92![Password
93Authentication](https://img.cleberg.net/blog/20200325-session-private-messenger/session_password_authentication.png)
94
95# Start Messaging 83# Start Messaging
96 84
97Once you've created your account and set up your profile details, the next step 85Once you've created your account and set up your profile details, the next step
@@ -101,23 +89,14 @@ any other messaging app, so I won't dive into much detail here.
101 89
102## macOS 90## macOS
103 91
104![macOS
105Conversations](https://img.cleberg.net/blog/20200325-session-private-messenger/session_macos_conversations.png)
106
107One key feature to note is that the desktop application now provides a helpful 92One key feature to note is that the desktop application now provides a helpful
108pop-up box explaining the process that Session uses to hide your IP address: 93pop-up box explaining the process that Session uses to hide your IP address:
109 94
110![IP Address Help
111Box](https://img.cleberg.net/blog/20200325-session-private-messenger/session_ip.png)
112
113## iOS 95## iOS
114 96
115The mobile app is quite simple and effective, giving you all the standard mobile 97The mobile app is quite simple and effective, giving you all the standard mobile
116messaging options you'd expect. 98messaging options you'd expect.
117 99
118![iOS
119App](https://img.cleberg.net/blog/20200325-session-private-messenger/session_ios.png)
120
121# Potential Issues 100# Potential Issues
122 101
123I've discovered one annoying issue that would prevent from using this app 102I've discovered one annoying issue that would prevent from using this app
content/blog/2020-05-03-homelab.md +1 −4
@@ -19,10 +19,7 @@ done so far in my homelab is fairly low-budget.
19 19
20# Hardware 20# Hardware
21 21
22![HomeLab 22## Raspberry Pi 4
23Diagram](https://img.cleberg.net/blog/20200503-homelab/homelab-min.png)
24
25### Raspberry Pi 4
26 23
27Luckily, I had actually purchased a [Raspberry Pi 24Luckily, I had actually purchased a [Raspberry Pi
284](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) before the 254](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) before the
content/blog/2020-05-19-customizing-ubuntu.md −6
@@ -24,9 +24,6 @@ tutorials out there on customizations.
24 24
25## Required Tools 25## Required Tools
26 26
27![Gnome
28Tweaks](https://img.cleberg.net/blog/20200519-customizing-ubuntu/gnome-tweaks-min.png)
29
30Ubuntu 20.04 ships with the default desktop environment 27Ubuntu 20.04 ships with the default desktop environment
31[Gnome](https://www.gnome.org/), which includes the handy `gnome-tweaks` tool to 28[Gnome](https://www.gnome.org/), which includes the handy `gnome-tweaks` tool to
32quickly change designs. To install this, just open your terminal and enter the 29quickly change designs. To install this, just open your terminal and enter the
@@ -91,9 +88,6 @@ extensions, you will first need to install the browser extension that the
91website instructs you to. See this screenshot for the blue box with a link to 88website instructs you to. See this screenshot for the blue box with a link to
92the extension. 89the extension.
93 90
94![Gnome
95Extensions](https://img.cleberg.net/blog/20200519-customizing-ubuntu/gnome-extensions-min.png)
96
97After the browser extension is installed, you will need to install the native 91After the browser extension is installed, you will need to install the native
98host connector: 92host connector:
99 93
content/blog/2020-07-20-video-game-sales.md −26
@@ -43,9 +43,6 @@ df = pd.read_csv(file)
43df 43df
44``` 44```
45 45
46![Dataframe
47Results](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/01_dataframe-min.png)
48
49# Explore the Data 46# Explore the Data
50 47
51```python 48```python
@@ -54,8 +51,6 @@ Results](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales
54df.describe() 51df.describe()
55``` 52```
56 53
57![df.describe()](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/02_describe-min.png)
58
59```python 54```python
60# This function shows the rows and columns of NaN values. For example, df[179,3] = nan 55# This function shows the rows and columns of NaN values. For example, df[179,3] = nan
61np.where(pd.isnull(df)) 56np.where(pd.isnull(df))
@@ -71,25 +66,16 @@ np.where(pd.isnull(df))
71sns.catplot(x='Platform', y='Global_Sales', data=df, jitter=False).set_xticklabels(rotation=90) 66sns.catplot(x='Platform', y='Global_Sales', data=df, jitter=False).set_xticklabels(rotation=90)
72``` 67```
73 68
74![Plot of Global Sales by
75Platform](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/03_plot-min.png)
76
77```python 69```python
78# This function plots the global sales by genre 70# This function plots the global sales by genre
79sns.catplot(x='Genre', y='Global_Sales', data=df, jitter=False).set_xticklabels(rotation=45) 71sns.catplot(x='Genre', y='Global_Sales', data=df, jitter=False).set_xticklabels(rotation=45)
80``` 72```
81 73
82![Plot of Global Sales by
83Genre](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/04_plot-min.png)
84
85```python 74```python
86# This function plots the global sales by year 75# This function plots the global sales by year
87sns.lmplot(x='Year', y='Global_Sales', data=df).set_xticklabels(rotation=45) 76sns.lmplot(x='Year', y='Global_Sales', data=df).set_xticklabels(rotation=45)
88``` 77```
89 78
90![Plot of Global Sales by
91Year](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/05_plot-min.png)
92
93```python 79```python
94# This function plots four different lines to show sales from different regions. 80# This function plots four different lines to show sales from different regions.
95# The global sales plot line is commented-out, but can be included for comparison 81# The global sales plot line is commented-out, but can be included for comparison
@@ -116,9 +102,6 @@ ax.legend()
116plt.show() 102plt.show()
117``` 103```
118 104
119![Plot of Regional Sales by
120Year](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/06_plot-min.png)
121
122## Investigate Outliers 105## Investigate Outliers
123 106
124```python 107```python
@@ -143,26 +126,17 @@ df3 = df[(df['Year'] == 2006)]
143df3.describe() 126df3.describe()
144``` 127```
145 128
146![Descriptive Statistics of 2006
147Sales](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/07_2006_stats-min.png)
148
149```python 129```python
150# Plot the results of the previous dataframe (games from 2006) - we can see the year's results were largely carried by Wii Sports 130# Plot the results of the previous dataframe (games from 2006) - we can see the year's results were largely carried by Wii Sports
151sns.catplot(x="Genre", y="Global_Sales", data=df3, jitter=False).set_xticklabels(rotation=45) 131sns.catplot(x="Genre", y="Global_Sales", data=df3, jitter=False).set_xticklabels(rotation=45)
152``` 132```
153 133
154![Plot of 2006
155Sales](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/08_plot-min.png)
156
157```python 134```python
158# We can see 4 outliers in the graph above, so let's get the top 5 games from that dataframe 135# We can see 4 outliers in the graph above, so let's get the top 5 games from that dataframe
159# The results below show that Nintendo had all top 5 games (3 on the Wii and 2 on the DS) 136# The results below show that Nintendo had all top 5 games (3 on the Wii and 2 on the DS)
160df3.sort_values(by=['Global_Sales'], ascending=False).head(5) 137df3.sort_values(by=['Global_Sales'], ascending=False).head(5)
161``` 138```
162 139
163![Outliers of 2006
164Sales](https://img.cleberg.net/blog/20200720-data-exploration-video-game-sales/09_outliers-min.png)
165
166# Discussion 140# Discussion
167 141
168The purpose of exploring datasets is to ask questions, answer questions, and 142The purpose of exploring datasets is to ask questions, answer questions, and
content/blog/2020-07-26-business-analysis.md −21
@@ -51,9 +51,6 @@ map_LNK = folium.Map(location=[latitude, longitude], zoom_start=12)
51map_LNK 51map_LNK
52``` 52```
53 53
54![Blank
55Map](https://img.cleberg.net/blog/20200726-ibm-data-science/01_blank_map-min.png)
56
57Now that we have defined our city and created the map, we need to go get the 54Now that we have defined our city and created the map, we need to go get the
58business data. The Foursquare API will limit the results to 100 per API call, so 55business data. The Foursquare API will limit the results to 100 per API call, so
59we use our first API call below to determine the total results that Foursquare 56we use our first API call below to determine the total results that Foursquare
@@ -194,9 +191,6 @@ nearby_venues = nearby_venues.reset_index(drop=True)
194nearby_venues 191nearby_venues
195``` 192```
196 193
197![Clean
198Data](https://img.cleberg.net/blog/20200726-ibm-data-science/02_clean_data-min.png)
199
200# Visualize the Data 194# Visualize the Data
201 195
202We now have a complete, clean data set. The next step is to visualize this data 196We now have a complete, clean data set. The next step is to visualize this data
@@ -221,9 +215,6 @@ for lat, lng, name, categories in zip(nearby_venues['lat'], nearby_venues['lng']
221map_LNK 215map_LNK
222``` 216```
223 217
224\![Initial data
225map](https://img.cleberg.net/blog/20200726-ibm-data-science/03_data_map-min.png)
226
227# Clustering: _k-means_ 218# Clustering: _k-means_
228 219
229To cluster the data, we will be using the _k-means_ algorithm. This algorithm is 220To cluster the data, we will be using the _k-means_ algorithm. This algorithm is
@@ -310,9 +301,6 @@ for lat, lng, name, categories, cluster in zip(nearby_venues['lat'], nearby_venu
310map_clusters 301map_clusters
311``` 302```
312 303
313![Clustered
314Map](https://img.cleberg.net/blog/20200726-ibm-data-science/04_clusters-min.png)
315
316# Investigate Clusters 304# Investigate Clusters
317 305
318Now that we have figured out our clusters, let's do a little more analysis to 306Now that we have figured out our clusters, let's do a little more analysis to
@@ -330,9 +318,6 @@ for x in range(0,6):
330 print("---") 318 print("---")
331``` 319```
332 320
333![Venues per
334Cluster](https://img.cleberg.net/blog/20200726-ibm-data-science/05_venues_per_cluster-min.png)
335
336Our last piece of analysis is to summarize the categories of businesses within 321Our last piece of analysis is to summarize the categories of businesses within
337each cluster. With these results, we can clearly see that restaurants, coffee 322each cluster. With these results, we can clearly see that restaurants, coffee
338shops, and grocery stores are the most popular. 323shops, and grocery stores are the most popular.
@@ -359,12 +344,6 @@ with pd.option_context('display.max_rows', None, 'display.max_columns', None):
359 print("\n\n", "Cluster 5:", "\n", cluster5_grouped.loc[cluster5_grouped['Cluster Labels'] > 1]) 344 print("\n\n", "Cluster 5:", "\n", cluster5_grouped.loc[cluster5_grouped['Cluster Labels'] > 1])
360``` 345```
361 346
362![Venues per Cluster, pt.
3631](https://img.cleberg.net/blog/20200726-ibm-data-science/06_categories_per_cluster_pt1-min.png)
364
365![Venues per Cluster, pt.
3662](https://img.cleberg.net/blog/20200726-ibm-data-science/07_categories_per_cluster_pt2-min.png)
367
368# Discussion 347# Discussion
369 348
370In this project, we gathered location data for Lincoln, Nebraska, USA and 349In this project, we gathered location data for Lincoln, Nebraska, USA and
content/blog/2020-09-22-internal-audit.md +1 −17
@@ -5,9 +5,6 @@ description = ""
5draft = false 5draft = false
6+++ 6+++
7 7
8![Internal Audit
9Overview](https://img.cleberg.net/blog/20200922-what-is-internal-audit/internal-audit-overview.jpg)
10
11# Definitions 8# Definitions
12 9
13One of the many reasons that Internal Audit needs such thorough explaining to 10One of the many reasons that Internal Audit needs such thorough explaining to
@@ -102,18 +99,11 @@ audit work.
102# Three Lines of Defense 99# Three Lines of Defense
103 100
104[The IIA](https://theiia.org) released the original Three Lines of Defense model 101[The IIA](https://theiia.org) released the original Three Lines of Defense model
105in 2013, but have released an updated version in 2020. Here is what the Three 102in 2013, but have released an updated version in 2020.
106Lines of Defense model has historically looked like:
107
108![2013 Three Lines of Defense
109Model](https://img.cleberg.net/blog/20200922-what-is-internal-audit/three_lines_model.png)
110 103
111I won't go into depth about the changes made to the model in this article. 104I won't go into depth about the changes made to the model in this article.
112Instead, let's take a look at the most current model. 105Instead, let's take a look at the most current model.
113 106
114![2020 Three Lines of Defense
115Model](https://img.cleberg.net/blog/20200922-what-is-internal-audit/updated_three_lines_model.png)
116
117The updated model forgets the strict idea of areas performing their own 107The updated model forgets the strict idea of areas performing their own
118functions or line of defense. Instead of talking about management, risk, and 108functions or line of defense. Instead of talking about management, risk, and
119internal audit as 1-2-3, the new model creates a more fluid and cooperative 109internal audit as 1-2-3, the new model creates a more fluid and cooperative
@@ -140,9 +130,6 @@ However, certain special projects or abnormal business areas may call for
140changes to the audit process. The audit process is not set in stone, it's simply 130changes to the audit process. The audit process is not set in stone, it's simply
141a set of best practices so that audits can be performed consistently. 131a set of best practices so that audits can be performed consistently.
142 132
143![The Internal Audit
144Process](https://img.cleberg.net/blog/20200922-what-is-internal-audit/internal-audit-process.jpg)
145
146While different organizations may tweak the process, it will generally follow 133While different organizations may tweak the process, it will generally follow
147this flow: 134this flow:
148 135
@@ -233,9 +220,6 @@ and file issues that could have been fixed at the beginning.
233 220
234# Data Science & Data Analytics 221# Data Science & Data Analytics
235 222
236![Data Science Skill
237Set](https://img.cleberg.net/blog/20200922-what-is-internal-audit/data-science-skillset.png)
238
239One major piece of the internal audit function in the modern world is data 223One major piece of the internal audit function in the modern world is data
240science. While the process is data science, most auditors will refer to anything 224science. While the process is data science, most auditors will refer to anything
241in this realm as data analytics. Hot topics such as robotic process automation 225in this realm as data analytics. Hot topics such as robotic process automation
content/blog/2020-09-25-happiness-map.md +1 −17
@@ -64,9 +64,6 @@ geo_data = gpd.read_file('https://raw.githubusercontent.com/datasets/geo-countri
64geo_data.head() 64geo_data.head()
65``` 65```
66 66
67![GeoJSON
68Dataframe](https://img.cleberg.net/blog/20200925-world-choropleth-map/geojson_df.png)
69
70Next, let's load the data from the Kaggle dataset. I've downloaded this file, so 67Next, let's load the data from the Kaggle dataset. I've downloaded this file, so
71update the file path if you have it somewhere else. After loading, let's take a 68update the file path if you have it somewhere else. After loading, let's take a
72look at this dataframe: 69look at this dataframe:
@@ -77,9 +74,6 @@ happy_data = pd.read_csv(r'~/Downloads/world_happiness_data_2019.csv')
77happy_data.head() 74happy_data.head()
78``` 75```
79 76
80![Happiness
81Dataframe](https://img.cleberg.net/blog/20200925-world-choropleth-map/happiness_df.png)
82
83# Clean the Data 77# Clean the Data
84 78
85Some countries need to be renamed, or they will be lost when you merge the 79Some countries need to be renamed, or they will be lost when you merge the
@@ -126,9 +120,6 @@ merged_df = merged_df.rename(columns = {'ADMIN':'GeoJSON_Country'})
126merged_df = merged_df.rename(columns = {'Country or region':'Country'}) 120merged_df = merged_df.rename(columns = {'Country or region':'Country'})
127``` 121```
128 122
129![Merged
130Dataframe](https://img.cleberg.net/blog/20200925-world-choropleth-map/merged_df.png)
131
132# Create the Map 123# Create the Map
133 124
134The data is finally ready to be added to a map. The code below shows the 125The data is finally ready to be added to a map. The code below shows the
@@ -164,9 +155,6 @@ folium.Choropleth(
164 155
165Let's look at the resulting map. 156Let's look at the resulting map.
166 157
167![Choropleth
168Map](https://img.cleberg.net/blog/20200925-world-choropleth-map/map.png)
169
170# Create a Tooltip on Hover 158# Create a Tooltip on Hover
171 159
172Now that we have a map set up, we could stop. However, I want to add a tooltip 160Now that we have a map set up, we could stop. However, I want to add a tooltip
@@ -216,8 +204,4 @@ folium.LayerControl().add_to(world_map)
216world_map 204world_map
217``` 205```
218 206
219The final image below will show you what the tooltip looks like whenever you 207The tooltip will now appear whenever you hover over a country.
220hover over a country.
221
222![Choropleth Map
223Tooltip](https://img.cleberg.net/blog/20200925-world-choropleth-map/tooltip_map.png)
content/blog/2020-12-28-neon-drive.md −11
@@ -42,29 +42,18 @@ Taking a look at the main menu, you can see that Neon Drive plays into every
42stereotype you can think of around retro-futuristic, synthwave arcades (in a 42stereotype you can think of around retro-futuristic, synthwave arcades (in a
43good way). 43good way).
44 44
45![Neon Drive
46Menu](https://img.cleberg.net/blog/20201228-neon-drive/neon_drive_menu.png)
47
48Once you get into the first level, we see that the choice of car fits right in 45Once you get into the first level, we see that the choice of car fits right in
49with the stereotypical cars of the 80s, like the 46with the stereotypical cars of the 80s, like the
50[DeLorean](https://en.wikipedia.org/wiki/DMC_DeLorean) or the [Ferrari 47[DeLorean](https://en.wikipedia.org/wiki/DMC_DeLorean) or the [Ferrari
51F40](https://en.wikipedia.org/wiki/Ferrari_F40). Each new level comes with new 48F40](https://en.wikipedia.org/wiki/Ferrari_F40). Each new level comes with new
52color schemes and cars, so you should never get tired of the aesthetic. 49color schemes and cars, so you should never get tired of the aesthetic.
53 50
54![Neon Drive
55Race](https://img.cleberg.net/blog/20201228-neon-drive/neon_drive_race.png)
56
57Personally, I love the orange and blue colors used in level 2: 51Personally, I love the orange and blue colors used in level 2:
58 52
59![Level
602](https://img.cleberg.net/blog/20201228-neon-drive/neon_drive_level_2.png)
61
62If you're the competitive type and getting 100% on all arcade machines isn't 53If you're the competitive type and getting 100% on all arcade machines isn't
63enough, there are leaderboards for the regular part of the game, and the 54enough, there are leaderboards for the regular part of the game, and the
64endurance game mode. 55endurance game mode.
65 56
66![Leaderboard](https://img.cleberg.net/blog/20201228-neon-drive/neon_drive_leaderboard.png)
67
68# Other Suggestions 57# Other Suggestions
69 58
70Neon Drive sits nicely within the well-founded cult genre of Outrun. Other games 59Neon Drive sits nicely within the well-founded cult genre of Outrun. Other games
content/blog/2020-12-29-zork.md −6
@@ -57,21 +57,15 @@ include instructions of any kind for the player. If you haven't played text
57adventures before, try to use simple commands like "go west," "look around," or 57adventures before, try to use simple commands like "go west," "look around," or
58"hit troll with elvish sword." 58"hit troll with elvish sword."
59 59
60![Zork Screen, pt. 1](https://img.cleberg.net/blog/20201229-zork/zork_01.png)
61
62In this second screenshot, we see the player has entered the house and found the 60In this second screenshot, we see the player has entered the house and found the
63trophy case in the living room. The lantern and sword in this room allow the 61trophy case in the living room. The lantern and sword in this room allow the
64player to explore dark areas and attack enemies. If you don't use the lantern, 62player to explore dark areas and attack enemies. If you don't use the lantern,
65you won't be able to see anything in dark areas, and you may be eaten by a grue. 63you won't be able to see anything in dark areas, and you may be eaten by a grue.
66 64
67![Zork Screen, pt. 2](https://img.cleberg.net/blog/20201229-zork/zork_02.png)
68
69Finally, we see that the player has found the first treasure: a jewel-encrusted 65Finally, we see that the player has found the first treasure: a jewel-encrusted
70egg. These treasures can be taken back to the house and placed in the trophy 66egg. These treasures can be taken back to the house and placed in the trophy
71case or carried until you feel like you want to put things away. 67case or carried until you feel like you want to put things away.
72 68
73![Zork Screen, pt 3.](https://img.cleberg.net/blog/20201229-zork/zork_03.png)
74
75# Conclusion 69# Conclusion
76 70
77It's been quite a few years since I first played Zork, but I clearly remember 71It's been quite a few years since I first played Zork, but I clearly remember
content/blog/2021-01-01-seum.md +2 −17
@@ -30,10 +30,6 @@ cuts his hand off, and steals all his beer and bacon. As Satan is leaving, Marty
30whips a vinyl record across the room and cuts off one of Satan's hands. This 30whips a vinyl record across the room and cuts off one of Satan's hands. This
31hand is what allows you to use all the powers in the game. 31hand is what allows you to use all the powers in the game.
32 32
33Check out the screenshot below for one of the first panels of the storyline:
34
35![SEUM Story](https://img.cleberg.net/blog/20210101-seum/seum_story.png)
36
37# Gameplay 33# Gameplay
38 34
39To accomplish each level, you will need to get to the final blue portal under a 35To accomplish each level, you will need to get to the final blue portal under a
@@ -58,29 +54,18 @@ include:
58For the main storyline, there are nine floors to beat. Each floor contains nine 54For the main storyline, there are nine floors to beat. Each floor contains nine
59regular levels, one boss level, and one bonus level; although you don't 55regular levels, one boss level, and one bonus level; although you don't
60technically need to beat all levels to advance to the next floor. 56technically need to beat all levels to advance to the next floor.
61
62![SEUM Floor Menu](https://img.cleberg.net/blog/20210101-seum/seum_floor.png)
63
64# In-Game Screenshots 57# In-Game Screenshots
65 58
66The main menu gives you plenty of options for tuning your system, playing main 59The main menu gives you plenty of options for tuning your system, playing main
67levels, playing the DLC, or exploring the other game modes. 60levels, playing the DLC, or exploring the other game modes.
68 61
69![SEUM Main Menu](https://img.cleberg.net/blog/20210101-seum/seum_menu.png)
70
71Once you enter a level, you can look around and strategize before starting. 62Once you enter a level, you can look around and strategize before starting.
72Clicking any button will start the menu, and you'll have to restart if you die. 63Clicking any button will start the menu, and you'll have to restart if you die.
73One of the great things about SEUM is that it has great keyboard shortcuts. You 64One of the great things about SEUM is that it has great keyboard shortcuts. You
74can quickly smash `R` to restart the level or `M` to return to the level menu. 65can quickly smash `R` to restart the level or `M` to return to the level menu.
75 66
76![SEUM Level](https://img.cleberg.net/blog/20210101-seum/seum_level.png)
77
78Once you're able to win a level, you'll see the high scores and can watch 67Once you're able to win a level, you'll see the high scores and can watch
79replays of the best scores. 68replays of the best scores.
80 69
81![SEUM Win](https://img.cleberg.net/blog/20210101-seum/seum_win.png) 70Each regular level also contains a beer in a disguised location that may take
82 71some out-of-the-box thinking.
83Each regular level contains a beer in a disguised location that may take some
84out-of-the-box thinking.
85
86![SEUM Beer](https://img.cleberg.net/blog/20210101-seum/seum_beer.png)
content/blog/2021-01-04-fediverse.md −3
@@ -21,9 +21,6 @@ of you can talk and communicate back and forth without having to be on the same
21server. However, responsible email admins are there to set rules and control the 21server. However, responsible email admins are there to set rules and control the
22traffic going in/out of the server. 22traffic going in/out of the server.
23 23
24![Federated services
25diagram](https://img.cleberg.net/blog/20210104-a-simple-guide-to-the-fediverse/federated-example.svg)
26
27The main objective of this architecture is to decentralize the control within 24The main objective of this architecture is to decentralize the control within
28the internet connections. For example, if you run your own Mastodon instance, 25the internet connections. For example, if you run your own Mastodon instance,
29you and your users can't be censored or impacted in any way by authorities of 26you and your users can't be censored or impacted in any way by authorities of
content/blog/2021-01-07-ufw.md −3
@@ -23,9 +23,6 @@ iptables.
23application for users who are uncomfortable setting up a firewall through a 23application for users who are uncomfortable setting up a firewall through a
24terminal. 24terminal.
25 25
26![Gufw
27Screenshot](https://img.cleberg.net/blog/20210107-secure-your-network-with-the-uncomplicated-firewall/gufw.png)
28
29# Getting Help 26# Getting Help
30 27
31If you need help figuring out commands, remember that you can run the `--help` 28If you need help figuring out commands, remember that you can run the `--help`
content/blog/2021-02-19-macos.md −5
@@ -19,9 +19,6 @@ don't require gaming specs or advanced dev tools.
19Before I move on to the technical aspects of my set-up, I want to take some time 19Before I move on to the technical aspects of my set-up, I want to take some time
20and express my thoughts on the overall OS. 20and express my thoughts on the overall OS.
21 21
22![macOS
23Desktop](https://img.cleberg.net/blog/20210219-macos-testing-out-a-new-os/macos-desktop.png)
24
25As expected, the initial computer setup is a breeze with Mac's guided GUI 22As expected, the initial computer setup is a breeze with Mac's guided GUI
26installer. 23installer.
27 24
@@ -68,8 +65,6 @@ recreate a terminal environment that I feel very comfortable using. See the
68image below for a preview of the iTerm2 app with a split view between my macOS 65image below for a preview of the iTerm2 app with a split view between my macOS
69desktop shell and an SSH session into my server. 66desktop shell and an SSH session into my server.
70 67
71![iTerm2](https://img.cleberg.net/blog/20210219-macos-testing-out-a-new-os/iterm2.png)
72
73# Xcode 68# Xcode
74 69
75My first step was to search the web for any hints on how to get `zsh` back up to 70My first step was to search the web for any hints on how to get `zsh` back up to
content/blog/2021-03-28-gemini-capsule.md +1 −5
@@ -168,8 +168,4 @@ remote: https://builds.sr.ht/~user/job/689803 [.build.yml]
168``` 168```
169 169
170Now that you've properly built your Sourcehut page, you can browse to 170Now that you've properly built your Sourcehut page, you can browse to
171your-username.srht.site in a Gemini browser and view the final results. Take a 171your-username.srht.site in a Gemini browser and view the final results.\ No newline at end of file
172look at the image below for my Sourcehut Gemini capsule.
173
174![Gemini page on the amfora
175browser](https://img.cleberg.net/blog/20210328-launching-a-gemini-capsule/amfora.png)
content/blog/2021-04-17-gemini-server.md +3 −13
@@ -145,16 +145,6 @@ Gemtext.
145 145
146# The Results 146# The Results
147 147
148Here are some screenshots of the Gemini page I just created in the 148To view the results, you can use a Gemini browser, such as
149[Lagrange](https://gmi.skyjake.fi/lagrange/) browser and the 149[Lagrange](https://gmi.skyjake.fi/lagrange/) or
150[amfora](https://github.com/makeworld-the-better-one/amfora) browser. 150[amfora](https://github.com/makeworld-the-better-one/amfora).
151
152![GUI Gemini
153browser](https://img.cleberg.net/blog/20210417-hosting-a-gemini-server/lagrange.png)
154
155_Lagrange_
156
157![CLI Gemini
158browser](https://img.cleberg.net/blog/20210417-hosting-a-gemini-server/amfora.png)
159
160_Amfora_
content/blog/2021-12-04-cisa.md −6
@@ -43,9 +43,6 @@ commitment and quality of an employee, so I am accepting it too.
43The CISA is broken down into five sections, each weighted with a percentage of 43The CISA is broken down into five sections, each weighted with a percentage of
44test questions that may appear. 44test questions that may appear.
45 45
46![CISA exam
47sections](https://img.cleberg.net/blog/20211204-i-passed-the-cisa/cisa-exam-sections.png)
48
49Since the exam contains 150 questions, here's how those sections break down: 46Since the exam contains 150 questions, here's how those sections break down:
50 47
51| Exam Section | Percentage of Exam | Questions | 48| Exam Section | Percentage of Exam | Questions |
@@ -147,9 +144,6 @@ answered incorrectly and learned from my mistakes_.
147| 5 | 55 | 85 | 140 | 61% | 144| 5 | 55 | 85 | 140 | 61% |
148| **Grand Total** | **228** | **479** | **707** | **68%** | 145| **Grand Total** | **228** | **479** | **707** | **68%** |
149 146
150![CISA practice question
151results](https://img.cleberg.net/blog/20211204-i-passed-the-cisa/cisa-practice-questions-results.png)
152
153# Results 147# Results
154 148
155Now, how do the practice scores reflect my actual results? After all, it's hard 149Now, how do the practice scores reflect my actual results? After all, it's hard