Commit 4a48163d5b

4a48163d5b84faacfb486ecde18b2b7733d21c65

parent: 538c67956a

Unsigned

cmc <hello@cleberg.net> · 2025-11-12 01:58 UTC

fix grammar in 2019 posts

Layout: unified · split

content/blog/2019-01-07-useful-css.org +32 −31
@@ -5,14 +5,15 @@
55
66* Introduction to CSS
77
8[[https://en.wikipedia.org/wiki/CSS][CSS]], the language used to markup HTML code and make it "pretty", is one of the
9most effective ways to increase the attractiveness of a website. It can also
10lead to increased user engagement, retention, and satisfaction. In fact, there
11are whole career fields are dedicated to the improvement of user experiences,
12known as UI design and UX design.
13
14Some web developers are used to the common CSS properties, such as element
15sizing, fonts, colors, etc., but are not as well versed in less-used properties
8Cascading Style Sheets ([[https://en.wikipedia.org/wiki/CSS][CSS]]), the language used to mark up HTML code and give it
9a visual style, is one of the most effective ways to increase the attractiveness
10of a website. It can also lead to increased user engagement, retention, and
11satisfaction. In fact, there are whole career fields dedicated to the
12improvement of user experiences, known as User Interface (UI) design and User
13Experience (UX) design.
14
15Some web developers are familiar with the common CSS properties, such as element
16sizing, fonts, and colors, but are not as well versed in less-used properties
1617and values such as =flexbox=, =clip-path=, and =transform=. This article will
1718provide some insight into the less-used and unique CSS properties.
1819
@@ -23,10 +24,10 @@ developers. CSS variables allow you to give your website a well-defined
2324structure, where you can easily reuse CSS properties throughout the project.
2425
2526You can use variables to define things, such as color palettes. Then, you can
26use these colors for backgrounds anywhere else in the HTML. This could be
27extended, where extra variables could be defined for =primary-text=,
28=quoted-text=, etc. Variables can also be used to define spacing (e.g. =32px= or
29=2rem=), which can then be applied to margins, padding, font sizes, and more.
27use these colors for backgrounds anywhere else in the HTML. You can expand this
28and define variables for =primary-text=, =quoted-text=, etc. You can also use
29variables to define spacing (e.g. =32px= or =2rem=), which you can then apply to
30margins, padding, font sizes, and more.
3031
3132For example, here are some variables defined at the root of the website, which
3233allows for any subsequent CSS rules to use those variables:
@@ -47,11 +48,11 @@ body {
4748
4849Box shadows were once my mortal enemy. No matter how hard I tried, I just
4950couldn't get them to work how I wanted. Because of this, my favorite discovery
50has been CSSMatic's [[https://www.cssmatic.com/box-shadow][box shadow generator]]. It provides an excellent tool to
51generate box shadows using their simple sliders. Surprisingly, this is the
52reason I learned how box shadows work! You can use the sliders and watch how the
53CSS code changes in the image that is displayed. Through this, you should
54understand that the basic structure for box shadows is:
51has been CSSMatic's [[https://www.cssmatic.com/box-shadow][box shadow generator]]. It provides a tool to generate box
52shadows using their simple sliders. Surprisingly, this is the reason I learned
53how box shadows work! You can use the sliders and watch how the CSS code changes
54in the image that the tool displays. Through this, you should understand that
55the basic structure for box shadows is:
5556
5657#+begin_src css
5758box-shadow: inset horizontal vertical blur spread color;
@@ -118,19 +119,19 @@ with the code, experiment, and learn.
118119Try these box shadows out on your own and see how changing each shadow value
119120works.
120121
121* CSS Flexbox
122* CSS Flex Box
122123
123Now, let's move on to the best part of this article: flexbox. The flexbox is by
124Now, let's move on to the best part of this article: flex box. The flex box is by
124125far my favorite new toy. I originally stumbled across this solution after
125126looking for more efficient ways of centering content horizontally AND
126vertically. I had used a few hack-ish methods before, but flexbox throws those
127out the window. The best part of it all is that flexbox is /dead simple/.
127vertically. I had used other methods before, but flex box throws those out the
128window. The best part of it all is that flex box is /dead simple/.
128129
129Flexbox pertains to the parent div of any element. You want the parent to be the
130flexbox in which items are arranged to use the flex methods. It's easier to see
131this in action that explained, so let's see an example.
130Flex Box pertains to the parent div of any element. You want the parent to be the
131flex box and the children's behavior modified by the parent's attributes. It's
132easier to see this in action that explained, so let's see an example.
132133
133*Flexbox*
134*Flex Box*
134135
135136#+begin_src html
136137<div class="flex-examples">
@@ -166,13 +167,13 @@ this in action that explained, so let's see an example.
166167You may notice that we no longer need to use the =top= property for the =h3=
167168elements in our code. This is because we set the display box to be a flex
168169container for the small boxes, AND we made the small boxes flex containers for
169their elements (the h3 tags). Flex boxes can be nested like this to center
170content that is inside centered content.
170their elements (the h3 tags). You can nest flex boxes to center content that is
171inside centered content.
171172
172173For the example above, we designated the =justify-content= property to be
173=flex-start= so that the boxes stack from the left side of the screen. This
174property can be changed to =center= to make the boxes appear in the center of
175the screen.
174=flex-start= so that the boxes stack from the left side of the screen. You can
175change this property to =center= to make the boxes appear in the center of the
176screen.
176177
177178For an interactive example, [[https://codepen.io/LandonSchropp/pen/KpzzGo][check out this CodePen]] from [[https://codepen.io/LandonSchropp/][LandonScropp]]. Resize the
178179window with dice to see how they collapse and re-align.
@@ -180,4 +181,4 @@ window with dice to see how they collapse and re-align.
180181* Even More CSS
181182
182183For more inspiration, you can visit [[https://www.codepen.io][CodePen]], [[https://dribbble.com][Dribbble]], or [[https://uimovement.com][UI Movement]] to browse
183the collections of many amazing web designers.
184the collections of amazing web designers.
content/blog/2019-09-09-audit-analytics.org +32 −32
@@ -23,8 +23,8 @@ fact, data analytics are only a small part of the process.
2323See *Figure 1* for a more accurate representation of where data analysis sits
2424within the full process. This means that data analysis does not include querying
2525or extracting data, selecting samples, or performing audit tests. These steps
26can be necessary for an audit (and may even be performed by the same
27associates), but they are not data analytics.
26can be necessary for an audit (and the same associates may perform these steps),
27but they are not data analytics.
2828
2929* Current Use of Analytics in Auditing
3030
@@ -32,8 +32,8 @@ While data analysis has been an integral part of most businesses and departments
3232for the better part of the last century, only recently have internal audit
3333functions been adopting this practice. The internal audit function works
3434exclusively to provide assurance and consulting services to the business areas
35within the firm (except for internal auditing firms who are hired by different
36companies to perform their roles).
35within the firm (except for internal auditing firms hired by different companies
36to perform their roles).
3737
3838#+begin_quote
3939Internal Auditing helps an organization accomplish its objectives by bringing a
@@ -66,15 +66,15 @@ most common places to start is to research some data analysis models currently
6666available. For this post, we'll take a look at the DELTA model. You can take a
6767look at *Figure 2* for a quick overview of the model.
6868
69The DELTA model sets a few guidelines for areas wanting to implement data
70analytics so that the results can be as comprehensive as possible:
69The DELTA model sets guidelines for areas wanting to implement data analytics so
70that the results can be as comprehensive as possible:
7171
7272- *Data*: Must be clean, accessible, and (usually) unique.
7373- *Enterprise-Wide Focus*: Key data systems and analytical resources must be
7474 available for use (by the Internal Audit Function).
7575- *Leaders*: Must promote a data analytics approach and show the value of
7676 analytical results.
77- *Targets*: Must be set for key areas and risks that the analytics can be
77- *Targets*: Must be defined for key areas and risks that the analytics can be
7878 compared against (KPIs).
7979- *Analysts*: There must be auditors willing and able to perform data analytics
8080 or else the system cannot be sustained.
@@ -91,9 +91,9 @@ auditors can use data analytics to assess and report on these KPIs. This allows
9191the person performing the analytics the freedom to express opinions on the
9292results, whereas the results are ambiguous if no KPIs exist.
9393
94It should be noted that tracking KPIs in the department can help ensure you have
95a rigorous Quality Assurance and Improvement Program (QAIP) in accordance with
96some applicable standards, such as IPPF Standard 1300.
94Note that tracking KPIs in the department can help ensure you have a rigorous
95Quality Assurance and Improvement Program (QAIP) in accordance with some
96applicable standards, such as IPPF Standard 1300.
9797
9898#+begin_quote
9999The chief audit executive must develop and maintain a quality assurance and
@@ -143,36 +143,36 @@ colleagues.
143143* Data Analysis Tools
144144
145145Finally, to be able to analyze and report on the data analysis, auditors need to
146evaluate the tools at their disposal. There are many options available, but a
147few of the most common ones can easily get the job done. For example, almost
148every auditor already has access to Microsoft Excel. Excel is more powerful than
149most people give it credit for and can accomplish a lot of basic statistics
150without much work. If you don't know a lot about statistics but still want to
151see some of the more basic results, Excel is a great option.
146evaluate the tools at their disposal. There are options available, but the most
147common ones can easily get the job done. For example, almost every auditor
148already has access to Microsoft Excel. Excel is more powerful than most people
149give it credit for and can accomplish a lot of basic statistics without much
150work. If you don't know a lot about statistics but still want to see some of the
151more basic results, Excel is a great option.
152152
153153To perform more in-depth statistical analysis or to explore large datasets that
154154Excel cannot handle, auditors will need to explore other options. The big three
155that have had a lot of success in recent years are Python, R, and ACL. ACL can
156be used as either a graphical tool (point and click) or as a scripting tool,
157where the auditor must write the scripts manually. Python and the R-language are
158solely scripting languages.
155that have had a lot of success in recent years are Python, R, and ACL Analytics
156(ACL). You can use ACL as either a graphical tool (point and click) or as a
157scripting tool, where the auditor must write the scripts manually. Python and
158the R-language are solely scripting languages.
159159
160160The general trend in the data analytics environment is that if the tool allows
161161you to do everything by clicking buttons or dragging elements, you won't be able
162to fully utilize the analytics you need. The most robust solutions are created
163by those who understand how to write the scripts manually. It should be noted
164that as the utility of a tool increases, it usually means that the learning
165curve for that tool will also be higher. It will take auditors longer to learn
166how to utilize Python, R, or ACL versus learning how to utilize Excel.
162to fully utilize the analytics you need. To create the most robust solutions,
163you should write the scripts manually. Note that as the utility of a tool
164increases, it usually means that the learning curve for that tool will also be
165higher. It will take auditors longer to learn how to utilize Python, R, or ACL
166versus learning how to utilize Excel.
167167
168168* Visualization
169169
170170Once an auditor has finally found the right data, KPIs, and tools, they must
171report these results so that actions can be taken. Performing in-depth data
172analysis is only useful if the results are understood by the audiences of the
173data. The best way to create this understanding is to visualize the results of
174the data. Let's take a look at some of the best options to visualize and report
175the results you've found.
171report these results so that readers of their results can take action.
172Performing in-depth data analysis is only useful if the audience can understand
173the results. The best way to create this understanding is to visualize the
174results of the data. Let's take a look at some of the best options to visualize
175and report the results you've found.
176176
177177Some of the most popular commercial tools for visualization are Microsoft
178178PowerBI and Tableau Desktop. However, other tools exist such as JMP, Plotly,
@@ -180,8 +180,8 @@ Qlikview, Alteryx, or D3. Some require commercial licenses while others are
180180simply free to use. For corporate data, you may want to make sure that the tool
181181does not communicate any of the data outside the company (such as cloud
182182storage). I won't be going into depth on any of these tools since visualization
183is largely a subjective and creative experience, but remember to constantly
184explore new options as you repeat the process.
183is a subjective and creative experience, but remember to constantly explore new
184options as you repeat the process.
185185
186186Lastly, let's take a look at an example of data visualization. This example
187187comes from a [[https://talent.works/2018/03/28/the-science-of-the-job-search-part-iii-61-of-entry-level-jobs-require-3-years-of-experience/][blog post written by Kushal Chakrabarti]] in 2018 about the percent
content/blog/2019-12-03-the-ansoff-matrix.org +16 −16
@@ -50,8 +50,8 @@ Market development extends existing products into new markets in an attempt to
5050increase the number of buyers. One interesting way that Coca-Cola used this
5151strategy comes from the stigma that Diet Coke is a woman's drink(2019).
5252Coca-Cola introduced Coca-Cola Zero, which contained the same nutritional
53content as Diet Coke, but was packaged in a dark black can to appear more
54"manly"(2019).
53content as Diet Coke, but the company packaged it in a dark black can to appear
54more "manly" (2019).
5555
5656** Product Development
5757
@@ -77,11 +77,11 @@ lines of business(2019).
7777Unrelated diversification is a diversification strategy that does not really
7878relate to the firm's core business but still diversifies their business
7979portfolio. A good example of this would be a coffee company who has decided to
80enter the market for bicycle sales. The main purpose of this strategy is to an
81extremely diverse company that will not go bankrupt if one market goes through
82difficult times. However, this requires a lot of independent skills and heavy
83investments since the company most likely cannot easily transfer knowledge
84between the markets they compete in.
80enter the market for bicycle sales. The main purpose of this strategy is to a
81diverse company that will not go bankrupt if one market goes through difficult
82times. However, this requires a lot of independent skills and heavy investments
83since the company most likely cannot easily transfer knowledge between the
84markets they compete in.
8585
8686* Requirements for Success
8787
@@ -95,15 +95,15 @@ internal and external perspectives throughout the strategy formulation process.
9595One interesting probability is that companies will be using multiple strategic
9696planning and management frameworks at the same time. While this may sound like
9797it could crowd the management process, there are numerous reasons to do so. For
98example, the Ansoff Matrix and the Balanced Scorecard are relatively popular,
99and they cover entirely different parts of a company's strategy. Using the
100results from the Balanced Scorecard could inform a company of the potential
101product and market demands, such as from customer or supplier survey results, to
102help the company determine which Ansoff Matrix strategy to pursue. However, a
103combined approach at this level would require mature frameworks and focused
104managers who are able to strategize at a high level.
105
106Lastly, it should be noted that the author of the Ansoff matrix, Igor Ansoff,
98example, the Ansoff Matrix and the Balanced Scorecard are popular, and they
99cover entirely different parts of a company's strategy. Using the results from
100the Balanced Scorecard could inform a company of the potential product and
101market demands, such as from customer or supplier survey results, to help the
102company determine which Ansoff Matrix strategy to pursue. However, a combined
103approach at this level would require mature frameworks and focused managers who
104are able to strategize at a high level.
105
106Lastly, please note that the author of the Ansoff matrix, Igor Ansoff,
107107often used the term [[https://en.wikipedia.org/wiki/Analysis_paralysis][paralysis by analysis]] to explain the mistake of companies
108108who overuse analysis and spend too much time planning. Companies need to
109109understand the utility of a strategic management framework while ensuring that
content/blog/2019-12-16-password-security.org +25 −25
@@ -11,15 +11,15 @@ Information security, including passwords and identities, has become one of the
1111most important digital highlights of the last decade. With [[https://www.usatoday.com/story/money/2018/12/28/data-breaches-2018-billions-hit-growing-number-cyberattacks/2413411002/][billions of people
1212affected by data breaches each year]], there's a greater need to introduce strong
1313information security systems. If you think you've been part of a breach, or you
14want to check and see, you can use [[https://haveibeenpwned.com/][Have I Been Pwned]] to see if your email has
15been involved in any public breaches. Remember that there's a possibility that a
14want to check and see, you can use [[https://haveibeenpwned.com/][Have I Been Pwned]] to see if any public
15breaches have exposed your email(s). Remember that there's a possibility that a
1616company experienced a breach and did not report it to anyone.
1717
1818** How Do I Protect Myself?
1919
2020The first place to start with any personal security check-up is to gather a list
2121of all the different websites, apps, or programs that require you to have login
22credentials. Optionally, once you know where your information is being stored,
22credentials. Optionally, once you know where you are storing your information,
2323you can sort the list from the most-important items such as banks or government
2424logins to less important items such as your favorite meme site. You will want to
2525ensure that your critical logins are secure before getting to the others.
@@ -36,34 +36,34 @@ Personally, I recommend using a [[https://en.wikipedia.org/wiki/Passphrase][pass
3636password. Instead of using a string of characters (whether random or simple),
3737use a phrase and add in symbols and a number. For example, your vault password
3838could be =Racing-Alphabet-Gourd-Parrot3=. Swap the symbols out for whichever
39symbol you want, move the number around, and fine-tune the passphrase until you
39symbol you want, move the number around, and fine-tune the pass phrase until you
4040are confident that you can remember it whenever necessary.
4141
4242Once you've stored your passwords, make sure you continually check up on your
4343account and make sure you aren't following bad password practices. Krebs on
4444Security has a great [[https://krebsonsecurity.com/password-dos-and-donts/][blog post on password recommendations]]. Any time that a data
45breach happens, make sure you check to see if you were included, and if you need
46to reset any account passwords.
45breach happens, make sure you check to see if the breach exposed your email, and
46if you need to reset any account passwords.
4747
4848* Developers
4949
5050** What Are the Basic Requirements?
5151
52When developing any password-protected application, there are a few basic rules
53that anyone should follow even if they do not follow any official guidelines
54such as NIST. The foremost practice is to require users to use passwords that
55are at least 8 characters and cannot easily be guessed. This sounds extremely
56simple, but it requires quite a few different strategies. First, the application
57should check the potential passwords against a dictionary of insecure passwords
58such =password=, =1234abc=, or =application_name=.
59
60Next, the application should offer guidance on the strength of passwords being
61entered during enrollment. Further, NIST officially recommends *not*
62implementing any composition rules that make passwords hard to remember (e.g.
63passwords with letters, numbers, and special characters) and instead encouraging
64the use of long pass phrases which can include spaces. It should be noted that
65to be able to keep spaces within passwords, all unicode characters should be
66supported, and passwords should not be truncated.
52When developing any password-protected application, there are basic rules that
53anyone should follow even if they do not follow any official guidelines such as
54NIST. The foremost practice is to require users to use passwords that are at
55least 8 characters and bad actors cannot easily guess them. This sounds simple,
56but it requires different strategies. First, the application should check the
57potential passwords against a dictionary of insecure passwords such =password=,
58=1234abc=, or =application_name=.
59
60Next, the application should offer guidance on the strength of passwords you
61enter during enrollment. Further, NIST officially recommends *not* implementing
62any composition rules that make passwords hard to remember (e.g. passwords with
63letters, numbers, and special characters) and instead encouraging the use of
64long pass phrases which can include spaces. Note that to be able to keep spaces
65within passwords, you should support all unicode characters, and you should not
66truncate spaces.
6767
6868** What Does NIST Recommend?
6969
@@ -87,17 +87,17 @@ NIST offers a lot of guidance on passwords, but I'm going to highlight just a
8787few of the important factors:
8888
8989- Require passwords to be a minimum of 8 characters (6 characters if randomly
90 generated and be generated using an approved random bit generator).
90 generated and generate using an approved random bit generator).
9191- Compare potential passwords against a list that contains values known to be
9292 commonly-used, expected, or compromised.
9393- Offer guidance on password strength, such as a strength meter.
9494- Implement a rate-limiting mechanism to limit the number of failed
9595 authentication attempts for each user account.
96- Do not require composition rules for passwords and do not require passwords to
97 be changed periodically (unless compromised).
96- Do not require composition rules for passwords and do not require users to
97 change their passwords periodically (unless compromised).
9898- Allow pasting of user identification and passwords to facilitate the use of
9999 password managers.
100- Allow users to view the password as it is being entered.
100- Allow users to view the password as they type.
101101- Use secure forms of communication and storage, including salting and hashing
102102 passwords using a one-way key derivation function.
103103