Skip to content

Commit 0e78eaf

Browse files
committed
resized images
1 parent e0ed009 commit 0e78eaf

File tree

1,117 files changed

+917
-456
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,117 files changed

+917
-456
lines changed

.eslintrc.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"root": true,
33
"env": {
44
"browser": true,
5-
"worker": true
5+
"worker": true,
6+
"node": true
67
},
78
"extends": [
89
"eslint:recommended",

README.md

+14
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,17 @@ make buildscripts
5252
```bash
5353
./bin/rmshorts SHORTCODE
5454
```
55+
56+
## Resize images
57+
58+
Place original images go in in `static/img/raw`
59+
60+
Create a directory `static/img/X` where `X` is the max width of the new images.
61+
62+
```bash
63+
yarn image-min
64+
```
65+
66+
This resizes all the images and places them in the new folder.
67+
68+
Delete the raw images.

content/about.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "About Boot.dev - Our Method"
33
author: Lane Wagner
44
date: "2020-02-06"
55
images:
6-
- /img/codebreaker-replica-ft.webp
6+
- /img/800/codebreaker-replica-ft.webp
77
---
88

99
At [Boot.dev](https://boot.dev), we believe humans enjoy learning. We’re naturally curious creatures. And this means it should be much, much easier to become a software developer.

content/affiliates.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Affiliates"
33
author: Lane Wagner
44
date: "2020-02-06"
55
images:
6-
- /img/iStock-1081960210.jpeg
6+
- /img/800/iStock-1081960210.jpeg
77
---
88

99
We’ve had many readers ask how they can help educate others by sharing Boot.dev's mission, and now we have a simple solution! If you have a social following, blog, or Youtube channel you can earn by helping others find their path to a CS education!

content/bitcoin/achieving-data-integrity-using-cryptography.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ categories:
66
- "bitcoin"
77
- "cryptography"
88
images:
9-
- /img/photo-1542185400-f1c993ecbea2.jpeg
9+
- /img/800/photo-1542185400-f1c993ecbea2.jpeg
1010
---
1111

1212
Data integrity refers to the accuracy, legitimacy, and consistency of information in a system. When a message is sent, particularly using an untrusted medium, data integrity provides us confidence that the message wasn't tampered with. For example, the SSL signature of [Boot.dev](https://blog.boot.dev) provides confidence that the webpage and data coming from our servers are really coming from us and not the NSA.

content/bitcoin/base64-vs-base58-encoding.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ categories:
66
- "bitcoin"
77
- "cryptography"
88
images:
9-
- /img/Base64-vs-Base58-Encoding.webp
9+
- /img/800/Base64-vs-Base58-Encoding.webp
1010
---
1111

1212
Base64 is one of the most popular encoding formats for representing data. Have some binary data? Base64 encodes it for convenient readability and parsing. Base58 is just another encoding format (with 58 characters instead of 64, and has gained popularity largely due to Bitcoin and other cryptocurrencies. Also, if you came here confused, encryption and encoding are not the same! Take a look at this article for more [information on encryption vs encoding](/cryptography/encoding-vs-encryption/).
@@ -26,7 +26,7 @@ All data is stored in a raw binary format on computers. These encoding formats (
2626

2727
## ASCII Encoding
2828

29-
![ASCII encoding chart ](/img/Screen-Shot-2020-03-02-at-11.32.00-AM-1024x678.png)
29+
![ASCII encoding chart ](/img/800/Screen-Shot-2020-03-02-at-11.32.00-AM-1024x678.png)
3030

3131
### Human Readability Rank: 1st
3232

@@ -40,7 +40,7 @@ You could also call ASCII Base128 because its alphabet is made up of 128 charact
4040

4141
## Base64
4242

43-
![base64 chart](/img/Screen-Shot-2020-03-02-at-11.31.40-AM-1024x773.png)
43+
![base64 chart](/img/800/Screen-Shot-2020-03-02-at-11.31.40-AM-1024x773.png)
4444

4545
### Human Readability Rank: 3rd
4646

@@ -56,7 +56,7 @@ Each character only takes 6 bits of data, and a padding character, **`=`**, is u
5656

5757
## Base58
5858

59-
![base58 chart](/img/Screen-Shot-2020-03-02-at-11.32.34-AM-1024x877.png)
59+
![base58 chart](/img/800/Screen-Shot-2020-03-02-at-11.32.34-AM-1024x877.png)
6060

6161
### Human Readability Rank: 2nd
6262

content/bitcoin/best-online-crypto-communities.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ date: "2020-01-08"
55
categories:
66
- "bitcoin"
77
images:
8-
- /img/people-at-a-concert-scaled.jpeg
8+
- /img/800/people-at-a-concert-scaled.jpeg
99
---
1010

1111
Crypto has been explosive in 2021. The gains have been even better than the memes! While dancing cat videos are fun, the wise will also take advantage of the various communities as an opportunity to learn more about the technology that supports decentralized money. I've put together a small list of the top crypto communities for you to check out this year!
1212

1313
## [#1 Bitcointalk](https://bitcointalk.org/)
1414

15-
![bitcoin coin](/img/btc.png)
15+
![bitcoin coin](/img/800/btc.png)
1616

1717
Bitcointalk is undoubtedly the gold standard for the crypto community on the web. There are 3 million posts and two million members on this platform. There are several sections dedicated to speculation, mining, development, technical support, IOC, and more. Also, the site is available in twenty different languages.
1818

1919
{{< cta1 >}}
2020

2121
## [#2 Reddit - /r/bitcoin](http://reddit.com/r/bitcoin)
2222

23-
![reddit logo](/img/1_e3E0OQzfYCuWk0pket5dAA-1024x576.png)
23+
![reddit logo](/img/800/1_e3E0OQzfYCuWk0pket5dAA-1024x576.png)
2424

2525
Reddit has the most siloed and specific communities in regards to crypto. It's a great place to go, but beware, tribalism runs deep and if you are in favor of the "wrong coin" on the wrong subreddit, you may just get banned.
2626

@@ -40,19 +40,19 @@ Steemit was one of the first blockchains to focus on social media. In return for
4040

4141
## [#6 Telegram](https://telegramcryptogroups.com/)
4242

43-
![telegram logo](/img/unnamed.png)
43+
![telegram logo](/img/800/unnamed.png)
4444

4545
Telegram is seen as a competitor of WhatsApp as it is also a chatting App. Numerous Crypto professionals have made groups. Some of these groups require little payment while there are some groups that are also free.
4646

4747
## [#7 Medium](https://medium.com/search?q=crypto)
4848

49-
![medium](/img/1_I0E7U5xI-4UvnkExSGKp_w.png)
49+
![medium](/img/800/1_I0E7U5xI-4UvnkExSGKp_w.png)
5050

5151
Medium is referred to as a backer on the community of Crypto. Albeit it does not directly belong to the direct digital currency community. Medium could further be explained as a microblogging site, and it is also a renowned place for Crypto Content.
5252

5353
## [#8 Discord](https://top.gg/servers/tag/crypto)
5454

55-
![discord logo](/img/discord-logo-logodownload-download-logotipos-1.png)
55+
![discord logo](/img/800/discord-logo-logodownload-download-logotipos-1.png)
5656

5757
Similar to Telegram, discord has live chats and servers dedicated to various crypto communities. If you want to talk in real-time, and sometimes even over voice chat, Discord might be the place for you. Discord DMs are often full of bots and scammers though, so beware while on the platform! Run from anyone trying to give you "free money".
5858

content/bitcoin/bip-32-watch-only-wallets.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ categories:
77
- "cryptography"
88
- "security"
99
images:
10-
- /img/frozen.jpeg
10+
- /img/800/frozen.jpeg
1111
---
1212

1313
[Bitcoin improvement proposal 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) is, in my opinion, one of the most important BIPs we have. (Thanks [Peter Wuille](https://twitter.com/pwuille)!) BIP 32 gave us Hierarchical Deterministic Wallets. That is, the ability to create a tree of keys from a single seed.
@@ -38,7 +38,7 @@ Now, on a piece of paper or in a password manager like [Boot.dev](https://blog.b
3838

3939
## Watch only HD wallet
4040

41-
![eye picture](/img/icon95-20-512.png)
41+
![eye picture](/img/800/icon95-20-512.png)
4242

4343
A watch-only HD wallet is a the same as a normal HD wallet except that it can't spend coins, only store them. Watch only wallets are perfect for users who want a wallet to receive new coins easily but don't want to spend regularly from that wallet, similar to a savings account.
4444

content/bitcoin/how-to-secure-bitcoin.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ categories:
66
- "bitcoin"
77
- "security"
88
images:
9-
- /img/photo-1523348837708-15d4a09cfac2.jpeg
9+
- /img/800/photo-1523348837708-15d4a09cfac2.jpeg
1010
---
1111

1212
If you're new to Bitcoin and cryptocurrency, you may have heard the common phrase [not your keys not your coins](https://www.youtube.com/watch?v=dnC5mFaIW3Q). While self-custody isn't for everyone, its the only way to truly have exclusive control over your funds. If that's what you're into, read on.
@@ -59,7 +59,7 @@ Simply remembering the phrase is referred to as a "[brainwallet](https://en.bitc
5959
- Impossible to be hacked digitally or stolen physically
6060
- Like all other methods, still susceptible to the $5 wrench attack if the attacker knows you own the coins
6161

62-
![](/img/security.png)
62+
![](/img/800/security.png)
6363

6464
[xkcd](https://xkcd.com/538/)
6565

content/clean-code/backend-ux-design.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2021-04-12"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/design.webp
8+
- /img/800/design.webp
99
---
1010

1111
Too often I neglect the idea of UX design in backend work. The goal of user experience design is to give users a product that's easy to use. In the world of front-end development, that typically means making it obvious how to navigate your site, using commonly-understood icons, or implementing well-contrasted colors for foreground and background, making your site easy to read.
@@ -24,13 +24,13 @@ In other words, UX design is all about making it easy for your users to interact
2424

2525
## Examples of UX Design
2626

27-
![door push handle ux](/img/door-push-handle.jpeg)
27+
![door push handle ux](/img/800/door-push-handle.jpeg)
2828

2929
Bad UX Design on Door
3030

3131
Sometimes it's easier to understand through bad examples. In the image above, a door with a handle is clearly labeled _push_. Why does the door have a handle at all if it can't be pulled? It's just bad UX and gives off mixed signals. If the builder had used push plates, there would be no need for words at all. [Simplicity breeds understanding](https://wagslane.dev/posts/optimize-for-simplicit-first/).
3232

33-
![](/img/push-panel-on-door.jpg)
33+
![](/img/800/push-panel-on-door.jpg)
3434

3535
I like to think of good UX design as the death of user manuals. Remember user manuals? You might still get them for tools or household appliances. In the early days of software, installable CD ROMs often came with user manuals. Can you imagine needing to open a user manual to figure out how to login to Facebook? No, the goal with UX is to make your software (or product) so easy to use that you get very few questions, even without providing explicit instructions.
3636

content/clean-code/beautiful-language-and-beautiful-code.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ date: "2021-06-30"
44
categories:
55
- "clean-code"
66
images:
7-
- /img/language.jpeg
7+
- /img/800/language.jpeg
88
---
99

1010
"Dead Poet's Society" is a classic film, and has become a recent favorite of mine. There's a scene in particular that I enjoy, where Robin William's character explains that it's bad practice to use terms like "very tired" or "very sad", instead we should use descriptive words like "exhausted" or "morose"!

content/clean-code/benefits-of-functional-programming.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ categories:
55
- "clean-code"
66
author: Lane Wagner
77
images:
8-
- /img/calculus-on-a-chalkboard.webp
8+
- /img/800/calculus-on-a-chalkboard.webp
99
---
1010

1111
Functional programming is a way to writing code where programs are created strictly through functions. Functional programming has gained quite a bit of traction in recent years among the development community, mostly because of the benefits it provides.
@@ -40,7 +40,7 @@ Because pure functions ensure that the state of the outside program isn't altere
4040

4141
### 2\. Pure functions are easier to test
4242

43-
![](/img/testing-in-bio-lab-300x204.jpeg)
43+
![](/img/800/testing-in-bio-lab-300x204.jpeg)
4444

4545
Pure functions are very easy to test for a couple reasons:
4646

@@ -57,7 +57,7 @@ Debugging and writing code with fewer bugs becomes quite a bit easier with pure
5757

5858
Let's take a look at the [Elm architecture](https://guide.elm-lang.org/architecture/) as an example. Elm is a purely functional programming language used to render webpages on the front end of an application.
5959

60-
![](/img/elm-architecture-300x230.jpg)
60+
![](/img/800/elm-architecture-300x230.jpg)
6161

6262
The Elm code is purely functional. It takes "state" as an input and converts it into the HTML that will render on the page. Whenever the user interacts with the page, the state is updated _outside_ of the Elm code. That state is then fed back into the Elm code and a new HTML output is produced.
6363

content/clean-code/code-comments.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2020-10-29"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/comment.webp
8+
- /img/800/comment.webp
99
---
1010

1111
I often hear that we need more and better comments in the code we write. In my experience, we often need _better_ comments, we rarely need more, and often we need _less_. Before you crucify me for my sacrilege, let me explain.

content/clean-code/constants-in-go-vs-javascript-and-when-to-use-them.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ categories:
77
- "golang"
88
- "javascript"
99
images:
10-
- /img/The-Nuances-of-Constants-in-Go-Go-Isnt-JavaScript.webp
10+
- /img/800/The-Nuances-of-Constants-in-Go-Go-Isnt-JavaScript.webp
1111
---
1212

1313
Constants can be confusing and easy to misuse in Go if you are coming from an untyped language. Let's take a look at some of the nuanced details of how they work in Go. It's probably unsurprising, but Go's constants are almost nothing like JavaScript's bastardized version of the concept.

content/clean-code/death-taxes-and-database-migrations.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2021-08-17"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/migration.jpeg
8+
- /img/800/migration.jpeg
99
---
1010

1111
## In this world, nothing can be said to be certain, except death, taxes, and migrations.
@@ -50,7 +50,7 @@ Think of your database choice as a tool. If you aren't careful, that tool will m
5050

5151
## #4 Careful about what you save to disk
5252

53-
![](/img/programming_meme.jpg)
53+
![](/img/800/programming_meme.jpg)
5454

5555
I won't go into too much detail on this one either, as I wrote [a whole article on keeping your data simple at rest](https://wagslane.dev/posts/keep-your-data-raw-at-rest/). That said, I'll give you another tl;dr. If you can get away from storing calculated data in your database, you'll never have to move it. In other words, the less you save, the easier your life is. Let me provide an example.
5656

@@ -60,4 +60,4 @@ Let's say you have a `height` variable for each user in your database. Now, on t
6060

6161
While you _can_ make a globally accessible database connection and write SQL queries in any old place, **don't do it**. You'll save yourself a lot of headache by writing a package or module that abstracts knowledge of the database "implementation details" away from the business logic. This is classic "clean architecture" stuff by Uncle Bob Martin, but it won't just keep your code clean, it will make future database changes much easier.
6262

63-
![](/img/CleanArchitecture.jpg)
63+
![](/img/800/CleanArchitecture.jpg)

content/clean-code/dry-code.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2021-01-25"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/desert.jpeg
8+
- /img/800/desert.jpeg
99
---
1010

1111
Clean code is like clean garbage - it's only clean if it doesn't exist. In other words, the only clean code is [no code](https://github.com/kelseyhightower/nocode). Let's start with an acknowledgment that a perfectly clean (empty) codebase is useless, that is, without code, we can't provide value to our users. With that in mind, our pursuit of "clean code" will necessarily consist of tradeoffs. We'll trade usefulness for cleanliness, complexity for speed, ownership for ease of development, and abstractions for reusability.

content/clean-code/guard-clauses.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2020-09-06"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/Guard-Clauses.webp
8+
- /img/800/Guard-Clauses.webp
99
---
1010

1111
One of the first concepts [new developers](https://blog.boot.dev/) learn is the if/else statement. If/else statements are the most common way to execute conditional logic. However, complex and nested if/else statements can quickly become a cognitive burden and compromise the readability of a program.

content/clean-code/line-breaks-vs-code-lf-vs-crlf.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ date: "2020-06-18"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/vscode-preview.webp
8+
- /img/800/vscode-preview.webp
99
---
1010

1111
Have you ever had the problem where you submit a pull request and the diff is much larger than it should be? Maybe the code looks identical, but GitHub tells you it's completely different?
1212

1313
This is typically due to a difference in **line endings**, especially the difference in `LF` vs. `CRLF`. Unix systems like Linux and macOS use `LF`, the line feed character, for line breaks by default. Windows, on the other hand, is special and uses `CR/LF`, carriage return AND line feed character, by default.
1414

15-
![Michael Scott condescending to the Windows OS](/img/12bb747ebc3c94d638257f18ab25d307-300x244.jpg)
15+
![Michael Scott condescending to the Windows OS](/img/800/12bb747ebc3c94d638257f18ab25d307-300x244.jpg)
1616

1717
Michael Scott On Windows Line Endings
1818

@@ -22,7 +22,7 @@ Unless you work on a Windows-only team, the answer is almost always to change al
2222

2323
If you're here to quickly fix a single file that you're having problems with, you're in luck. At the bottom right of the screen in [VS Code](https://code.visualstudio.com/), click the little button that says `LF` or `CRLF`. After changing it to your preference, Voila, the file you're editing now has the correct line breaks.
2424

25-
![vscode crlf lf line endings switch](/img/vscode-crlf-lf-line-endings-switch.jpg)
25+
![vscode crlf lf line endings switch](/img/800/vscode-crlf-lf-line-endings-switch.jpg)
2626

2727
Click the LF/CRLF button to toggle line endings
2828

@@ -58,10 +58,10 @@ This setting will not automatically fix all files in your project that have the
5858

5959
When everything went digital, some devices required a "Line Feed" character to terminate lines, so Microsoft decided to just make a new-line have _both_ characters so that they would work correctly on all devices.
6060

61-
![](/img/typewriter-form-unsplash-with-carriage-300x200.jpeg)
61+
![](/img/800/typewriter-form-unsplash-with-carriage-300x200.jpeg)
6262

6363
`CR` and `LF` are just bytecodes. Computers store text characters as numbers in binary, just 1's and 0s. Carriage Return (`CR`), is represented in [ASCII](https://en.wikipedia.org/wiki/ASCII) (a common character encoding protocol) as 13, or in binary, `00001101`. Likewise, the line feed character (`LF`) is 10 or `00001010`.
6464

6565
As you can imagine, `CRLF` is just both bytes shoved up next to each other: `0000110100001010`.
6666

67-
![Ascii Table](/img/asciifull.gif)
67+
![Ascii Table](/img/800/asciifull.gif)

content/clean-code/naming-variables.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2021-04-01"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/yelling-at-computer.webp
8+
- /img/800/yelling-at-computer.webp
99
---
1010

1111
I've noticed that bugs introduced into an existing code base are often due to poor variable naming more than one might suspect. For example, a developer uses a `rateLimit` variable expecting it to be denominated in _seconds_ while it really represents _minutes_, resulting in a 6x slower schedule. Another developer expects `dbConnection` to be an open database connection, but instead, it's just the connection URI.

content/clean-code/practical-patterns-for-technical-writing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: "2020-09-22"
55
categories:
66
- "clean-code"
77
images:
8-
- /img/Practical-Patterns-Techincal-Writing.webp
8+
- /img/800/Practical-Patterns-Techincal-Writing.webp
99
---
1010

1111
Writing technical documents like API or architectural documentation which exceeds a simple flow diagram can be a daunting task. If you have some experience with technical documents, you will probably agree that there is nothing more frustrating than bad documentation.

content/clean-code/singletons-in-es6-the-good-the-bad-the-ugly.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ categories:
66
- "clean-code"
77
- "javascript"
88
images:
9-
- /img/photo-1473655443462-4c2bdebc3e1c.webp
9+
- /img/800/photo-1473655443462-4c2bdebc3e1c.webp
1010
---
1111

1212
Singletons are fairly controversial as far as I can tell, especially in JavaScript programming. Let's take a look at what they are, when to (maybe) use them, and when not to.
@@ -56,7 +56,7 @@ The singleton instance **isn't actually globally scoped**: in order to modify st
5656

5757
Here's my over-simplified opinion in the form of a flowchart:
5858

59-
![flowchart](/img/Screen-Shot-2019-11-04-at-9.29.33-AM.png)
59+
![flowchart](/img/800/Screen-Shot-2019-11-04-at-9.29.33-AM.png)
6060

6161
The idea is to use the simplest, most-controlled solution we reasonably can. In order of least evil --> most evil:
6262

0 commit comments

Comments
 (0)