Compare commits
13 Commits
c70353a78a
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| f883213931 | |||
| d5e60b5677 | |||
| 78c5ff810a | |||
| c29945b98b | |||
| ad11d9cd06 | |||
| d929ec6967 | |||
| 31c6eaa172 | |||
| 7566b3c279 | |||
| f1c480411b | |||
| 8eb2974aa3 | |||
| 04e43ba524 | |||
| bd96a6cdb5 | |||
| 758e8ed5db |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,5 +1,6 @@
|
|||||||
# Generated Files
|
# Generated Files
|
||||||
*.pdf
|
*.pdf
|
||||||
|
export
|
||||||
|
|
||||||
# Working Files
|
# Working Files
|
||||||
build
|
build
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
> "If it's free, you're the product."
|
> "If it's free, you're the product."
|
||||||
>
|
>
|
||||||
> -- *some guy*
|
> -- *some guy* [TBD/TODO]
|
||||||
|
|
||||||
## Privacy vs Security
|
## Privacy vs Security
|
||||||
|
|
||||||
|
|||||||
67
content05-email.md
Normal file
67
content05-email.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
|
||||||
|
# Email
|
||||||
|
|
||||||
|
Changing email services is actually much easier than most people think.
|
||||||
|
It's really only a few steps.
|
||||||
|
|
||||||
|
1. Create a new account.
|
||||||
|
2. Set up your old account to forward to the new account.
|
||||||
|
3. Begin using your new account, exclusively using it to read and reply.
|
||||||
|
4. Commit to only using the new account consistently.
|
||||||
|
|
||||||
|
## Recommended Mail Providers
|
||||||
|
|
||||||
|
This article from 2015 lists two of the same hosts that I'd recommend, showing that they've been around for a while and likely aren't going anywhere.
|
||||||
|
|
||||||
|
[How private is your email? Not very | Hacker News : `https://news.ycombinator.com/item?id=9811311`](https://news.ycombinator.com/item?id=9811311)
|
||||||
|
|
||||||
|
### Proton
|
||||||
|
|
||||||
|
A highly popular choice in today's world. When emailing other Proton users the messages are E2EE, meaning that even Proton cannot read the contents.
|
||||||
|
|
||||||
|
The service must be used from their website or app, they do not provide IMAP/SMTP to the general public. Their interface is actually pretty good though, and using it means less setup in the long run.
|
||||||
|
|
||||||
|
They also offer enterprise email hosting solutions if you have your own domain.
|
||||||
|
If only set up for yourself it's actually quite affordable, starting around $60 USD in 2025.
|
||||||
|
|
||||||
|
Other than email, Proton offers a respectable VPN, a 2 factor authenticator (2FA), a password manager, and many other solutions that people tend to look for.
|
||||||
|
|
||||||
|
[Sign-In : `mail.proton.me`](https://account.proton.me/mail)
|
||||||
|
|
||||||
|
[Information : `proton.me/mail`](https://proton.me/mail)
|
||||||
|
|
||||||
|
[Other Services: `proton.me`](https://proton.me)
|
||||||
|
|
||||||
|
### Riseup
|
||||||
|
|
||||||
|
## Mail Forwarding
|
||||||
|
|
||||||
|
Below are links on how to set up mail forwarding in common service providers.
|
||||||
|
|
||||||
|
Proton provides an explanation with easy to follow instructions when migrating from any of the Big Three below.
|
||||||
|
|
||||||
|
[Switching : `proton.me/easyswitch`](https://proton.me/easyswitch)
|
||||||
|
|
||||||
|
### Google: @gmail.com
|
||||||
|
|
||||||
|
[TBD/TODO]
|
||||||
|
|
||||||
|
### Yahoo: @yahoo.com, @myyahoo.com, @ymail.com, @yahoo.*
|
||||||
|
|
||||||
|
1. Log in to your Yahoo Mail account.
|
||||||
|
2. Click the gear icon in the upper-right corner and select "More Settings".
|
||||||
|
3. In the left-hand menu, click on "Mailboxes".
|
||||||
|
4. Under the "Mailbox list," select your primary Yahoo mailbox account.
|
||||||
|
5. Scroll down to the "Forwarding" section and enter the email address where you want your messages to be forwarded.
|
||||||
|
6. Click "Verify." Yahoo will send a verification email to the address you entered.
|
||||||
|
7. Log in to the destination email account, open the verification email from Yahoo, and click the verification link to confirm ownership.
|
||||||
|
8. Return to your Yahoo Mail settings, enable forwarding, select the verified address, and click "Save" to activate the feature.
|
||||||
|
|
||||||
|
[Enable automatic email forwarding in New Yahoo Mail : `https://help.yahoo.com/kb/SLN36684.html`](https://help.yahoo.com/kb/SLN36684.html)
|
||||||
|
|
||||||
|
[Enable automatic email forwarding in Yahoo Mail : `https://help.yahoo.com/kb/auto-forwarding-address-sln29133.html`](https://help.yahoo.com/kb/auto-forwarding-address-sln29133.html)
|
||||||
|
|
||||||
|
### Microsoft: @outlook.com, @hotmail.com, @live.com, @msn.com
|
||||||
|
|
||||||
|
[TBD/TODO]
|
||||||
@@ -2,4 +2,15 @@
|
|||||||
|
|
||||||
# Offline Solutions
|
# Offline Solutions
|
||||||
|
|
||||||
## Pen & Paper!
|
There are also alternatives to consider that avoid using electronics completely!
|
||||||
|
|
||||||
|
## Pen & Paper
|
||||||
|
|
||||||
|
A small notepad and a set of good pens can cost under $5 USD.
|
||||||
|
|
||||||
|
Some may consider this wasteful, but at the end of the day, it saves:
|
||||||
|
- time from the lack of distractions,
|
||||||
|
- energy since it is easier to focus on, and
|
||||||
|
- electricity since devices need power to run.
|
||||||
|
|
||||||
|
Even though your electronic may not waste any physical resources, it requires power to run, which needs to be fueled somehow.
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
# Conclusion
|
# Conclusion
|
||||||
|
|
||||||
|
Making the jump to alternative technologies is not something which happens overnight.
|
||||||
|
|
||||||
|
Leaving large platforms such as Google's suite can take weeks if not months to completely migrate from.
|
||||||
|
The important part is that progress is being made.
|
||||||
|
Eventually it will happen in full if the commitment is taken seriously.
|
||||||
|
|
||||||
|
Then once it's over, you're done! Other privacy and security minded people will respect that you've taken the time to improve your tech stack while respecting their time and data.
|
||||||
|
|||||||
71
convert.sh
71
convert.sh
@@ -10,11 +10,14 @@ echo "$DIR"
|
|||||||
|
|
||||||
date
|
date
|
||||||
|
|
||||||
|
|
||||||
## Global Variables ##
|
## Global Variables ##
|
||||||
|
|
||||||
ebook_prefix="TechnologyAlternatives"
|
|
||||||
work_dir="$DIR/build"
|
|
||||||
header="header.md"
|
header="header.md"
|
||||||
|
work_dir="$DIR/build"
|
||||||
|
export_dir="$DIR/export"
|
||||||
|
ebook_prefix="TechnologyAlternatives"
|
||||||
|
|
||||||
|
|
||||||
## Functions ##
|
## Functions ##
|
||||||
|
|
||||||
@@ -42,23 +45,24 @@ function insert {
|
|||||||
|
|
||||||
# Compile all the snippets into one Markdown file.
|
# Compile all the snippets into one Markdown file.
|
||||||
function combine {
|
function combine {
|
||||||
log "Combining documents based on parameters '`echo $@`'."
|
|
||||||
ebook="$1.md"
|
ebook="$1.md"
|
||||||
|
logs "Combining documents to create '$ebook'."
|
||||||
shift
|
shift
|
||||||
for addition in "$@"; do
|
for addition in "$@"; do
|
||||||
insert "$addition" "$ebook"
|
insert "$addition" "$ebook"
|
||||||
done
|
done
|
||||||
|
logf "Done!"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create the PDF and booklets them move them back to the project directory.
|
# Create the PDF and booklets them move them back to the project directory.
|
||||||
function convert {
|
function convert {
|
||||||
source="$1"
|
source="$1"
|
||||||
version="$2"
|
version="$2"
|
||||||
out_dir="$3"
|
|
||||||
|
|
||||||
|
out_dir="$export_dir"
|
||||||
ebook="${source//.md/.pdf}"
|
ebook="${source//.md/.pdf}"
|
||||||
|
|
||||||
logs "Creating '$out_dir/$ebook' from '$source'."
|
logs "Creating '$ebook' from '$source'."
|
||||||
|
|
||||||
book="${ebook//.pdf/-book.pdf}"
|
book="${ebook//.pdf/-book.pdf}"
|
||||||
booklet="${ebook//.pdf/-Booklet.pdf}"
|
booklet="${ebook//.pdf/-Booklet.pdf}"
|
||||||
@@ -75,38 +79,39 @@ function convert {
|
|||||||
|
|
||||||
log "Compiling '$source' to '$ebook'."
|
log "Compiling '$source' to '$ebook'."
|
||||||
pandoc "$source" \
|
pandoc "$source" \
|
||||||
-s -N --toc --toc-depth=4 \
|
-s -N --toc-depth=4 \
|
||||||
-o "$ebook"
|
-o "$ebook" \
|
||||||
|
>/dev/null
|
||||||
status=$?
|
status=$?
|
||||||
|
|
||||||
log "Creating booklet of '$ebook'."
|
log "Creating booklet of '$ebook'."
|
||||||
pdfbook2 -n "$ebook"
|
pdfbook2 -n "$ebook" >/dev/null
|
||||||
mv -v "$book" "$booklet"
|
mv -v "$book" "$booklet"
|
||||||
|
|
||||||
log "Creating rotated booklet of '$ebook'."
|
log "Creating rotated booklet of '$ebook'."
|
||||||
pdfbook2 -ns "$ebook"
|
pdfbook2 -ns "$ebook" >/dev/null
|
||||||
mv -v "$book" "$rotated"
|
mv -v "$book" "$rotated"
|
||||||
|
|
||||||
log "Moving '$ebook' and its booklets to '$out_dir'."
|
log "Moving '$ebook' and its booklets to '$out_dir'."
|
||||||
|
mkdir -p "$out_dir"
|
||||||
mv -v *.pdf "$out_dir"/
|
mv -v *.pdf "$out_dir"/
|
||||||
|
|
||||||
logf "Complete!"
|
logf "Complete!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
## Cleanup ##
|
## Cleanup ##
|
||||||
|
|
||||||
log "Clean PDFs"
|
logs "Clean PDFs"
|
||||||
if [[ -e "$DIR/$ebook_prefix.pdf" ]]; then
|
echo "Old:"
|
||||||
echo "Old: "
|
find "$DIR" -name "*".pdf -exec du -h {} \; -delete | sort -h
|
||||||
du -had1 "$DIR"/*.pdf
|
|
||||||
rm -v "$DIR"/*.pdf
|
|
||||||
fi
|
|
||||||
|
|
||||||
log "Clean working directory '$work_dir'"
|
logs "Clean working directory '$work_dir'"
|
||||||
if [[ -e "$work_dir" ]]; then
|
if [[ -e "$work_dir" ]]; then
|
||||||
rm -rv "$work_dir"
|
rm -rv "$work_dir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
## Main ##
|
## Main ##
|
||||||
|
|
||||||
mkdir -pv "$work_dir"
|
mkdir -pv "$work_dir"
|
||||||
@@ -115,36 +120,36 @@ cp -v "$DIR/$header" ./
|
|||||||
sed -i "s/{REVISION_DATE}/`date +'%Y-%m-%d'`/g" "$header"
|
sed -i "s/{REVISION_DATE}/`date +'%Y-%m-%d'`/g" "$header"
|
||||||
|
|
||||||
# Primary, All In One (AIO)
|
# Primary, All In One (AIO)
|
||||||
name="$ebook_prefix""_All"
|
name="$ebook_prefix""_AllPlatforms"
|
||||||
combine "$name" "$header" `ls "$DIR"/content*.md`
|
combine "$name" "$header" `ls "$DIR"/content*.md`
|
||||||
convert "$name.md" "" "$DIR"
|
convert "$name.md" ""
|
||||||
|
|
||||||
# Secondary, Mobile
|
# Secondary, Mobile
|
||||||
name="$ebook_prefix""_Mobile"
|
name="$ebook_prefix""_MobileOnly"
|
||||||
combine "$name" "$header" "$DIR/content00"* "$DIR/content10"* \
|
combine "$name" "$header" "$DIR/content0"* "$DIR/content1"* \
|
||||||
"$DIR/content70"* "$DIR/content90"*
|
"$DIR/content7"* "$DIR/content9"*
|
||||||
convert "$name.md" "(Mobile Only)" "$DIR"
|
convert "$name.md" "(Mobile Only)"
|
||||||
|
|
||||||
# Secondary, Desktop
|
# Secondary, Desktop
|
||||||
name="$ebook_prefix""_Desktop"
|
name="$ebook_prefix""_DesktopOnly"
|
||||||
combine "$name" "$header" "$DIR/content00"* "$DIR/content20"* \
|
combine "$name" "$header" "$DIR/content0"* "$DIR/content2"* \
|
||||||
"$DIR/content70"* "$DIR/content90"*
|
"$DIR/content7"* "$DIR/content9"*
|
||||||
convert "$name.md" "(Desktop Only)" "$DIR"
|
convert "$name.md" "(Desktop Only)"
|
||||||
|
|
||||||
# Secondary, Server
|
# Secondary, Server
|
||||||
name="$ebook_prefix""_Server"
|
name="$ebook_prefix""_ServerOnly"
|
||||||
combine "$name" "$header" "$DIR/content00"* "$DIR/content30"* \
|
combine "$name" "$header" "$DIR/content0"* "$DIR/content3"* \
|
||||||
"$DIR/content70"* "$DIR/content90"*
|
"$DIR/content7"* "$DIR/content9"*
|
||||||
convert "$name.md" "(Server Only)" "$DIR"
|
convert "$name.md" "(Server Only)"
|
||||||
|
|
||||||
|
|
||||||
## Finish! ##
|
## Finish! ##
|
||||||
|
|
||||||
cd "$DIR"
|
cd "$DIR"
|
||||||
|
|
||||||
echo "New: "
|
echo "New:"
|
||||||
du -had1 *.pdf
|
find "$DIR" -name "*".pdf -exec du -h {} \; | sort -h
|
||||||
|
|
||||||
date
|
date
|
||||||
|
|
||||||
exit $status
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user