1
0
This repository has been archived on 2023-09-01. You can view files and clone it, but cannot push or open issues or pull requests.
masters-thesis/tex/appendices.tex

129 lines
5.9 KiB
TeX

% =========================================================================== %
% Encoding: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% =========================================================================== %
\listofappendices
\priloha{List of supplemental material}\label{appendix:supplementalmaterial}
\n{2}{Git signing keys}\label{appendix:signingkeys}
File name: \texttt{gitsign.pub}\\
Blake3:
{\small\texttt{af0f319aecd3ca1d1d4002ebd4ebd5f93e6030551a91f3e09664995340208c85}}\\
SHA3-256:
{\small\texttt{8cab97c322c26369437ba365159b14ac4b829056c8974c671fdc57bcba8f518b}}\\
File name: \texttt{surtur.pub}\\
Blake3:
{\small\texttt{f6d87e457c9939063117a2ee243af279b39b07f47bbb190f3fe5b59a6972c531}}\\
SHA3-256:
{\small\texttt{0b53a5766c3f144fffa8ff7c1c24c5f10a52588cd75d86fb8150aacbbd7c7b10}}\\
\n{2}{ZSTD-compressed tarball of the PCMT source code repository}
Note: Also contains the git history.\\
File name: \texttt{pcmt.git.tar.zst}\\
Blake3:
{\small\texttt{ca53c60eb4f0f14e287ec866ccba63ef7e375c17c1fbbcd58950162f7d8ad172}}\\
SHA3-256:
{\small\texttt{3df969231ac8b464d9ed6ea6991aa61751629b997b4928cece2c5261543c3803}}\\
\n{2}{ZSTD-compressed tarball of the PCMT configuration schema repository}
Note: Also contains the git history.\\
File name: \texttt{pcmt-config-schema.tar.zst}\\
Blake3:
{\small\texttt{2f55e255318967e89443b5a1847466952599a5eae1080b8c973a0368920dbdcc}}\\
SHA3-256:
{\small\texttt{9a0b383fce6bf2918fc39b44a5d29dccf27a77adc6c4b4483cd05e8be410345a}}\\
\n{2}{ZSTD-compressed tarball of the \LaTeX{} sources of this thesis}
Note: Also contains the git history. The hash digest of this file is omitted to avoid chicken-egg problem when wishing to include its digest here.\\
File name: \texttt{pcmt-latex-thesis.tar.zst}\\
\n{2}{\texttt{BLAKE3} checksums}\label{appendix:b3sums}
Note: A list of \texttt{BLAKE3} checksums for the supplementary material
(excluding the checksum files). Check using \texttt{b3sum -c b3sums}.\\
File name: \texttt{b3sums}\\
Blake3:
{\small\texttt{2cbb654aff2755eb00a0d61ce68dabdb9348b8d2f283e95b7619d39ec451f729}}\\
SHA3-256:
{\small\texttt{b0c26f0ee638e1e26e3dfbf2973e50a6130c446f5e9ed5db2aa3295e08890f93}}\\
\n{2}{\texttt{SHA3-256} checksums}\label{appendix:sha3-256sums}
Note: A list of \texttt{SHA3-256} checksums for the supplementary material
(excluding the checksum files). Check using \texttt{sha3-256sum -c sha3-256sums}.\\
File name: \texttt{sha3-256sums}\\
Blake3:
{\small\texttt{464d1be89b7d8ae62ff4687722127498f4d9b91b86f94b83fc7a07c97743916c}}\\
SHA3-256:
{\small\texttt{cc57c0cfc5ddd9e4db754e914e4d87733b967d0040356108ebc225ac9cacf68e}}\\
\priloha{Whys}\label{appendix:whys}
This appendix is concerned with explaining why certain technologies were used.
\n{2}{Why Go}\label{appendix:whygo}
First, a question of \textit{`Why pick Go for building a web application?'}
might arise, so the following few lines will try to address that.
Go\footnotemark{}, or \emph{Golang} for SEO-friendliness and disambiguating Go
the ancient game, is a strongly typed, high-level \emph{garbage-collected}
language where functions are first-class citizens and errors are values.
\footnotetext{The Go programming language (\url{https://go.dev})}
The appeal for the author comes from a number of features of the language, such
as built-in support for concurrency and unit testing, sane \emph{zero} values,
lack of pointer arithmetic, inheritance and implicit type conversions,
easy-to-read syntax, producing a statically linked binary by default, etc., on
top of that, the language has got a cute mascot. Thanks to the foresight of the
Go Authors regarding \emph{the formatting question} (i.e.\ where to put the
braces, \textbf{tabs vs.\ spaces}, etc.), most of the discussions on this topic
have been foregone. Every \emph{gopher}\footnote{euph.\ a person writing in the
Go programming language} is expected to format their source code with the
official formatter (\texttt{gofmt}), which automatically ensures that the code
adheres to the one formatting standard. Then, there is \emph{The Promise} of
backwards\footnotemark{} compatibility for Go 1.x, which makes it a good choice
for long-term without the fear of being rug-pulled.
\footnotetext{Now there is also the promise of \emph{forward compatibility}
(\url{https://go.dev/blog/toolchain})}
\n{2}{Why Nix/devenv}\label{appendix:whynix}
Nix (\url{https://builtwithnix.org/}) is a functional programming language
resembling Haskell and a declarative package manager, which has been used in
this project in the form of \texttt{devenv} tool (\url{https://devenv.sh/}) to
create \textbf{declarable} and \textbf{reproducible} development environment.
The author has previously used Nix directly with \emph{flakes} and liked
\texttt{devenv}, as it effectively exposed only a handful of parameters for
configuration, and rid of the need to manage the full flake, which is of course
still an option for people who choose so. See \texttt{devenv.nix} in the
repository root.
\priloha{Terminology}\label{appendix:terms}
\n{2}{Linux}
The term \emph{Linux} is exclusively used in the meaning of the
Linux kernel~\cite{linux}.
\n{2}{GNU/Linux}
As far as a Linux-based operating system is concerned, the term ``GNU/Linux''
as defined by the Free Software Foundation~\cite{fsfgnulinux} is used. While it
is longer and arguably a little bit cumbersome, the author aligns with the
opinion that this term more correctly describes its actual target. Being aware
that there are many people who conflate the complete operating system with its
(be it core) component, the kernel, the author is taking care to distinguish
the two, although writing from experience, colloquially, this probably brings
more confusion and a lengthy explanation is usually required.
\n{2}{The program}
By \emph{the program} or \emph{the application} without any additional context
the author most probably means the Password Compromise Monitoring Tool program.
% =========================================================================== %