Implementing post downloading through PDFs
@ -0,0 +1,212 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/ask
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Use AnySoftKeyboard},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Use AnySoftKeyboard]{Use AnySoftKeyboard}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{22 September 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
Your smartphone keyboard is an astoundingly sensitive piece of software.
|
||||||
|
You use it to type everything from the most innocent of messages to the
|
||||||
|
most crucial passwords. In terms of messaging on encrypted chat
|
||||||
|
applications like Session or Signal, your smartphone keyboard bypasses
|
||||||
|
encryption. They could know what you are searching about even on private
|
||||||
|
search engines like SearX. This is because your keystrokes are
|
||||||
|
unencrypted. With respect to passwords, your smartphone keyboard, if
|
||||||
|
invasive, can potentially view your bank account details. This means
|
||||||
|
that an individual who can access your smartphone keyboard does not need
|
||||||
|
to utilize advanced techniques to view your data. Therefore, in terms of
|
||||||
|
trust, you should make sure you absolutely trust your smartphone
|
||||||
|
keyboard not to store your written text.
|
||||||
|
|
||||||
|
When you keep the above statements in mind, it gets unhealthily
|
||||||
|
fear-inducing when you read how
|
||||||
|
\href{https://www.androidauthority.com/swiftkey-suspends-service-data-leak-706680/}{SwiftKey
|
||||||
|
had a cloud syncing glitch which led to users being able to view other
|
||||||
|
users\textquotesingle{} email addresses.} It is also scary how
|
||||||
|
\href{https://www.zdnet.com/article/600m-samsung-galaxy-phones-at-security-risk-due-to-pre-installed-keyboard-flaw/}{SwiftKey
|
||||||
|
that shipped by default on 600M Samsung Galaxy smartphones had a
|
||||||
|
vulnerability that allowed hackers to setup a proxy server to access
|
||||||
|
sensors and install apps without the user knowing.} There was also a
|
||||||
|
keyboard called ai.type that had over 40M users. Out of these,
|
||||||
|
\href{https://www.zdnet.com/article/popular-virtual-keyboard-leaks-31-million-user-data/}{31M
|
||||||
|
users had their data leaked because the MongoDB database had no
|
||||||
|
password.} This included information like
|
||||||
|
\href{https://mackeeper.com/blog/data-breach-reports-2017/}{phone
|
||||||
|
numbers, full names, device names and models, screen resolution, Android
|
||||||
|
version, IMSI and IMEI numbers, email addresses, country of residence,
|
||||||
|
social media profiles, IP addresses and even locations.}
|
||||||
|
|
||||||
|
What is the solution to this madness? Fortunately, if you are on
|
||||||
|
Android, you have \href{../definitions/free-software}{free software}
|
||||||
|
options. By using \href{../definitions/free-software}{free software}
|
||||||
|
keyboards, you can ensure that none of your keystrokes are stored or
|
||||||
|
sent to a server. This brings us to
|
||||||
|
\href{https://anysoftkeyboard.github.io/}{AnySoftKeyboard}.
|
||||||
|
AnySoftKeyboard is a free, libre and open-source keyboard for Android
|
||||||
|
that has multiple modes, layouts, theme customizations and more. It has
|
||||||
|
all the features you would expect. Gesture typing, keyboard effects,
|
||||||
|
corrections, emojis, you name it. Most importantly, it does not track
|
||||||
|
any of your keystrokes. I have been using it for almost an year. It has
|
||||||
|
been fast and efficient due to the minimalism and has saved me a lot of
|
||||||
|
time. It has many niche features like a terminal layout that has arrows,
|
||||||
|
tabs, pipes and forward slashes for ease of use in Android terminal
|
||||||
|
emulators like \href{https://termux.dev/en/}{Termux}.
|
||||||
|
|
||||||
|
If you are on an iPhone, the best option is ironically Gboard. You can
|
||||||
|
block Gboard\textquotesingle s tracking using iOS\textquotesingle{}
|
||||||
|
tracker blocking. Gboard does not log the text you store and instead
|
||||||
|
uses federated learning to improve its autocorrect. There are no private
|
||||||
|
options for an iPhone so it is better to choose the best out of two
|
||||||
|
evils.
|
||||||
|
|
||||||
|
All in all, the keyboard you use should be a factor for everyone. Use a
|
||||||
|
different keyboard and do not use the default one unless you are on
|
||||||
|
\href{https://lineageos.org/}{LineageOS} or
|
||||||
|
\href{https://grapheneos.org/}{GrapheneOS}.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,327 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/backups
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Taking Proper Backups},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Taking Proper Backups]{Taking Proper Backups}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{27 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Technology
|
||||||
|
|
||||||
|
Taking backups is crucial in every single context. There is simply no
|
||||||
|
situation where the lack of backups was beneficial. Such situations are
|
||||||
|
always detrimental to people. Backups are also important for businesses,
|
||||||
|
especially ones which are responsible for the lives of people, like
|
||||||
|
hospitals.
|
||||||
|
|
||||||
|
Taking backups prevents data loss due to software or hardware errors.
|
||||||
|
Even accidents have a minimal impact if you have a backup. It allows
|
||||||
|
businesses to keep growing instead of being worried about recovering
|
||||||
|
crucial client data. For public services like hospitals, being hit with
|
||||||
|
ransomware is an extremely difficult moment. If the ransom is not paid
|
||||||
|
immediately, it can result in loss of human lives. This is why you
|
||||||
|
either have backups or lose money.
|
||||||
|
|
||||||
|
Losing precious memories hurts. Backups prevent this gut-wrenching
|
||||||
|
scenario from ever occurring. With many spectacular backup solutions
|
||||||
|
being free or cheap, there is absolutely no reason to take backups. If
|
||||||
|
you work with new computers and devices regularly, then taking backups
|
||||||
|
makes it easy to migrate and install multiple instances on new devices.
|
||||||
|
This is especially easy with Linux systems due to the simple dotfile
|
||||||
|
method. It also provides version control. If you have old versions of
|
||||||
|
documents and files, it is easy to refer to previous examples for future
|
||||||
|
work.
|
||||||
|
|
||||||
|
If there is one thing that people love about backups, it is the peace of
|
||||||
|
mind you get knowing that you have an extremely low chance of losing
|
||||||
|
your important data.
|
||||||
|
|
||||||
|
It does not matter if you are a normal person or a massive business; you
|
||||||
|
should spend time and money to back up your data properly.
|
||||||
|
|
||||||
|
\hypertarget{backup-rule}{%
|
||||||
|
\subsection[3-2-1 Backup Rule]{3-2-1 Backup Rule}\label{backup-rule}}
|
||||||
|
|
||||||
|
The 3-2-1 backup rule is a rule that many people recommend following to
|
||||||
|
remember to take proper backups. Here is the meaning of each of the
|
||||||
|
numbers:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\textbf{Three Copies}: The "3" in the rule means that you should at
|
||||||
|
least three copies of your data. This includes your original data, so
|
||||||
|
you should have at least your original data along with two other
|
||||||
|
copies. The advantage of having these many copies is that it is the
|
||||||
|
perfect balance of simplicity and redundancy.
|
||||||
|
\item
|
||||||
|
\textbf{Two Different Media}: The "2" in the rule means that you
|
||||||
|
should have your backups on at least two different media types. This
|
||||||
|
may include physical (external SSD, NAS) and digital (server you own,
|
||||||
|
cloud storage) backups.
|
||||||
|
\item
|
||||||
|
\textbf{One Off-site Copy}: The "1" in the rule means that you should
|
||||||
|
have at least one off-site copy. Off-site in this case means somewhere
|
||||||
|
other than your main home or regular backup methods. This can be an
|
||||||
|
encrypted external hard drive that you leave at your
|
||||||
|
relative\textquotesingle s house, for example.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
It is important to note that these rules are not a plan for everyone,
|
||||||
|
and are instead meant as a base for your backup plans. The least
|
||||||
|
important data that you own should at least be backed up using the base
|
||||||
|
3-2-1 backup plan.
|
||||||
|
|
||||||
|
\hypertarget{using-invasive-services-drive-onedrive-icloud}{%
|
||||||
|
\subsection[Using Invasive Services (Drive, OneDrive, iCloud)]{Using
|
||||||
|
Invasive Services (Drive, OneDrive,
|
||||||
|
iCloud)}\label{using-invasive-services-drive-onedrive-icloud}}
|
||||||
|
|
||||||
|
When it comes to using Big Tech\textquotesingle s invasive services, you
|
||||||
|
have to be extremely careful since they do not respect your privacy at
|
||||||
|
all. At the bare minimum, you should be encrypting the files you upload
|
||||||
|
if they are even of a little importance to you.
|
||||||
|
|
||||||
|
A popular program for file and drive encryption is VeraCrypt. To learn
|
||||||
|
how to use it in detail,
|
||||||
|
\href{https://yewtu.be/watch?v=cxo8xosH_TI}{watch this video}. The
|
||||||
|
overall process goes like this:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Create a new encrypted file specifying the password and other details
|
||||||
|
like total space.
|
||||||
|
\item
|
||||||
|
\textbf{Save the password somewhere safe to not forget it.}
|
||||||
|
\item
|
||||||
|
Unlock the file using your password.
|
||||||
|
\item
|
||||||
|
Copy all your important files to it.
|
||||||
|
\item
|
||||||
|
Unmount the file
|
||||||
|
\item
|
||||||
|
Upload it wherever you want
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
This makes it difficult to easily access your files from your phone or
|
||||||
|
another device, but it is totally worth it for your privacy.
|
||||||
|
|
||||||
|
\hypertarget{using-paid-services-backblaze-mega}{%
|
||||||
|
\subsection[Using Paid Services (Backblaze, Mega)]{Using Paid Services
|
||||||
|
(Backblaze, Mega)}\label{using-paid-services-backblaze-mega}}
|
||||||
|
|
||||||
|
Services like Mega allow you to pay for more storage, just like Drive,
|
||||||
|
OneDrive or Dropbox. There are privacy concerns with the latter three,
|
||||||
|
however. ProtonDrive is also a good option, but it has had some
|
||||||
|
controversy due to the
|
||||||
|
\href{https://techcrunch.com/2021/09/06/protonmail-logged-ip-address-of-french-activist-after-order-by-swiss-authorities/}{privacy
|
||||||
|
concerns of ProtonMail}. However, I am comfortable recommending it.
|
||||||
|
|
||||||
|
BackBlaze is a backup program that is under the
|
||||||
|
\href{https://opensource.org/license/mit/}{MIT licence}. It works really
|
||||||
|
well for most of their customers, so I am comfortable recommending it.
|
||||||
|
|
||||||
|
\hypertarget{using-owned-services-servers-syncing}{%
|
||||||
|
\subsection[Using Owned Services (servers, syncing)]{Using Owned
|
||||||
|
Services (servers,
|
||||||
|
syncing)}\label{using-owned-services-servers-syncing}}
|
||||||
|
|
||||||
|
When you are using services you own, you have to make sure that you
|
||||||
|
verify the integrity of your files. File corruption can happen on every
|
||||||
|
platform, but it is much better to verify your files on your server
|
||||||
|
since there may be issues with your setup that causes file corruption.
|
||||||
|
|
||||||
|
It is also important to keep a separate drive or storage medium on your
|
||||||
|
services if possible. If anything happens to your main system, it
|
||||||
|
becomes really easy to just wipe the system and install a new one,
|
||||||
|
knowing that your data is safe.
|
||||||
|
|
||||||
|
You can also use sync services like Syncthing for small files that you
|
||||||
|
need synced within all of your devices. I use it to sync my password
|
||||||
|
manager and personal notes. It is encrypted and open-source software and
|
||||||
|
works extremely fast. It is so fast that by the time I save a file and
|
||||||
|
open my phone, the file is already updated. This prevents conflicts.
|
||||||
|
|
||||||
|
\hypertarget{taking-offline-backups}{%
|
||||||
|
\subsection[Taking Offline Backups]{Taking Offline
|
||||||
|
Backups}\label{taking-offline-backups}}
|
||||||
|
|
||||||
|
If you are taking offline backups, you should be careful with encrypting
|
||||||
|
your data if you need it. You should first assess whether you need
|
||||||
|
encryption or not. If you live in an area with a lot of robberies,
|
||||||
|
encrypt it, as a robber who is smart enough may steal your drive.
|
||||||
|
|
||||||
|
Make sure to get an external hard drive or SSD from a reputable company
|
||||||
|
like
|
||||||
|
\href{https://www.westerndigital.com/products?filterByUseCaseName=Backups}{Western
|
||||||
|
Digital} or
|
||||||
|
\href{https://www.samsung.com/us/computing/memory-storage/portable-solid-state-drives/}{Samsung}.
|
||||||
|
|
||||||
|
By buying a product from a reputable company, you get a reliable product
|
||||||
|
that lasts a long time.
|
||||||
|
|
||||||
|
\hypertarget{maintaining-backups}{%
|
||||||
|
\subsection[Maintaining Backups]{Maintaining
|
||||||
|
Backups}\label{maintaining-backups}}
|
||||||
|
|
||||||
|
While it is important to back up your data, it is also important to
|
||||||
|
maintain your backups. At the end of every month, check your backups to
|
||||||
|
see if your files are still intact. If a specific backup medium keeps
|
||||||
|
showing corruption in files, move it to another drive immediately, since
|
||||||
|
they can fail at any time.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
While it is important to take backups, it is also important to make sure
|
||||||
|
you are taking them properly. Follow the 3-2-1 backup rule. If you are
|
||||||
|
using invasive services, encrypt all of your files before uploading them
|
||||||
|
using a trusted piece of software like VeraCrypt.
|
||||||
|
|
||||||
|
Try to use services that you own as much as possible, to be completely
|
||||||
|
independent. Make sure to have offline backups.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,285 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/browser
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) My New Browser Setup},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[My New Browser Setup]{My New Browser Setup}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{17 March 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
I have a new browser setup on my desktop to increase my privacy and
|
||||||
|
convenience. It is divided into two profiles that perform differently
|
||||||
|
based on what I need to do in the moment.
|
||||||
|
|
||||||
|
\hypertarget{what-is-it}{%
|
||||||
|
\subsection[What is it?]{What is it?}\label{what-is-it}}
|
||||||
|
|
||||||
|
I use Librewolf as my browser. It is a fork of Firefox that is enhanced
|
||||||
|
for privacy without heavily impacting user experience. I divided it into
|
||||||
|
two profiles:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Accounts (instances in which I need to login)
|
||||||
|
\item
|
||||||
|
Browsing (general website browsing)
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Let me walk through how each profile is setup.
|
||||||
|
|
||||||
|
\hypertarget{profile-setup}{%
|
||||||
|
\subsection[Profile Setup]{Profile Setup}\label{profile-setup}}
|
||||||
|
|
||||||
|
Firstly, let me talk about common settings between both profiles.
|
||||||
|
|
||||||
|
\hypertarget{common-in-both}{%
|
||||||
|
\subsubsection{Common In Both}\label{common-in-both}}
|
||||||
|
|
||||||
|
On both profiles, I have my settings to optimize my privacy. On
|
||||||
|
Firefox-based browsers, it is very easy to use these settings because
|
||||||
|
most of them have little impact on convenience. I use Brave Search as my
|
||||||
|
search engine and will switch to my own SearX instance when I get a good
|
||||||
|
server. In terms of extensions, I have the \textquotesingle uBlock
|
||||||
|
Origin\textquotesingle{} extension installed setup to block JavaScript
|
||||||
|
and remote fonts by default. I have the default lists along with all the
|
||||||
|
others unchecked by default apart from language lists. I block every
|
||||||
|
single domain from Google, Facebook, Microsoft and other websites which
|
||||||
|
are known for tracking. If a website breaks, I whitelist that website in
|
||||||
|
particular.
|
||||||
|
|
||||||
|
\hypertarget{accounts-profile}{%
|
||||||
|
\subsubsection{Accounts Profile}\label{accounts-profile}}
|
||||||
|
|
||||||
|
My accounts profile is optimized to work well with day-to-day logins and
|
||||||
|
important websites. I use this profile for all websites where I can
|
||||||
|
login like Google or Microsoft.
|
||||||
|
|
||||||
|
I use the following extensions:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Cookie AutoDelete
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Enabled with whitelisting to auto-delete cookies for websites which
|
||||||
|
I open by accident.
|
||||||
|
\item
|
||||||
|
Using extension instead of Librewolf\textquotesingle s built-in
|
||||||
|
setting because it currently does not work for me.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
Containers
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
For multiple accounts
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\hypertarget{browsing-profile}{%
|
||||||
|
\subsubsection{Browsing Profile}\label{browsing-profile}}
|
||||||
|
|
||||||
|
My browsing profile runs in permanent private browsing mode so my
|
||||||
|
cookies, cache and browsing history are automatically deleted when I
|
||||||
|
close my browser. I use it for general web browsing like watching
|
||||||
|
videos, viewing articles and more. I have most of the content I like in
|
||||||
|
an RSS feed but this profile is useful for some websites which either do
|
||||||
|
not have an RSS feed or I only need to use once.
|
||||||
|
|
||||||
|
For this profile, I use these extensions:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Dark Reader
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\textquotesingle Invert Listed Only\textquotesingle{} mode turned on
|
||||||
|
because most websites I use have dark mode turned on already.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
LibRedirect
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
To redirect common websites to their free, libre and open-source
|
||||||
|
frontends.
|
||||||
|
\item
|
||||||
|
Some examples are:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
YouTube -\/-\textgreater{} Invidious
|
||||||
|
\item
|
||||||
|
Twitter -\/-\textgreater{} Nitter
|
||||||
|
\item
|
||||||
|
Reddit -\/-\textgreater{} LibReddit
|
||||||
|
\item
|
||||||
|
Medium -\/-\textgreater{} Scribe
|
||||||
|
\item
|
||||||
|
Wikipedia -\/-\textgreater{} Wikiless
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
I highly recommend everyone to do the same because these frontends
|
||||||
|
are lightweight and do not use JavaScript which makes them load
|
||||||
|
swiftly.
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
This setup has been serving me extremely well. I will continue using
|
||||||
|
this setup and building on it if any specific need arises.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,207 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/crypto
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Keep Crypto Off Exchanges},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdflang={en},
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Keep Crypto Off Exchanges]{Keep Crypto Off Exchanges}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{14 March 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Technology
|
||||||
|
|
||||||
|
|
||||||
|
In this article, we will discover why it is horrible to keep
|
||||||
|
cryptocurrency on exchanges. If you do not have time to read this
|
||||||
|
article, please stop keeping your cryptocurrencies on exchanges. If you
|
||||||
|
do, your crypto may get stolen or lost. If you are interested in the
|
||||||
|
details, please keep reading.
|
||||||
|
|
||||||
|
\hypertarget{lack-of-ownership}{%
|
||||||
|
\subsection[Lack of Ownership]{Lack of
|
||||||
|
Ownership}\label{lack-of-ownership}}
|
||||||
|
|
||||||
|
When you keep cryptocurrencies on exchanges like Coinbase, they have
|
||||||
|
your private keys. Anyone who has your private keys can manage your
|
||||||
|
wallet as if it is their own. They can send, receive and do whatever
|
||||||
|
they want with your wallet. Even if the exchange you are trading on is
|
||||||
|
trusted, \href{https://www.investopedia.com/terms/m/mt-gox.asp}{if they
|
||||||
|
shut down, you will lose your crypto.} This happened a few times before
|
||||||
|
and thousands of people lost all of their crypto. This is why exchanges
|
||||||
|
should be used for what they are good at; purchasing crypto. Keep
|
||||||
|
exchanges only for one purpose.
|
||||||
|
|
||||||
|
\hypertarget{no-regulation}{%
|
||||||
|
\subsection[No Regulation]{No Regulation}\label{no-regulation}}
|
||||||
|
|
||||||
|
Currently, the whole crypto exchange industry has a severe lack of
|
||||||
|
regulation. The fact that exchanges have your private keys means that
|
||||||
|
\textbf{they can freeze your account which would cut off your access to
|
||||||
|
your own crypto.} Governments can request such freezes. This may seem
|
||||||
|
improbable but
|
||||||
|
\href{https://www.ccn.com/south-koreas-biggest-cryptocurrency-exchange-investigated-by-local-police-market-drops/}{it
|
||||||
|
happened in South Korea.}
|
||||||
|
|
||||||
|
\hypertarget{hacking}{%
|
||||||
|
\subsection[Hacking]{Hacking}\label{hacking}}
|
||||||
|
|
||||||
|
Even if the exchange you are trading on is secure, they may store your
|
||||||
|
private keys in plaintext. This happens much more than people think. If
|
||||||
|
this happens, hackers can easily take control of
|
||||||
|
people\textquotesingle s wallets and send all the crypto to themselves.
|
||||||
|
If a hack like this happens through Bitcoin, it can at least be tracked.
|
||||||
|
However, many hackers convert their crypto to Monero which cannot be
|
||||||
|
tracked. If this happens, you will never get your money back unless the
|
||||||
|
hacker decides to return the money.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
To sum it up, you should never store your crypto on exchanges because
|
||||||
|
you do not own your own crypto. There is little regulation and your
|
||||||
|
account or the exchange can also be hacked. All of these pose serious
|
||||||
|
risks to your crypto. Just get a wallet like Electrum or Monero and
|
||||||
|
start using it.
|
||||||
|
\end{document}
|
@ -0,0 +1,311 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/discord
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Delete Your Discord},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Delete Your Discord]{Delete Your Discord}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{22 March 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Guides
|
||||||
|
|
||||||
|
As mentioned in the title, I have deleted my Discord account. This was
|
||||||
|
obviously not without a reason. There are two reasons due to which I
|
||||||
|
deleted my Discord account:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Privacy
|
||||||
|
\item
|
||||||
|
Lack of Use
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The most prominent reason is privacy but lack of use compelled me to
|
||||||
|
actually take the plunge and delete my Discord account.
|
||||||
|
|
||||||
|
\hypertarget{privacy}{%
|
||||||
|
\subsection[Privacy]{Privacy}\label{privacy}}
|
||||||
|
|
||||||
|
\hypertarget{introduction}{%
|
||||||
|
\subsubsection{Introduction}\label{introduction}}
|
||||||
|
|
||||||
|
Discord is a hellhole for your privacy. Avoid it at all costs. In this
|
||||||
|
section, I will show you the various things that Discord tracks.
|
||||||
|
|
||||||
|
\hypertarget{discords-history}{%
|
||||||
|
\subsubsection{DISCORD\textquotesingle S
|
||||||
|
HISTORY}\label{discords-history}}
|
||||||
|
|
||||||
|
OpenFeint was a mobile social network for gaming. The Founder of
|
||||||
|
OpenFeint was Jason Citron, the current CEO of Discord. OpenFeint
|
||||||
|
received a class-action lawsuit for storing data like:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Unique Device Identifiers
|
||||||
|
\item
|
||||||
|
Exact GPS Location
|
||||||
|
\item
|
||||||
|
Internet Browsing History
|
||||||
|
\item
|
||||||
|
Facebook and Twitter Profiles
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
OpenFeint then revealed all of this data to any mobile game developer
|
||||||
|
who asked for it and advertising networks.
|
||||||
|
|
||||||
|
Well, if they collected all of this data, you must have agreed to it,
|
||||||
|
right?
|
||||||
|
|
||||||
|
No. The company never asked for your consent. This data collection
|
||||||
|
involved over 100M mobile devices.
|
||||||
|
|
||||||
|
\hypertarget{privacy-issues}{%
|
||||||
|
\subsubsection{PRIVACY ISSUES}\label{privacy-issues}}
|
||||||
|
|
||||||
|
So, when you have the CEO of a company that did all of this data
|
||||||
|
collection become the CEO of another company, what do you think he is
|
||||||
|
going to do? The answer is obvious. Of course he will do the same thing.
|
||||||
|
|
||||||
|
Let us go over what privacy issues there currently are with Discord.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\textbf{All messages, including direct messages are unencrypted.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Do not share any sensitive information on it. It can be detrimental
|
||||||
|
if you store a password on their servers as any Discord employee can
|
||||||
|
view it.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{Discord collects every single thing you do.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Do not be surprised if they log the amount of times you breathe
|
||||||
|
while using Discord. It is stored with your User ID, an event ID, a
|
||||||
|
timestamp and a detailed explanation of everything you do.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{Discord collects information about game executables.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
After scanning your game executables, Discord basically will have a
|
||||||
|
tally of what games you play. If they are doing it for game
|
||||||
|
executables, there is no doubt that they are doing it for other apps
|
||||||
|
as well.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{Government agencies, gather round!}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Discord\textquotesingle s privacy policy states that your data will
|
||||||
|
be given to any government organisation that asks for it.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{The privacy toggles in the Discord app do nothing.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
All they do is tell the server to delete the data as soon as it
|
||||||
|
receives it. There is no verification, let alone an audit to verify
|
||||||
|
this.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{Your messages are with us... and everyone else.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
When you delete your Discord account, your messages are still kept
|
||||||
|
and your profile will simply be replaced by ``Deleted Account''. If
|
||||||
|
you used Discord for even more than a few days to talk with friends,
|
||||||
|
your messages are more than enough to deanonymize you.
|
||||||
|
\end{itemize}
|
||||||
|
\item
|
||||||
|
\textbf{Oh, and don\textquotesingle t do it yourself.}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
You will get banned for using tools to delete messages on Discord.
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\hypertarget{all-in-all...}{%
|
||||||
|
\subsubsection{ALL IN ALL...}\label{all-in-all...}}
|
||||||
|
|
||||||
|
... this is not all that Discord does. If we know that Discord does all
|
||||||
|
of this, there is obviously more that they are doing that we do not
|
||||||
|
know. You should always assume closed-source pieces of software are
|
||||||
|
tracking you and sending your information to a third-party.
|
||||||
|
|
||||||
|
\hypertarget{lack-of-use}{%
|
||||||
|
\subsection[Lack of Use]{Lack of Use}\label{lack-of-use}}
|
||||||
|
|
||||||
|
I was not using Discord anymore so I deleted it. The reason is that my
|
||||||
|
previous account got banned for botting when I did not do anything. I
|
||||||
|
made a new account, chatted with three or four of my friends.
|
||||||
|
Afterwards, the CounterHawks Discord server got banned. Due to this, I
|
||||||
|
realized there is no use for my account and that there is no reason for
|
||||||
|
me to support Discord.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
I do not use Discord anymore and probably never will. Previously, it was
|
||||||
|
difficult to delete my Discord account but Discord themselves have done
|
||||||
|
all the hard work for me.
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,213 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/diy
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Do It Yourself},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Do It Yourself]{Do It Yourself}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{19 May 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Linux \& Software
|
||||||
|
|
||||||
|
With regards to technology, the average person would rather buy a new
|
||||||
|
computer when their WiFi stops working instead of taking it to a repair
|
||||||
|
shop or fixing it themselves. They would rather buy a new smartphone
|
||||||
|
when their screen cracks than repair it. They would also rather buy a
|
||||||
|
device because of its looks and arbitrary specifications than one
|
||||||
|
specific to their use case and their interests. They focus on the
|
||||||
|
marketing of a company and become
|
||||||
|
\textquotesingle fanboys\textquotesingle{} of a specific company, buying
|
||||||
|
nothing but their products, stating that the company in question makes
|
||||||
|
the best products in the world. Self-servicing and repairability are not
|
||||||
|
even factors in their decision to buy a device.
|
||||||
|
|
||||||
|
As an example, a plethora of technology enthusiasts still buy
|
||||||
|
\href{../definitions/thinkpad}{ThinkPads} to this day. When others look
|
||||||
|
at \href{../definitions/thinkpad}{ThinkPads}, they think whoever buys
|
||||||
|
them is not making a good decision. They think
|
||||||
|
\href{../definitions/thinkpad}{ThinkPads} look ugly. They do not focus
|
||||||
|
on the usability of a device. \href{../definitions/thinkpad}{ThinkPads}
|
||||||
|
are used because of their durability, repairability, fast performance,
|
||||||
|
and more. The fact that they are made for businesses means that there is
|
||||||
|
no profit for Lenovo in letting a ThinkPad break early. Instead, they
|
||||||
|
earn money by selling long-lasting and durable devices that last
|
||||||
|
individuals for years on end.
|
||||||
|
|
||||||
|
Instead of buying ThinkPads that \emph{function} amazingly, people go
|
||||||
|
for looks that \emph{impress} amazingly. A computer is a device designed
|
||||||
|
to perform computation. If you are shelling out a lot of money, you
|
||||||
|
should have a device that performs fast and can be repaired by you.
|
||||||
|
|
||||||
|
What I have realized is that you should \textquotesingle do it
|
||||||
|
yourself\textquotesingle{} as much as possible. This is why my computer
|
||||||
|
is custom-built. Had I bought a
|
||||||
|
\href{../definitions/pre-built-computers/}{pre-built computer,} I would
|
||||||
|
have never known what was inside my computer. This is tedious on
|
||||||
|
smartphones since they are becoming more and more locked down.
|
||||||
|
\href{../definitions/linux-phones}{Linux phones} are alternatives but
|
||||||
|
they are not great as of 2023. I hope they become mainstream soon
|
||||||
|
because I want to buy one.
|
||||||
|
|
||||||
|
Doing it yourself also helps in terms of software. I used to flash
|
||||||
|
custom ROMs on my old phone and used
|
||||||
|
\href{../definitions/lineageos}{LineageOS} extensively. Now, I use
|
||||||
|
\href{../definitions/arch-linux}{Arch Linux} on my computer, which is a
|
||||||
|
\href{../definitions/linux-distribution}{Linux distribution} that is
|
||||||
|
basically barebones. It has only the packages required to boot up.
|
||||||
|
Everything else is done by you. The advantage of an
|
||||||
|
\href{../definitions/operating-system}{operating system} like this is
|
||||||
|
that you know what runs on your system and there is minimal resource
|
||||||
|
usage. If there is an issue, you can easily find out which program it is
|
||||||
|
from and fix it immediately after gaining knowledge.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
You should try to \textquotesingle do it yourself\textquotesingle. Take
|
||||||
|
control of your hardware and software and know what you are running. It
|
||||||
|
will not only be cheaper, but it will make it easier to fix issues and
|
||||||
|
learn about computing and technology in the long run.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,241 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/doas
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Use Doas Instead Of Sudo},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Use Doas Instead Of Sudo]{Use Doas Instead Of Sudo}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{20 April 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Linux \& Software \& Guides
|
||||||
|
|
||||||
|
Sudo. It is often used by Linux users to perform commands with root
|
||||||
|
privileges instead of being in a root shell all the time. However,
|
||||||
|
\href{https://access.redhat.com/security/cve/CVE-2023-22809}{there has
|
||||||
|
recently been a vulnerability in sudo due to which people are switching
|
||||||
|
to doas.}
|
||||||
|
|
||||||
|
\hypertarget{what-is-doas}{%
|
||||||
|
\subsection[What is Doas?]{What is Doas?}\label{what-is-doas}}
|
||||||
|
|
||||||
|
OpenDoas or Doas is a portable version of the doas utility that is used
|
||||||
|
on OpenBSD. OpenDoas can be installed on Unix-like system which includes
|
||||||
|
Linux. It is designed to be more minimal and has less configuration
|
||||||
|
options than sudo. If you are on a personal computer, then I highly
|
||||||
|
recommend you switch to doas because it has a much smaller codebase
|
||||||
|
which leaves less room for error.
|
||||||
|
|
||||||
|
However, if you are part of a professional environment with many
|
||||||
|
individuals needing to use sudo, I recommend staying with sudo because
|
||||||
|
it offers more configuration options to be used for groups and users.
|
||||||
|
|
||||||
|
\hypertarget{installing-doas}{%
|
||||||
|
\subsection[Installing Doas]{Installing Doas}\label{installing-doas}}
|
||||||
|
|
||||||
|
Doas is available on almost all major distributions. If your
|
||||||
|
distribution is Debian-based (Ubuntu, Linux Mint, Zorin OS), simply
|
||||||
|
type:
|
||||||
|
|
||||||
|
\texttt{sudo\ apt\ install\ doas}
|
||||||
|
|
||||||
|
If you run an Arch-based system (Artix, Arco, Endeavour, Manjaro), type:
|
||||||
|
|
||||||
|
\texttt{sudo\ pacman\ -S\ opendoas}
|
||||||
|
|
||||||
|
If you use RHEL-based systems (Fedora, CentOS), type:
|
||||||
|
|
||||||
|
\texttt{sudo\ dnf\ install\ opendoas}
|
||||||
|
|
||||||
|
Doas should now be installed but it will not work out of the box. There
|
||||||
|
is one line that we need to add to the configuration file.
|
||||||
|
|
||||||
|
\hypertarget{configuring-doas}{%
|
||||||
|
\subsection[Configuring Doas]{Configuring Doas}\label{configuring-doas}}
|
||||||
|
|
||||||
|
You have to configure doas as it is not included in most distributions
|
||||||
|
by default but do not fret! One of its plus points is that its
|
||||||
|
configuration is much better than sudo\textquotesingle s.
|
||||||
|
|
||||||
|
To begin, edit the /etc/doas.conf file as root.
|
||||||
|
|
||||||
|
If you are the only user on your system and do not plan to allow other
|
||||||
|
users to use your system, this line will suffice.
|
||||||
|
|
||||||
|
\texttt{permit\ persist\ username\ as\ root}
|
||||||
|
|
||||||
|
Many distributions have a group (wheel, sudoers) that are allowed to run
|
||||||
|
sudo commands. If you would like to allow that group to send commands as
|
||||||
|
root, type this:
|
||||||
|
|
||||||
|
\texttt{permit\ persist\ :wheel\ as\ root}
|
||||||
|
|
||||||
|
\hypertarget{using-doas}{%
|
||||||
|
\subsection[Using Doas]{Using Doas}\label{using-doas}}
|
||||||
|
|
||||||
|
Using doas is incredibly simple. Just type doas instead of sudo. For
|
||||||
|
example, if you usually type:
|
||||||
|
|
||||||
|
\texttt{sudo\ pacman\ -Syu}
|
||||||
|
|
||||||
|
then just type:
|
||||||
|
|
||||||
|
\texttt{doas\ pacman\ -Syu}
|
||||||
|
|
||||||
|
I also recommend aliasing doas to \textquotesingle doas
|
||||||
|
-\/-\textquotesingle{} since it causes issues sometimes if you just use
|
||||||
|
doas. Apart from that, this is it for the setup.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
If you are the only person on your Linux machine, you should switch to
|
||||||
|
doas. It is much more lightweight and is similar to sudo. It has a
|
||||||
|
smaller codebase which, in my opinion, prevents exploits from popping up
|
||||||
|
as often as sudo.
|
||||||
|
|
||||||
|
However, if you are in a professional environment, you should stick with
|
||||||
|
sudo.
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
@ -0,0 +1,154 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/eid23
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Eid Mubarak!},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Eid Mubarak!]{Eid Mubarak!}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{21 April 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Other
|
||||||
|
|
||||||
|
I would like to wish an \textbf{AUSPICIOUS EID} to you and your
|
||||||
|
family!
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
@ -0,0 +1,347 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/email
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\newsavebox{\picbox}
|
||||||
|
\newcommand{\cutpic}[3]{
|
||||||
|
\savebox{\picbox}{\includegraphics[width=#2]{#3}}
|
||||||
|
\tikz\node [draw, rounded corners=#1, line width=4pt,
|
||||||
|
color=white, minimum width=\wd\picbox,
|
||||||
|
minimum height=\ht\picbox, path picture={
|
||||||
|
\node at (path picture bounding box.center) {
|
||||||
|
\usebox{\picbox}};
|
||||||
|
}] {};}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) How To Encrypt Emails},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[How To Encrypt Emails]{How To Encrypt Emails}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{14 March 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Guides
|
||||||
|
|
||||||
|
In this article, I will show you how to encrypt emails. You can encrypt
|
||||||
|
emails on almost any device. In this article, however, I will be
|
||||||
|
focusing on Gmail, Outlook, Yahoo. I will also be focusing on making
|
||||||
|
ProtonMail encrypt emails with Gmail.
|
||||||
|
|
||||||
|
\hypertarget{myths}{%
|
||||||
|
\subsection[Myths]{Myths}\label{myths}}
|
||||||
|
|
||||||
|
Firstly, let us dispell a few myths. The first myth is a big one.
|
||||||
|
|
||||||
|
\hypertarget{gmails-confidential-mode-does-not-encrypt-your-emails}{%
|
||||||
|
\subsubsection{Gmail\textquotesingle s Confidential mode does not
|
||||||
|
encrypt your
|
||||||
|
emails}\label{gmails-confidential-mode-does-not-encrypt-your-emails}}
|
||||||
|
|
||||||
|
Yes, you heard that right. Gmail\textquotesingle s confidential mode
|
||||||
|
does not encrypt your emails. Whenever I speak about email encryption, I
|
||||||
|
hear something along the lines of:
|
||||||
|
|
||||||
|
\emph{``Why are you making things so complicated? Just use
|
||||||
|
Gmail\textquotesingle s confidential mode! It encrypts your emails for
|
||||||
|
you!''}
|
||||||
|
|
||||||
|
No, Gmail\textquotesingle s confidential mode does not encrypt emails.
|
||||||
|
It simply puts a password on your email.
|
||||||
|
|
||||||
|
\hypertarget{protonmail-does-not-encrypt-emails-sent-to-non-protonmail-users}{%
|
||||||
|
\subsubsection{ProtonMail does not encrypt emails sent to non-ProtonMail
|
||||||
|
users}\label{protonmail-does-not-encrypt-emails-sent-to-non-protonmail-users}}
|
||||||
|
|
||||||
|
This is also a huge myth. ProtonMail encrypts emails sent to other
|
||||||
|
ProtonMail users. However, they do not encrypt emails sent to or
|
||||||
|
received from non-ProtonMail users. It collects less data about you and
|
||||||
|
it stores your emails with encryption on their servers but the email
|
||||||
|
itself is not encrypted on the other person\textquotesingle s end.
|
||||||
|
|
||||||
|
Encryption for non-ProtonMail users works on a user-to-user basis. You
|
||||||
|
have to have the encryption keys of the other person if they are a
|
||||||
|
non-ProtonMail user and they also have to encrypt their emails manually.
|
||||||
|
We will learn how to do this in this guide.
|
||||||
|
|
||||||
|
\hypertarget{online-email}{%
|
||||||
|
\subsection[Online Email]{Online Email}\label{online-email}}
|
||||||
|
|
||||||
|
Encrypting your emails online is a simple process.
|
||||||
|
|
||||||
|
\hypertarget{step-1-get-the-mailvelope-extension}{%
|
||||||
|
\subsubsection{Step 1: Get the Mailvelope
|
||||||
|
extension}\label{step-1-get-the-mailvelope-extension}}
|
||||||
|
|
||||||
|
\href{https://mailvelope.com/}{Mailvelope is a free, libre and
|
||||||
|
open-source browser extension} which allows you to not only encrypt
|
||||||
|
emails using public keys but also has a keyserver which has a list of
|
||||||
|
other people who use Mailvelope. Emails sent to other people using
|
||||||
|
Mailvelope will automatically be encrypted.
|
||||||
|
|
||||||
|
\hypertarget{step-2-set-it-up}{%
|
||||||
|
\subsubsection{Step 2: Set it up}\label{step-2-set-it-up}}
|
||||||
|
|
||||||
|
Open the extension and generate your keypair if you do not have a
|
||||||
|
keypair or import your keypair if you do have one.
|
||||||
|
|
||||||
|
\centerline{\cutpic{1cm}{16cm}{mailvelope-1.png}}
|
||||||
|
|
||||||
|
\hypertarget{step-3-import-other-peoples-keys}{%
|
||||||
|
\subsubsection{Step 3: Import other people\textquotesingle s
|
||||||
|
keys}\label{step-3-import-other-peoples-keys}}
|
||||||
|
|
||||||
|
Encourage all of your friends to get the Mailvelope extension.
|
||||||
|
Afterwards, you can import their public keys. Henceforth, all emails
|
||||||
|
will be encrypted. Many websites also give their own public key along
|
||||||
|
with their emails so that you can encrypt them as well. If you have
|
||||||
|
friends who use ProtonMail, go to the ProtonMail import section of this
|
||||||
|
post.
|
||||||
|
|
||||||
|
\hypertarget{step-4-send-encrypted-emails}{%
|
||||||
|
\subsubsection{Step 4: Send encrypted
|
||||||
|
emails!}\label{step-4-send-encrypted-emails}}
|
||||||
|
|
||||||
|
Whenever you go to compose an email, there will be a button like the
|
||||||
|
image below. Just click on it and there will be a popup to compose your
|
||||||
|
encrypted email. Just fill in the info and send your email!
|
||||||
|
|
||||||
|
\centerline{\cutpic{1cm}{5cm}{mailvelope-2.png}}
|
||||||
|
|
||||||
|
\hypertarget{smartphones}{%
|
||||||
|
\subsection[Smartphones]{Smartphones}\label{smartphones}}
|
||||||
|
|
||||||
|
Firstly, I would like to give a disclaimer. There is no way to use PGP
|
||||||
|
encryption on iOS. Most encryption that is used on iOS is either paid or
|
||||||
|
unavailable. On Android, you cannot encrypt emails using the native
|
||||||
|
applications for Gmail, Outlook or Yahoo. Even if there is such a
|
||||||
|
feature, you should not use their official clients due to their invasive
|
||||||
|
tracking. To encrypt emails, we will use an email app called K-9 Mail. I
|
||||||
|
believe that everyone should use K-9 Mail even if they are not
|
||||||
|
encrypting their emails. It is a fantastic app.
|
||||||
|
|
||||||
|
K-9 Mail is a free and open-source email app that has a lot of features.
|
||||||
|
I believe that no one should be writing emails on their phones but it is
|
||||||
|
a great app to have just to make sure there is nothing urgent in your
|
||||||
|
inbox.
|
||||||
|
|
||||||
|
\hypertarget{step-1-get-the-app}{%
|
||||||
|
\subsubsection{Step 1: Get the app}\label{step-1-get-the-app}}
|
||||||
|
|
||||||
|
K-9 Mail is on the Play Store, but do not get it from there.
|
||||||
|
\href{https://f-droid.org/}{Get F-Droid} and make it a habit to download
|
||||||
|
apps you use and the alternatives to them through F-Droid.
|
||||||
|
\href{https://f-droid.org/packages/com.fsck.k9/}{K-9 Mail is available
|
||||||
|
on F-Droid} and is a popular app there.
|
||||||
|
|
||||||
|
\hypertarget{step-2-set-it-up-1}{%
|
||||||
|
\subsubsection{Step 2: Set it up}\label{step-2-set-it-up-1}}
|
||||||
|
|
||||||
|
Follow the guide to enter your email address and get it working through
|
||||||
|
K-9 Mail. I have tried Gmail and it works flawlessly. Other email
|
||||||
|
providers will work well but some may not work at all.
|
||||||
|
|
||||||
|
\hypertarget{step-3-get-the-openkeychain-app}{%
|
||||||
|
\subsubsection{Step 3: Get the OpenKeychain
|
||||||
|
app}\label{step-3-get-the-openkeychain-app}}
|
||||||
|
|
||||||
|
OpenKeychain is an app that allows you to import and manage PGP keys.
|
||||||
|
\href{https://f-droid.org/packages/org.sufficientlysecure.keychain/}{It
|
||||||
|
is also available on F-Droid.}
|
||||||
|
|
||||||
|
\hypertarget{step-4-generateimport-your-key}{%
|
||||||
|
\subsubsection{Step 4: Generate/Import your
|
||||||
|
key}\label{step-4-generateimport-your-key}}
|
||||||
|
|
||||||
|
Generate your key by pressing the option to create a key or import the
|
||||||
|
key file.
|
||||||
|
|
||||||
|
\hypertarget{step-5-setup-k-9-mail}{%
|
||||||
|
\subsubsection{Step 5: Setup K-9 Mail}\label{step-5-setup-k-9-mail}}
|
||||||
|
|
||||||
|
Go back to K-9 Mail, go to settings, go to your account that you added,
|
||||||
|
go to end-to-end encryption and enable it. Select your key. Turn on
|
||||||
|
autocrypt mutual mode. That is it! You should see a lock icon whenever
|
||||||
|
you are sending an email to someone if you have their PGP public key. If
|
||||||
|
you need to import more keys, just go to the OpenKeychain app and import
|
||||||
|
them.
|
||||||
|
|
||||||
|
\centerline{\cutpic{0.5cm}{6cm}{k9-encryption.png}}
|
||||||
|
|
||||||
|
\hypertarget{exporting-protonmail-keys}{%
|
||||||
|
\subsection[Exporting ProtonMail Keys]{Exporting ProtonMail
|
||||||
|
Keys}\label{exporting-protonmail-keys}}
|
||||||
|
|
||||||
|
To export your ProtonMail public keys, follow these steps.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Login to your ProtonMail account
|
||||||
|
\item
|
||||||
|
Go to the settings
|
||||||
|
\item
|
||||||
|
Go to the section labelled \textquotesingle Encryption and
|
||||||
|
keys\textquotesingle{}
|
||||||
|
\item
|
||||||
|
Scroll down to \textquotesingle Email encryption
|
||||||
|
keys\textquotesingle{} and click
|
||||||
|
\textquotesingle Export\textquotesingle.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
The image below is how it looks like in 2023.
|
||||||
|
|
||||||
|
\centerline{\cutpic{1cm}{16cm}{protonmail-key-export.png}}
|
||||||
|
|
||||||
|
You can now send these keys to anyone to import into their PGP keychain.
|
||||||
|
They will then be able to encrypt emails when sending them to your
|
||||||
|
ProtonMail address!
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
That is it! You have setup encryption on your emails. This is a great
|
||||||
|
step as email itself is very unsecure, so this will boost your privacy
|
||||||
|
and security by a lot. Sharing passwords through email has never been
|
||||||
|
safe but encryption allows you to do it with a good range of security.
|
||||||
|
|
||||||
|
\end{document}
|
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 211 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 47 KiB |
@ -0,0 +1,197 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/ffmpeg
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Switching To FFmpeg},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Switching To FFmpeg]{Switching To FFmpeg}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{1 June 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
I just started using \href{https://ffmpeg.org/}{FFmpeg}... and it is
|
||||||
|
\textbf{AMAZING!} When I mean amazing, I really mean amazing.
|
||||||
|
|
||||||
|
For those of you who do not know what FFmpeg is, it is basically a
|
||||||
|
command-line application that can be installed on all platforms that is
|
||||||
|
basically the Swiss army knife of videos, audio files and images. It
|
||||||
|
merges almost every single codec, encoders and decoders, filters and
|
||||||
|
more in a single application allowing for fast access and modularity.
|
||||||
|
|
||||||
|
FFmpeg is one of those tools which have impacted your life without you
|
||||||
|
realising it. Whenever you watch a movie, show or any piece of edited or
|
||||||
|
converted content, there is an extremely high change that FFmpeg was
|
||||||
|
involved.
|
||||||
|
|
||||||
|
You may say:
|
||||||
|
|
||||||
|
\emph{"Bu.. But I use a video editor and online file converters! Those
|
||||||
|
are not FFmpeg!"}
|
||||||
|
|
||||||
|
Most file converters and video editors use at least some FFmpeg. Many
|
||||||
|
websites like YouTube and WhatsApp use FFmpeg directly when they need to
|
||||||
|
compress a video.
|
||||||
|
|
||||||
|
\hypertarget{why}{%
|
||||||
|
\subsection[Why?]{Why?}\label{why}}
|
||||||
|
|
||||||
|
The reason I switched is because of its versatility. You can create a
|
||||||
|
single command to record your screen in lossless quality, save the
|
||||||
|
original file in \textquotesingle.mov\textquotesingle, the audio in
|
||||||
|
\textquotesingle.mp3\textquotesingle{} format in another folder, encode
|
||||||
|
a \textquotesingle.mp4\textquotesingle{} file, transcode it to be played
|
||||||
|
on Android and trim a specific part of the video and send it to a server
|
||||||
|
that you own.
|
||||||
|
|
||||||
|
FFmpeg is a difficult program to learn but the rewards are worth it. I
|
||||||
|
currently have a command that records my screen, converts the audio in
|
||||||
|
the recording from stereo to mono and finally encode it in
|
||||||
|
\href{../definitions/h264}{H.264} for ultimate compatibility.
|
||||||
|
|
||||||
|
\hypertarget{to-close-the-file...}{%
|
||||||
|
\subsection[To Close The File...]{To Close The
|
||||||
|
File...}\label{to-close-the-file...}}
|
||||||
|
|
||||||
|
All in all, you should learn FFmpeg if you do even a little amount of
|
||||||
|
multimedia manipulation. It will help you out immensely.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,170 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/font
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Why I Switched Fonts},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Why I Switched Fonts]{Why I Switched Fonts}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{4 August 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
This post is just a quick update to announce a hard decision that I have
|
||||||
|
made. I have switched the font on this website from
|
||||||
|
\href{https://www.jetbrains.com/lp/mono/}{JetBrains Mono} to
|
||||||
|
\href{https://en.wikipedia.org/wiki/Courier_(typeface)}{Courier New}.
|
||||||
|
This change was made because I feel like JetBrains Mono looks more
|
||||||
|
fitting in a terminal because it looks janky on a website. Courier New
|
||||||
|
is a monospace font but still maintains the feeling and look I want from
|
||||||
|
my website.
|
||||||
|
|
||||||
|
This change has had an unintended benefit. Previously, my
|
||||||
|
website\textquotesingle s homepage weighed around 50KB in size which is
|
||||||
|
spectacular. However, what I did not realize was that around 40KB were
|
||||||
|
being taken up by JetBrains Mono. By switching to a default typeface, my
|
||||||
|
website now weighs a shockingly low 12KB. If you would like to view the
|
||||||
|
full GTMetrix report, \href{website-report.pdf}{do so here.}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
@ -0,0 +1,200 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/forget
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Forget Your Passwords},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Forget Your Passwords]{Forget Your Passwords}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{9 September 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Technology
|
||||||
|
|
||||||
|
If you are trying to remember your passwords, you are doing it wrong.
|
||||||
|
Trying to remember your passwords is absolutely fatal and has numerous
|
||||||
|
disadvantages. To describe the demerits of trying to remember your
|
||||||
|
passwords, here is a cycle that most people follow. You set a password.
|
||||||
|
You forget it. You set a weaker password. And repeat.
|
||||||
|
|
||||||
|
Eventually, people have passwords that are not only weak, but they also
|
||||||
|
never change them unless they forget them. This leads to passwords that
|
||||||
|
are short and easy to crack. Worst of all, people continue this habit on
|
||||||
|
sensitive websites like finance or government services.
|
||||||
|
|
||||||
|
The solution to this issue? As always, \textbf{a password manager.} You
|
||||||
|
do not have to be an absolute genius to navigate around password
|
||||||
|
managers or use them securely. Memorize a strong
|
||||||
|
\href{../pwd}{\textbf{password system}}, not a lone password. Use the
|
||||||
|
password system on your password manager and on accounts where you
|
||||||
|
absolutely know that you will not have access to a password manager.
|
||||||
|
|
||||||
|
\emph{"What password manager do I use?"}
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\href{https://www.bitwarden.com/}{Bitwarden} (for non-techies)
|
||||||
|
\item
|
||||||
|
\href{https://keepass.info/}{KeePass}(for techies)
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Bitwarden is straightforward and intuitive. It is on the internet so it
|
||||||
|
is less secure than password managers that are completely offline like
|
||||||
|
KeePass. However, it is still much more secure than proprietary password
|
||||||
|
managers like LastPass and NordPass. Everything is
|
||||||
|
\href{../definitions/free-software/}{free (libre) and open-source
|
||||||
|
software.}
|
||||||
|
|
||||||
|
KeePass, on the other hand, is much more advanced. It is completely
|
||||||
|
offline, so you need something like Syncthing to sync it to all of your
|
||||||
|
devices. This is my current setup of which \href{../kpst/}{you can read
|
||||||
|
here.} It is state-of-the-art. I generate 999-character passwords with
|
||||||
|
extended ASCII so my passwords contain symbols like ©æ\^{} and much
|
||||||
|
more. These passwords have entropies above 10000 bits. For reference, an
|
||||||
|
81-bit password costs about \$1B to crack.
|
||||||
|
|
||||||
|
All in all, you should stop remembering your passwords. The human brain
|
||||||
|
is not designed for long-term storage. Let computers that are infinitely
|
||||||
|
better than humans in that regard do the hard work for you.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,217 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/fp
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\newsavebox{\picbox}
|
||||||
|
\newcommand{\cutpic}[3]{
|
||||||
|
\savebox{\picbox}{\includegraphics[width=#2]{#3}}
|
||||||
|
\tikz\node [draw, rounded corners=#1, line width=4pt,
|
||||||
|
color=white, minimum width=\wd\picbox,
|
||||||
|
minimum height=\ht\picbox, path picture={
|
||||||
|
\node at (path picture bounding box.center) {
|
||||||
|
\usebox{\picbox}};
|
||||||
|
}] {};}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Writing With Fountain Pens},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Writing With Fountain Pens]{Writing With Fountain Pens}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{30 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Other
|
||||||
|
|
||||||
|
I have heard great things about writing with fountain pens and decided
|
||||||
|
to try one. I have recently purchased the Jinhao X750 and I have to say
|
||||||
|
that I am not going back.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\centerline{\cutpic{1cm}{10cm}{jinhao.png}}
|
||||||
|
\centerline{Jinhao X750}
|
||||||
|
|
||||||
|
|
||||||
|
\hypertarget{why}{%
|
||||||
|
\subsection[Why?]{Why?}\label{why}}
|
||||||
|
|
||||||
|
Buying a fountain pen elevated my writing experience. It is more about
|
||||||
|
keeping in touch with an old lost art, that is writing. As an extreme
|
||||||
|
technology user myself, using digital versions of literally everything,
|
||||||
|
it is refreshing to write using a good tool and love writing again.
|
||||||
|
|
||||||
|
\hypertarget{ink}{%
|
||||||
|
\subsection[What Ink Did You Use?]{What Ink Did You Use?}\label{ink}}
|
||||||
|
|
||||||
|
I used the
|
||||||
|
\href{https://www.pelikan.com/int/products/writing/supplies-accessories/156-inks/125-pelikan-4001-ink-glass-jar.html\#gallery_125-3}{Pelikan
|
||||||
|
4001} in black, and it is going great so far. I might use this pen for
|
||||||
|
all my writing as it makes it a treat.
|
||||||
|
|
||||||
|
\hypertarget{feel}{%
|
||||||
|
\subsection[How Did It Feel?]{How Did It Feel?}\label{feel}}
|
||||||
|
|
||||||
|
The first time I wrote with my pen, it felt like I had unlocked a new
|
||||||
|
door in writing. It felt like I was writing something that would impact
|
||||||
|
the world in some way, even though I was just writing my name. Every
|
||||||
|
time I write using it, it feels like I am doing something extraordinary,
|
||||||
|
rather than just doing it for the sake of it.
|
||||||
|
|
||||||
|
The art of customising what goes in your pen also really piqued my
|
||||||
|
curiosity. The fact that I can choose what ink and converter I want to
|
||||||
|
use makes me relieved, even though I most likely will never change my
|
||||||
|
converter. I can use glow-in-the-dark ink, green ink, purple ink and
|
||||||
|
much more in the same pen and can switch it at almost any time.
|
||||||
|
|
||||||
|
I would say that fountain pens are expensive up-front, but cheaper in
|
||||||
|
the long run. You do not have to keep spending money like you would with
|
||||||
|
ball-point pens or roller-balls.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
I love my new fountain pen. It has reignited my love for writing. I will
|
||||||
|
use it for all my writing because of the writing experience.
|
||||||
|
|
||||||
|
\end{document}
|
After Width: | Height: | Size: 635 KiB |
@ -0,0 +1,265 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/github
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Don\'t Use Github},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Don\'t Use Github]{Don\'t Use Github}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{27 May 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
If you are a developer, programmer or a coder who works with open-source
|
||||||
|
software, you must have clicked this post in shock. First off, I would
|
||||||
|
like to state that I am not telling everyone to stop making open-source
|
||||||
|
software. What I am trying to say is that GitHub is one of the worst
|
||||||
|
\href{../definitions/git}{Git} platforms to host your projects. We will
|
||||||
|
cover why in this post.
|
||||||
|
|
||||||
|
\hypertarget{freedom}{%
|
||||||
|
\subsection[Freedom!]{Freedom!}\label{freedom}}
|
||||||
|
|
||||||
|
Simply put, GitHub uses \href{../definitions/non-free}{non-free}
|
||||||
|
software and \href{../definitions/non-free}{non-free} JavaScript on
|
||||||
|
their website. It is shockingly ironic that the biggest open-source
|
||||||
|
platform for anyone to use is itself a proprietary piece of software. It
|
||||||
|
is also centralised, for-profit and politically active, which are all
|
||||||
|
completely against free, libre and open-source software. These factors
|
||||||
|
make it similar to SourceForge, which was abandoned by most of its users
|
||||||
|
because of this very reason.
|
||||||
|
|
||||||
|
If everyone stops using GitHub and moves to better alternatives like
|
||||||
|
\href{https://codeberg.org/}{Codeberg},
|
||||||
|
\href{https://gitlab.com/}{GitLab} or even a
|
||||||
|
\href{../definitions/self-host}{self-hosted}
|
||||||
|
\href{../definitions/git}{Git} instance, then GitHub will fall. Many
|
||||||
|
people may be seething at me suggesting
|
||||||
|
\href{https://gitlab.com/}{GitLab}, but the truth is that
|
||||||
|
\href{https://gitlab.com/}{GitLab} is still open-source and uses free
|
||||||
|
JavaScript instead of \href{../definitions/non-free}{non-free}
|
||||||
|
JavaScript on their website. It is certainly not the best option, but it
|
||||||
|
is miles ahead of GitHub.
|
||||||
|
|
||||||
|
\href{https://codeberg.org/}{Codeberg} is entirely
|
||||||
|
\href{../definitions/free-software}{free software} and it is a great
|
||||||
|
option for most people. It works in a similar way to GitHub so it is
|
||||||
|
trivial for individuals to migrate. \href{https://sr.ht/}{SourceHut} is
|
||||||
|
also amazing. It is just as good as GitHub and much better for your
|
||||||
|
rights. Self-hosting a \href{https://forgejo.org/}{Forgejo} or
|
||||||
|
\href{https://gitea.io/}{Gitea} instance is one of the best options as
|
||||||
|
it offers complete independence. \href{../definitions/git}{Git} is the
|
||||||
|
underlying technology which anyone can use. Therefore, everyone should
|
||||||
|
be independent in using it.
|
||||||
|
|
||||||
|
This is the reason I have a website. Everyone should have a website as
|
||||||
|
it gives you independence on the web.
|
||||||
|
|
||||||
|
\hypertarget{embrace-extend-extinguish}{%
|
||||||
|
\subsection[Embrace, Extend, Extinguish]{Embrace, Extend,
|
||||||
|
Extinguish}\label{embrace-extend-extinguish}}
|
||||||
|
|
||||||
|
Microsoft\textquotesingle s strategy against open-source has always been
|
||||||
|
to embrace, extend and extinguish. They have tried to do it before with
|
||||||
|
Linux when it was being popularized among developers. Now, they are
|
||||||
|
using Copilot to do so, which is an AI tool that can autocomplete code
|
||||||
|
for you. The main issue with it is that they trained it all on
|
||||||
|
open-source code without giving any credit to the original developers.
|
||||||
|
GitHub\textquotesingle s Copilot is now being used to help code
|
||||||
|
for-profit and close-source programs.
|
||||||
|
|
||||||
|
Essentially, this results in open-source programs being used to grow
|
||||||
|
close-source programs.
|
||||||
|
|
||||||
|
\hypertarget{copyleft-whats-that}{%
|
||||||
|
\subsection[Copyleft? What\textquotesingle s that?]{Copyleft?
|
||||||
|
What\textquotesingle s that?}\label{copyleft-whats-that}}
|
||||||
|
|
||||||
|
Microsoft and GitHub\textquotesingle s multiple CEOs have kept on
|
||||||
|
speaking negatively about copyleft. This includes
|
||||||
|
GitHub\textquotesingle s founder and former CEO.
|
||||||
|
\href{https://www.youtube.com/watch?v=-bAAlPXB2-c}{Their OSCON keynote
|
||||||
|
was meant for attacking copyleft and the GPL, trying to discourage the
|
||||||
|
use of free software.} Instead, they suggest the MIT license using which
|
||||||
|
many megacorporations exploit people\textquotesingle s code without any
|
||||||
|
credit.
|
||||||
|
|
||||||
|
\hypertarget{microsoft-owns-it}{%
|
||||||
|
\subsection[Microsoft Owns It]{Microsoft Owns
|
||||||
|
It}\label{microsoft-owns-it}}
|
||||||
|
|
||||||
|
There are many people who suggest using alternatives to products offered
|
||||||
|
by big corporations and they are mostly right. Big corporations are able
|
||||||
|
to give you free products because they profit off of your data. They are
|
||||||
|
not trying to be kind.
|
||||||
|
|
||||||
|
For example, look at Google. They offer a search engine, documents
|
||||||
|
storage, free email, cloud storage, a video site with billions of
|
||||||
|
videos, a meeting platform and much more. They are not doing this to
|
||||||
|
help people. They are doing this to harvest your data and sell it to the
|
||||||
|
highest bidder.
|
||||||
|
|
||||||
|
Microsoft? Windows, Xbox and GitHub are not tools offered out of their
|
||||||
|
sympathy towards you. All of it is for their own profit, whether it be
|
||||||
|
collecting your data in Windows or preventing distribution of truly
|
||||||
|
\href{../definitions/free-software}{free software} on GitHub.
|
||||||
|
|
||||||
|
\hypertarget{dont-do-it-yourself}{%
|
||||||
|
\subsection["Don\textquotesingle t Do It
|
||||||
|
Yourself!"]{"Don\textquotesingle t Do It
|
||||||
|
Yourself!"}\label{dont-do-it-yourself}}
|
||||||
|
|
||||||
|
GitHub is perhaps the only Git platform that has no option to
|
||||||
|
\href{../definitions/self-host}{self-host}. You do not know what is
|
||||||
|
running on their servers and cannot know what is happening with your
|
||||||
|
code.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
Please don\textquotesingle t use GitHub. Just use alternatives or
|
||||||
|
self-host it. GitHub does have a lot of projects but if you use it, it
|
||||||
|
brings them closer towards extinguishing open-source.
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,161 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/insta
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Instagram Deleted!},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=cyan,
|
||||||
|
pdftitle={Overleaf Example},
|
||||||
|
pdfpagemode=FullScreen,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Instagram Deleted!]{Instagram Deleted!}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{7 May 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
This post is to inform you that the grace period for the deletion of my
|
||||||
|
public Instagram account has been completed. My Instagram account has
|
||||||
|
been deleted... forever. I highly recommend you do it too. Read
|
||||||
|
\href{sufyaan.me/sm}{this post} for more information.
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
@ -0,0 +1,221 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/islam
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\newsavebox{\picbox}
|
||||||
|
\newcommand{\cutpic}[3]{
|
||||||
|
\savebox{\picbox}{\includegraphics[width=#2]{#3}}
|
||||||
|
\tikz\node [draw, rounded corners=#1, line width=4pt,
|
||||||
|
color=white, minimum width=\wd\picbox,
|
||||||
|
minimum height=\ht\picbox, path picture={
|
||||||
|
\node at (path picture bounding box.center) {
|
||||||
|
\usebox{\picbox}};
|
||||||
|
}] {};}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Open-Source Islam Apps?},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Open-Source Islam Apps?]{Open-Source Islam Apps?}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{2 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
I have tried finding open-source and
|
||||||
|
\href{sufyaan.me/definitions/free-software/}{free} Islamic apps for a long time
|
||||||
|
and it is tiring to do so. Most of the apps are Quran and prayer time
|
||||||
|
apps which are perfect but we do not have apps for other parts of Islam
|
||||||
|
like hadeeths, duas and even Qibla locating. If I do run across an app,
|
||||||
|
its last update is always more than five years ago which is not ideal.
|
||||||
|
There are two Islamic apps that I use on a daily basis that I absolutely
|
||||||
|
love and will never switch from:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\href{https://apt.izzysoft.de/fdroid/index/apk/com.quranapp.android}{QuranApp}
|
||||||
|
\item
|
||||||
|
\href{https://fdroid.gitlab.io/fdroid-website/en/packages/com.github.meypod.al_azan/}{Al-Azan}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
QuranApp is a spectacular app that follows the
|
||||||
|
\href{sufyaan.me/definitions/unix-philosophy/}{UNIX philosophy} and is hosted
|
||||||
|
under the \href{https://www.gnu.org/licenses/gpl-3.0.en.html}{GPL
|
||||||
|
license} effectively making it \href{sufyaan.me/definitions/free-software/}{free
|
||||||
|
software}. It has many features like information on every single Surah,
|
||||||
|
multiple translations, audio, mentions of prophets in the Quran and even
|
||||||
|
has a search option using which you can search for any surah or term to
|
||||||
|
get detailed information about your search query in the Quran. For
|
||||||
|
example, searching about \textquotesingle patience\textquotesingle{}
|
||||||
|
brings up ayahs which talk about patience and the rewards that come
|
||||||
|
about from being patient.
|
||||||
|
|
||||||
|
\centerline{\cutpic{0.3cm}{7cm}{patience.png}}
|
||||||
|
|
||||||
|
Screenshot of the search term
|
||||||
|
\textquotesingle patience\textquotesingle{} in QuranApp
|
||||||
|
|
||||||
|
Al-Azan is another app which also follows the
|
||||||
|
\href{sufyaan.me/definitions/unix-philosophy/}{UNIX philosophy} and is hosted
|
||||||
|
under the \href{https://www.gnu.org/licenses/agpl-3.0.en.html}{AGPL
|
||||||
|
license} also making it \href{sufyaan.me/definitions/free-software/}{free
|
||||||
|
software}. It does one thing well - displaying and informing of prayer
|
||||||
|
times. You can adjust the prayer times based on location, offset and
|
||||||
|
even calculation methods.
|
||||||
|
|
||||||
|
However, there is not a single \href{sufyaan.me/definitions/free-software/}{free
|
||||||
|
software} or even open-source
|
||||||
|
\href{https://ahadith.co.uk/fortressofthemuslim.php}{Hisnul Muslim}
|
||||||
|
application that I have noticed. Most
|
||||||
|
\href{https://ahadith.co.uk/fortressofthemuslim.php}{Hisnul Muslim} apps
|
||||||
|
I have used have the exact same duas since it is based off the
|
||||||
|
\textquotesingle Fortress of the Muslim\textquotesingle{} book. Just
|
||||||
|
having a page with all duas with a simple search option and the
|
||||||
|
translation in popular languages is all thats required to get the
|
||||||
|
open-source savvy Muslim community to start using
|
||||||
|
\href{sufyaan.me/definitions/free-software/}{free software} for their duas.
|
||||||
|
|
||||||
|
Anyone can take the lead. In fact, this may be the first thing I try
|
||||||
|
when I start developing applications.
|
||||||
|
|
||||||
|
\end{document}
|
After Width: | Height: | Size: 180 KiB |
@ -0,0 +1,233 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/kpst
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) KeePass + Syncthing},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[KeePass + Syncthing]{KeePass + Syncthing}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{23 June 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
I have decided to switch from a self-hosted Vaultwarden (Bitwarden)
|
||||||
|
instance to using KeePass along with Syncthing to sync it to all my
|
||||||
|
devices. There are numerous reasons why I decided to make this change.
|
||||||
|
|
||||||
|
\hypertarget{security}{%
|
||||||
|
\subsection[Security]{Security}\label{security}}
|
||||||
|
|
||||||
|
The offline nature of KeePass makes it so that it is nearly impossible
|
||||||
|
to crack. Connecting things to the internet makes it trivial for a
|
||||||
|
script kiddie thousands of kilometers away from you to attempt to crack
|
||||||
|
your passwords. A password manager is a place where all of your
|
||||||
|
passwords are stored. Due to this very reason, I decided to upgrade my
|
||||||
|
security by moving to a reputed piece of software.
|
||||||
|
|
||||||
|
It has a plethora of security features. Firstly, it has the ability to
|
||||||
|
generate passwords of any length. It allows you to choose what
|
||||||
|
characters are allowed. Its generation is so complex and liberating that
|
||||||
|
even foreign characters like \texttt{Æ}, \texttt{É}, or even mathematics
|
||||||
|
symbols and arbitrary symbols that no one would care about can be used.
|
||||||
|
For example, the division sign (÷) or the copyright symbol (©) are
|
||||||
|
included in password generation. Since most hackers try alphanumeric
|
||||||
|
character cracking, KeePass password generation can make your passwords
|
||||||
|
practically impossible to crack.
|
||||||
|
|
||||||
|
The encryption algorithm used for your password database is AES-256,
|
||||||
|
commonly known as 256-bit encryption. It is a form of encryption that is
|
||||||
|
so difficult to crack that the only way you can actually hope to obtain
|
||||||
|
someone\textquotesingle s password is by phishing them or using external
|
||||||
|
methods. For more information, please
|
||||||
|
\href{https://invidious.tiekoetter.com/watch?v=S9JGmA5_unY}{watch this
|
||||||
|
video by 3Blue1Brown.} It is extremely interesting.
|
||||||
|
|
||||||
|
In fact, KeePass is so secure that even the passwords that are stored in
|
||||||
|
your memory while you are viewing your database is encrypted. That way,
|
||||||
|
even a \href{../definitions/management-engine}{management engine} attack
|
||||||
|
will not work. If you want to try viewing the cleared memory sectors to
|
||||||
|
find remnants of your passwords, good luck. The passwords which are
|
||||||
|
stored in your memory are first overwritten to the point of
|
||||||
|
unrecoverability before being cleared.
|
||||||
|
|
||||||
|
You can even setup a keyfile (a file you need to use to login), a
|
||||||
|
\href{../definitions/security-key/}{security key}, or both.
|
||||||
|
|
||||||
|
\hypertarget{view.-the.-code.}{%
|
||||||
|
\subsection[View. The. Code.]{View. The. Code.}\label{view.-the.-code.}}
|
||||||
|
|
||||||
|
KeePass is open-source under the GPLv2 license, which is the best
|
||||||
|
open-source license for people\textquotesingle s freedom. That makes it
|
||||||
|
\href{../definitions/free-software/}{free software}.
|
||||||
|
|
||||||
|
\hypertarget{the-encryption-never-stops}{%
|
||||||
|
\subsection[The Encryption Never Stops]{The Encryption Never
|
||||||
|
Stops}\label{the-encryption-never-stops}}
|
||||||
|
|
||||||
|
Along with KeePass, I use Syncthing to sync my database. Syncthing also
|
||||||
|
uses cryptographic encryption. This makes it so that anyone who wants to
|
||||||
|
brute-force my database needs access to both my Syncthing password and
|
||||||
|
my KeePass password.
|
||||||
|
|
||||||
|
\hypertarget{to-conclude...}{%
|
||||||
|
\subsection[To Conclude...]{To Conclude...}\label{to-conclude...}}
|
||||||
|
|
||||||
|
I use KeePass along with Syncthing for three reasons.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
KeePass is extremely secure. It has industry-standard protection
|
||||||
|
methods and algorithms and its offline nature makes it practically
|
||||||
|
uncrackable.
|
||||||
|
\item
|
||||||
|
It is fully \href{../definitions/free-software/}{free software} under
|
||||||
|
the GPLv2 license
|
||||||
|
\item
|
||||||
|
Syncthing is also encrypted, which means that an attacker who wants to
|
||||||
|
attack me using the internet needs to crack both my Syncthing password
|
||||||
|
and KeePass password which would take billions of years.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
I am probably never going to switch back because this system works
|
||||||
|
extremely well. Syncthing is very fast at staying up-to-date.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,269 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/minimal-design
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\newsavebox{\picbox}
|
||||||
|
\newcommand{\cutpic}[3]{
|
||||||
|
\savebox{\picbox}{\includegraphics[width=#2]{#3}}
|
||||||
|
\tikz\node [draw, rounded corners=#1, line width=4pt,
|
||||||
|
color=white, minimum width=\wd\picbox,
|
||||||
|
minimum height=\ht\picbox, path picture={
|
||||||
|
\node at (path picture bounding box.center) {
|
||||||
|
\usebox{\picbox}};
|
||||||
|
}] {};}
|
||||||
|
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Minimal Design},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Minimal Design]{Minimal Design}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{28 July 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Design
|
||||||
|
|
||||||
|
\renewcommand*\contentsname{Table Of Contents}
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
People often ask me why I choose minimal design for brands. This is
|
||||||
|
because it has numerous practical advantages that provide ease and
|
||||||
|
consistency in a brand.
|
||||||
|
|
||||||
|
\hypertarget{requirements}{%
|
||||||
|
\subsection[Focusing On The Requirements]{Focusing On The
|
||||||
|
Requirements}\label{requirements}}
|
||||||
|
|
||||||
|
One of the main aspects of minimal design is that it focuses on only the
|
||||||
|
required elements of a specific brand. As a result, design becomes
|
||||||
|
distractionless. This is especially easy nowadays since almost no one
|
||||||
|
cares about the meaning behind a logo except in rare cases.
|
||||||
|
|
||||||
|
Another advantage of this type of design is that it focuses on the core
|
||||||
|
message, or in this case, brand type. Too much designing can confuse
|
||||||
|
viewers on whether a brand is a playful brand or a luxury brand, for
|
||||||
|
example.
|
||||||
|
|
||||||
|
\hypertarget{timelessness}{%
|
||||||
|
\subsection[Timelessness]{Timelessness}\label{timelessness}}
|
||||||
|
|
||||||
|
Minimal design, especially in the realm of branding, makes a brand feel
|
||||||
|
timeless. You could take almost any minimal design from 200 years ago
|
||||||
|
and use it for your brand today if there were no limits on copying. On
|
||||||
|
the other hand, a sophisticated design from even 50 years ago will look
|
||||||
|
dated most of the time.
|
||||||
|
|
||||||
|
This works because the elements that cause a brand to look dated are
|
||||||
|
reduced to an absolute minimum. With minimal design, you have as little
|
||||||
|
correlation with time as possible in your brands.
|
||||||
|
|
||||||
|
\hypertarget{elegance}{%
|
||||||
|
\subsection[Elegance]{Elegance}\label{elegance}}
|
||||||
|
|
||||||
|
Minimal design when performed properly can make any brand look elegant.
|
||||||
|
This is due to their simple nature. Look at most luxury brands, and you
|
||||||
|
will notice that their designs are all simple.
|
||||||
|
|
||||||
|
\hypertarget{consistency}{%
|
||||||
|
\subsection[Consistency]{Consistency}\label{consistency}}
|
||||||
|
|
||||||
|
Minimal designs are also consistent. This makes it easy to make a strong
|
||||||
|
and impactful brand that reminds viewers of you. This can also be
|
||||||
|
achieved through other types of design, but it is more powerful on
|
||||||
|
average with minimal design.
|
||||||
|
|
||||||
|
Such types of consistency also provide versatility. You can place your
|
||||||
|
brand design in any context, screen size, device and media type while
|
||||||
|
also maintaining a strong brand presence.
|
||||||
|
|
||||||
|
\hypertarget{breathing-space}{%
|
||||||
|
\subsection[Breathing Space]{Breathing Space}\label{breathing-space}}
|
||||||
|
|
||||||
|
Many designs nowadays are complicated and provide barely any breathing
|
||||||
|
space for your eyes. With minimal designs, however, you can rest easy.
|
||||||
|
Your eyes will not be overwhelmed by minimal design as much as
|
||||||
|
complicated designs.
|
||||||
|
|
||||||
|
This is useful on informational posts or flyers. It allows your users to
|
||||||
|
process information clearly without any clutter.
|
||||||
|
|
||||||
|
\hypertarget{harmony}{%
|
||||||
|
\subsection[Harmony]{Harmony}\label{harmony}}
|
||||||
|
|
||||||
|
Minimal designs often make use of negative space or whitespace to make a
|
||||||
|
design look appealing. This can look spectacular if executed correctly.
|
||||||
|
Below is an example:
|
||||||
|
|
||||||
|
\includegraphics{spade.png}
|
||||||
|
|
||||||
|
A Spade Logo
|
||||||
|
|
||||||
|
\hypertarget{maintainence}{%
|
||||||
|
\subsection[Maintainence]{Maintainence}\label{maintainence}}
|
||||||
|
|
||||||
|
Minimal brand designs can be easily maintained and modified. This makes
|
||||||
|
them versatile in terms of rebranding.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
Minimal designs are preferred because:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
They focus on the requirements
|
||||||
|
\item
|
||||||
|
They are timeless and elegant
|
||||||
|
\item
|
||||||
|
They stay consistent
|
||||||
|
\item
|
||||||
|
They give your eyes breathing space
|
||||||
|
\item
|
||||||
|
They use harmony in a positive way
|
||||||
|
\item
|
||||||
|
They are easier to maintain
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
These are the main reasons I do minimal design.
|
||||||
|
|
||||||
|
\end{document}
|
After Width: | Height: | Size: 8.8 KiB |
@ -0,0 +1,247 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/mnml
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Keep It Minimal},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Keep It Minimal]{Keep It Minimal}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{27 June 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
In technology, you should keep it simple as much as possible. The KISS
|
||||||
|
philosophy and the \href{sufyaan.me/definitions/unix-philosophy/}{UNIX
|
||||||
|
philosophy} especially must be followed if you want quality software.
|
||||||
|
Most pieces of famous software nowadays do not follow this guideline and
|
||||||
|
it is costing millions of people dearly.
|
||||||
|
|
||||||
|
\hypertarget{why-minimal}{%
|
||||||
|
\subsection[Why Minimal?]{Why Minimal?}\label{why-minimal}}
|
||||||
|
|
||||||
|
Simply put, a piece of minimal software:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Is easier to maintain
|
||||||
|
\item
|
||||||
|
Has a dearth of bugs
|
||||||
|
\item
|
||||||
|
Runs fast on all devices
|
||||||
|
\item
|
||||||
|
Is easily extensible
|
||||||
|
\item
|
||||||
|
Helps avoid complications
|
||||||
|
\item
|
||||||
|
Contributes to the world
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Let\textquotesingle s expand on the first and second points. Why is
|
||||||
|
minimal software so easy to maintain? Why do developers hate being
|
||||||
|
developers when they are working with bloated pieces of software?
|
||||||
|
Keeping software minimal gives developers the opportunity to easily find
|
||||||
|
code that is slowing down the whole program or is inefficient. It also
|
||||||
|
helps developers find bugs easy. This is because a smaller codebase
|
||||||
|
means that it takes less time to review the code. A group of 10 people
|
||||||
|
can easily perfect a program whose codebase is less than 1500 lines.
|
||||||
|
After that, it is just a work of maintaining the program and making sure
|
||||||
|
that any requests that users have are answered.
|
||||||
|
|
||||||
|
Minimal software runs fast on all devices. It is simply no contest. A
|
||||||
|
1000-line Python program is going to be much faster than a 100K-line C
|
||||||
|
program even though C is much faster than Python. Inefficiencies and
|
||||||
|
lackluster execution of functions in a program can be spotted much more
|
||||||
|
easily in a smaller program. There is a huge disregard for old
|
||||||
|
computers. People simply cannot use old computers anymore because the
|
||||||
|
software that they use is so inefficient that their computer struggles
|
||||||
|
to do basic things. For example, they use Adobe Reader to open PDFs
|
||||||
|
which is one of the worst things to do. Adobe Reader takes an incredibly
|
||||||
|
long time to open considering the fact that they are the ones that
|
||||||
|
invented PDFs. Another example is Word. Why does Word take long to open
|
||||||
|
and write on? It\textquotesingle s code is bloated. Think of Zathura. It
|
||||||
|
is a PDF viewer that follows the
|
||||||
|
\href{sufyaan.me/definitions/unix-philosophy/}{UNIX philosophy} of doing one
|
||||||
|
thing well. Even on the slowest of computers, Zathura takes milliseconds
|
||||||
|
to open a PDF. Think about LaTeX. You do the writing then you compile
|
||||||
|
the document into a PDF. It does everything from linking, referencing,
|
||||||
|
bibliographies much better than Word. In fact, it is so good that many
|
||||||
|
universities require its use for proper formatting and referencing.
|
||||||
|
|
||||||
|
Minimal software can be extensible as per the
|
||||||
|
\href{sufyaan.me/definitions/unix-philosophy/}{UNIX philosophy}. Instead of
|
||||||
|
creating a massive program that tries to do everything, minimalist
|
||||||
|
programs create modules for certain functions. This makes
|
||||||
|
troubleshooting a piece of cake as the initial confusion of finding out
|
||||||
|
what exactly causes the error is practically eliminated. For example, if
|
||||||
|
you are making a login page and the authentication does not work, you
|
||||||
|
know that you should look in the authentication module. However, if you
|
||||||
|
make it all in a single program, it is difficult to root out whether an
|
||||||
|
issue is due to an incorrect variable type or a redundant function.
|
||||||
|
|
||||||
|
All of this helps developers to avoid complications. No team wants
|
||||||
|
another error or speed complaint in the middle of another issue. All of
|
||||||
|
the advantages listed thus far help developers have peace of mind.
|
||||||
|
|
||||||
|
Finally, minimal pieces of software can be liberated and made into
|
||||||
|
\href{sufyaan.me/definitions/free-software/}{free software} to contribute to the
|
||||||
|
world. Once the initial stages of bug-fixing and optimization is over,
|
||||||
|
it is just a matter of letting the world find ways to make the program
|
||||||
|
better. An inefficiency that no one would spot otherwise can be ironed
|
||||||
|
out by a top-tier programmer who worked in a plethora of huge companies
|
||||||
|
with decades of experience. It also helps budding developers learn about
|
||||||
|
development.
|
||||||
|
|
||||||
|
\hypertarget{closing-the-program}{%
|
||||||
|
\subsection[Closing The Program]{Closing The
|
||||||
|
Program}\label{closing-the-program}}
|
||||||
|
|
||||||
|
To sum it up, everyone should use and develop minimal software if
|
||||||
|
possible. This is because minimal software is easier to maintain, debug
|
||||||
|
and optimize due to its smaller codebase. It also runs fast on all
|
||||||
|
devices and avoids complications during development time. Minimal
|
||||||
|
software can also be liberated into
|
||||||
|
\href{sufyaan.me/definitions/free-software/}{free software} which will allow
|
||||||
|
talented developers to review the program and contribute to the world.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,202 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/ovsk
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Oversimplification Kills},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Oversimplification Kills]{Oversimplification Kills}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{10 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
Oversimplification kills. It is as simple as that. Most of the time,
|
||||||
|
there are simple solutions to a problem that work well which are not
|
||||||
|
used because individuals feel like they need to be more simple.
|
||||||
|
|
||||||
|
If you want to get more technical, think about the over-engineering of
|
||||||
|
website builders. Instead of having a simple piece of software that
|
||||||
|
generates static sites and blog posts based on
|
||||||
|
\href{sufyaan.me/definitions/markdown}{markdown} files, we have ultra-bloated
|
||||||
|
website builders that provide a simple way to make a website at the cost
|
||||||
|
of extremely slow websites and unneeded JavaScript. We also have
|
||||||
|
oversimplified user interfaces in Windows and MacOS. These
|
||||||
|
\href{sufyaan.me/definitions/operating-system}{operating systems} have made bad
|
||||||
|
and oversimplified interfaces a norm, which makes good interfaces such
|
||||||
|
as ones you can customize on Linux seem too complicated or confusing
|
||||||
|
even though it would be easier for someone with no experience in
|
||||||
|
computing to get started with most desktop environments available.
|
||||||
|
|
||||||
|
As
|
||||||
|
\href{https://lukesmith.xyz/articles/obvious-technical-solutions/}{Luke
|
||||||
|
Smith mentions in his post,} we never thought about using wheels on
|
||||||
|
suitcases until the 1990s even though children in the Incan empire did
|
||||||
|
have toys with wheels. This is one of the examples where trying to
|
||||||
|
oversimplify something by making an all-in-one or a good solution delays
|
||||||
|
progress.
|
||||||
|
|
||||||
|
Oversimplification shifts focus away from the main problem. For example,
|
||||||
|
with website builders, the problem shifted away from being able to make
|
||||||
|
websites fast and easily to give the user information in a swift manner
|
||||||
|
to just making your website pretty. With Windows and MacOS, the focus
|
||||||
|
shifted away from making user interfaces that actually make sense for
|
||||||
|
everyone to use to making user interfaces that are familiar.
|
||||||
|
|
||||||
|
On the other end of the same spectrum, overcomplication also has a
|
||||||
|
similar result. A technical example of this is software management.
|
||||||
|
Windows and MacOS (at least how most people use MacOS) have complicated
|
||||||
|
software management which results in difficult updates, confusing
|
||||||
|
software usage and an overall increase in storage usage throughout the
|
||||||
|
years. However, Linux has package managers. One command is all that is
|
||||||
|
required to install a package and remove it. You can clear cache,
|
||||||
|
download an older version, update both your system and applications at
|
||||||
|
the same time and even view all installed packages.
|
||||||
|
|
||||||
|
In the end, most things are complicated. We can try simplifying them and
|
||||||
|
that is perfectly fine. However, trying to oversimplify a problem and
|
||||||
|
making it a binary outcome does not work in all cases. There are many
|
||||||
|
factors to take into consideration. Oversimplification leads to no
|
||||||
|
problems being solved. If anything, it creates and solves arbitrary
|
||||||
|
problems that are not important.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,159 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/pgp
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) PGP KEYS CHANGED!},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[PGP KEYS CHANGED!]{PGP KEYS CHANGED!}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{10 August 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Technology
|
||||||
|
|
||||||
|
I forgot the passwords to my PGP keys. \textbf{PLEASE DO NOT USE MY OLD
|
||||||
|
PGP KEYS TO SEND ME EMAILS!!!} I did not make a revocation certificate
|
||||||
|
as well which is a bad mistake. I have learned my lesson to say the
|
||||||
|
least. Please use my new \href{../about/files/sufyaan.gpg}{PGP key over
|
||||||
|
here.}
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,218 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/plaintext
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Use Plaintext},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Use Plaintext]{Use Plaintext}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{25 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
Almost everything I write is in plaintext or is as close to plaintext as
|
||||||
|
possible. For example, I prepare plans to work on a project, future
|
||||||
|
articles or brand case studies in plaintext before further processing.
|
||||||
|
|
||||||
|
The first step of everything I do is plaintext. I store my notes in
|
||||||
|
\href{sufyaan.me/definitions/markdown}{markdown} format. However, the first step
|
||||||
|
is always to write everything in plaintext to get whatever I need to
|
||||||
|
write out of my head. Formatting such as headings and underlines come
|
||||||
|
after the aforementioned initial step.
|
||||||
|
|
||||||
|
So, why do I do this? Why am I so boring when it comes to writing down
|
||||||
|
text?
|
||||||
|
|
||||||
|
\hypertarget{forget-the-internet}{%
|
||||||
|
\subsection[Forget The Internet]{Forget The
|
||||||
|
Internet}\label{forget-the-internet}}
|
||||||
|
|
||||||
|
By writing in plaintext, you drop the fear of losing your files in case
|
||||||
|
you do not have the internet. If you use a notes app that fetches your
|
||||||
|
notes from the internet, then it will be tedious to access your notes
|
||||||
|
when you really need them.
|
||||||
|
|
||||||
|
Another unspoken advantage of having offline plaintext files is that you
|
||||||
|
can turn off your internet to avoid all distractions and simply write
|
||||||
|
your heart\textquotesingle s desires out.
|
||||||
|
|
||||||
|
\hypertarget{access-them-anywhere}{%
|
||||||
|
\subsection[Access Them Anywhere]{Access Them
|
||||||
|
Anywhere}\label{access-them-anywhere}}
|
||||||
|
|
||||||
|
If you save your notes in a proprietary notes app or use an application
|
||||||
|
like Microsoft Word to write your notes, then you are at the mercy of
|
||||||
|
the creator of the specific file format you are using. If you do not
|
||||||
|
have access to the program in question at any moment, you will not be
|
||||||
|
able to open your notes at all.
|
||||||
|
|
||||||
|
Plaintext files are universal. You can open them on any device anywhere
|
||||||
|
in the world. This makes them extremely powerful as you can use them on
|
||||||
|
the slowest of devices without any issues.
|
||||||
|
|
||||||
|
\hypertarget{compartmentalise}{%
|
||||||
|
\subsection[Compartmentalise]{Compartmentalise}\label{compartmentalise}}
|
||||||
|
|
||||||
|
If you write text in plaintext files, it is trivial to write without any
|
||||||
|
distractions. This is similar to the operating structure of HTML or
|
||||||
|
LaTeX. You focus on one thing at a time. If you need to do something
|
||||||
|
else with the file, you can use another program to do it instead of
|
||||||
|
having everything in one big file.
|
||||||
|
|
||||||
|
\hypertarget{automate-your-life}{%
|
||||||
|
\subsection[Automate Your Life]{Automate Your
|
||||||
|
Life}\label{automate-your-life}}
|
||||||
|
|
||||||
|
You can use scripts to automatically search for content in plaintext
|
||||||
|
files and perform actions on them. This can, for example, be used to
|
||||||
|
automatically look for categories in a plaintext file and convert them
|
||||||
|
into \href{sufyaan.me/definitions/markdown}{markdown} files.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
All in all, I use plaintext files because I can access them whenever and
|
||||||
|
wherever I want on any device. It allows me to future-proof my writing
|
||||||
|
and it also allows me to be more productive.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,345 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/pwd
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Password Systems},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Password Systems]{Password Systems}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{2 May 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Guides
|
||||||
|
|
||||||
|
If you find it difficult to maintain strong passwords, then this guide
|
||||||
|
is the only article you need to refer to. In this article, I will talk
|
||||||
|
about an amazing trick to remember and manage all of your passwords.
|
||||||
|
|
||||||
|
\hypertarget{introduction}{%
|
||||||
|
\subsection[Introduction]{Introduction}\label{introduction}}
|
||||||
|
|
||||||
|
It goes without saying that passwords are incredibly important. It is
|
||||||
|
undeniably important to make sure your passwords are:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Strong
|
||||||
|
\item
|
||||||
|
Hard to guess
|
||||||
|
\item
|
||||||
|
Different on every single account
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
However, it seems futile to try using different passwords on every
|
||||||
|
website. It is incredibly hard to remember just one; how can I remember
|
||||||
|
more than 10?
|
||||||
|
|
||||||
|
The solution to this undeniably rampant issue is to use a password
|
||||||
|
system. A password system is a set of rules and guidelines that you make
|
||||||
|
and follow to create your passwords. Using a password system, you need
|
||||||
|
not remember your passwords. All you have to do is string together
|
||||||
|
available pieces of data, and you can remember your password
|
||||||
|
immediately.
|
||||||
|
|
||||||
|
The most common response I hear from people when I ask them to create a
|
||||||
|
password system is:
|
||||||
|
|
||||||
|
\emph{"I think using the same password on all accounts is better because
|
||||||
|
I don\textquotesingle t have a good memory to use a password system."}
|
||||||
|
|
||||||
|
That response always baffles me. The whole point of a password system is
|
||||||
|
not to remember your passwords but to remember a ruleset that will be
|
||||||
|
cemented into your brain after 3 or 4 times of entering your passwords.
|
||||||
|
|
||||||
|
\hypertarget{how-to-create-a-password-system}{%
|
||||||
|
\subsection[How to Create a Password System]{How to Create a Password
|
||||||
|
System}\label{how-to-create-a-password-system}}
|
||||||
|
|
||||||
|
As aforementioned, a password system is a set of rules that you need to
|
||||||
|
remember instead of all of your passwords separately. An effective
|
||||||
|
password system consists of the following elements:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Master Password
|
||||||
|
\item
|
||||||
|
Website/Service Differentiator
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The main format and order of a password system is completely managed by
|
||||||
|
you. First, let us go over creating a master password.
|
||||||
|
|
||||||
|
\hypertarget{the-master-password}{%
|
||||||
|
\subsubsection{The Master Password}\label{the-master-password}}
|
||||||
|
|
||||||
|
I recommend this method of creating master passwords to anyone since the
|
||||||
|
passwords that are created are easy to remember but practically
|
||||||
|
impossible to guess.
|
||||||
|
|
||||||
|
\hypertarget{step-1-think-of-a-good-sentence}{%
|
||||||
|
\subsubsection{Step 1: Think of a good
|
||||||
|
sentence}\label{step-1-think-of-a-good-sentence}}
|
||||||
|
|
||||||
|
Make sure it is long but easily memorable. The one which pops in your
|
||||||
|
mind when someone asks you to think of a sentence is a perfect choice as
|
||||||
|
long as it is of considerable length.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
\texttt{I\ love\ eating\ 43\ and\ a\ half\ coconuts\ a\ day,\ I\ am\ not\ going\ to\ lie!}
|
||||||
|
|
||||||
|
\hypertarget{step-2-shortening-the-sentence}{%
|
||||||
|
\subsubsection{Step 2: Shortening the
|
||||||
|
sentence}\label{step-2-shortening-the-sentence}}
|
||||||
|
|
||||||
|
Take the first letter of each word in the sentence and write it as is.
|
||||||
|
Do not change any characters to uppercase or lowercase or use a symbol
|
||||||
|
to represent it.
|
||||||
|
|
||||||
|
Example: \texttt{Ile43aahcad,Iangtl!}
|
||||||
|
|
||||||
|
\hypertarget{step-3-make-it-stronger}{%
|
||||||
|
\subsubsection{Step 3: Make it stronger}\label{step-3-make-it-stronger}}
|
||||||
|
|
||||||
|
Take the password you have in the last step and make it stronger in a
|
||||||
|
way that you will remember. This step is the one you have to be the most
|
||||||
|
careful in because making it too strong will make it difficult to
|
||||||
|
recollect in the future.
|
||||||
|
|
||||||
|
Do not use common substitutions like:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
I -\/-\textgreater{} 1
|
||||||
|
\item
|
||||||
|
A -\/-\textgreater{} @
|
||||||
|
\item
|
||||||
|
T -\/-\textgreater{} 7
|
||||||
|
\item
|
||||||
|
S -\/-\textgreater{} \$
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Example: \texttt{I\textless{}3e43\&1/2cad,IangtLIE!}
|
||||||
|
|
||||||
|
\hypertarget{step-4-make-your-muscles-learn-it}{%
|
||||||
|
\subsubsection{Step 4: Make your muscles learn
|
||||||
|
it}\label{step-4-make-your-muscles-learn-it}}
|
||||||
|
|
||||||
|
Do not proceed to the next section without doing this step. Recall the
|
||||||
|
sentence in your mind and try to write the same password you got in the
|
||||||
|
previous step. Do this at least 10 times. Wait a few hours, then do it
|
||||||
|
again. Wait until you sleep and do it again. This may seem unnecesarry,
|
||||||
|
but most people underestimate the power of muscle memory. If you login
|
||||||
|
to an account regularly, then you type your password without even
|
||||||
|
thinking about it. The same trick can be applied here.
|
||||||
|
|
||||||
|
After a while, you will be able to type your extremely long password
|
||||||
|
without any effort. You just think about it and your mind glides through
|
||||||
|
the keyboard. This is super useful.
|
||||||
|
|
||||||
|
\hypertarget{the-service-differentiator}{%
|
||||||
|
\subsubsection{The Service
|
||||||
|
Differentiator}\label{the-service-differentiator}}
|
||||||
|
|
||||||
|
To make your password different for every website and service you go to,
|
||||||
|
there needs to be a service differentiator. A service differentiator is
|
||||||
|
a special combination of characters you add in your password system to
|
||||||
|
make it unique to the service you are on. It is not very difficult to
|
||||||
|
create a service differentiator and it is easier to remember.
|
||||||
|
|
||||||
|
The elements of a service differentiator are the name of the service and
|
||||||
|
length of the name of the service. Below is an example of a name
|
||||||
|
differentiator used for creating a Nextcloud account, Microsoft account
|
||||||
|
and Google account respectively.
|
||||||
|
|
||||||
|
\texttt{nextcLOUD!999}
|
||||||
|
|
||||||
|
\texttt{microSOFT!999}
|
||||||
|
|
||||||
|
\texttt{googlE!666}
|
||||||
|
|
||||||
|
As you can see, I added the name of the service in with the first 5
|
||||||
|
letter capitalized with an exclamation mark and the length of the
|
||||||
|
service three times.
|
||||||
|
|
||||||
|
By this point, you can make your own service differentiator easily.
|
||||||
|
|
||||||
|
\hypertarget{creating-your-password-system}{%
|
||||||
|
\subsubsection{Creating Your Password
|
||||||
|
System}\label{creating-your-password-system}}
|
||||||
|
|
||||||
|
It is finally time to integrate your master password into a password
|
||||||
|
system. It is called a password \textbf{system,} which means that it is
|
||||||
|
dynamic and changes for every website. A sample password system can be
|
||||||
|
the following:
|
||||||
|
|
||||||
|
\texttt{(SERVICE\ DIFFERENTIATOR)\ +\ (MASTER\ PASSWORD)}
|
||||||
|
|
||||||
|
In my example\textquotesingle s case, my Google account password would
|
||||||
|
be:
|
||||||
|
|
||||||
|
\texttt{googlE!666I\textless{}3e43\&1/2cad,IangtLIE!}
|
||||||
|
|
||||||
|
The password above is 33 characters, yes 33 characters long. No one will
|
||||||
|
be able to guess it and it will take hundreds of centuries to crack.
|
||||||
|
Best of all, it is different for each account.
|
||||||
|
|
||||||
|
You can mix the order up. Just make sure you don\textquotesingle t keep
|
||||||
|
changing the system and use one system. The best part is that if you
|
||||||
|
need to change your passwords, you can just make another system that
|
||||||
|
will work just as well. By that point, the previous system will be
|
||||||
|
embedded into your brain. So, you can remember multiple strong passwords
|
||||||
|
using this step.
|
||||||
|
|
||||||
|
Please note that this is not enough. If you have followed this guide,
|
||||||
|
you have taken a massive step towards protecting your accounts. However,
|
||||||
|
many cybercriminals rely on phishing attacks. Please do not click on
|
||||||
|
random links and please do not enter your information on random
|
||||||
|
websites.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
Congratulations! You now know how to create an extremely strong password
|
||||||
|
that is different on each account.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,473 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/sm
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Stop Using Social Media},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Stop Using Social Media]{Stop Using Social Media}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{20 April 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Guides
|
||||||
|
|
||||||
|
\renewcommand*\contentsname{Table Of Contents}
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
|
||||||
|
I know how you felt reading the title. If you are a heavy social media
|
||||||
|
user, you probably said:
|
||||||
|
|
||||||
|
\emph{"What? Who in their right mind would delete their social media
|
||||||
|
accounts? How are they supposed to live life and talk to their
|
||||||
|
friends?"}
|
||||||
|
|
||||||
|
Don\textquotesingle t worry. That was me last year. I understand your
|
||||||
|
feelings. However, the disadvantages of social media and the perks of
|
||||||
|
deleting it far outweigh its benefits. In this post, I will go over the
|
||||||
|
reasons why you should delete all of your social media.
|
||||||
|
|
||||||
|
\hypertarget{cons}{%
|
||||||
|
\subsection[Cons of Social Media]{Cons of Social Media}\label{cons}}
|
||||||
|
|
||||||
|
\hypertarget{time-consuming}{%
|
||||||
|
\subsubsection{Time-Consuming}\label{time-consuming}}
|
||||||
|
|
||||||
|
A study counted 5 billion internet users and it was concluded that, on
|
||||||
|
average,
|
||||||
|
\href{https://www.forbesindia.com/article/lifes/how-much-time-do-people-spend-on-social-media-and-why/79477/1}{an
|
||||||
|
internet user spends 6 hours and 53 minutes online per day.} 6. HOURS.
|
||||||
|
AND. 53. MINUTES. That is almost a whole third of
|
||||||
|
people\textquotesingle s daily lives. Another study concluded that
|
||||||
|
people spend more time on social media in their whole lifetime than
|
||||||
|
grooming, socialising (social media !=socialising) and doing the laundry
|
||||||
|
combined.
|
||||||
|
|
||||||
|
It is not as if any of the time spent is valuable. Sure, you may learn
|
||||||
|
one or two \textquotesingle fun facts, which will make you think that
|
||||||
|
you need social media. You may talk with your friends a lot, which will
|
||||||
|
make you think that your account is required to socialise with people.
|
||||||
|
However, these are all nonsensical excuses that your brain makes to
|
||||||
|
justify getting cheap dopamine. Imagine how much work you can get done,
|
||||||
|
how many actual connections you can make with people, and how many good
|
||||||
|
habits can be formed that will make you happier in the long term than
|
||||||
|
social media.
|
||||||
|
|
||||||
|
\hypertarget{mental-health}{%
|
||||||
|
\subsubsection{Affects Your Mental Health}\label{mental-health}}
|
||||||
|
|
||||||
|
Whenever people hear that social media affects your mental health, they
|
||||||
|
agree but say that it does not affect them specifically. The most common
|
||||||
|
argument I hear is:
|
||||||
|
|
||||||
|
\emph{"Yeah, I know that it affects other people. However, I am fine
|
||||||
|
with it. I feel normal and do not feel depressed at all.}
|
||||||
|
|
||||||
|
All I can say is not to trust what your brain tells you whenever you are
|
||||||
|
dealing with any addiction, not just social media. Think about it. The
|
||||||
|
same brain that is telling you that you should keep using social media
|
||||||
|
for meaningless reasons is the one telling you that it is not affecting
|
||||||
|
you.
|
||||||
|
|
||||||
|
Social media is a constant source of comparison. You open it up, view a
|
||||||
|
few triggering posts, find out that your favourite actor has passed
|
||||||
|
away, and see your friends perfect lives. Before closing the app, you
|
||||||
|
apply filters to yourself and edit the picture as much as possible for
|
||||||
|
your stories to make yourself look artificially good.
|
||||||
|
|
||||||
|
You see, not only is social media fake, it also has an absurd effect on
|
||||||
|
your mental health. It has been proven that many social media platforms
|
||||||
|
track you to show you personalised content. They use human psychology to
|
||||||
|
hook you onto their platforms.
|
||||||
|
|
||||||
|
There are two chemicals in your brain that are responsible for
|
||||||
|
happiness:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Dopamine - released when you are anticipating something good
|
||||||
|
\item
|
||||||
|
Endorphin - released when you are happy
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
In many cases, the effect of dopamine is much greater than the effect of
|
||||||
|
endorphins. Recall back to a young age when you realised you were about
|
||||||
|
to receive a toy that you had been waiting for for a few days. The
|
||||||
|
feeling you got when you realised you would get it soon was more intense
|
||||||
|
than the actual feeling of getting the toy.
|
||||||
|
|
||||||
|
The same trick applies on social media. Many social media platforms show
|
||||||
|
you content that is completely different from the content that you like
|
||||||
|
just before showing you content that you really like. This results in
|
||||||
|
more dopamine being released, with a good amount of endorphin being
|
||||||
|
released as well. To your brain, it has just achieved something great
|
||||||
|
when, in reality, you have not.
|
||||||
|
|
||||||
|
Constantly high dopamine and endorphin releases raise your base
|
||||||
|
happiness levels. This is why things that you used to love now seem
|
||||||
|
boring to you. It is not \textquotesingle growing up\textquotesingle. It
|
||||||
|
is your social media addiction.
|
||||||
|
|
||||||
|
Social media metrics also contribute to this. It makes you think that
|
||||||
|
likes and comments are proportional to your worth, which is simply not
|
||||||
|
the case. When you get a like, it is a form of validation that you are
|
||||||
|
valuable to someone. Someone not liking your post does not mean that you
|
||||||
|
are not valuable.
|
||||||
|
|
||||||
|
FOMO (fear of missing out) plays a big role as well. The phrase:
|
||||||
|
|
||||||
|
\emph{"If everyone is using {[}insert anything here{]}, why
|
||||||
|
shouldn\textquotesingle t I?"}
|
||||||
|
|
||||||
|
is commonly said by an individual who experiences FOMO without the thing
|
||||||
|
in question. There is a constant fear of missing out on information,
|
||||||
|
which simply will not happen. You may miss some arbitrary information
|
||||||
|
that you would not care about otherwise, but this is not a reason at all
|
||||||
|
to continue using social media.
|
||||||
|
|
||||||
|
To hook you into their addiction, social media companies hire "attention
|
||||||
|
designers" who take references and inspiration from casinos to keep you
|
||||||
|
hooked.
|
||||||
|
|
||||||
|
Before ending this unexpectedly long section, I would like you to read
|
||||||
|
this quote.
|
||||||
|
|
||||||
|
\emph{"You\textquotesingle re either on, and you\textquotesingle re
|
||||||
|
connected and distracted all the time, or you\textquotesingle re off,
|
||||||
|
but then you\textquotesingle re wondering, Am I missing something
|
||||||
|
important? In other words, you\textquotesingle re either distracted or
|
||||||
|
you have a fear of missing out."}
|
||||||
|
|
||||||
|
\textbf{Tristan Harris, Former Design Ethicist at Google}
|
||||||
|
|
||||||
|
\hypertarget{privacy}{%
|
||||||
|
\subsubsection{Privacy}\label{privacy}}
|
||||||
|
|
||||||
|
If you post everything you do on social media, there is no longer any
|
||||||
|
privacy. Anything you do is public information. If you have a
|
||||||
|
\textquotesingle private\textquotesingle{} account, your friends know
|
||||||
|
everything you do. There is no privacy at all if you keep posting
|
||||||
|
everything on social media.
|
||||||
|
|
||||||
|
Then there is the elephant in the room.
|
||||||
|
|
||||||
|
\textbf{Digital Privacy.}
|
||||||
|
|
||||||
|
It is well-known that apps like Instagram, Facebook, Twitter, and some
|
||||||
|
Google apps collect your data like their lives depend on it
|
||||||
|
(technically, they do). Everything from your name to your IP address and
|
||||||
|
phone number to even the amount of network requests you make or the
|
||||||
|
model of your phone. Not to mention, literally everything you do on the
|
||||||
|
app. This all goes to their servers and is used for more advertisements.
|
||||||
|
|
||||||
|
It is pretty safe to say that your digital footprint, as it is called,
|
||||||
|
can be nearly eliminated by deleting your accounts. There are more steps
|
||||||
|
that you have to take to take care of your privacy, but preventing data
|
||||||
|
collection from big corporations is a huge step.
|
||||||
|
|
||||||
|
\hypertarget{fake-news}{%
|
||||||
|
\subsubsection{Fake News}\label{fake-news}}
|
||||||
|
|
||||||
|
Fake news. It\textquotesingle s everywhere. Even the worst social media
|
||||||
|
addict cannot deny it. You see parody pages that copy the design of
|
||||||
|
famous news channels perfectly and post random news. You see people edit
|
||||||
|
images to exaggerate or divert the subject of an article. There is not
|
||||||
|
much that I need to say. You know what I mean.
|
||||||
|
|
||||||
|
\hypertarget{sleep}{%
|
||||||
|
\subsubsection{Much Worse Sleep}\label{sleep}}
|
||||||
|
|
||||||
|
The blue-light from your phone tricks your brain into thinking
|
||||||
|
it\textquotesingle s daytime. So, when you use your phone late into the
|
||||||
|
night scrolling on your social media feed, it makes you feel less
|
||||||
|
sleepy.
|
||||||
|
|
||||||
|
When this happens, do you know what most people do? They pick up their
|
||||||
|
phones again since they cannot sleep, thinking that they will sleep in
|
||||||
|
30 minutes when they are sleepy. This cycle goes on. Many individuals of
|
||||||
|
Generation Z do not sleep the whole night for many days on end and
|
||||||
|
instead take naps in the afternoon. Does this sound healthy to you?
|
||||||
|
|
||||||
|
And no, using a blue-light filter does not fix the issue. It only
|
||||||
|
slightly reduces its effect.
|
||||||
|
|
||||||
|
\hypertarget{physical-health}{%
|
||||||
|
\subsubsection{Decline In Physical Health}\label{physical-health}}
|
||||||
|
|
||||||
|
When you spend hours and hours a day sitting down with no exercise or
|
||||||
|
action apart from flicking your thumb, what do you think will happen?
|
||||||
|
You may experience the following effects:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Weight Gain
|
||||||
|
\item
|
||||||
|
Back Pain
|
||||||
|
\item
|
||||||
|
Bad Posture
|
||||||
|
\item
|
||||||
|
Neck Pain
|
||||||
|
\item
|
||||||
|
Eye Strain
|
||||||
|
\item
|
||||||
|
Increased Risk of Heart Disease
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Many individuals who use social media are experiencing these problems,
|
||||||
|
which are usually experienced by older people, at ages like 25.
|
||||||
|
|
||||||
|
\hypertarget{productivity}{%
|
||||||
|
\subsubsection{Horrible Productivity}\label{productivity}}
|
||||||
|
|
||||||
|
When you are working and are in the zone (a phase in which you do
|
||||||
|
high-quality work without even thinking about it), any minor disturbance
|
||||||
|
will move you out of that state. A notification about someone liking
|
||||||
|
your post can shake you out of the zone. In the long-term, this will
|
||||||
|
waste hours of your time.
|
||||||
|
|
||||||
|
\hypertarget{getting-rid}{%
|
||||||
|
\subsection[Getting Rid of It]{Getting Rid of It}\label{getting-rid}}
|
||||||
|
|
||||||
|
So, you are ready. You want to quit social media and break this horrible
|
||||||
|
addiction. You realise the effects it has on your life. However, you do
|
||||||
|
not know where to start. If this is the case, check out
|
||||||
|
\href{https://www.staygrounded.online/p/the-air-method-phase-i}{\textquotesingle The
|
||||||
|
AIR Method\textquotesingle{}}. If you would like to read how I did it,
|
||||||
|
please refer to the steps below. Referring to the steps I took may help
|
||||||
|
you understand your weak points and how to combat them.
|
||||||
|
|
||||||
|
\hypertarget{contact}{%
|
||||||
|
\subsubsection{1. Alternative Contact Details}\label{contact}}
|
||||||
|
|
||||||
|
Make a list of all of your friends and cross out the ones that you know
|
||||||
|
can be reached on other chat applications. Ask the rest for alternative
|
||||||
|
contact methods. This may be through apps like Signal, Session, XMPP,
|
||||||
|
Matrix, or WhatsApp. Just make sure that it is not another social media
|
||||||
|
app.
|
||||||
|
|
||||||
|
\hypertarget{download}{%
|
||||||
|
\subsubsection{2. Download Your Data}\label{download}}
|
||||||
|
|
||||||
|
Download your data to refer to in the future. Most social media
|
||||||
|
platforms include chats along with it so that you can refer back to the
|
||||||
|
chats if needed. A website like
|
||||||
|
\href{https://justgetmydata.com/}{JustGetMyData} will allow you to
|
||||||
|
quickly get to this section. Most websites place it in places which are
|
||||||
|
difficult to access to prevent people from deleting their accounts.
|
||||||
|
|
||||||
|
\hypertarget{healthy-apps}{%
|
||||||
|
\subsubsection{3. Start Using Healthier Apps}\label{healthy-apps}}
|
||||||
|
|
||||||
|
Quitting social media \textquotesingle cold-turkey\textquotesingle{}
|
||||||
|
(abruptly) may work for the first few days but it will cause you to fail
|
||||||
|
completely. It is better to slowly reduce your usage by using healthier
|
||||||
|
apps.
|
||||||
|
|
||||||
|
If you haven\textquotesingle t already, start using RSS feeds. There is
|
||||||
|
nothing wrong with using old technology. RSS provides you with a similar
|
||||||
|
feed to social media but with content you actually like and want to
|
||||||
|
read. It is managed by you, not an algorithm. You read what you want and
|
||||||
|
stop. There is no algorithm or endless feed that compells you to keep
|
||||||
|
using the app.
|
||||||
|
|
||||||
|
I am going to make a post about RSS feeds soon. It will be updated here.
|
||||||
|
|
||||||
|
\hypertarget{announce}{%
|
||||||
|
\subsubsection{4. Announce}\label{announce}}
|
||||||
|
|
||||||
|
It is also important to announce that you are deleting your accounts.
|
||||||
|
This may not be necessary if you have less than five friends you talk to
|
||||||
|
on your accounts but it is important if you have many friends. This
|
||||||
|
announcement will allow your friends to contact you and tell you their
|
||||||
|
alternative forms of contact. It will also allow people to know that you
|
||||||
|
are leaving for good.
|
||||||
|
|
||||||
|
\hypertarget{plunge}{%
|
||||||
|
\subsubsection{5. Take The Plunge!}\label{plunge}}
|
||||||
|
|
||||||
|
The moment you have been waiting for. Click on the delete button.
|
||||||
|
|
||||||
|
This is much easier said than done, however. Most social media accounts
|
||||||
|
have a grace period during which if you login to your account, your
|
||||||
|
account deletion will be cancelled. For Instagram, the grace period is 1
|
||||||
|
month. To combat this, I did the following:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Removed all recovery options (phone number, 2FA) from my accounts and
|
||||||
|
changed my email to one from \href{https://temp-mail.org/}{TempMail}
|
||||||
|
to prevent password reset
|
||||||
|
\item
|
||||||
|
Generated a random 128-character password in
|
||||||
|
\href{https://bitwarden.com/password-generator/}{Bitwarden (my
|
||||||
|
password manager)}
|
||||||
|
\item
|
||||||
|
Changed my account password to the new password
|
||||||
|
\item
|
||||||
|
Deleted my account
|
||||||
|
\item
|
||||||
|
Immediately delete all records of the password and restart your device
|
||||||
|
to clear it from your clipboard
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
These steps were drastic but they practically cemented the fact that my
|
||||||
|
account was going to be deleted, no matter what.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
There is not much left to say. I am much, much happier without social
|
||||||
|
media. I have more time on my hands and I am still getting the
|
||||||
|
information I want from RSS feeds without an algorithm trying to pull me
|
||||||
|
in. Big corporations have much less data about me, I have a lot of time
|
||||||
|
and have produced a lot of work. In terms of academics, my overall
|
||||||
|
percentage in school has increased by over 20\%. I find difficult
|
||||||
|
subjects easier and easy subjects a piece of cake.
|
||||||
|
|
||||||
|
All in all, if you care about yourself, delete your social media. It is
|
||||||
|
a hellhole that is getting worse by the day.
|
||||||
|
\end{document}
|
||||||
|
|
@ -0,0 +1,182 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/students
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) A Student's Nightmare},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[A Student's Nightmare]{A Student's Nightmare}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{24 September 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Literary
|
||||||
|
|
||||||
|
\emph{As I open my book to read\\}
|
||||||
|
\emph{My eyes feel like they bleed\\}
|
||||||
|
\emph{No, they are not tears\\}
|
||||||
|
\emph{For I have nothing to fear\\}
|
||||||
|
|
||||||
|
\emph{I speed through the lines\\}
|
||||||
|
\emph{Through formulas and cosines\\}
|
||||||
|
\emph{Question after question\\}
|
||||||
|
\emph{Flying through the last session\\}
|
||||||
|
|
||||||
|
\emph{I make a blunder\\}
|
||||||
|
\emph{The answer turns me into thunder\\}
|
||||||
|
\emph{Such an obvious error\\}
|
||||||
|
\emph{The question paper will drive me into terror\\}
|
||||||
|
|
||||||
|
\emph{Two hours left for the exam\\}
|
||||||
|
\emph{I think to myself "Is this a sham?"\\}
|
||||||
|
\emph{I study and get up\\}
|
||||||
|
\emph{Pouring water in a cup\\}
|
||||||
|
|
||||||
|
\emph{Sitting down to take a sip\\}
|
||||||
|
\emph{What I saw next made my heart dip\\}
|
||||||
|
\emph{As I read my notes to revise\\}
|
||||||
|
\emph{I realized that I will soon meet my demise\\}
|
||||||
|
|
||||||
|
\emph{Hours of effort with no fruit\\}
|
||||||
|
\emph{All my preparation has gone to moot\\}
|
||||||
|
\emph{As I leave the exam room with nothing to say\\}
|
||||||
|
\emph{I think to myself "Perhaps if there was just one more day..."\\}
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,174 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/svg
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Switching To SVGs},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Switching To SVGs]{Switching To SVGs}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{6 August 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Software
|
||||||
|
|
||||||
|
Debloating my website has been an educational experience to say the
|
||||||
|
least. There were so many small things which seemed insignificant at
|
||||||
|
first but made a massive difference to the speed of my website. Most of
|
||||||
|
these changes have had little to no impact on the look and feel of my
|
||||||
|
website but have reduced the size and improved the efficiency by a lot.
|
||||||
|
|
||||||
|
One of these changes was definitely moving away from Font Awesome. I did
|
||||||
|
not think much of the icons on my website as they were already too many
|
||||||
|
in size for me to switch every single one to another library. However,
|
||||||
|
\href{https://odysee.com/@ericnmurphy:9/web-icons-with-no-external-libraries!:c}{after
|
||||||
|
watching this video from Eric Murphy,} I thought about it. Then, I still
|
||||||
|
said no because there were way too many icons on my website.
|
||||||
|
|
||||||
|
Then, I did a GTMetrix scan of my website and saw that my icons and
|
||||||
|
fonts were taking up 90\% of my website\textquotesingle s initial load
|
||||||
|
resources. That forced me to take on the challenge to change every
|
||||||
|
single icon to SVGs. It was much easier than expected.
|
||||||
|
|
||||||
|
Now, my website is much more leaner than before. I am happy on how this
|
||||||
|
change turned out.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,331 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/terminal
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Why I Use Terminal Apps},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Why I Use Terminal Apps]{Why I Use Terminal
|
||||||
|
Apps}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{13 March 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Linux \& Software
|
||||||
|
|
||||||
|
\emph{``Ah, yes. Graphical-user interface (GUI) apps. They are so
|
||||||
|
comfortable and easy to use. You just click some buttons and get your
|
||||||
|
computer to do what you want.''}
|
||||||
|
|
||||||
|
That was what I thought before I learned how spectacular terminal
|
||||||
|
applications are. \textbf{I do not use a calendar or email GUI app. I
|
||||||
|
use its terminal equivalent.} Specifically, I use Calcurse for my
|
||||||
|
calendar/todo, neomutt for my email, sxiv for my image viewing, mpv for
|
||||||
|
my video playing and even Joplin (CLI) for my notes. I am still actively
|
||||||
|
looking for more apps like terminal file managers (lf, ranger, mc) and
|
||||||
|
terminal versions of GUI apps I use (Bitwarden?). What compelled me to
|
||||||
|
switch?
|
||||||
|
|
||||||
|
\hypertarget{the-right-tool-for-the-right-job}{%
|
||||||
|
\subsection[The Right Tool For The Right Job]{The Right Tool For The
|
||||||
|
Right Job}\label{the-right-tool-for-the-right-job}}
|
||||||
|
|
||||||
|
Firstly, I realized that apps that allow me to use my keyboard and
|
||||||
|
reduce mouse usage to as little as possible saved me a lot of time. By a
|
||||||
|
lot of time, I don\textquotesingle t mean a few minutes. I mean hours in
|
||||||
|
the long run. Moving your hand to your mouse and clicking a button takes
|
||||||
|
at least three seconds. Multiply that hundreds of times a day and 365
|
||||||
|
days an year. That leads to a lot of time wasted just moving your hand
|
||||||
|
to your mouse.
|
||||||
|
|
||||||
|
\hypertarget{fast.-very-fast.}{%
|
||||||
|
\subsection[Fast. Very Fast.]{Fast. Very Fast.}\label{fast.-very-fast.}}
|
||||||
|
|
||||||
|
The speed of terminal apps have helped me get a lot more productive.
|
||||||
|
Getting myself to start working immediately helped me a lot. I use
|
||||||
|
Neovim for my text editor, and whenever I need to write text, its much
|
||||||
|
faster to press a shortcut to open a blank file in Neovim than to open a
|
||||||
|
GUI equivalent. It is also much faster to press a shortcut than to open
|
||||||
|
my applications menu and search for my calendar app and wait a few
|
||||||
|
seconds for the bloated app to open up. Terminal apps are just more
|
||||||
|
lightweight. As a result, they operate faster and save me more than just
|
||||||
|
a few seconds.
|
||||||
|
|
||||||
|
\hypertarget{professionals-have-standards}{%
|
||||||
|
\subsection[\emph{"Professionals Have
|
||||||
|
Standards"}]{\texorpdfstring{\emph{"Professionals Have
|
||||||
|
Standards"}}{"Professionals Have Standards"}}\label{professionals-have-standards}}
|
||||||
|
|
||||||
|
CLI apps are more standardized. With a GUI, the procedure for solving an
|
||||||
|
issue or using the application\textquotesingle s functionality is
|
||||||
|
similar to this:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Click \textquotesingle button1\textquotesingle{} on the top right.
|
||||||
|
\item
|
||||||
|
Hover over \textquotesingle dialogue2\textquotesingle{}
|
||||||
|
\item
|
||||||
|
Click on \textquotesingle button3\textquotesingle{}
|
||||||
|
\item
|
||||||
|
Scroll down to \textquotesingle setting4\textquotesingle{}
|
||||||
|
\item
|
||||||
|
Change the value to False.
|
||||||
|
\item
|
||||||
|
Click on Apply and OK.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
This is the sole reason that you see the terminal being used so much in
|
||||||
|
Linux. It\textquotesingle s easier to say ``Open your terminal and type
|
||||||
|
this'' than to blabber a long list of instructions that will become
|
||||||
|
redundant if the application in question decides to change their UI in
|
||||||
|
an update.
|
||||||
|
|
||||||
|
\hypertarget{run-them-on-a-potato}{%
|
||||||
|
\subsection[Run Them on a Potato!]{Run Them on a
|
||||||
|
Potato!}\label{run-them-on-a-potato}}
|
||||||
|
|
||||||
|
Due to the lightweight nature of the command line, your tools can run on
|
||||||
|
just about any computer. It does not matter if your computer has a
|
||||||
|
Pentium processor or a 12th-generation i9. GUI tools have system
|
||||||
|
requirements and if it is a robust tool with a fancy interface, chances
|
||||||
|
are that the requirements just for the app to look good knocks that tool
|
||||||
|
off your app list on your 10-year-old computer.
|
||||||
|
|
||||||
|
\hypertarget{exponential-learning-curve}{%
|
||||||
|
\subsection[Exponential Learning Curve]{Exponential Learning
|
||||||
|
Curve}\label{exponential-learning-curve}}
|
||||||
|
|
||||||
|
While GUI apps are simple to use initially, your speed using the apps
|
||||||
|
remains slow all the time. Sure, you may learn where every button is and
|
||||||
|
be able to open any setting you want quickly, but that speed is nothing
|
||||||
|
compared to one of a command line. With a command line, your speed is
|
||||||
|
slower than a snail at first. However, after some time of using the
|
||||||
|
program, you can do things at a similar speed as a GUI app.
|
||||||
|
|
||||||
|
If you daily-drive a terminal program, it takes only a few days for you
|
||||||
|
to become faster at it than using a GUI program. After that, you will be
|
||||||
|
able to understand your most used commands and use aliases to shorten
|
||||||
|
them.
|
||||||
|
|
||||||
|
For example, if you view your free space regulary, instead of typing a
|
||||||
|
50-character command to print your free space, you can just alias that
|
||||||
|
command to \textquotesingle free-space\textquotesingle. Doing this will
|
||||||
|
make it so that whenever you type
|
||||||
|
\textquotesingle free-space\textquotesingle, it performs the
|
||||||
|
aforementioned 50-character command and displays the output. This will
|
||||||
|
save your more than just a few hours of time.
|
||||||
|
|
||||||
|
\hypertarget{the-choices-never-end}{%
|
||||||
|
\subsection[The Choices Never End!]{The Choices Never
|
||||||
|
End!}\label{the-choices-never-end}}
|
||||||
|
|
||||||
|
With terminal apps, you have a plethora of choices. I can almost
|
||||||
|
guarantee that an app with functionality you wish existed does exist in
|
||||||
|
the form of a command line application. There are obscure apps with
|
||||||
|
spectacular functionality which can change your computing experience
|
||||||
|
that you will miss out on if you stay away from the terminal.
|
||||||
|
|
||||||
|
\hypertarget{bathe-in-possibilities}{%
|
||||||
|
\subsection[Bathe In Possibilities!]{Bathe In
|
||||||
|
Possibilities!}\label{bathe-in-possibilities}}
|
||||||
|
|
||||||
|
When it comes to GUI apps, you have to be honest. They do not have 100\%
|
||||||
|
functionality. It is simply implausible to fit every single function in
|
||||||
|
a GUI app. Doing so would result in a lot of code to maintain, an
|
||||||
|
extremely heavy app and a confusing layout. However, with a terminal
|
||||||
|
app, all you have to do is type:
|
||||||
|
|
||||||
|
\texttt{man\ command}
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
\texttt{command\ -\/-help}
|
||||||
|
|
||||||
|
and get the complete functionality of the app, all within less than 5\%
|
||||||
|
of the app size of its GUI equivalent.
|
||||||
|
|
||||||
|
\hypertarget{skip-the-middlemen}{%
|
||||||
|
\subsection[Skip The Middlemen]{Skip The
|
||||||
|
Middlemen}\label{skip-the-middlemen}}
|
||||||
|
|
||||||
|
All GUI apps are basically middlemen for the command line. They
|
||||||
|
essentially use the command line for you. When you ditch the GUI and go
|
||||||
|
straight for the terminal, you talk directly to the computer in a way in
|
||||||
|
which the computer understands.
|
||||||
|
|
||||||
|
\hypertarget{first-impressions-matter}{%
|
||||||
|
\subsection[First Impressions Matter]{First Impressions
|
||||||
|
Matter}\label{first-impressions-matter}}
|
||||||
|
|
||||||
|
When people first look at the terminal, it becomes set in their mind
|
||||||
|
that it is difficult to use and that mentality stays for an
|
||||||
|
extraordinarily long time. Due to this, they never experiment or even
|
||||||
|
open the terminal application. If they run into an issue which requires
|
||||||
|
the use of the terminal to fix, they decide to just live with the issue
|
||||||
|
instead of using the terminal. However, if people use the terminal for a
|
||||||
|
few weeks, they realize that it outpaces almost every other GUI app in
|
||||||
|
almost everything.
|
||||||
|
|
||||||
|
\hypertarget{nothing-is-perfect...}{%
|
||||||
|
\subsection[Nothing is Perfect...]{Nothing is
|
||||||
|
Perfect...}\label{nothing-is-perfect...}}
|
||||||
|
|
||||||
|
... including terminal applications. Terminal applications are amazing.
|
||||||
|
They allow me to do so much. However, there are extremely rare cases in
|
||||||
|
which I have no choice but to use a GUI. This is if the GUI application
|
||||||
|
in question requires you to use only their app. There are also some
|
||||||
|
specific use-cases in which GUI apps just make more sense. Video
|
||||||
|
editing, advanced photo manipulation and 3D modelling are great
|
||||||
|
examples.
|
||||||
|
|
||||||
|
\hypertarget{to-sum-it-all-up...}{%
|
||||||
|
\subsection[To Sum It All Up...]{To Sum It All
|
||||||
|
Up...}\label{to-sum-it-all-up...}}
|
||||||
|
|
||||||
|
...terminal applications should be used as much as possible. They are
|
||||||
|
swift. They can be used quickly and also use less resources and space
|
||||||
|
while running on just about anything. They are not as difficult as they
|
||||||
|
look and can be used for uses which GUI apps do not have. They cannot be
|
||||||
|
used all the time because there are rare exceptions in which GUI
|
||||||
|
applications have to be used. However, these are so little that I do not
|
||||||
|
mind keeping GUI apps just for these use cases.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,260 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/tfa
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Start Using 2FA Properly},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Start Using 2FA Properly]{Start Using 2FA Properly}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{13 May 2023}
|
||||||
|
|
||||||
|
\textbf{Category: }Software \& Guides
|
||||||
|
|
||||||
|
If you use any online account, you should use 2FA keys. It does not
|
||||||
|
matter if it is your Google account that has all of your personal
|
||||||
|
information or if it is some random account you use once in a while. You
|
||||||
|
should at least have 2FA enabled in an authenticator app or preferably a
|
||||||
|
2FA key. Do not use SMS.
|
||||||
|
|
||||||
|
Why buy a 2FA key when you can use 2FA codes or SMS for free? Let us
|
||||||
|
start with SMS.
|
||||||
|
|
||||||
|
\hypertarget{sms}{%
|
||||||
|
\subsection[SMS]{SMS}\label{sms}}
|
||||||
|
|
||||||
|
SMS is inherently insecure. It is not encrypted, and your SIM card is
|
||||||
|
always susceptible to SIM swap attacks. A SIM swap attack is a type of
|
||||||
|
identity theft where a cybercriminal pretends to be you and asks for
|
||||||
|
your number to be switched to a SIM card in their possession. They do
|
||||||
|
this by claiming that their phone was lost or stolen. Most employees
|
||||||
|
working for mobile networks speak with hundreds of people a day. They
|
||||||
|
cannot differentiate people\textquotesingle s voices. Even with a small
|
||||||
|
amount of voice modulation, almost anyone can trick them into thinking
|
||||||
|
it\textquotesingle s you.
|
||||||
|
|
||||||
|
After gaining possession of your SIM card, the cybercriminal goes to
|
||||||
|
your online accounts and tries to reset your passwords. If they already
|
||||||
|
have your passwords, they may try to login using your phone number and
|
||||||
|
the 2FA code received through SMS. This may seem rare, and it may also
|
||||||
|
seem like it does not work on most people. However, in 2019,
|
||||||
|
\href{https://www.nytimes.com/2019/09/05/technology/sim-swap-jack-dorsey-hack.html}{Jack
|
||||||
|
Dorsey\textquotesingle s (the former CEO of Twitter) account got hacked
|
||||||
|
using this exact method.}
|
||||||
|
|
||||||
|
As commonly said by many privacy and security professionals, you are
|
||||||
|
only as secure as your weakest link. Make sure your weakest link is not
|
||||||
|
SMS.
|
||||||
|
|
||||||
|
\hypertarget{authenticator-apps}{%
|
||||||
|
\subsection[Authenticator Apps]{Authenticator
|
||||||
|
Apps}\label{authenticator-apps}}
|
||||||
|
|
||||||
|
An authenticator app is much better than SMS-based 2FA. This is because
|
||||||
|
authenticator apps usually follow the TOTP or HOTP standard, which is
|
||||||
|
very secure. It basically uses a secret key along with the current time
|
||||||
|
to create a unique code that changes every thirty seconds.
|
||||||
|
|
||||||
|
One thing that you should absolutely not do is use Google Authenticator,
|
||||||
|
Microsoft Authenticator, Authy or anything as such. This is because the
|
||||||
|
clients are close-sourced, which means that the code is not public. This
|
||||||
|
means that they could be doing anything with your 2FA secret keys. Authy
|
||||||
|
syncs your codes which is convenient but it does not allow you to export
|
||||||
|
your keys, just like other properietary authentication apps. This is
|
||||||
|
unethical as you should have complete control over what is required to
|
||||||
|
access your own accounts. If your Authy account gets disabled, you will
|
||||||
|
no longer be able to log in to most accounts. A much better alternative
|
||||||
|
is:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\href{https://getaegis.app/}{Aegis} (Android)
|
||||||
|
\item
|
||||||
|
\href{https://raivo-otp.com/}{Raivo} (iOS)
|
||||||
|
\item
|
||||||
|
\href{https://www.tofuauth.com/}{Tofu} (iOS)
|
||||||
|
\item
|
||||||
|
\href{https://www.passwordstore.org/}{password store} with
|
||||||
|
\href{https://github.com/tadfisher/pass-otp}{pass-otp} (UNIX-based
|
||||||
|
systems)
|
||||||
|
\item
|
||||||
|
\href{https://keepass.info/download.html}{Keepass Password Manager}
|
||||||
|
(Linux/Windows/MacOS/Android/iOS)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
You should also be taking frequent \textbf{encrypted backups} of not
|
||||||
|
only your 2FA codes, but all data that is important to you. Read
|
||||||
|
\href{sufyaan.me/backups}{this post} to learn how to take encrypted backups
|
||||||
|
properly. Remember, you should keep your backups as far away from other
|
||||||
|
people\textquotesingle s hands as possible. If they have your secret
|
||||||
|
keys, they have your 2FA codes.
|
||||||
|
|
||||||
|
\hypertarget{security-keys}{%
|
||||||
|
\subsection[Security Keys]{Security Keys}\label{security-keys}}
|
||||||
|
|
||||||
|
Security keys are the best form of two-factor authentication. They are
|
||||||
|
physical keys which need to be plugged in to your computer or smartphone
|
||||||
|
in order to be used. They use NFC, USB-C, USB-A and also the Lightning
|
||||||
|
port. This 2FA method makes it so that it does not matter which person
|
||||||
|
gets your credentials because they need access to your key physically in
|
||||||
|
order to login. One drawback of this method is that, if you lose your
|
||||||
|
key, you cannot login to your accounts. This is why people buy 2 or 3 as
|
||||||
|
a backup. It should be noted that, although other methods can be used
|
||||||
|
alongside \href{../definitions/security-key}{security keys}, it is not
|
||||||
|
recommended as it is still possible to just use the other insecure
|
||||||
|
methods for a cybercriminal and bypass your
|
||||||
|
\href{../definitions/security-key}{security key}.
|
||||||
|
|
||||||
|
I recommend \href{https://www.yubico.com/}{Yubico} and
|
||||||
|
\href{https://shop.nitrokey.com/shop/product/nkfi2-nitrokey-fido2-55}{NitroKey}
|
||||||
|
\href{../definitions/security-key}{security keys}.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
If there is one thing you take away from this post, it is to make 2FA
|
||||||
|
your baseline security protocol. Use 2FA for \textbf{every account that
|
||||||
|
has it.} Do not use SMS, use authenticator apps. If possible, spend
|
||||||
|
money on three \href{../definitions/security-key}{security keys}.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,269 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/torrent
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Why You Should Torrent},
|
||||||
|
pdflang={en},
|
||||||
|
colorlinks=true,
|
||||||
|
linkcolor=blue,
|
||||||
|
filecolor=blue,
|
||||||
|
urlcolor=blue,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section[Why You Should Torrent]{Why You Should Torrent}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{16 July 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Technology
|
||||||
|
|
||||||
|
I believe that everyone should download most of the files they use
|
||||||
|
through torrents as much as possible. This is because of its philosophy
|
||||||
|
to share and contribute. It has numerous advantages as well.
|
||||||
|
|
||||||
|
\hypertarget{myths}{%
|
||||||
|
\subsection[Myths]{Myths}\label{myths}}
|
||||||
|
|
||||||
|
First, let\textquotesingle s clear a few myths about torrenting.
|
||||||
|
|
||||||
|
\hypertarget{torrenting-is-illegal}{%
|
||||||
|
\subsubsection{"Torrenting is illegal!"}\label{torrenting-is-illegal}}
|
||||||
|
|
||||||
|
No. Torrenting is not illegal. This is the most common myth about
|
||||||
|
torrenting that scares people off. Torrents are a way to share files of
|
||||||
|
all types and this also includes illegal files and copyrighted material.
|
||||||
|
If you get caught torrenting files that are copyrighted, then the owner
|
||||||
|
of the file has the right to take action. However, you torrenting a
|
||||||
|
Linux ISO or a file that is in the public domain and free for anyone to
|
||||||
|
use is not illegal. In fact, it is recommended to prevent censorship.
|
||||||
|
|
||||||
|
\hypertarget{torrenting-is-only-used-to-pirate-material}{%
|
||||||
|
\subsubsection{"Torrenting is only used to pirate
|
||||||
|
material!"}\label{torrenting-is-only-used-to-pirate-material}}
|
||||||
|
|
||||||
|
While there is some truth in it, \textbf{it is not used only to pirate
|
||||||
|
material.} Torrenting is an amazing way to share files with numerous
|
||||||
|
advantages.
|
||||||
|
|
||||||
|
\hypertarget{advantages}{%
|
||||||
|
\subsection[Advantages]{Advantages}\label{advantages}}
|
||||||
|
|
||||||
|
Torrenting has numerous advantages, mainly:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
\textbf{RELIABILITY:} Files are not hosted on a single source. If a
|
||||||
|
file is popular and being seeded by many people, it is practically
|
||||||
|
impossible to shut down its torrent.
|
||||||
|
\item
|
||||||
|
\textbf{FLEXIBILITY:} You can pause, stop and resume downloads at any
|
||||||
|
time.
|
||||||
|
\item
|
||||||
|
\textbf{SPEED:} Torrents help download a file faster than tradition
|
||||||
|
downloads if you find good seeders close to you.
|
||||||
|
\item
|
||||||
|
\textbf{UNCENSORED:} Files that are being torrented can include
|
||||||
|
material that is being censored by governments. These files can be
|
||||||
|
shared to people living in all countries.
|
||||||
|
\item
|
||||||
|
\textbf{CONTRIBUTE:} If you have a lot of bandwidth, it is trivial to
|
||||||
|
contribute by seeding a file.
|
||||||
|
\item
|
||||||
|
\textbf{ORIGINAL:} Files are in their original format. There can be no
|
||||||
|
modification by a central source.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Let us expand on the points. Firstly, torrenting is reliable because
|
||||||
|
files are not hosted on a single source. It is common for websites to be
|
||||||
|
taken down and the files along with it. This causes issues if you are
|
||||||
|
looking for a file urgently but the websites that had the file are all
|
||||||
|
taken down. Secondly, flexibility. If you download files normally from a
|
||||||
|
web browser, closing the browser on accident or your laptop battery
|
||||||
|
running out of charge will stop the download. After you turn it back on,
|
||||||
|
you will have to start the download all over again. This is not the case
|
||||||
|
with torrents as they take random pieces of your file from many people
|
||||||
|
and piece them together after the download is over. This means that the
|
||||||
|
order of the pieces do not matter while the file is downloading and it
|
||||||
|
is easier to stop the download and continue it months later.
|
||||||
|
|
||||||
|
Torrenting has a speed advantage. If you are in Asia and the server you
|
||||||
|
are downloading a file from is in the United States, you will have an
|
||||||
|
incredibly hard time downloading it. The speed will be painfully slow.
|
||||||
|
However, if you torrent the same file and it is popular enough, there is
|
||||||
|
a high chance that someone near you is seeding the file. This means that
|
||||||
|
the file downloads swiftly.
|
||||||
|
|
||||||
|
Torrenting is also a tool used to combat censorship. If there are any
|
||||||
|
files that a government does not want its citizens to view, torrenting
|
||||||
|
allows individuals from outside the country to share it with citizens of
|
||||||
|
the government in question.
|
||||||
|
|
||||||
|
You can contribute heavily by torrenting. After you finish downloading
|
||||||
|
(leeching) a file, you begin a process known as seeding. Seeding is a
|
||||||
|
process in which you start sharing the file you have with other people.
|
||||||
|
This is helpful for many people as, without seeding, there would be no
|
||||||
|
torrents. The whole philosophy of torrents is to be a good person and
|
||||||
|
share the files you have with other people.
|
||||||
|
|
||||||
|
Originality is also a factor in torrenting. With torrenting, you can be
|
||||||
|
sure that a file is the same file that you should be downloading and
|
||||||
|
that there is no modification or tampering with the file.
|
||||||
|
|
||||||
|
\hypertarget{things-to-remember}{%
|
||||||
|
\subsection[Things To Remember]{Things To
|
||||||
|
Remember}\label{things-to-remember}}
|
||||||
|
|
||||||
|
Do not pirate illegal content. ISPs will block your service after a few
|
||||||
|
strikes if they take it seriously. Do not be a leecher. A leecher is
|
||||||
|
someone that downloads a file from a torrent but does not seed it. If
|
||||||
|
most people are leechers, then the torrented file is unlikely to thrive
|
||||||
|
as leechers take and do not give back. Let your ratio reach to at least
|
||||||
|
1.05:1 to give back how much you take and also to allow for failed
|
||||||
|
downloads to be compensated for.
|
||||||
|
|
||||||
|
Be smart when downloading torrents. Make sure you have enough disk space
|
||||||
|
and verify and scan for viruses.
|
||||||
|
|
||||||
|
\hypertarget{conclusion}{%
|
||||||
|
\subsection[Conclusion]{Conclusion}\label{conclusion}}
|
||||||
|
|
||||||
|
Torrents should be used whenever possible. They are reliable, fast,
|
||||||
|
prevent censorship, allow people to contribute easily, are flexible and
|
||||||
|
cannot be manipulated easily. Just keep in mind to give back to the
|
||||||
|
community by seeding and do not download illegal media.
|
||||||
|
|
||||||
|
\end{document}
|
@ -0,0 +1,194 @@
|
|||||||
|
% Options for packages loaded elsewhere
|
||||||
|
\PassOptionsToPackage{unicode}{hyperref}
|
||||||
|
\PassOptionsToPackage{hyphens}{url}
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
]{article}
|
||||||
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{iftex}
|
||||||
|
\usepackage[margin=1in]{geometry}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{textcomp} % provide euro and other symbols
|
||||||
|
\else % if luatex or xetex
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||||||
|
\fi
|
||||||
|
% Use upquote if available, for straight quotes in verbatim environments
|
||||||
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||||||
|
\IfFileExists{microtype.sty}{% use microtype if available
|
||||||
|
\usepackage[]{microtype}
|
||||||
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||||||
|
}{}
|
||||||
|
\makeatletter
|
||||||
|
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||||||
|
\IfFileExists{parskip.sty}{%
|
||||||
|
\usepackage{parskip}
|
||||||
|
}{% else
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{1pt plus 2pt minus 1pt}}
|
||||||
|
}{% if KOMA class
|
||||||
|
\KOMAoptions{parskip=half}}
|
||||||
|
\makeatother
|
||||||
|
\definecolor{myblue}{RGB}{24, 102, 201}
|
||||||
|
\titleformat{\section}
|
||||||
|
{\huge\bfseries\color{myblue}}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[\titlerule]
|
||||||
|
|
||||||
|
\titleformat{\subsection}
|
||||||
|
{\Large\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\titleformat{\subsubsection}[runin]
|
||||||
|
{\bfseries}
|
||||||
|
{}
|
||||||
|
{0em}
|
||||||
|
{}[:]
|
||||||
|
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0em}{0.75em}{0.5em}
|
||||||
|
|
||||||
|
\titlespacing{\subsection}
|
||||||
|
{0em}{1em}{0.65em}
|
||||||
|
|
||||||
|
\titlespacing{\maketitle}
|
||||||
|
{0em}{0em}{0em}
|
||||||
|
\renewcommand{\maketitle}{
|
||||||
|
\begin{center}
|
||||||
|
{\huge\bfseries \theauthor}\\
|
||||||
|
\vspace{.35em}
|
||||||
|
sufyaan.me/usb
|
||||||
|
\end{center}
|
||||||
|
}
|
||||||
|
\usepackage{color}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\newcommand{\VerbBar}{|}
|
||||||
|
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{#1}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}}
|
||||||
|
\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}}
|
||||||
|
\newcommand{\NormalTok}[1]{#1}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{#1}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}}
|
||||||
|
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage[bidi=basic]{babel}
|
||||||
|
\else
|
||||||
|
\usepackage[bidi=default]{babel}
|
||||||
|
\fi
|
||||||
|
\babelprovide[main,import]{english}
|
||||||
|
% get rid of language-specific shorthands (see #6817):
|
||||||
|
\let\LanguageShortHands\languageshorthands
|
||||||
|
\def\languageshorthands#1{}
|
||||||
|
\ifLuaTeX
|
||||||
|
\usepackage{selnolig} % disable illegal ligatures
|
||||||
|
\fi
|
||||||
|
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||||||
|
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||||||
|
\urlstyle{same} % disable monospaced font for URLs
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={(POST) Buy Only Metal USBs},
|
||||||
|
pdflang={en},
|
||||||
|
hidelinks,
|
||||||
|
pdfcreator={LaTeX via pandoc}}
|
||||||
|
|
||||||
|
\title{Sufyaan's Website}
|
||||||
|
\author{Sufyaan's Website}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
\section[Buy Only Metal USBs]{Buy Only Metal USBs}\label{why-i-use-terminal-apps}
|
||||||
|
|
||||||
|
\textbf{6 May 2023}
|
||||||
|
|
||||||
|
|
||||||
|
\textbf{Category: }Technology
|
||||||
|
|
||||||
|
You should only buy metal USBs because they last longer. Metal USBs
|
||||||
|
should be used for everything that a USB is used for. First, let me
|
||||||
|
clarify what USBs are supposed to be used for:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Data Transfer
|
||||||
|
\item
|
||||||
|
Flashing Opearting Systems
|
||||||
|
\item
|
||||||
|
Ultra-Portable Emergency Drive (like one on a keychain)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Here is what USBs are not good for:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\tightlist
|
||||||
|
\item
|
||||||
|
Long-term storage
|
||||||
|
\item
|
||||||
|
As a secondary drive for your PC
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
For both use cases listed above, disks like hard drives and SSDs are
|
||||||
|
much better.
|
||||||
|
|
||||||
|
Metal USBs are durable. They are not slower than their plastic
|
||||||
|
counterparts and can flash operating systems just as well. However, the
|
||||||
|
real difference appears in its build quality.
|
||||||
|
|
||||||
|
Metal is a superior material to plastic. It lasts much longer and breaks
|
||||||
|
less easily. This is especially important for data transfer and having
|
||||||
|
an emergency drive ready-to-go. If it dies or breaks at an unfortunate
|
||||||
|
time, it can wreak havoc on both you and your sanity. This is why
|
||||||
|
everyone should use metal USBs. They last longer and eventually break
|
||||||
|
even with the price you paid for them.
|
||||||
|
|
||||||
|
You should try to buy thinner metal USBs. This is because a thin USB can
|
||||||
|
dissipate heat better than a thick one. Metal is a conductor of heat.
|
||||||
|
Because of this, you should try to buy a USB that is able to reduce the
|
||||||
|
heat\textquotesingle s effect.
|
||||||
|
|
||||||
|
\end{document}
|